5. Agenten, die logisch schlussfolgern 5.1. Ein

Werbung
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
Herunterladen