Lecture Fundamentals of AI given by Prof. Dr. Sebastian Iwanowski

German website

study programs: Bachelor of Computer Science (B_Inf), Computer Engineering (B_Tinf), 4/5th semester

ECTS credits: 2

lecture term: winter semester

prerequesites: discrete mathematics, programming in object-oriented languages 

language: This lecture will be given in English if there is at least one student not knowing German, otherwise in German.

 

subject

Artificial Intelligence (AI) is the summary for all kinds of software dealing with complex problems and using human-prone techniques. Unfortunately, this very imprecise definition is the best which is universally accepted.

Since computer science has been an own science, the AI community has always been the first to promote innovative software techniques. In the development of new programming languages, AI provided milestones for new programming paradigms such as Prolog (for logical programming), Lisp (for functional programming), and Smalltalk (for object-oriented programming). AI also promoted new softwarearchitectures such as expert systems, knowledge-based systems, and multi-agent systems. A lot of concepts which had their origin in the AI community are now considered standard knowledge for all computer scientists such as object-oriented programming or multi-agent technology in distributed applications. They are now used also in (non-AI) standard software, sometimes even better than in the original AI software.

Concerning algorithmic techniques, there is no sharp distinction between "conventional programming" and AI. AI contributed search techniques which are normally used for problems that cannot be solved both, exactly and efficiently. Typical application domains of these techniques are planning tools in scheduling and logistics. The A* algorithm which is the basis for modern path algorithms in traffic applications as well as in computer games ("Game AI") may be regarded as an AI technique considering its serach strategy. But being a modification of the efficient basic path algorithm of Dijkstra, it may also be regarded as a standard (non-AI) algorithm.

The AI technology most established in practice is the architecture of knowledge-based systems which is a generalization of the older expert system technology.

Neural networks have been invented outside the classical AI community, because they did not evolve from logical programming which was the major AI programming technique when neural networks were invented. Due to the above general definition of AI, they are now also considered part of AI, together with other novel "softcomputing" techniques such as evolutionary or genetic algorithms.

Swarm intelligence is a special form of multi-agent techniques and, thus, does also belong to AI. The most prominent example are ant algorithms which are used in computer networks and in a research stage also in traffic networks. In general, swarm intelligence finds its use in distributed systems with highly dynamic behaviour.

 

intentions and general content of this lecture

Participants get a basic understanding of all base technologies used in AI. Details are left to the course in the master program.

Together with a solid software background (see the prerequisites of this course), participants will be eligible to develop solutions using AI techiques or tools in commercial companies for any application. In particular, it will be possible to write the bachelor thesis in this area.

This course gives a survey of all techniques mentioned above except for softcomputing techniques which are presented in a separate lecture in the master program.

The following applications are discussed in detail:

1. Routing algorithms in traffic navigation and computer games
2. Ant algorithms for dynamic road navigation
3. Model-based diagnosis for technical systems (in particular: car electric)