Universität Dortmund
Lehrstuhl Informatik VIII
Stefan Haustein
Wintersemester 2000
2000-11-22

Übungsblatt 6 zur Vorlesung Künstliche Intelligenz

Abgabe bis Do., 30.11.2000, Briefkasten LS VIII im Eingangsbereich GB IV,
oder per Email an haustein@ls8.cs.uni-dortmund.de,
bitte keine Attachments und max. 65 Zeichen pro Zeile.

Aufgabe 6.1: (10 Punkte)

Auf der Rückseite dieses Übungszettels finden Sie einen Auszug aus einer Reparaturanleitung für einen alten Audi 80. Das in dem Diagramm gespeicherte Wissen soll im folgenden als Grundlage für ein einfaches Expertensystem dienen.
  1. Implementieren Sie eine Inferenzkomponente, die Rückwärtsverkettungen durchführen kann. Eine Basis hierfür bietet der Algorithmus aus dem Skript. [2 P.]

  2. Integrieren Sie eine Dialogkomponente, über die der Benutzer mit dem System interagieren kann. Integrieren Sie weiterhin eine einfache Erklärungskomponente, die die Regeln zum Erreichen der Diagnose aufsammelt und als Erklärung ausgibt. [2 P.]

  3. Übertragen Sie den oberen Teil des Entscheidungsgraphen (``Ursachen Zündanlage'') in Produktionenregeln. An einigen Stellen kann man sich an der gegebenen Struktur orientieren, an anderen ist es notwendig, die Struktur des Entscheidungsgraphen zu verfeinern.

    Benutzen Sie als Repräsentation für Produktionenregeln ein Prädikat rule/2 der Form rule(IFListe,THEN). Beispiel:

              rule([anlasser_dreht=nein,
                    ladekontrollampe_brennt=nein,
                    batteriekabel_lose=ja
                   ],
                   reparaturhinweis789=ja)
    reparaturhinweis789=ja steht für den Text ``Fehler durch gelöstes Batteriekabel! Klemmen Sie das Kabel wieder fest!'' aus dem entsprechenden Kästchen und wird vom System als Ergebnis ausgegeben. Hinweis: Durch Unifikation können Bedingungen in Attributname und Wert aufgespalten werden (z. B. ergibt anlasser_dreht=nein unifiziert mit Attribut=Wert die Bindungen Attribut/anlasser_dreht und Wert/nein).

    Eine Anfrage soll mit dem Prädikat anfrage(-Lösung,-Erklärung) gestartet werden. [5 P.]

  4. Demonstrieren Sie ihr System anhand von zwei Beispielen. Neben der Lösung und der Erklärung soll zu jedem Beispiel auch die Frage/Antwort-Abfolge angegeben werden. [2 P.]









Hinweise:
Schicken Sie Ihr fertiges System per ups (oder E-Mail) an haustein@ls8.cs.uni-dortmund.de und nennen Sie die Datei mit Ihrer Lösung bitte ki2000-06-nachname(n). Geben Sie Ihre(n) Namen und Ihre Übungsgruppe bitte auch in der Datei an.

Dokumentieren Sie Ihr Prolog-Programm bitte ausführlich. Beschreiben Sie insbesondere die Funktion und die Argumente der von Ihnen definierten Prädikate.