Organisatorisches

Hörerkreis:
M_Inf1, MS1 (Aufbaustudium zum Diplom) als Wahlpflichtfach 

Vorlesungstermin: Mi 09:30 Uhr - 12:15 Uhr, HS 1

Diese Vorlesung ersetzt die Vorlesung Wissensbasierte Systeme im Aufbaustudiengang für Masterstudierende. Da diese nur 3 ECTS hat, sind dafür nur die Kapitel 1 bis 5 prüfungsrelevant (bis 05.12., entspricht dem bisherigen inhaltlichen Umfang der Veranstaltung Wissensbasierte Systeme). Studierende des Aufbaustudiengangs sind natürlich herzlich eingeladen, die gesamte Vorlesung zu besuchen.

Studierende aus Diplom- oder Bachelorstudiengängen sollen nicht diese Vorlesung, sondern die Vorlesung Grundlagen der KI besuchen.

 

Vorlesungsinhalt

Unter Künstlicher Intelligenz (KI) versteht man Software, die sich mit komplexen Problemen beschäftigt, wobei die Vorgehensweise der eines Menschen ähnelt. Es gibt leider keine allgemein anerkannte exaktere Definition dieser doch recht schwammigen Charakterisierung.

KI ist seit Bestand der Informatik als eigenständiger Wissenschaft eine der treibendsten Kräfte bei der Entwicklung innovativer Softwarekonzepte gewesen. Typische Meilensteine sind die Entwicklung neuartiger Programmiersprachen wie Prolog, Lisp (Vorläufer von Haskell) und Smalltalk sowie neuartiger Architekturen wie Expertensysteme, Wissensbasierte Systeme und Multiagentensysteme. Viele Konzepte, die ihren Ursprung in der KI haben, sind inzwischen Allgemeingut geworden wie z.B. die objektorientierte Programmierung und können auch genausogut mit Nicht-KI-Sprachen realisiert werden (häufig sogar besser).

Das in praktischen Anwendungen der Vergangenheit erfolgreichste Teilgebiet der KI sind die Wissensbasierten Systeme, die eine Verallgemeinerung der älteren Expertensysteme sind. Inzwischen gewinnen auch algorithmische Techniken der KI für Computerspiele ("Spiele-KI") eine immer größere Bedeutung. Schließlich profitieren auch Planungswerkzeuge von Methoden der KI und auch in verteilten Anwendungen sind KI-Bausteine zu finden (Agententechnologie).

Ziel der Veranstaltung ist es, ein vertieftes Verständnis für die in der KI verwendeten Basistechnologien zu vermitteln. Die Teilnehmer sollen am Ende der Veranstaltung auch Details ausgewählter praktischer Anwendungsmöglichkeiten dieer Technologien kennen.

Ich bringe selbst jahrelange Erfahrung aus meiner Zeit bei Daimler in der Forschung und Entwicklung mit, wo ich mich mit wissensbasierten Systemen und Multiagententechniken beschäftigt habe. Das im Rahmen dieser Tätigkeit entstandene Softwarewerkzeug MDS (Modellbasiertes Diagnosesystem) ist auch im zweiten Jahrzehnt nach seiner Entstehung noch im Einsatz und weist Konzepte auf, die immer noch sehr innovativ sind. In dieser Vorlesung erkläre ich die Wirkungsweise dieses Werkzeugs (allerdings nur theoretisch, d.h. ohne praktische Vorführungen), um zu demonstrieren, dass Wissensbasierte Systeme eine reale technische Anwendung haben.

Diese Vorlesung enthält im thematischen Umfang die gesamte Vorlesung Wissensbasierte Systeme vom letzten Jahr sowie die Vorlesung Grundlagen der KI aus dem Bachelorstudium (diese wird also nicht vorausgesetzt). Einige Themen werden vertieft behandelt. Das betrifft vor allem die modellbasierte Diagnose.

