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), Data Science & Artificial Intelligence (B_DSAI), 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.

 

Subject

Artificial intelligence (AI) is software that deals with complex problems, whereby its approach is similar to that of a human being. Unfortunately, there is no generally accepted, more precise definition of this rather vague characterisation.

Since computer science has been recognised as an independent science, AI has been one of the driving forces in the development of innovative software concepts. Typical milestones are the development of novel programming languages such as Prolog, Lisp (predecessor of Haskell) and Smalltalk (as the first object-oriented language) as well as novel architectures such as expert systems, knowledge-based systems and multi-agent systems. Many concepts that originated in AI have now become commonplace, such as object-oriented programming, and can be realised just as well with non-AI languages (often even better).

In recent years, the success of machine learning has triggered an enormous hype, so that only this subfield of AI is perceived by the general public. It is the main focus of so-called statistical AI. The software concepts described above, on the other hand, belong to symbolic AI. This is also called classical or traditional AI and is very different from statistical AI, which is in the current public focus.

The software concepts developed in AI are both structural and algorithmic in nature.

The most successful structural concept in AI in both symbolic and statistical AI in practical applications is knowledge-based systems. These have real-world applications in very different fields, from medicine to engineering and business.

Knowledge-based systems are a systematic collection of different approaches, each of which has become popular under its own name: Expert systems emerged as early as the 1970s and are still in use and continuously maintained in many applications today. Neural networks, which are an important manifestation of machine learning and thus dominate current public attention, also belong systematically to knowledge-based systems. In addition, there is the generally not so well known approach of model-based reasoning, which is particularly advantageous in technical applications.

In algorithmic techniques, there is no sharp distinction between "conventional programming" and AI. AI has contributed search techniques that are usually used for problems that cannot be solved exactly or efficiently. Typical applications of these techniques are planning tools in scheduling and logistics. The A* algorithm, which forms the basis for modern routing algorithms in traffic applications as well as in computer games ("Game AI"), can be considered an AI technique because of its search strategy. However, since it is a modification of Dijkstra's efficient basic path algorithm, it can also be considered a standard (non-AI) algorithm.

In the meantime, algorithmic techniques of AI have also become increasingly important in computer games ("game AI").

For distributed applications, the structural concept of multi-agent technology has been developed within AI. Swarm intelligence is a generalization of this covering other techniques. The most prominent example is ant algorithms, which are used in computer networks and, in a research stage, also in traffic networks. In general, swarm intelligence finds its application in distributed systems with highly dynamic behaviour.

In business applications - especially in e-commerce - unique descriptions and automatic identifications are of great importance. This is done through speech recognition and semantic web technologies, which are also counted as AI.

Goals and General Content of this Lecture

The aim of the course is to provide a basic understanding of all the basic technologies used in AI. An insight into as many application areas as possible will be given.

However, the focus of the details will be on methods of symbolic AI as well as statistical AI outside of machine learning, because this is where I have gained my application experience. In particular, the technique of model-based reasoning, which is not so well known at the moment, will be presented as well as its potential for technical applications.

Of course, the basic principles of machine learning, which are currently in the foreground in AI applications, are also taught. In recent years, many theses have been written in this field at Wedel University of Applied Sciences, including some under my supervision. These applications are presented here. Further courses on machine learning are offered in our DSAI degree programme.

Furthermore, I hope to be able to motivate participants to write a thesis in an area of AI. This is possible for all degrees (Bachelor and Master).

The following applications are discussed in more details:

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

At FH Wedel there are more classes on soft computing resp. machine learning normally offered in German. If you pass this course and are interested in deepening your knowledge you may inquire which of the additional courses are given in English eventually.

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 previous semester. In the course of a new semester, they may be updated which will be indicated in red.

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.

1. Introduction and Survey (updated: Oct. 19, 2022)

2. Logic and Rule-Based Programming
    Prolog folder (static files for external clients)
    Prolog folder (dynamic files for FH Wedel clients)

3. AI algorithmic methods (updated: Nov. 17. 2022)
       Example for constraint system

4. Knowledge-Based Systems

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

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)

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 for the PhD degree, Universität Hamburg 1997

Thomas Walther: Dynamische Fahrzeugnavigation auf Basis von Ameisenkolonien, Masterarbeit WS 2005/2006 (Download, 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