Logik und Algorithmen der Künstlichen Intelligenz
[PROLOG-Kurs]

 


Das Seminar behandelt nicht die Philosophie der Künstlichen Intelligenz im Allgemeinen. Somit gehr es weder um die Idee oder Möglichkeit künstlicher Personen noch um Fragen der Wünschbarkeit solcher Programme. Es geht um die Rolle der Logik, wie wir sie aus Seminaren zur (philosophischen) Logik kennen in und für die KI. Ein Ansatz dies zu thematisieren, der Theorie und Praxis kombiniert, befasst sich mit der Programmiersprache PROLOG. Der Name "PROLOG" kommt von "Programmieren in Logik". PROLOG ist angelehnt an die Prädikatenlogik 1. Stufe und arbeitet u.a. mit dem Resolutionsverfahren zum Theorembeweisen. Das Seminar befasst sich mit drei Themen: 1. Teilen der Theorie von PROLOG und deren Bezug zur KI 2. Der Programmierung in der Sprache PROLOG selbst 3. PROLOG-Programmen für typische Problemstellungen der KI.
Das Seminar richtet sich zum einen an Studierende, die immer schon einmal PROLOG (bzw. 'in Logik') programmieren wollten. Der erste Teil des Seminars führt auch in die Programmierung von PROLOG ein. Alle Teilnehmer sollten über eine Art Notebook verfügen, auf dem PROLOG läuft. Das Seminar richtet sich auch an Studierende, die PROLOG schon kennen (etwa aus der Allgemeinen Sprachwissenschaft) sich allerdings auch für andere Anwendungen interessieren. Der erste Teil des Seminars kann dann als (evtl. vertiefende) Wiederholung dienen. Die KI-Anwendungen im zweiten Teil des Seminars gehen von (klassischen) Problemen der Suche bis zu Expertensystemen und Theorembeweisern (klassischer und probabilistischer Art). Das Seminar richtet sich schließlich an Philosophiestudierende, die sich für die KI und ihre Debatten interessieren, aber in diesen von einem realistischeren Bild des tatsächlichen Vorgehens in der KI profitieren wollen. Das Seminar lässt zwar die meisten Ansätze und Forschungsstränge aus, gibt hier indessen einen exemplarischen Einblick.
Welche PROLOG-Variante Teilnehmer benutzen spielt keine große Rolle, sofern sie den Standards genügt. Eine der Freeware-Variation, die sich empfiehlt, ist SWI-PROLOG mit dem ebenfalls Freeware SWI-PROLOG-Editor.
Das Seminar orientiert sich vornehmlich an dem Buch "PROLOG Programming For Artificial Intelligence" von Ivan Bratko. Ergänzende Beispiele aus: "Artificial Intelligence Through PROLOG" von Neil Rowe und aus George Luger beiden Büchern "Artificial Intelligence" sowie "AI Algorithms, Data Structures and Idioms". Ein allgemeines Manifest eines der Protagonisten von PROLOG, wie eine (PROLOG-basierte) Logikprogrammierung das menschliche Denken erfasst bietet Robert Kowalskis Buch "Computational Logic and Human Thinking".


Sitzung 1
- die Sonderstellung der PL1, PROLOG und die PL1
- Grundlagenbegriffe (PROLOG vs. andere Programmierparadigmen)

Sitzung 2
- RTM und PROLOG
- Fakten und Klauseln
- normale Rekursion
- Datenbankfunktionalität

Sitzung 3
- Forward und backward reasoning
- Listen
- Kopf/Rest-Rekursion

Sitzung 4
- Negation as failure
- Arithmetik in PROLOG
- Beispiele für Problemlösungen mit Graphensuche

Sitzung 5
- Production Systems
- Backtracking und Cut
- Fail

Sitzung 6
- Interpretation von Programmen
- einige wichtige vordefinierte Prädikate der Sprache PROLOG

Sitzung 7
- Abstrakte Datenstrukturen in PROLOG
- Beispiele für Problemlösungen in angewandter Logik

Sitzung 8
- Suchräume und Graphensuche
- Varianten der Suche (Tiefensuche, Breitensuche, A*, Iterative Deepening ...)

Sitzung 9
- Expertensysteme
- automatisierte Diagnose, per forward und backward chaining
- explanative Expertensysteme

Sitzung 10
- Wahrscheinlichkeitsräsonieren
- Baysianische Netzwerke

Sitzung 11
- Maschinelles Lernen
- Konzeptlernen als Regellernen
- Konzeptlernen als Lernen von Entscheidungsbäumen

Sitzung 12
- Sprachanalyse und Grammatiken
- Formale Sprachen (kontextfrei, kontextsensitiv)
- Inheritance und Frame Semantics

Sitzung 13
- Metaprogrammierung
- PROLOG in PROLOG

Sitzung 14
- automatisches Beweisen für Logik-Systeme
- einfache Systeme: Aussagenlogik, Normalformen
- Finite Entscheidbarkeit der Prädikatenlogik
- komplexe Systeme: Parakonsistente Logik, Adaptive Logik


.rar-Archivdatei aller PROLOG-Dateien


 

Manuel Bremer (www.mbph.de) 2016