Vorlesung Grundlagen/Anwendungen der KI (Bachelor) im WS 2012/13

English website

Hörerkreis:

Grundlagen (Studienordnung Bachelor 6): Inf4+5 (Pflichtfach), TInf4+5 (Wahlfach)

Anwendungen (Studienordnung Bachelor 7): Inf 5 (Pflichtfach), TInf 3 (Wahlfach), MInf 5 (Wahlfach), WInf 5 (Wahlfach)

Arbeitsaufwand:

Grundlagen (Studienordnung Bachelor 6): 2 ECTS-Punkte

Anwendungen (Studienordnung Bachelor 7): 4 ECTS-Punkte

Vorlesungstermine: Mi 08:00 Uhr - 10:45 Uhr (mit einer Pause), HS 4: 17.10., 31.10., 14.11., 28.11., 12.12., 09.01., 23.01.

Diese Vorlesung besteht aus 2 SWS und wird alle 2 Wochen abgehalten (s.o.). Sie orientiert sich damit an den 6-semestrigen Studienordnungen. Es wird diesen Studierenden empfohlen, diese Vorlesung möglichst in diesem Semester zu belegen, weil die Vorlesung ab dem kommenden Jahr sich an den 7-semestrigen Studiengängen orientiert und dann mit mehr Inhalt und SWS versehen werden könnte.

Studierende, welche die Vorlesung bereits in diesem Semester für eine 7-semestrige Studienordnung belegen wollen und dazu herzlich eingeladen sind, erhalten entweder Zusatzaufgaben in Form eines praktischen Projekts oder eines Vortrags, die gesondert benotet werden. Es ist auch möglich, dass wir zusätzlichen Vorlesungsstoff (in den frei bleibenden Lehreinheiten) für eine erweiterte Klausur anzubieten. Ich mache das von den Vorkenntnissen und Vorlieben der Teilnehmer abhängig und bespreche das mit diesen nach der 3. Vorlesungswoche.

Für jede Vorlesungsdoppeleinheit gibt es Übungsaufgaben, die auf dem Handoutserver veröffentlicht werden. Diese können (je nach Aufgabentyp) auch schriftlich abgegeben werden und werden vom Dozenten korrigiert. Die Übungsaufgaben dienen der Vorbereitung auf die Klausur.

Die Vorlesung kann von den Vorkenntnissen her ab dem 3. Semester belegt werden. Für das eventuell gewählte praktische Projekt (nur Bachelorstudiengang 7) kann Programmiererfahrung mit Java notwendig sein.

Studierende aus Masterstudiengängen sollen nicht diese Vorlesung, sondern die Vorlesung Methoden der Künstlichen Intelligenz besuchen.

In diesem Semester wird diese Vorlesung wegen Beteiligung eines finnischen Austauschstudenten auf Englisch gehalten. Die Klausur wird aber auf Deutsch gestellt, und auch die Übungen können auf Deutsch abgegeben werden.

 

Inhalte der KI

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.

Seit die Informatik als eigenständige Wissenschaft anerkannt ist, war die KI 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 (als erste objektorientierte Sprache) 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 bisher erfolgreichste Teilgebiet der KI sind die wissensbasierten Systeme, die eine Verallgemeinerung der älteren Expertensysteme sind. Diese finden in sehr unterschiedlichen Gebieten, von der Medizin bis zur Technik und Wirtschaft, reale Anwendungsmöglichkeiten.

Algorithmische Techniken der KI werden auch in Verkehr und Logistik eingesetzt. Inzwischen haben diese Techniken auch in Computerspielen ("Spiele-KI") eine immer größere Bedeutung bekommen. Hierzu verweise ich bei Interesse auch auf die Unterlagen des Seminars Spiele-KI aus dem SS 2007.

Eine bedeutende Rolle spielen die Methoden der KI in Planungswerkzeugen (Stundenplan, Tourenplanung, etc.).

In letzter Zeit sind KI-Konzepte auch zunehmend in verteilten Anwendungen zu finden (Agententechnologie, "Verteilte KI"). Für verteilte Anwendungen spielen auch mathematische Überlegungen zur Spieltheorie (z.B. Entscheidungsfindung in Gruppen) eine Rolle.

In wirtschaftlichen Anwendungen, insbesondere im e-Commerce, wird großer Wert auf die eindeutige Beschreibung und automatische Erkennung von Semantik gelegt. Auch diesem Thema widmen sich die oben beschriebenen Teilgebiete der KI seit Jahren. Das ist auch ein besonderes Ziel meines Entwicklungsvorhabens Touristeninformationssystem.

 

Inhalte und Lernziele dieser Vorlesung

