Wissensrepräsentation und Problemlösung Seite 24 5. Agenten, die logisch schlussfolgern 5.1. Ein wissensbasierter Agent Die zentrale Komponente eines wissensbasierten Agenten ist die Wissensbasis. Sie repräsentiert eine Menge von Fakten über die Welt. Diese Repräsentationen werden Sätze genannt. Die Sätze sind in einer speziellen Wissensrepräsentationssprache formuliert. Die Wissensbasis benötigt zwei Funktionen: Das Hinzufügen von Informationen (TELL) und das Abfragen von Informationen (ASK). Mittels ASK sollte genau das erfragbar sein, was die Wissensbasis aus dem folgert, das ihr vorher mittels TELL mitgeteilt worden ist. Das Erschließen von folgerbarem Wissen geschieht durch die zweite wichtige Komponente des wissensbasierten Agenten, die Inferenzmaschine. Der folgende Algorithmus realisiert einen wissensbasierten Agenten. function KB-AGENT(Wahrnehmung) returns eine Aktion static: KB ; eine Wissensbasis t ; ein Zähler für die Zeit, zu Beginn 0 TELL(KB, MAKE-PERCEPT-SENTENCE(Wahrnehmung, t)) Aktion ← ASK(KB, MAKE-ACTION-QUERY(t)) TELL(KB, MAKE-ACTION-SENTENCE(Aktion, t)) t←t+1 return Aktion end Das initiale Programm eines wissensbasierten Agenten kann durch Einfügen von Sätzen, die das Wissen des Entwicklers über die Welt darstellen, aufgebaut werden. Wenn die Wissensrepräsentationssprache das Formulieren der Sätze erleichtert, ist dies ein günstiger Weg zur Erzeugung des initialen Programms. Diese Vorgehensweise heißt der deklarative Ansatz zum Aufbau von Systemen. Stattet man den Agenten noch mit einem Lernmechanismus aus, der aus den Wahrnehmungen allgemeines Wissen über die Umgebung erzeugt, dann wird der Agent autonom. 5.2. Die Wumpus-Welt 5.2.1. Die Umgebung der Wumpus-Welt Die Wumpus-Welt besteht aus einem Gitter von Quadraten, einem Agenten, dem Wumpus, Fallgruben und einem Goldklumpen. Jedes Objekt befindet sich zu einem beliebigen Zeitpunkt in einem Quadrat. Der Agent startet im linken unteren Quadrat (1, 1) und hat die Aufgabe, das Gold zu finden, nach (1, 1) zurückzukehren und die Höhle zu verlassen. Abbildung 5.1 zeigt ein Beispiel der Wumpus-Welt mit einem 4×4-Gitter. Die Wahrnehmungen, Aktionen und Ziele des Agenten werden in folgender Weise spezifiziert: • In dem Quadrat, in dem sich das Wumpus befindet, sowie in den horizontal und vertikal benachbarten Quadraten, nimmt der Agent einen Gestank wahr. • In den horizontal und vertikal zu einer Grube benachbarten Quadraten nimmt der Agent eine Brise wahr. • In dem Quadrat, in dem das Gold ist, nimmt der Agent ein Glitzern wahr. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung 4 Seite 25 Gestank Gestank Brise 3 Brise Grube Grube Brise Gold 2 Gestank 1 1 Brise Brise Grube Brise 2 3 4 Abbildung 5.1 • Wenn der Agent auf eine Wand trifft, erhält er einen Stoß. • Wenn das Wumpus getötet wird, gibt es einen fürchterlichen Schrei von sich, der in der ganzen Höhle gehört werden kann. • Die Wahrnehmungen werden dem Agenten in der Form eines Quintupels aus fünf Symbolen vermittelt, in der Reihenfolge Gestank, Brise, Glitzern, Stoß, Schrei. Nimmt er z.B. gleichzeitig einen Gestank, eine Brise und ein Glitzern, aber keinen Stoß und keinen Schrei wahr, dann wird diese Wahrnehmung durch das Quintupel [Gestank, Brise, Glitzern, nichts, nichts] notiert. Der Agent kann nicht seinen eigenen Ort feststellen. • Mögliche Aktionen sind: Vorwärtsgehen, Rechtsdrehung um 90°, Linksdrehung um 90°, Ergreifen zum Aufheben eines Objekts, das sich im selben Quadrat befindet wie der Agent, Schießen zum Abschießen eines Pfeils in die Richtung, in die der Agent schaut. Der Pfeil fliegt solange, bis er auf das Wumpus trifft und dieses tötet oder bis er auf eine Wand trifft. Der Agent hat nur einen Pfeil, d.h. nur die erste Schießen-Aktion hat eine Wirkung. Mit der Aktion Klettern kann der Agent die Höhle verlassen, sofern er sich im Startquadrat befindet. • Der Agent stirbt, wenn er ein Quadrat mit einem lebendigen Wumpus oder einer Fallgrube betritt. • Das Ziel des Agenten ist, das Gold zu finden und es so schnell wie möglich zum Startpunkt zu bringen ohne getötet zu werden. Der Agent bekommt 1000 Punkte, wenn er es schafft, die Höhle mit dem Gold zu verlassen, aber er bekommt für jede durchgeführte Aktion eine Strafe von einem Punkt und eine Strafe von 10000 Punkten, wenn er getötet wird. Mögliche Umgebungen der Wumpus-Welt: Das Gitter enthält 4×4 Quadrate und ist von Wänden umgeben. Der Agent startet im Quadrat (1, 1) mit Blick nach rechts. Die Plätze für das Gold und das Wumpus werden zufällig bestimmt mit gleichförmiger Verteilung über alle Quadrate mit Ausnahme des Quadrats (1, 1). Jedes Quadrat mit Ausnahme von (1, 1) kann mit Wahrscheinlichkeit 0.2 eine Fallgrube sein. 5.2.2. Handeln und Schlussfolgern in der Wumpus-Welt Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 26 5.3. Repräsentation, Schlussfolgern und Logik Das Ziel der Wissensrepräsentation ist es Wissen in einer vom Computer behandelbaren Form darzustellen, so dass es von einem Agenten benutzt werden kann. Eine Wissensrepräsentationssprache wird durch zwei Aspekte definiert: • Die Syntax der Sprache beschreibt die korrekte Bildung von Sätzen der Sprache. Meistens wird die Syntax durch geschriebene Satzmuster dargestellt. Die wirkliche Syntax liegt aber innerhalb des Computers; jeder Satz ist dort realisiert als eine physikalische Konfiguration oder eine physikalische Eigenschaft eines Teils des Agenten. • Die Semantik der Sprache bestimmt die Fakten in der Welt, auf die sich die Sätze beziehen. Ohne Semantik ist ein Satz nur eine Anordnung von Elektronen im Speicher eines Agenten oder eine Ansammlung von Zeichen auf einer Seite. Mit Semantik wird ein Zugriff auf die Welt hergestellt. Damit kann man sagen, dass wenn in dem Agenten eine bestimmte Konfiguration besteht, er den entsprechenden Satz glaubt oder annimmt. 5.3.1. Logische Konsequenz und Folgerung Die Unterscheidung zwischen Fakten und ihren Repräsentationen ist von zentraler Bedeutung. Die Fakten sind Bestandteile der Welt, während ihre Repräsentationen in irgendwelchen Formen kodiert werden müssen, die in einem Agenten physikalisch gespeichert werden können. Die Welt kann nicht in einen Agenten gebracht werden, deshalb muss das Schlussfolgern auf den Repräsentationen der Fakten erfolgen, nicht auf den Fakten selbst. Da Sätze physikalische Konfigurationen von Teilen des Agenten sind, ist Schlussfolgern ein Prozess, der neue Konfigurationen aus bestehenden konstruiert. Korrektes Schlussfolgern muss garantieren, dass die neuen Konfigurationen Fakten repräsentieren, die auch tatsächlich aus den Ausgangsfakten folgen. Dies ist in Abbildung 5.2 illustriert. Sätze Sätze logische Konsequenz Repräsentation Semantik Semantik Welt Fakten Fakten Folgerung Abbildung 5.2 Man möchte aus Sätzen nur solche Sätze erzeugen, die zwingend wahr sind, wenn die Ausgangssätze auch wahr sind. Diese Beziehung zwischen Sätzen heißt logische Konsequenz oder logische Folgerung. Ist eine Wissensbasis KB und ein Satz α gegeben so dass α aus KB folgt, so sagt man „aus KB folgt logisch α“, geschrieben KB |= α Eine Inferenzprozedur leistet zweierlei: Bei einer gegebenen Wissensbasis KB kann sie neue Sätze α erzeugen, die den Anspruch erheben, aus KB logisch zu folgen, und bei einer gegebenen Wissensbasis KB und einem Satz α kann sie prüfen, ob α aus KB logisch folgt. Eine Inferenzprozedur, die nur logisch folgende Sätze erzeugt, heißt korrekt oder wahrheitserhaltend. Eine Inferenzprozedur Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 27 i kann durch die Sätze, die sie ableitet, charakterisiert werden. Ist α aus KB ableitbar, so schreibt man KB |−i α Eine von einer korrekten Inferenzprozedur durchgeführte Ableitung eines Satzes α heißt Beweis von α. Eine Inferenzprozedur, die alle aus einer Wissensbasis KB logisch folgenden Sätze α ableiten kann, heißt vollständig. 5.3.2. Repräsentation Eine gute Wissensrepräsentationssprache sollte die Vorteile natürlicher und formaler Sprachen kombinieren. Sie sollte ausdrucksstark und präzise und die Formulierungen in ihr sollten eindeutig und kontextunabhängig sein. Sie sollte ferner effektiv in dem Sinn sein, dass es eine Inferenzprozedur gibt, die neue Sätze aus den vorhandenen ableiten kann. Die Bedeutung von Sätzen in einer formalen Sprache wie der Logik wird durch Interpretation festgelegt. Von Hause aus haben die Sätze der Sprache keine Bedeutung, sie sind nur Zeichenfolgen. Durch die Interpretation wird die Beziehung zwischen den Sätzen und den Fakten hergestellt. Ist eine Semantik für eine Sprache gegeben, dann sagt ein Satz aus, dass die Welt so und so ist, und nicht anders. Das hat zur Konsequenz, dass der Satz wahr oder falsch sein kann. Ein Satz ist wahr unter einer bestimmten Interpretation, wenn der Sachverhalt, den er beschreibt, zutrifft. Die Wahrheit eines Satzes hängt also sowohl von der Interpretation als auch vom aktuellen Zustand der Welt ab. 5.3.3. Inferenz In diesem Abschnitt sollen nicht beliebige Schlussfolgerungsverfahren betrachtet werden, sondern nur korrekte. Sie werden logische Inferenz oder Deduktion genannt. Als korrekte Inferenz realisiert die Deduktion die Folgerungsbeziehung zwischen Sätzen. Ein Satz der Logik heißt gültig oder notwendig wahr genau dann, wenn er unter allen möglichen Interpretationen in allen möglichen Welten wahr ist, d.h. mit anderen Worten, unabhängig davon was er bedeuten soll und unabhängig von den Sachverhalten in der beschriebenen Welt. Zum Beispiel ist der Satz „In Quadrat (1, 1) ist ein Gestank oder in Quadrat (1, 1) ist kein Gestank.“ gültig, denn er ist wahr unabhängig davon, welche Situation gerade in der Wumpus-Welt vorliegt, und unabhängig davon, wie die Aussage „in Quadrat (1, 1) ist ein Gestank“ interpretiert wird. Ein Satz der Logik heißt erfüllbar genau dann, wenn es eine Interpretation in einer Welt gibt, unter der der Satz wahr ist. Ein Satz, der nicht erfüllbar ist, heißt unerfüllbar. Formale Inferenz mit einer korrekten Inferenzprozedur garantiert, dass aus gültigen Sätzen nur gültige Sätze abgeleitet werden, obwohl die Inferenzprozedur die verwendete Interpretation nicht kennt. Nur der Agent, der die Inferenzprozedur benutzt, versteht die Sätze, für die Inferenzprozedur sind sie bloße Zeichenfolgen. Die Inferenzprozedur verarbeitet Sätze beliebiger Komplexität, z.B. den Satz „Wenn KB, dann α“, wobei KB die Konjunktion aller Sätze der Wissensbasis ist und α irgendeine Aussage. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 28 5.3.4. Logik Allgemein besteht eine Logik aus zwei Hauptbestandteilen: 1. Einer formalen Sprache zur Beschreibung von Sachverhalten. Diese unterteilt sich wiederum in (a) die Syntax der Sprache, die angibt, wie die Sätze formuliert werden, (b) die Semantik der Sprache, die genau vorschreibt, wie sich Sätze auf Sachverhalte beziehen. 2. Einer Beweistheorie, d.h. einer Menge von Regeln zum Ableiten der logischen Folgerungen aus einer Menge von Sätzen. 5.4. Aussagenlogik 5.4.1. Syntax Der Symbolvorrat der Aussagenlogik umfasst folgende Symbole: • • • • Konstanten: Aussagensymbole Junktoren Klammern True, False P, Q, ... ∧, ∨, ⇔, , ¬ (, ) Die Symbole werden nach folgenden Regeln zu Sätzen zusammengesetzt: 1. Die logischen Konstanten True und False sind Sätze. 2. Jedes Aussagensymbol P, Q, ... ist ein Satz. 3. Ist α ein Satz, dann ist auch (α) ein Satz. 4. Aus einem oder zwei aussagenlogischen Sätzen α und β können mit Hilfe der Junktoren neue Sätze gebildet werden: Konjunktion: α ∧ β. α und β heißen Konjunkte. Disjunktion: α ∨ β. α und β heißen Disjunkte. β. α heißt Prämisse oder Antezedenz der Implikation, β heißt Konklusion Implikation: α oder Sukzedenz der Implikation. Implikationen werden auch Regeln oder wenn-dannAussagen genannt. Äquivalenz: α ⇔ β. Die Äquivalenz wird auch Bikonditional genannt. Negation: ¬α. 5.4.2. Semantik Die Bedeutung eines Aussagensymbols kann ein beliebiges Fakt sein. Da man immer eine Welt konstruieren kann, in der das Fakt gilt, aber auch Welten, in denen es nicht gilt, ist ein Satz, der nur aus einem Aussagensymbol besteht, erfüllbar aber nicht gültig. Die Bedeutung der Konstanten liegt fest. Die Bedeutung von True ist immer das wahre Fakt, d.h. der Zustand der Welt wie er aktuell ist, und die Bedeutung von False der Zustand der Welt, wie er nicht ist. Die Bedeutung zusammengesetzter Sätze ist eine Funktion der Bedeutung ihrer Teile. Diese Funktion lässt sich, da es nur die Bedeutungen true und false gibt, durch eine endliche Tabelle für alle Junktoren beschreiben, die sog. Wahrheitstabelle. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung P false false true true Q false true false true Seite 29 ¬P true true false false P∧Q false false false true P∨Q false true true true P Q true true false true P⇔Q true false false true Die Bedeutung eines zusammengesetzten Satzes läst sich rekursiv aus seinen Teilen bestimmen. Ist α op β ein Satz mit dem Hauptoperator op, dann ergibt sich der Wahrheitswert des Satzes aus den Wahrheitswerten von α und β mit Hilfe der Spalte von op in der Wahrheitstabelle. 5.4.3. Inferenzregeln Inferenzregeln in der Aussagenlogik werden folgendermaßen geschrieben: α1, α2, ..., αn β1, β2, ..., βm α1, α2, ..., αn und β1, β2, ..., βm repräsentieren aussagenlogische Sätze, d.h. sie geben bestimmte Strukturen vor und alle konkreten Sätze, die zu diesen Strukturen passen, erfüllen die Regeln. Die folgenden aussagenlogischen Inferenzregeln sind gebräuchlich: 1. Modus ponens oder Implikations-Beseitigung α β, α β 2. Und-Beseitigung α1 ∧ α2 ∧ ... ∧ αn αi 3. Und-Einführung α1, α2, ..., αn α1 ∧ α2 ∧ ... ∧ αn 4. Oder-Einführung αi α1 ∨ α2 ∨ ... ∨ αn 5. Beseitigung der doppelten Negation ¬¬α α 6. Unit Resolution α ∨ β, ¬β α 7. Resolution Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 30 α ∨ β, ¬β ∨ γ α∨γ ¬α β, β γ äquivalent ¬α γ 5.4.4. Horn-Sätze Eine spezielle Klasse von Sätzen mit einer bestimmten Form sind die Horn-Sätze. Ein Horn-Satz hat die Form P1 ∧ P2 ∧ ... ∧ Pn Q Dabei sind die Pi und Q nichtnegierte atomare Sätze, im Fall der Aussagenlogik also Aussagensymbole oder Konstanten. Horn-Sätze haben die Eigenschaft, dass auf ihnen Inferenzen in polynomieller Zeit durchgeführt werden können. Als Inferenzregel wird nur Modus ponens benötigt. Allerdings lassen sich nicht alle Wissensbasen in Mengen von Horn-Sätzen umschreiben. 5.5. Ein Agent für die Wumpus-Welt 5.5.1. Die Wissensbasis Die Sätze der Wissensbasis sind entsprechend den in der Abbildung 5.4 verwendeten Symbolen geformt. Das heißt, der Satz „M1,2“ bedeutet In (1, 2) wird ein Gestank wahrgenommen, oder „B2,1“ bedeutet In (2, 1) wird eine Brise wahrgenommen. Jedes Mal, wenn der Agent eine Aktion ausführt, werden aufgrund seiner Wahrnehmung ein oder mehrere neue Sätze in die Wissensbasis eingefügt. 2,4 3,4 4,4 2,3 3,3 4,3 1,2 A M OK 2,2 3,2 4,2 1,1 2,1 B S OK 1,4 1,3 A - Agent B - Brise G - Glitzern OK - sicheres Quadrat F - Fallgrube M - Gestank (Mief) S - schon besucht W - Wumpus W! OK S OK 3,1 4,1 F! Abbildung 5.4 Die Situation von Abbildung 5.4 lässt sich durch folgende Sätze beschreiben: α1: α2: α3: ¬M1,1 ¬M2,1 M1,2 β1: β2: β3: ¬B1,1 B2,1 ¬B1,2 Diese Sätze sind in der Wissensbasis enthalten. Außerdem braucht der Agent vorab einiges Wissen um seine Schlüsse ziehen zu können, d.h. um aus den Wahrnehmungen auf mögliche Orte von Fallgruben und des Wumpus schließen zu können, und umgekehrt um aus dem Fehlen von Wahrnehmungen auf die Ungefährlichkeit von Quadraten schließen zu können. Dieses Wissen lässt sich in Form von Implikationen oder Regeln formulieren. Der Agent benötigt für jedes Quadrat eine Regel, die etwas über die Befindlichkeit des Wumpus aussagt, wenn er dort keinen Gestank wahrTechnische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 31 nimmt, und eine Regel, wenn er dort einen Gestank wahrnimmt, entsprechend für das Wahrnehmen und das Nicht-Wahrnehmen einer Brise. Beispiele für solche Regeln sind: R1 : ¬M 1,1 ¬W1,1 ∧ ¬W1, 2 ∧ ¬W2,1 R2 : ¬M 2,1 ¬W1,1 ∧ ¬W2,1 ∧ ¬W2, 2 ∧ ¬W3,1 R3 : ¬M 1, 2 ¬W1,1 ∧ ¬W1, 2 ∧ ¬W2, 2 ∧ ¬W1,3 R4 : M 1, 2 W1,3 ∨ W1, 2 ∨ W2, 2 ∨ W1,1 5.5.2. Die Suche nach dem Wumpus Ableitung des Satzes W1,3: 1. α1 und R1 mit Modus ponens: ¬W1,1 ∧ ¬W1,2 ∧ ¬W2,1 2. Und-Beseitigung: ¬W1,1, ¬W1,2, ¬W2,1 3. α2 und R2 mit Modus ponens: ¬W1,1 ∧ ¬W2,1 ∧ ¬W2,2 ∧ ¬W3,1 4. Und-Beseitigung: ¬W1,1, ¬W2,1, ¬W2,2, ¬W3,1 5. α3 und R4 mit Modus ponens: W1,3 ∨ W1,2 ∨ W2,2 ∨ W1,1 6. Unit Resolution mit α = W1,3 ∨ W1,2 ∨ W2,2 und β = W1,1; ¬W1,1 wurde in Schritt 2. abgeleitet: W1,3 ∨ W1,2 ∨ W2,2 7. Unit Resolution mit α = W1,3 ∨ W1,2 und β = W2,2; ¬W2,2 wurde in Schritt 4. abgeleitet: W1,3 ∨ W1,2 8. Unit Resolution mit α = W1,3 und β = W1,2; ¬W1,2 wurde in Schritt 2. abgeleitet: W1,3 Aktionsregeln: Für jedes Quadrat und jede mögliche Orientierung und jede mögliche Situation muss eine Regel definiert werden, die eine sinnvolle Aktion des Agenten beschreibt. Ein Beispiel für eine Aktionsregel ist: Der Agent befindet sich in (1, 1), ist nach Osten orientiert und in (2, 1) befindet sich das Wumpus. Dann ist eine sinnvolle Regel: A1,1 ∧ OstA ∧ W2,1 ¬Vorwärts Mit Hilfe des folgenden Algorithmus wird die Wissensbasis des Agenten aufgebaut und abgefragt. function AUSSAGENLOGISCHER-KB-AGENT(Wahrnehmung) returns eine Aktion static: KB ; eine Wissensbasis t ; ein Zähler für die Zeit, zu Beginn 0 TELL(KB, MAKE-PERCEPT-SENTENCE(Wahrnehmung, t)) for each Aktion in der Liste möglicher Aktionen do if ASK(KB, MAKE-ACTION-QUERY(t, Aktion)) then t←t+1 return Aktion end Das Problem der Aussagenlogik ist, dass sie nur ein Formulierungsmittel hat, nämlich die Aussage. Deshalb sind schon für die Formulierung einfacher Sachverhalte in einfachen Welten sehr viele Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 32 Sätze notwendig und die Verarbeitung, d.h. das Schlussfolgern auf der Basis dieser Sätze, ist entsprechend zeitaufwendig. Dies ist insbesondere der Fall, wenn man veränderliche Welten hat, in denen bestimmte Aussagen nur zu bestimmten Zeitpunkten gelten. Jede Aussage muss dann so oft mit einem neuen Zeitindex versehen und zur Wissensbasis hinzugefügt werden, wie es Zeitpunkte gibt, oder, falls dies nicht von vornherein feststeht, wie man annimmt, dass es Zeitpunkte gibt. 6. Logik erster Ordnung Nach der Logik erster Ordnung besteht die Welt aus Objekten, d.h. Dingen, die individuelle Identitäten und Eigenschaften haben, nach denen sie unterscheidbar sind. Zwischen den Objekten können verschiedene Relationen bestehen. Einige der Relationen können Funktionen sein. 6.1. Syntax und Semantik In der Logik erster Ordnung gibt es, wie in der Aussagenlogik, Sätze, die Fakten repräsentieren. Über die Aussagenlogik hinaus bestehen diese Sätze aus Termen und Prädikatsymbolen. Die Terme können funktionale Ausdrücke, Variable oder Konstanten sein. Aus einfachen Sätzen werden komplexe durch Junktoren und Quantoren aufgebaut. 6.1.1. Symbole • Konstantensymbole Durch eine Interpretation wird festgelegt, auf welches Objekt in der Welt sich ein Konstantensymbol bezieht. Jedes Konstantensymbol benennt genau ein Objekt, aber nicht alle Objekte der Welt müssen Namen haben und manche Objekte können mehrere Namen haben. • Prädikatsymbole Durch eine Interpretation wird festgelegt, auf welche Relation in der Welt sich ein Prädikatsymbol bezieht. Die Relation ist als Menge von Tupeln von Objekten, die die Relation erfüllen, definiert. • Funktionssymbole Funktionssymbole werden durch Interpretationen auf spezielle Relationen abgebildet, die in einer Stelle (üblicherweise der letzten) eindeutig sind. Sie heißen Funktionen. Eine n-stellige Funktion kann durch eine Menge von (n+1)-Tupeln definiert werden. Die letzte Stelle eines jeden solchen Tupels stellt den Wert der Funktion unter den ersten n Stellen dar. In der Menge gibt es keine zwei Tupel mit identischen ersten n Stellen und verschiedenen (n+1)-ten Stellen. 6.1.2. Terme Ein Term ist eine logischer Ausdruck, der sich auf ein Objekt bezieht. Deshalb sind Konstantensymbole Terme. Außer Konstantensymbolen sind Ausdrücke, gebildet aus einem Funktionssymbol und einer in Klammern eingeschlossenen Folge von Termen wiederum Terme. Die Semantik von Termen ist folgendermaßen definiert: Ist der Term t eine Konstante, dann ist seine Bedeutung das Objekt, dem er unter einer Interpretation zugeordnet wird. Ist t ein funktionaler Ausdruck der Form f(t1, t2, ..., tm) dann wird f unter einer Interpretation auf eine (m+1)-stellige funktionale Relation abgebildet, die Terme ti auf irgendwelche Objekte und die Bedeutung von t unter der Interpretation ist dann die (m+1)-te Komponente des Tupels, dessen erste m Komponenten die Bedeutungen der Terme ti darstellen. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 33 6.1.3. Atomare Sätze Ein atomarer Satz besteht aus einem Prädikatsymbol gefolgt von einer in Klammern eingeschlossenen Liste von Termen. Ein atomarer Satz beschreibt ein Fakt. Die Bedeutung eines atomaren Satzes ist einer der Wahrheitswerte true oder false. Ein atomarer Satz ist wahr oder hat den Wert true, wenn die Relation, auf die sich das Prädikatsymbol bezieht, zwischen den Objekten gilt, auf die sich die Terme beziehen, d.h. wenn das entsprechende Tupel von Objekten in der Relation enthalten ist. 6.1.4. Zusammengesetzte Sätze Aus Sätzen kann man mittels Junktoren komplexere Sätze bauen. Die Teilsätze können ihrerseits zusammengesetzt oder atomar sein. Die Semantik zusammengesetzter Sätze sind Wahrheitswerte und sie ist genauso definiert wie die der aussagenlogischen zusammengesetzten Sätze. 6.1.5. Quantoren Universelle Quantifizierung Zur Repräsentation von natürlichsprachlichen Sätzen, die allgemeine regelartige Aussagen machen, kann der Allquantor benutzt werden. Ein typischer Satz dieser Art ist etwa Katzen sind Säugetiere. Damit ist genauer gemeint: Alle Katzen sind Säugetiere. Die Begriffe Katze und Säugetier beschreiben bestimmte Klassen von Tieren, also Mengen von Objekten mit bestimmten Eigenschaften, in diesem Fall Katze-sein oder Säugetier-sein. Deshalb werden sie am besten durch einstellige Prädikate wiedergegeben. Die Formulierung Alle Katzen sind Säugetiere lässt sich damit so umschreiben: Wenn ein Objekt x eine Katze ist (zur Klasse der Katzen gehört), dann ist x auch ein Säugetier (gehört zur Klasse der Säugetiere). Diese Formulierung lässt sich direkt in einen allquantifizierten Satz in der Logik erster Ordnung umschreiben: ∀x Katze(x) Säugetier(x) Schreibkonvention: Variable beginnen mit kleinen Buchstaben, Konstanten-, Prädikat- und Funktionssymbole mit Großbuchstaben. Eine Variable ist selbst ein Term und kann deshalb als Argument einer Funktion oder eines Prädikats benutzt werden. Ein Term, der keine Variablen enthält, heißt Grundterm. Existenzielle Quantifizierung Existenziell quantifizierte Sätze können zur Repräsentation natürlichsprachlicher Sätze, die Aussagen über einige Objekte aus einer Menge machen, benutzt werden. Der logische Satz ∃x P ist wahr, wenn P wahr ist für irgendein Objekt aus einem Universum von Objekten. Eine natürlichsprachliche Formulierung wie Micky hat eine Schwester, die eine Katze ist lässt sich als logischer Satz wie folgt wiedergeben: ∃x Schwester(x, Micky) ∧ Katze(x) Geschachtelte Quantoren Komplexere Sätze werden oft mit mehreren Quantoren formuliert. Im einfachsten Fall hat man eine Folge gleichartiger Quantoren, also Sätze der Form ∀x1 ∀x2 ... ∀xn P oder ∃x1 ∃x2 ... ∃xn P. Solche Sätze werden abkürzend geschrieben ∀x1, x2, ... , xn P bzw. ∃x1, x2, ... , xn P. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 34 Kommen Allquantoren und Existenzquantoren gemischt vor, dann ist die Reihenfolge wichtig. Eine Vertauschung der Reihenfolge verändert die Bedeutung eines Satzes. Der natürlichsprachliche Satz Jeder liebt jemand (Everybody loves somebody) heißt in logischer Notation ∀x ∃y Liebt(x, y) Der Satz Es gibt jemand, der von allen geliebt wird würde heißen ∃y ∀x Liebt(x, y) Jede Variable muss in einem syntaktisch korrekten Satz im Skopus eines Quantors stehen. Deshalb ist z.B. ein Satz der Form ∀x P(y) nicht korrekt. Quantoren und Negation Die beiden Quantoren lassen sich mittels Negation ineinander überführen. Den De Morganschen Regeln für die Konjunktion und Disjunktion entsprechen Regeln für den All- und Existenzquantor: ∀x ¬P ¬∀x P ∀x P ∃x P ≡ ¬∃x P ≡ ∃x ¬P ≡ ¬∃x ¬P ≡ ¬∀x ¬P ¬P ∧ ¬Q ¬(P ∧ Q) P∧Q P∨Q ≡ ¬(P ∨ Q) ≡ ¬P ∨ ¬Q ≡ ¬(¬P ∨ ¬Q) ≡ ¬(¬P ∧ ¬Q) 6.2. Zwei Anwendungsbereiche für die Logik erster Ordnung 6.2.1. Die Verwandtschaftsdomäne In der Verwandtschaftsdomäne gibt es folgende Objekte, Prädikate und Funktionen: Objekte: Personen Einstellige Prädikate: Männlich, Weiblich Zweistellige Prädikate: Elternteil, Geschwister, Bruder, Schwester, Kind, Tochter, Sohn, Gatte, Ehefrau, Ehemann, Großelternteil, Enkel, Vetter, Base, Tante, Onkel. Funktionen: Mutter, Vater Zwischen den Prädikaten und Funktionen bestehen bestimmte Beziehungen, die sich mit Hilfe logischer Sätze formulieren lassen. Beispiele hierfür sind: ∀m, k Mutter(k) = m ⇔ Weiblich(m) ∧ Elternteil(m, k) ∀f, e Ehemann(e, f) ⇔ Männlich(e) ∧ Gatte(e, f) ∀x Männlich(x) ⇔ ¬Weiblich(x) 6.2.2. Die Mengendomäne In der Mengendomäne gibt es folgende Konstanten, Prädikate und Funktionen: Konstanten: Prädikate: Funktionen: LeereMenge Element, Teilmenge, Menge Durchschnitt, Vereinigung, Einfügen Die folgenden acht Axiome definieren die Eigenschaft Menge. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 35 ∀m Menge(m) ⇔ (m = LeereMenge) ∨ (∃ x, m‘ Menge(m‘) ∧ m = Einfügen(x, m‘)) 6.2.3. Fragen und Antworten Die Axiome und Fakten einer Domäne werden mittels TELL in die Wissensbasis KB eingefügt. Mittels ASK können dann logische Konsequenzen aus den eingefügten Sätzen abgefragt werden. Ein Aufruf von TELL zum Einfügen eines Satzes hat z.B. folgende Form: TELL(KB, (∀m, k Mutter(k) = m ⇔ Weiblich(m) ∧ Elternteil(m, k))) entsprechend für die weiteren Axiome. Fakten können z.B. in folgender Form eingegeben werden: TELL(KB, (Weiblich(Tifanny) ∧ Elternteil(Tifanny, Micky) ∧ Elternteil(Micky, Felix))) Eine Abfrage mit ASK hat folgende Gestalt: ASK(KB, Großelternteil(Tifanny, Felix)) Sätze, die mittels TELL zur Wissensbasis hinzugefügt werden, werden Zusicherungen genannt und Sätze, die mittels ASK abgefragt werden, werden Fragen oder Ziele genannt. Eine Frage, die mit einem existenziell quantifizierten Satz formuliert ist, erwartet als Antwort ein oder mehrere Objekte, so dass bei Einsetzen dieser Objekte für die Variable jeweils ein aus der Wissensbasis ableitbarer Satz entsteht. Heißt die Frage z.B. ASK(KB, ∃x Kind(x, Micky)) dann sollte die Antwort Felix sein. Die Standardform der Antwort auf eine Frage dieser Art ist eine Liste von Variable/Term-Paaren, genannt Substitution oder Bindungsliste. Im Beispiel besteht die Liste nur aus einem Paar, nämlich {x/Felix}. 6.3. Logische Agenten für die Wumpus-Welt Alle Wahrnehmungen des Agenten müssen mit einer Zeitangabe versehen werden, damit der Agent rekonstruieren kann, wann er was gesehen hat. Die Zeit wird als diskrete Folge von Punkten aufgefasst und die einzelnen Zeitpunkte werden durch ganze Zahlen wiedergegeben. Ein typischer Wahrnehmungssatz hat die Form Wahrnehmung([Gestank, Brise, Glitzern, Nichts, Nichts], 5) Der Agent hat folgende Aktionen zur Verfügung: Drehen(Rechts) Drehen(Links) Vorwärts Schießen Ergreifen Loslassen Klettern Um die beste Aktion in einer Situation zu bestimmen, erzeugt die Funktion MAKE-ACTION-QUERY eine Frage der Form ∃a Aktion(a, 5) ASK sollte darauf eine Substitution liefern, z.B. {a/Ergreifen}, d.h. eine adäquate Aktion. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 36 6.4. Repräsentation von Veränderungen in der Welt 6.4.1. Der Situationskalkül Im Situationskalkül wird die Welt als aus einer Folge von Situationen bestehend betrachtet. Jede Situation ist ein „Schnappschuss“ des Zustands der Welt. Eine Situation wird aus einer anderen Situation durch eine Aktion erzeugt. In Abbildung 6.1 ist dies für die Wumpus-Welt dargestellt. Einzelne Situationen können benannt werden. Situationskonstanten werden durch Si bezeichnet. Relationen und Eigenschaften, die sich über der Zeit ändern können, werden durch Prädikate mit einem zusätzlichen Situationsargument repräsentiert. Dieses wird immer als letztes Argument aufgeführt. Der Ort des Agenten in den Situationen S0 und S1 von Abbildung 6.1 lässt sich z.B. durch folgenden Satz beschreiben: An(Agent, (1, 1), S0) ∧ An(Agent, (1, 2), S1) Statische Relationen und Eigenschaften benötigen kein zusätzliches Situationsargument. Um den Wechsel von einer Situation zur nächsten zu beschreiben wird die Funktion Ergebnis (Aktion, Situation) benutzt. Ihr Wert ist eine neue Situation, die entsteht, wenn Aktion auf Situation angewandt wird. Mittels der Funktion Ergebnis können die Übergänge zwischen den Situationen in Abbildung 6.1 wie folgt beschrieben werden: S1 S0 Grube Grube Grube Grube Gold Gold Grube Grube S2 S3 Grube Grube Grube Grube Gold Gold Grube Grube Abbildung 6.1 Ergebnis(Vorwärts, S0) = S1 Ergebnis(Drehen(Rechts), S1) = S2 Ergebnis(Vorwärts, S2) = S3 Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 37 Aktionen werden durch ihre Wirkungen beschrieben, d.h. durch die Eigenschaften der Situation, die aus der Ausführung der Aktion resultiert. Ein Beispiel ist das Halten eines Objekts als Wirkung seines Ergreifens. Als Voraussetzung wird noch mitformuliert, dass das Objekt tragbar sein muss. Das entsprechende Axiom heißt: ∀x, s Vorhanden(x, s) ∧ Tragbar(x) Halten(x, Ergebnis(Ergreifen, s)) Ein ähnliches Axiom kann man für die Umkehrung formulieren. Es drückt aus, dass der Agent nach einer Loslassen-Aktion nichts hält. ∀x, s ¬Halten(x, Ergebnis(Loslassen, s)) Axiome dieser Art heißen Wirkungsaxiome. Sie reichen aber noch nicht aus, um in jedem Fall das Gewünschte ableiten zu können, d.h. dass ein Agent einen bestimmten Gegenstand hält oder nicht. Man muss noch beschreiben können, dass ein Zustand wie das Halten eines Gegenstands von einer Situation zur nächsten erhalten bleibt, wenn der Agent nicht eine Loslassen-Aktion durchführt, entsprechend umgekehrt für den Zustand des Nicht-Haltens. Dafür werden folgende Axiome formuliert: ∀a, x, s Halten(x, s) ∧ (a ≠ Loslassen) Halten(x, Ergebnis(a, s)) ∀a, x, s ¬Halten(x, s) ∧ (a ≠ Ergreifen ∨ ¬(Vorhanden(x, s) ∧ Tragbar(x))) ¬Halten(x, Ergebnis(a, s)) Axiome dieser Art heißen Frameaxiome. Wirkungsaxiome und Frameaxiome zusammen beschreiben vollständig, wie sich die Welt aufgrund der Aktionen des Agenten entwickelt. Aus der Zusammenfassung der beiden Axiome ergibt sich das folgende Folgezustandsaxiom: ∀a, x, s Halten(x, Ergebnis(a, s)) ⇔ [(a = Ergreifen ∧ Vorhanden(x, s) ∧ Tragbar(x)) ∨ (Halten(x, s) ∧ a ≠ Loslassen)] Das Folgezustandsaxiom fasst inhaltlich die Aussagen der Wirkungsaxiome und Frameaxiome zusammen. Für jedes Prädikat, das zeitabhängig seine Werte ändern kann, wird ein Folgezustandsaxiom benötigt. 6.4.2. Ortsbestimmung In der Wumpus-Welt ist die Ortsbestimmung besonders wichtig. Da der Agent seinen aktuellen Ort nicht durch Wahrnehmung bestimmen kann, muss er ihn aus den vorangegangenen Aktionen erschließen. Er weiß, dass er am Anfang im Quadrat (1, 1) ist. Das wird durch den Satz An(Agent, (1, 1), S0) notiert. Zusätzlich benötigt der Agent folgendes Wissen: • Die Richtung, in die er blickt. Sie wird durch einen Winkel in Graden angegeben, die x-Achse hat den Winkel 0, die y-Achse den Winkel 90 usw. Blickt der Agent am Anfang nach Osten, d.h. in Richtung der x-Achse, dann heißt die Anfangssituation Orientierung(Agent, S0) = 0 • Die Anordnung von Orten, d.h. eine einfache Landkarte. Diese Landkarte besteht aus den Werten der Funktion OrtInRichtung, die aus einer Ortsangabe und einer Richtung die Ortsangabe für einen Ort erzeugt, der einen Schritt vorwärts in der angegebenen Richtung liegt. Für Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 38 einen Ort (Quadrat) mit den Koordinaten x und y liefert die Funktion für die vier Himmelsrichtungen folgende Werte: ∀x, y OrtInRichtung((x, y), 0) = (x + 1, y) ∀x, y OrtInRichtung((x, y), 90) = (x, y + 1) ∀x, y OrtInRichtung((x, y), 180) = (x − 1, y) ∀x, y OrtInRichtung((x, y), 270) = (x, y − 1) Damit lässt sich formulieren, welcher Ort vor einem Agenten p liegt, der sich in Situation s am Ort l befindet: ∀p, l, s An(p, l, s) OrtVor(p, s) = OrtInRichtung(l, Orientierung(p, s)) Nachbarschaftsbeziehungen zwischen Orten kann man ebenfalls mit der Funktion definieren: ∀ l1, l2 Benachbart(l1, l2) ⇔ ∃d l1 = OrtInRichtung(l2, d) • Informationen über den Inhalt von Orten. Es wird angenommen, dass auf den Quadraten des 4×4-Gitters sich keine Wände befinden, aber auf allen diese umgebenden Quadraten. ∀ x, y Wand((x, y)) ⇔ (x = 0 ∨ x = 5 ∨ y = 0 ∨ y = 5) • Wissen über Ortsveränderungen des Agenten. Die Ortsbefindlichkeit ist zeitabhängig, deshalb wird für das Prädikat An ein Folgezustandsaxiom benötigt. ∀a, l, p, s An(p, l, Ergebnis(a, s)) ⇔ [(a = Vorwärts ∧ l = OrtVor(p, s) ∧ ¬Wand(l)) ∨ (An(p, l, s) ∧ a ≠ Vorwärts)] • Wissen über Richtungsveränderungen des Agenten. Die Orientierung ist zeitabhängig, deshalb wird für die Funktion Orientierung ein Folgezustandsaxiom benötigt. ∀a, d, p, s Orientierung(p, Ergebnis(a, s)) = d ⇔ [(a = Drehen(Rechts) ∧ d = Mod(Orientierung(p, s) – 90, 360)) ∨ (a = Drehen(Links) ∧ d = Mod(Orientierung(p, s) + 90, 360)) ∨ (Orientierung(p, s) = d ∧ ¬(a = Drehen(Rechts) ∨ a = Drehen(Links)))] 6.5. Ableitung verborgener Eigenschaften der Welt Orten können Eigenschaften zugeordnet werden, die z.B. aus Wahrnehmungen abgeleitet werden: ∀l, s An(Agent, l, s) ∧ Brise(s) Windig(l) ∀l, s An(Agent, l, s) ∧ Gestank(s) Stinkig(l) Sichere Orte, d.h. solche, an denen sich weder das Wumpus noch Fallgruben befinden, werden durch das Prädikat OK gekennzeichnet. Zur Ableitung von Wissen über sichere Orte aus den Wahrnehmungen bzw. Eigenschaften von Orten und dem Wissen über das Wumpus, die Fallgruben und lokale Beziehungen werden Axiome formuliert, die synchrone Regeln heißen, weil sie verschiedene Eigenschaften desselben Weltzustands zueinander in Beziehung setzen. Es gibt zwei Arten von synchronen Regeln: Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung • Seite 39 Kausale Regeln Kausale Regeln geben die Richtung einer angenommenen Kausalität in der Welt wieder. Es wird angenommen, dass irgendwelche verborgenen Eigenschaften die wahrgenommenen Erscheinungen verursachen. Die folgenden Regeln sind Beispiele für kausale Regeln: ∀ l1, l2, s An(Wumpus, l1, s) ∧ Benachbart(l1, l2) ∀ l1, l2, s An(Fallgrube, l1, s) ∧ Benachbart(l1, l2) Stinkig(l2) Windig(l2) Systeme, die mit kausalen Regeln schlussfolgern, heißen modellbasierte Schlussfolgerungssysteme. • Diagnostische Regeln Diagnostische Regeln leiten das Vorhandensein verborgener Eigenschaften direkt aus den Wahrnehmungen ab. Beispiele sind die bereits oben eingeführten beiden Regeln. ∀l, s An(Agent, l, s) ∧ Brise(s) Windig(l) ∀l, s An(Agent, l, s) ∧ Gestank(s) Stinkig(l) Mit diagnostischen Regeln kann man im Allgemeinen keine so aussagekräftigen Folgerungen ziehen wie mit kausalen Regeln. In der Wumpus-Welt kann man z.B. aus der Eigenschaft Stinkig eines Orts den Schluss ziehen, dass das Wumpus an einem Nachbarort sein muss. ∀l1, s Stinkig(l1) (∃l2 An(Wumpus, l2, s) ∧ (l1 = l2 ∨ Benachbart(l1, l2))) Man kann auch aus der Abwesenheit bestimmter Wahrnehmungen auf die Sicherheit eines Orts schließen: ∀x, y, g, u, r, s, t Wahrnehmung([Nichts, Nichts, g, u, r], t) ∧ An(Agent, x, s) ∧ Benachbart(x, y) OK(y) Aber man kann nicht erschließen, dass ein Ort, an dem Gestank und Brise wahrgenommen wird, eventuell ein sicherer Ort ist. Mit der folgenden modellbasierten Regel ist die Sicherheit eines Ortes am besten beschrieben: ∀x, t ¬An(Wumpus, x, t) ∧ ¬Fallgrube(x) ⇔ OK(x) 6.6. Zielbasierte Agenten 6.6.1. Präferenzen zwischen Aktionen Die Wünschbarkeit von Aktionen wird durch bestimmte Prädikate beschrieben. Die Inferenzprozedur sollte damit in der Lage sein, eine Aktionsfolge zu erzeugen, wobei immer die Aktion mit der größtmöglichen Wünschbarkeit gewählt wird. Folgende Prädikate werden verwendet: Großartig, Gut, Mittelmäßig, Riskant und Tödlich. Die Prädikate sind gemäß ihrer Wortbedeutung geordnet. Entsprechend sind die Regeln für die Auswahl einer Aktion definiert: ∀a, s Großartig(a, s) Aktion(a, s) ∀a, s Gut(a, s) ∧ (¬∃b Großartig(b, s)) Aktion(a, s) ∀a, s Mittelmäßig(a, s) ∧ (¬∃b Großartig(b, s) ∨ Gut(b, s)) Aktion(a, s) ∀a, s Riskant(a, s) ∧ (¬∃b Großartig(b, s) ∨ Gut(b, s) ∨ Mittelmäßig(b, s)) Technische Universität Chemnitz Wintersemester 2003/2004 Aktion(a, s) Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 40 Regeln dieser Art heißen Aktions-Wert-Regeln. Sie beziehen sich nicht darauf, was die Aktionen tatsächlich tun, sondern nur auf ihre Wünschbarkeit. 6.6.2. Ziele und Aktionsfolgen Ziele hängen von der Situation ab, in der sich ein Agent befindet. Bei manchen, aber nicht bei allen, Situationsänderungen wird der Agent also sein aktuelles Ziel ändern. In der Wumpus-Welt ist das Ziel des Agenten, das Gold zu finden, d.h. an den Ort des Goldes zu kommen, so lange er es noch nicht hält. Hat er es gefunden und ergriffen, dann ist sein Ziel, zum Quadrat (1, 1) zu kommen und die Höhle zu verlassen. Die Abhängigkeit der Ziele von den Situationen lässt sich durch folgende Regeln formulieren: ∀s, l ¬Halten(Gold, s) ∧ An(Gold, l, s) ∀s Halten(Gold, s) Zielort(l, s) Zielort((1,1), s) Zur Bestimmung einer Aktionsfolge gibt es mindestens drei verschiedene Möglichkeiten: • Inferenz: Mit Hilfe geeigneter Axiome kann man mittels ASK eine Aktionsfolge aus der Wissensbasis ableiten. Für kleine Welten wie die 4×4-Wumpus-Welt, ist dies immer möglich, für größere Welten ist der Rechenaufwand zu groß. In jedem Fall hat man das Problem, gute Lösungen von aufwendigen zu unterscheiden. • Suche: Mit Best-first-Suche kann ein Pfad zum Ziel bestimmt werden. Dazu muss das benötigte Wissen in eine Menge von geeigneten Operatoren und Zustandsrepräsentationen umgesetzt werden, so dass der Suchalgorithmus angewandt werden kann. • Planen: Dies erfolgt mit speziellen Schlussfolgerungssystemen, die dazu entworfen wurden, über Aktionen zu schlussfolgern. 7. Inferenzen in der Logik erster Ordnung 7.1. Inferenzregeln für quantifizierte Sätze Die Inferenzregeln von Abschnitt 5.4 für die Aussagenlogik gelten auch für die Logik erster Ordnung. Für quantifizierte Sätze werden drei neue Inferenzregeln eingeführt. Sie sind komplexer als die anderen Regeln, denn in ihnen muss die Ersetzung von Variablen durch einzelne Individuen behandelt werden. Dazu wird die Notation der Substitution eingeführt. SUBST(θ, α) bezeichnet das Ergebnis der Anwendung der Substitution (oder Bindungsliste) θ auf den Satz α. Beispiel: SUBST({x/Otto, y/Anna}, Mag(x, y)) = Mag(Otto, Anna) Die folgenden drei neuen Inferenzregeln werden eingeführt: 1. Allquantor-Beseitigung: Für jeden Satz α, Variable v und Grundterm g: ∀v α SUBST({v/g}, α) Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung 2. Seite 41 Existenzquantor-Beseitigung: Für jeden Satz α, Variable v und Konstantensymbol k, das sonst nirgends in der Wissensbasis vorkommt: ∃v α SUBST({v/k}, α) 3. Existenzquantor-Einführung: Für jeden Satz α, Variable v, die nicht in α vorkommt und Grundterm g: α ∃v SUBST({g/v}, α) 7.2. Ein Beispiel für einen Beweis Die folgende Situationsbeschreibung in natürlicher Sprache sei gegeben: Das Gesetz besagt, dass ein Händler ein Dealer ist, wenn er Rauschgift an abhängige Drogenkonsumenten verkauft. Hans, ein Drogenkonsument, besitzt Kokain, und sein ganzes Kokain wurde ihm von Otto, der ein Händler ist, verkauft. Es soll der Schluss gezogen werden, dass Otto ein Dealer ist. Zunächst muss die Information des Textes in eine Wissensbasis umgesetzt werden, wofür geeignete Prädikate und Sätze formuliert werden müssen. Danach kann der gewünschte Schluss durch Inferenz gezogen werden. „Ein Händler, der an einen Drogensüchtigen Rauschgift verkauft, ist ein Dealer“: ∀x, y, z Händler(x) ∧ Rauschgift(y) ∧ Drogenkonsument(z) ∧ Abhängig(z) ∧ Verkauft(x, z, y) Dealer(x) (1) „Hans besitzt Kokain“: ∃x Besitzt(Hans, x) ∧ Kokain(x) (2) „Sein ganzes Kokain wurde ihm von Otto verkauft“: ∀x Besitzt(Hans, x) ∧ Kokain(x) Verkauft(Otto, Hans, x) (3) Kokain ist ein Rauschgift: ∀x Kokain(x) Rauschgift(x) (4) Wer regelmäßig Drogen konsumiert, ist abhängig: ∀x Drogen(x, Regelmäßig) Abhängig(x) (5) „Otto, der ein Händler ist“ Händler(Otto) (6) „Hans, ein Drogenkonsument“ Drogenkonsument(Hans) (7) „Hans konsumiert regelmäßig Drogen“ Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 42 Drogen(Hans, Regelmäßig) (8) Mit Hilfe der Sätze (1) bis (8) wird der Beweis durch eine Folge von Anwendungen der Inferenzregeln geführt. Aus (2) mit Existenzquantor-Beseitigung: Besitzt(Hans, K1) ∧ Kokain(K1) (9) Aus (9) mit Und-Beseitigung: Besitzt(Hans, K1) Kokain(K1) (10) (11) Aus (4) mit Allquantor-Beseitigung: Kokain(K1) Rauschgift(K1) (12) Aus (11) und (12) mit Modus Ponens: Rauschgift(K1) (13) Aus (3) mit Allquantor-Beseitigung: Besitzt(Hans, K1) ∧ Kokain(K1) Verkauft(Otto, Hans, K1) (14) Aus (9) und (14) mit Modus Ponens: Verkauft(Otto, Hans, K1) (15) Aus (1) mit dreifacher Allquantor-Beseitigung: Händler(Otto) ∧ Rauschgift(K1) ∧ Drogenkonsument(Hans) ∧ Abhängig(Hans) ∧ Verkauft(Otto, Hans, K1) Dealer(Otto) (16) Aus (5) mit Allquantor-Beseitigung: Drogen(Hans, Regelmäßig) Abhängig(Hans) (17) Aus (8) und (17) mit Modus Ponens: Abhängig(Hans) (18) Aus (6), (7), (13), (15) und (18) mit Und-Einführung: Händler(Otto) ∧ Rauschgift(K1) ∧ Drogenkonsument(Hans) ∧ Abhängig(Hans) ∧ Verkauft(Otto, Hans, K1) (19) Aus (16) und (19) mit Modus Ponens: Dealer(Otto) (20) 7.3. Verallgemeinerter Modus Ponens 7.3.1. Die Inferenzregel Verallgemeinerter Modus Ponens Verallgemeinerter Modus Ponens: Für atomare Sätze pi, pi‘ und q und eine Substitution θ so dass für alle i = 1, ..., n gilt SUBST(θ, pi‘) = SUBST(θ, pi): Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 43 p1‘, p2‘, ..., pn‘, (p1 ∧ p2 ∧ ... ∧ pn q) SUBST(θ, q) Die Inferenzregel enthält die n + 1 Prämissen p1‘, p2‘, ..., pn‘, (p1 ∧ p2 ∧ ... ∧ pn Konklusion SUBST(θ, q). Sie ist effizient aus drei Gründen: q) und die 1. Sie kombiniert mehrere Einzelschritte in einen einzigen Schritt. 2. Sie nimmt mit Hilfe des Unifikationsalgorithmus gezielte Ersetzungen allquantifizierter Variablen vor, d.h. solche, die Sätze identisch machen, so dass das Sukzendenz abgeleitet werden kann. 3. Sie benutzt einen Vorkompilations-Schritt, der alle Sätze der Wissensbasis in eine kanonische Form überführt. Dies geschieht einmal am Anfang, so dass die Sätze danach immer in dieser Form vorliegen. 7.3.2. Kanonische Form Eine Inferenzprozedur, die nur die eine Inferenzregel Verallgemeinerter Modus Ponens benutzt, erfordert, dass alle Sätze der Wissensbasis eine der Formen der Sätze in der Prämisse der Inferenzregel haben, d.h. entweder atomare Sätze sind oder Implikationen mit einer Konjunktion atomarer Sätze auf der linken und einem einzelnen atomaren Satz auf der rechten Seite. Sätze dieser Form sind Hornsätze. Alle Sätze werden bei der Eingabe in die Wissensbasis in Hornsätze umgewandelt durch Anwendung der Inferenzregeln Existenzquantor-Beseitigung und Und-Beseitigung und durch Weglassen der Allquantoren. 7.3.3. Unifikation Es wird angenommen, dass es eine Prozedur UNIFY gibt, die zwei atomare Sätze p und q als Eingabe nimmt und eine Substitution θ als Ausgabe liefert, die die beiden Eingabesätze identisch macht, falls eine solche Substitution existiert und andernfalls eine Fehlermeldung macht. Es soll also gelten UNIFY(p, q) = θ, mit SUBST(θ, p) = SUBST(θ, q) θ heißt der Unifikator der beiden Sätze p und q. Um Konflikte durch gleichnamige Variable in verschiedenen Sätzen bei der Unifikation zu vermeiden, werden die Sätze durch Umbenennung von Variablen separiert, so dass keine Variable in zwei verschiedenen Sätzen vorkommt. Durch die Umbenennung von Variablen wird die Bedeutung der Sätze nicht verändert. Die Prozedur UNIFY soll immer den allgemeinsten Unifikator (MGU) liefern, falls ein Unifikator existiert. Der MGU ist diejenige Substitution, die die schwächste Aussage über die Bindungen von Variablen macht. 7.3.4. Modifizierter Beispielbeweis Mit dem Verallgemeinerten Modus Ponens lässt sich der Beweis von Abschnitt 8.2 in verkürzter Form durchführen. Zunächst müssen die Sätze (1) – (9) in Hornform umgewandelt werden. Händler(x) ∧ Rauschgift(y) ∧ Drogenkonsument(z) ∧ Abhängig(z) ∧ Verkauft(x, z, y) Dealer(x) Technische Universität Chemnitz Wintersemester 2003/2004 (21) Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 44 Besitzt(Hans, K1) (22) Kokain(K1) (23) Besitzt(Hans, x) ∧ Kokain(x) Kokain(x) Verkauft(Otto, Hans, x) Rauschgift(x) Drogen(x, Regelmäßig) (24) (25) Abhängig(x) (26) Händler(Otto) (27) Drogenkonsument(Hans) (28) Drogen(Hans, Regelmäßig) (29) Aus (23) und (25) mit Modus Ponens: Rauschgift(K1) (30) Aus (26) und (29) mit Modus Ponens: Abhängig(Hans) (31) Aus (22), (23) und (24) mit Modus Ponens: Verkauft(Otto, Hans, K1) (32) Aus (21), (27), (28), (30), (31) und (32) mit Modus Ponens: Dealer(Otto) (33) 7.4. Vollständigkeit Die folgende Wissenbasis sei gegeben: ∀x P(x) ∀x ¬P(x) ∀x Q(x) ∀x R(x) Q(x) R(x) S(x) S(x) Es ist leicht zu sehen, dass aus diesen Sätzen S(A) für irgendein A ableitbar ist, denn es gilt auf jeden Fall entweder P(A) oder ¬P(A). Die Ableitung ist aber nicht mit Modus Ponens möglich, da der zweite Satz nicht in Hornform ist und auch nicht in eine solche umgewandelt werden kann. Das bedeutet, dass eine Inferenzprozedur, die nur Modus Ponens benutzt, unvollständig ist, d.h. es folgen Sätze logisch aus der Wissensbasis, die mit der Inferenzprozedur nicht abgeleitet werden können. Gödel zeigte in seinem Vollständigkeitstheorem (1930/31), dass es für die Logik erster Ordnung eine vollständige Beweisprozedur gibt, d.h. dass jeder aus einer Menge von Sätzen logisch folgende Satz auch aus dieser Menge ableitbar ist. Ist R die Beweisprozedur, dann gilt also wenn KB |= α dann KB |−R α Gödel bewies nur, dass es ein solches R geben muss, aber er gab keines an. Erst Robinson führte 1965 mit dem Resolution-Algorithmus eine solche Beweisprozedur ein. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 45 7.5. Resolution: Eine vollständige Inferenzprozedur 7.5.1. Die Inferenzregel Resolution Die Resolution-Regel wird hier in erweiterter Form eingeführt. Zum Einen wird erlaubt, dass die Disjunktionen mehrere Elemente enthalten. Es muss dann gewährleistet sein, dass ein atomarer Satz in der einen Disjunktion sich mit der Negation eines atomaren Satzes aus der anderen Disjunktion unifizieren lässt, entsprechend für die implikative Form der Resolution-Regel. Zum Andern wird sie auf Sätze der Logik erster Ordnung erweitert, d.h. es muss unifiziert werden und es werden Substitutionen der Ausgangssätze abgeleitet. Verallgemeinerte Resolution-Regel (disjunktive Form): Für Literale pi (i = 1, ..., m) und qi (i = 1, ..., n) und eine Substitution UNIFY(pj, ¬qk) = θ: p1 ∨ ... ∨ pj ∨ ... ∨ pm, q1 ∨ ... ∨ qk ∨ ... ∨ qn SUBST(θ, p1 ∨ ... ∨ pj-1 ∨ pj+1 ∨ ... ∨ pm ∨ q1 ∨ ... ∨ qk-1 ∨ qk+1 ∨ ... ∨ qn) Verallgemeinerte Resolution-Regel (implikative Form): Für Atome pi, qi, ri, si (i = 1, ..., nα) und eine Substitution UNIFY(pj, qk) = θ: p1 ∧ ... ∧ pj ∧ ... ∧ pnp r1 ∨ ... ∨ rnr s1 ∧ ... ∧ sns q1 ∨ ... ∨ qk ∨ ... ∨ qnq SUBST(θ, p1 ∧ ... ∧ pj-1 ∧ pj+1 ∧ ... ∧ pnp ∧ s1 ∧ ... ∧ sns q1 ∨ ... ∨ qk-1 ∨ qk+1 ∨ ... ∨ qnq ∨ r1 ∨ ... ∨ rnr) 7.5.2. Kanonische Satzformen für Resolution In der disjunktiven Form der Resolution-Regel ist jeder Satz eine Disjunktion von Literalen (atomare oder negierte atomare Sätze). Die beiden Prämissen kann man konjunktiv zusammenfassen und erhält somit einen Satz in konjunktiver Normalform (CNF). Ein Satz in konjunktiver Normalform hat also die Form C1 ∧ C2 ∧ ... ∧ Ck wobei jedes Ci eine Disjunktion L1 ∨ L2 ∨ ... ∨ Ldi von Literalen ist, genannt Klausel. In der implikativen Form der Resolution-Regel ist jeder Satz eine Implikation mit einer Konjunktion von Atomen auf der linken und einer Disjunktion von Atomen auf der rechten Seite. Diese Form wird implikative Normalform (INF) genannt. Jeder Satz kann sowohl in konjunktive als auch in implikative Normalform umgewandelt werden. 7.5.3. Beweise mit der Resolution-Regel Die Resolution-Regel kann sowohl mit Vorwärtsverkettung als auch mit Rückwärtsverkettung benutzt werden. Abbildung 7.2 zeigt eine Ableitung des Satzes S(A) aus der Wissensbasis vom Beginn des Abschnitts 7.6. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung P(w) Seite 46 Q(w) Q(y) S(y) {y/w} P(w) S(w) True P(x) ∨ R(x) {w/x} S(x) ∨ R(x) True R(z) S(z) {x/A, z/A} True S(A) Abbildung 7.2 Eine vollständige Inferenzprozedur, die mit der Resolution-Regel arbeitet, ist die Widerlegung, auch Beweis durch Widerspruch oder Reductio ad absurdum genannt. Das Prinzip ist aus der mathematischen Beweistechnik bekannt. Um einen Satz P zu beweisen wird angenommen, P sei falsch, d.h. es wird ¬P zur Wissensbasis hinzugefügt und dann versucht einen Widerspruch abzuleiten. Gelingt dies, dann muss P aus der Wissensbasis ableitbar sein. Das Prinzip ist also (KB ∧ ¬P False) ⇔ (KB P) Abbildung 7.3 zeigt eine Ableitung nach dem Prinzip der Widerlegung. P(w) Q(w) Q(y) S(y) {y/w} P(w) S(w) P(x) ∨ R(x) True {w/x} True S(x) ∨ R(x) R(z) S(z) {z/x} True S(x) S(x) False {x/A} True False Abbildung 7.3 7.5.4. Umformung in Normalform Die Umwandlung eines beliebigen Satzes in INF erfolgt in acht Schritten. In jedem Schritt entsteht ein Satz, der zum vorherigen äquivalent ist, d.h. der den gleichen Wahrheitswert hat. 1. Beseitigung der Implikationen: p q ≡ ¬p ∨ q 2. Negationen nach innen ziehen: Anwendung der de Morganschen Gesetze, der Entsprechung der Quantoren und der Beseitigung doppelter Negation. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung ¬(p ∨ q) ¬(p ∧ q) ¬∀x p ¬∃x p ¬¬p Seite 47 ≡ ≡ ≡ ≡ ≡ ¬p ∧ ¬q ¬p ∨ ¬q ∃x ¬p ∀x ¬p p 3. Umbenennung von Variablen: Kommt eine Variable im Skopus verschiedener Quantoren vor, benenne jedes Vorkommen um. Beispiel: (∀x P(x)) ∨ (∃x Q(x)) ≡ (∀x P(x)) ∨ (∃y Q(y)). 4. Quantoren nach außen ziehen: Die Quantoren werden in der Reihenfolge ihres Vorkommens im Satz links vom Satz angeordnet. Beispiel: ∀x P(x) ∨ ∃y ∀z (Q(y) ∧ R(z)) ≡ ∀x ∃y ∀z P(x) ∨ (Q(y) ∧ R(z)). 5. Skolemisierung: Entfernung der Existenzquantoren. Ein Existenzquantor am Anfang des Satzes wird durch Existenzquantor-Beseitigung entfernt. Folgt ein Existenzquantor auf einen oder mehrere, allgemein auf k Allquantoren, dann wird die durch ihn gebundene Variable durch einen funktionalen Ausdruck, gebildet mit einer k-stelligen Skolemfunktion F, ersetzt. Die Argumente der Skolemfunktion sind die k durch die Allquantoren gebundenen Variablen. Es sind also folgende Fälle zu unterscheiden: ∃x1, ..., xm ∀y P(x1, ..., xm, y) ≡ ∀y P(a1, ..., am, y) ∀x1, ..., xm ∃y P(x1, ..., xm, y) ≡ ∀x1, ..., xm P(x1, ..., xm, F(x1, ..., xm)) Jedesmal wenn ein eingebetteter Existenzquantor entfernt wird, muss zum Ersetzen der Variablen ein Funktionsausdruck mit einer neuen Skolemfunktion verwendet werden. Nachdem alle Existenzquantoren entfernt sind können die Allquantoren weggelassen werden. Alle vorkommenden Variablen sind nun allquantifiziert. 6. Distribution von ∧ über ∨: Anwendung des Distributivgesetzes: (p ∧ q) ∨ r ≡ (p ∨ r) ∧ (q ∨ r). 7. Abflachen eingebetteter Strukturen: Anwendung des Assoziativgesetzes: (p ∨ q) ∨ r ≡ p ∨ q ∨ r (p ∧ q) ∧ r ≡ p ∧ q ∧ r 8. Umwandlung von Disjunktionen in Implikationen: Entsprechend Schritt 1. Beispiel: ¬p ∨ ¬q ∨ r ∨ s ≡ p ∧ q r∨s 7.5.5. Beispielbeweis Die folgenden Sätze im Deutschen seien gegeben: Hans besitzt einen Hund. Jeder Hundebesitzer ist ein Tierliebhaber. Kein Tierliebhaber tötet ein Tier. Entweder Hans oder Fritz tötete die Katze namens Tifanny. Tötete Fritz Tifanny? Übersetzt in die Logik erster Ordnung erhält man daraus die folgenden sechs Sätze: A. ∃x Hund(x) ∧ Besitzt(Hans, x) Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung B. C. D. E. F. Seite 48 ∀x (∃y Hund(y) ∧ Besitzt(x, y)) Tierliebhaber(x) ∀x Tierliebhaber(x) (∀y Tier(y) ¬Tötet(x, y)) Tötet(Hans, Tifanny) ∨ Tötet(Fritz, Tifanny) Katze(Tifanny) ∀x Katze(x) Tier(x) Die Umwandlung der Sätze in implikative Normalform mit der Abkürzung P für True P ergibt: A1. Hund(H) A2. Besitzt(Hans, H) B. Hund(y) ∧ Besitzt(x, y) Tierliebhaber(x) C. Tierliebhaber(x) ∧ Tier(y) ∧ Tötet(x, y) False D. Tötet(Hans, Tifanny) ∨ Tötet(Fritz, Tifanny) E. Katze(Tifanny) F. Katze(x) Tier(x) Es ist zu zeigen, dass der Satz Tötet(Fritz, Tifanny) wahr ist. Im Sinne einer Widerlegung wird der Satz negiert, zur Wissensbasis hinzugefügt und dann eine Inferenz mit dem Ziel der Ableitung eines Widerspruchs durchgeführt. Der negierte Satz lautet Tötet(Fritz, Tifanny) False. Abbildung 7.4 zeigt einen Ableitungsbaum. Hund(H) Hund(y) ∧ Besitzt(x, y) Tierliebhaber(x) ∧ Tier(y) ∧ Tötet(x, y) Tierliebhaber(x) False {y/H} Besitzt(x, H) Besitzt(Hans, H) Tierliebhaber(x) Katze(x) Tier(x) Katze(Tifanny) {x/Tifanny} {x/Hans} Tierliebhaber(Hans) Tier(Tifanny) {y/Tifanny} Tötet(Hans, Tifanny) ∨ Tötet(Fritz, Tifanny) Tierliebhaber(x) ∧ Tötet(x, Tifanny) False {x/Hans} Tötet(Fritz, Tifanny) False Tötet(Hans, Tifanny) False {} Tötet(Hans, Tifanny) {} False Abbildung 7.4 Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger Wissensrepräsentation und Problemlösung Seite 49 Anstelle der Frage „Tötete Fritz Tifanny?“ kann man auch die Frage stellen „Wer tötete Tifanny?“ Diese Frage heißt in logischer Notation ∃w Tötet(w, Tifanny). In negierter und normalisierter Form ¬Tötet(w, Tifanny). Damit lässt sich die Ableitung wie in Abbildung 7.4 durchführen und man erhält die Substitution {w/Fritz}, die faktisch die Antwort auf die Frage darstellt. Technische Universität Chemnitz Wintersemester 2003/2004 Prof. Dr. Werner Dilger