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

German website

study programs: Bachelor of Computer Science (B_Inf), Computer Engineering (B_Tinf), IT Engineering (B_ITE), Media Computer Science (B_MInf), Computer Games Technology (B_CGT), Business and Computer Science (B_WInf), E-Commerce (B_ECom), 3/4/5th Semester

suitable make-up course for master programmes Computer Science (M_Inf), IT Security (M_ITS) and IT Engineering (M_ITE) when additional bachelor credits are required

ECTS credits: 5

lecture term: winter semester

prerequesites: discrete mathematics, programming in object-oriented languages 

language: This lecture will always be given in English since it is part of the preparatory block for the English master's programme IT Engineering.

schedule for WS 2018/19:

Th, 15:30 - 18:15 with a 15 minute break in between, HS 5

For each lecture week, assignments are given on the handout server. These assignments serve as an exercise for the final exam. Some of them are eligible to be solved in a written way. Such solutions may be submitted to the lecturer who will comment them.



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 software architectures 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. The modern success story of intelligent learning or machine learning is developed from this technology.

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.

In business applications - especially in e-commerce - unique descriptions and automatic identifications are of big importance. This is done by language recognition and semantic web technologies which are also considered part of AI.

goals 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.

The following applications are discussed in more details:

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

course details

For each of the chapters and sections below, slide presentations will be given marked by the date when the lecture takes place. The current slides are from WS 2016/17. The red dates indicate updated slides for WS 2017/18.

This is the link to the handout server (only available for members of FH Wedel) where further supplements are given. In particular, there will be course assignments in order to practice the matters discussed.

There are also videos available of the lessons in WS 2016/17 (starting at the 3. lesson week = 5. lesson). You may download the videos from a Wedel computer lab on an own USB stick only. Afterwards you may watch the videos on an own device.

If you log in at a computer lab device, you must go to the handout server (in Windows this is drive M:). You find the videos in directory /Media/public/iw/2016_WS_AAI.

For an online streaming from outside campus or via Wifi on campus, there is not enough download capacity. This is why the access via internet is closed.

The lessons in WS 2018/19 will be recorded again, and these videos are accessible directly via internet (with a password to be requested from the lecturer).

1. Introduction and Survey (updated 24.10.2018)

Assignment 01 (updated 18.10.2018)

3. Algorithmic Methods of AI (updated 09.11.2018)

4. Knowledge-Based Systems (section order updated 21.11.2018)

5. Ant Algorithms and their Applications

    5.1 Natural and Artificial Ant Systems for Dynamic Routing

    5.2: Dynamic Routing: Putting Ant Systems into Practice

6. Ontology Management

    6.1: Motivation and Example with the Tourist Information System

    6.2: Ontologies in the Semantic Web

7. Game AI



In WS 2018/2019 there was a video recording of the lecture which is not of high resolution quality and not camera-guided, but still helpful to see how the lecture is given.

Here you get the link to the album. Please ask the password by email. You must provide your affiliation and the reason why you want to see the video.

Written references:

The following references are available online or in our library. Their relevance for this course is the following:

The book of Russel and Norvig is nowadays considered the standard textbook in the field of AI. But it is very logic oriented and more theory than application prone. Further, it covers only what is called symbolic AI now (in contrast to statistical AI like machine learning or ant algorithms). This course has little overlap with this book. More of this book is covered in the master's course of Prof. Beuster.

The field of machine learning is very well covered in the deep learning book of Goodfellow and others. This book is available via an own website.

The German handbook of Görz and others is the only general book sketching a little the chapter knowledge-based systems as covered in this course. And it covers also a lot of chapters 2 and 3 of this course. If you want to know how model-based diagnosis really works, you should read the dissertation of Tatar. But this goes far beyond what is sketched in this course.

The book of Dorigo and Stützle is the only book on ant algorithms (from the inventors). The issues covered in this course with respect to route navigation are better explained in Thomas Walther's German master's thesis and the English summary paper. Further applications are given by papers of the FH Wedel graduates Bertram, Blöcker and Döppers. Their issues are only sketched in this course, but the papers should serve as motivation for future graduates to contribute to this list.