Zusätzlich werden vertieft Anwendungsprobleme aus der Spiele-KI und deren Lösungen vorgestellt. Hierzu verweise ich bei Interesse auch auf die Unterlagen des Seminars Spiele-KI aus dem SS 2007.

Ferner werden Ameisenalgorithmen und ihre Anwendung in der dynamischen Verkehrsnavigation vorgestellt. Die Technik der Ameisenalgorithmen gehört zu dem Gebiet der Schwarmintelligenz und beschäftigt sich damit, wie man lokal agierende kleine Einheiten zu einem intelligent agierenden Gesamtsystem zusammenfügen kann.

 

Vorlesungsgliederung

Die folgende Gliederung wird durch die einzelnen Vorlesungspräsentationen im Laufe der Vorlesung verfeinert und ergänzt. Ich werde die Vorlesungen nach Möglichkeit spätestens am Abend vor der Präsentation hier hineinstellen.

1. Einführung und Überblick

2. Logische Grundlagen der KI
    2.1 Das Prinzip der logischen Programmierung
    2.2 Praktischer Einblick in die Programmiersprache PROLOG
            Prolog-Interpreter TUProlog als jar-File zum download, Programmierbeispiele aus der Vorlesung
    2.3 Funktionsweise eines Resolutionsbeweisers (Vorlesung der Masterstudenten Björn Peemöller und Stefan Roggensack)
    2.4 Nichtmonotones Schließen (kurzer Überblick)

3. Algorithmische Grundlagen der KI

4. Verschiedene Wissensrepräsentationsarten und deren Verarbeitung

5. Technische Diagnose als Beispiel für wissensbasierte Systeme in industriellen Anwendungen
    5.1 Modellbasierte Diagnose (MDS): Modellierung der Komponenten
    5.2 MDS: Funktionsweise der Inferenzkomponente (Basisfunktionalität)
    5.3 MDS: SW-Architektur und erweiterte Funktionalität
    5.4 Weitere wissensbasierte Diagnosemethoden im Vergleich zu MDS

6. SW-Agenten (Vorlesung des Masterstudenten Larry Oum)

7. Ameisenalgorithmen und ihre Anwendungen
    7.1 Grundprinzip und Anwendung auf TSP und verwandte Probleme
    7.2 Anwendung auf dynamische Verkehrsnavigation
    7.3 Im Detail: Das AntNet-Verfahren (Vorlesung der Masterstudenten Daniel Jarosch und Karsten Thiele)

8. Anwendungsbeispiel: Spiele-KI (Studentenvorlesung 16.01. (max. 120 Minuten), danach Vorlesungsabschluss durch Dozenten)

Zusätzlich zu der Bachelorveranstaltung werden folgende Themen behandelt:

Kap. 1: Agententechnologie und ihre Anwendungen
Kap. 2: Resulutionsbeweiser (2.3)
Kap. 5: Interner Aufbau von MDS (Teile von 5.2 und 5.3)
Kap. 6, 7, 8: alles

Zusammenfassung der Vorlesung (mit Auschluss nicht prüfungsrelevanter Themen)

 

Literatur

Peter Bothner / Wolf-Michael Kähler: Programmieren in PROLOG, Eine umfassende praxisgerechte Einführung,
   Vieweg 1991, ISBN 3-528-05158-2

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
   4th Edition, to appear 2008

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

Max Rohde: Eignung logischer Programmiersprachen für Spiele-KI am Beispiel Prolog,
   FH Wedel, Seminararbeit zur Spiele-KI, 2007, Vortrag und Ausarbeitung

Stuart Russell / Peter Norvig: Artificial Intelligence - A modern approach, Pearson 2003 (2. Auflage), ISBN 0-13-080302-2
Deutsche Ausgabe: Pearson Studium 2004, ISBN 3-8273-7089-2

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, WS 2005/2006 (Download, 1,6 MB)

Michael Wooldridge: An Introduction to MultiAgent Systems,
Wiley 2002, ISBN 0-471-49691-X