Lecture Applications of AI given by Prof. Dr. Sebastian Iwanowski
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 be always given in English since it is part of the preparatory block for the English master's programme IT Engineering.
schedule for WS 2016/17:
Tu, Th 08.00 a.m. - 09.15 a.m., 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 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)
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 2015/16. The red dates indicate updated slides for WS 2016/17.
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. For convenience, the first three assigments are also linked at this website. For subsequent assignments, refer to the link above.
2. Logic and Rule-Based Programming
2. Homework assignment (updated 20. October 2016)
Prolog folder (updated 27. October 2016: includes Einstein's riddle)
3. Homework assignment (updated 27. October 2016)
4. Knowledge-Based Systems
4.1 Representation and Classification of Knowledge
4.2 Rule-Based Reasoning
4.3 Case-Based Reasoning
4.4 Model-Based Reasoning (updated 24. November 2016)
4.5 Concluding Comparison of the Different Reasoning Techniques
5. Ant Algorithms and their Applications
5.3: How Ant Solve Problems of Logistics (updated 15. December 2016)
6. Ontology Management
7. Game AI
summary with cut-offs for the final exam
The following references are available online or in our library. Their relevence 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. This course has little overlap with this book. More of this book is covered in the master's course of Prof. Beuster.
The German handbook of Görz et al. 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.
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, veröffentlicht 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
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
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