Regarding the topic Semantic Web in section 6.2, a survey about some chapters of the book of Yu is given. The books of Allemang and Hendler, Hebeler et al., and Sagaran et al. give much more details into different aspects about the Semantic Web which are not covered in this course.

The book of Bratko is the standard for learning Prolog. Prolog is only sketched in this course, but not taught for programming.

The book of Wooldridge gives an introduction into AI agent oriented programming. Due to its little application in these days, the issue is just mentioned for completeness in this course, but not really covered.

List of Books / Papers:

Dean Allemang / Jim Hendler: Semantic Web for the Working Ontologist - Effective Modeling in RDFS and OWL, Morgan Kaufmann 2011 (2nd ed.), ISBN 978-0-12-383965-5

Alexander Bertram / Sebastian Iwanowski: Dynamic Routing on OpenStreetMap Using Ant Colonies, 4th International Conference on Computational Logistics, Kopenhagen (DK) 2013, veröffentlicht in: Lecture Notes of Computer Science 8197 (2013), Springer Verlag 2013, Seiten 58 - 72

Christopher Blöcker / Sebastian Iwanowski: Utilising an Ant System for a Competitive Real-Life Planning Scenario, 3rd International Conference on Computational Logics, Algebras, Programming, Tools and Benchmarking, Computational Tools, Nizza (F) 2012, ISBN 978-1-81208-222-8, Seiten 7 - 13

Ivan Bratko: PROLOG, Programming for Artificial Intelligence,
   2nd Edition, Wiley 1990, ISBN 0-201-41606-9
   3rd Edition, Wiley 2000, ISBN 0-201-40375-7

Felix Döppers / Sebastian Iwanowski: E-Mobility Fleet Management Using Ant Algorithms, 15th Meeting of the EURO Working Group on Transportation, Paris (F) 2012, published in: Procedia - Social and Behavioral Sciences 54 (2012), Seiten 1058 - 1067

Marco Dorigo / Thomas Stützle: Ant Colony Optimization, MIT Press 2004, ISBN 0-262-04219-3

Ian Goodfellow, Yoshua Bengio, Aaron Courville: Deep Learning, MIT Press 2016, public linkhandout link (for FH Wedel members only)

Günter Görz / Claus-Rainer Rollinger / Josef Schneeberger: Handbuch der Künstlichen Intelligenz, Oldenbourg 2000 (3. Auflage), ISBN 3-486-25049-3 (in German)

John Hebeler / Matthew Fisher / Ryan Blace / Andrew Perez-Lopez: Semantic Web Programming, Wiley 2009, ISBN 978-0-470-41801-7

Maximilian Herold: State-of-the-Art Semantic Web Services - Evaluation and Advancement in Context of a Tourist Information System, Master's thesis WS 2008/2009 (Download, 2,9 MB)

Sebastian Iwanowski / Thomas Walther: Dynamic Road Navigation with Ant Algorithms, FH Wedel 2009

Timo Jürgens: Ant algorithm and Dijsktra's algorithm compared on OpenStreetMap, Master Thesis, FH Wedel 2016 (in German)

Konstantin Ruhmann: Application of an Assumption-based Truth Maintenance System for Model-Based Diagnosis, Master Thesis, FH Wedel 2016

Stuart Russell / Peter Norvig: Artificial Intelligence - A modern approach, Pearson 2003 (2. edition), ISBN 0-13-080302-2

Tobi Sagaran / Colin Evans / Jamie Taylor: Programming the Semantic Web, O'Reilly 2009, ISBN 978-0-596-15381-6

Mugur Tatar: Dependent Defects and Aspects of Efficiency in Model-Based Diagnosis, Dissertation (1,2 MB) zur Erlangung des Doktorgrads, Universität Hamburg 1997

Thomas Walther: Dynamische Fahrzeugnavigation auf Basis von Ameisenkolonien, Masterarbeit WS 2005/2006 (Download, 1,6 MB, in German)

Michael Wooldridge: An Introduction to MultiAgent Systems, Wiley 2009 (2nd ed.), ISBN 978-0-470-51946-2

Liyang Yu :  A Developer's Guide to the Semantic Web , Springer 2011, ISBN 978-3-642-15969-5