Ziel der Veranstaltung ist es, ein grundlegendes Verständnis für die in der KI verwendeten Basistechnologien zu vermitteln. Es soll ein Einblick in möglichst viele Anwendungsbereiche gegeben werden.

Ferner hoffe ich, Teilnehmer motivieren zu können, in diesem Gebiet eine Abschlussarbeit zu schreiben. Das ist für alle Abschlüsse möglich (Bachelor und Master). Entsprechende Firmen können von mir dazu vermittelt werden (siehe meine Angebotsseite).

Aus diesem Grund werden in dieser Vorlesung die inhaltlichen Bezüge zwischen der KI und meinen langfristigen Entwicklungsvorhaben vorgestellt

Die folgenden Anwendungen werden detaillierter vorgestellt:

  1. Klassische Routingalgorithmen für Verkehrsanwendungen
  2. Ameisenalgorithmen für dynamische Straßennavigation und Logistik
  3. Technische Diagnose mit Schwerpunkt Fahrzeugelektronik als Anwendungsbeispiel für die unterschiedlichen Techniken von wissensbasierten Systemen

Vorlesungsunterlagen

Die unten angegebenen Foliensätze sind vorläufig und werden jeweils zeitnah vor der Vorlesung überarbeitet. Insbesondere werden sie ins Englische übersetzt. 

Außerdem gibt es hier auf dem Handout-Server (nur für Hochschulangehörige der FH Wedel) weitere Materialien. Insbesondere werden im Laufe der Vorlesung kontinuierlich Hausaufgaben gestellt, die der Wiederholung des Stoffes dienen und in den Vorlesungen besprochen werden.

1. Introduction and Survey (17.10.)

2. Logic and Rule-Based Programming (31.10.)

3. Algorithmic Methods of AI (14.11., beendet am 28.11.)

4. Knowledge-Based Systems

4.1 Representation and Classification of Knowledge (28.11., 12.12.)
4.2 Rule-Based Reasoning (12.12.)
4.3 Case-Based Reasoning (12.12.)
4.4 Model-Based Reasoning (28.11., 12.12.)
4.5 Concluding Comparison of the Different Reasoning Techniques (09.01.)

5. Ameisenalgorithmen und ihre Anwendung auf Navigation und Logistik

    5.1 Motivation: Natürliche Ameisensysteme und ihre Vorteile für die Navigation (09.01.)

    5.2: Im Detail: Wie Ameisensysteme Navigationsaufgaben lösen (09.01.)

    5.3: Wie Ameisensysteme das Problem des Handelsreisenden (TSP) lösen (23.01.)

    5.4: Verallgemeinerungen von TSP für logistische Aufgaben (23.01.)

    5.5: Weitere Anwendungen in Abschlussarbeiten an der FH Wedel (23.01.)

    5.6: Zusammenfassung: Was müssen wir uns merken? (23.01.)

Zusammenfassung mit Klausurabgrenzung (durchgestrichene Teile kommen nicht vor)

 

Zusatzkapitel für die 4 ECTS-Vorlesung aus der Mastervorlesung (mit begleitenden Übungen hier auf dem Handout-Server):

4.4 MDS: Funktionsweise der Inferenzmaschine (Basisfunktionalität) (05.12., 19.12.)
4.5 MDS: Realisierung der erweiterten Funktionalität (19.12.)

Zusammenfassung dieses Zusatzkapitels für die Klausur

 

Die folgenden Inhalte früherer Vorlesungen zum Gebiet Spiele-KI sind nicht klausurrelevant. Wenn noch Zeit bleibt, werde ich bei Interesse darauf etwas eingehen.

    Für Interessierte, die in diesem Gebiet eine Abschlussarbeit schreiben wollen, empfehle ich die Unterlagen der letzten Vorlesung, in der das behandelt wurde, um einen Überblick zu gewinnen:
    Anwendungsgebiet: Spiele-KI
    Einblick ins Detail:
    Anpassungen des A*-Algorithmus für die Spiele-KI (Auszug eines Seminarvortrags von Jan Schliep)
    Berechnung eines guten Wegenetzes (Auszug eines Seminarvortrags von Jens Remus)
    Die Originalvorträge (Nr. 4 und 5) sowie die zugehörigen Ausarbeitungen sind in der Seminarseite vom SS 2007 enthalten.

 

Literatur

Christoph Beierle / Gabriele Kern-Isberner: Methoden wissensbasierter Systeme, Vieweg 2008 (4. Auflage), ISBN 978-3-8348-0504-1

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

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

Wolfgang Ertel: Grundkurs Künstliche Intelligenz, Vieweg 2009 (2. Auflage), ISBN 978-3-8348-0783-0

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

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

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

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

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

Weitere Literatur könnte im Laufe der Vorlesung noch ergänzt werden.