Embedding Artificial Intelligence and Soft Computing in general purpose programming languages
Instructor:
Dr. Wiesław Pietruszkiewicz
Assistant Professor at West Pomeranian University of Technology (Szczecin, Poland),
Technical Director at SDART Ltd (Manchester, UK).
Tutorial abstract:
The main purpose of this tutorial will be a presentation how AI&SC methods can be embedded in general purpose languages. The programming languages used by the majority of AI&SC researchers are domain-specific languages, while software developers prefer general purpose language, that allow them to create ergonomic and well designed GUI or to use networking functionality. This creates a gap between researched solutions and developed tools. During this tutorial participants will be taught how their research could be converted from a laboratory tool to a user-friendly software.
Keywords:
Artificial intelligence, Soft computing, Programming languages
Form of tutorial:
Presentation of AI&SC examples in various programming languages
Description:
This tutorial will aim at the presentation of AI&SC programming in popular computer languages. A common approach to AI&SC research is to use domain-specific programming languages i.e. Lisp, Clips, Prolog, Matlab or Scilab. As a result software created by scientist often do not use features offered by general purpose programming languages, where these features significantly increase applications usability. On the other hand, developers omit AI&SC-focused languages, due to problems in construction of modern, GUI equipped or networking software.
While using domain specific languages often shortens research time, it also creates a bottleneck for future applications of scientific research. Too many scientific solutions aren’t widely used due to problems with their purely laboratory-aimed design. It is limiting real life applications of AI&SC.
This tutorial will provide participants knowledge how to fill the gap between research& development. During it, a few examples of ‘how AI&SC parts can be embedded into general purpose programming languages’ will be presented.
The examples will focus on popular languages i.e C/C++, Java and Python.
Topics:
The main part of this tutorial will be divided onto 3 sections covering embedding AI&SC in different types of software (and programming languages):
- desktop software – PCs platform (C++),
- mobile applications – smartphones (Java ME),
- web-based systems – servers (Python).
To give a wider view to participants, a brief introduction to existing AI&SC libraries and tools will be made at the beginning of each example.
Required knowledge:
Participants should have basics knowledge of Artificial Intelligence, Soft Computing and computer programming (object-oriented programming). However, to ensure that this tutorial will be easily understandable a scientific introduction to each problem will be made as well as source code will be discussed.
Software and hardware:
To increase usefulness of the presented examples, all parts of tutorial will use freely available Open Source tools and libraries. The Integrated Development Environment for this tutorial will be NetBeans. For participants equipped with own laptops, it will be explained how to configure NetBeans and install additional plugins.