Übersicht Aussagenlogische Schlußregeln Theorembeweisen

Werbung
UniversitŠt Bielefeld
UniversitŠt Bielefeld
†bersicht
4 Logik und Inferenz
u Unifikation; Vorwärts- und Rückwärtsverkettung (chaining)
11. Vorlesung: Unifikation; Vorwärts- und Rückwärtsverkettung, Goal Trees
u Rückwärtsverkettung – zielorientiertes Inferenzverfahren
(in Verbindung mit Goal-tree-Suche und Unifikation)
u allgemeine Resolutionsregel
u Antwortsubstitution
Methoden der KŸnstlichen Intelligenz
Ipke Wachsmuth
ÊWS 2000/2001
vorher: Ein Blick auf das Resolutionsverfahren
in der Aussagenlogik
11. Vorlesung
UniversitŠt Bielefeld
Modus ponens
B
B
Â
AvB
A
B
B
ÊÊÊÊÊÊÊÊÊÂ B
ÂA
A
Theorembeweisen: Strategien
Direkter Beweis
Modus tollens
l
Â
AvB
ÂB
ÂA
l
l
AvB
ÂBvC
AvC
Resolution ist eine allgemeinere
Schlußregel; sie beinhaltet zugleich
Modus ponens und Modus tollens.
Methoden der KŸnstlichen Intelligenz
bei den Axiomen beginnen
Schlußregeln anwenden, bis zu beweisender Satz dasteht.
Beweis durch Widerlegung (indirekt)
Resolution
11. Vorlesung
2
UniversitŠt Bielefeld
Aussagenlogische Schlu§regeln
A
A
Methoden der KŸnstlichen Intelligenz
l
l
l
3
Nimm an, die Verneinung (das Negat) des Theorems sei wahr.
Zeige, daß die Axiome und das Negat zusammen etwas als wahr
bezeichnen, das nicht stimmt.
Folgere, daß das Negat nicht wahr sein kann, da ein Widerspruch folgt.
Schließe, daß das Theorem wahr sein muß, da das Negat nicht wahr
sein kann.
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
4
UniversitŠt Bielefeld
UniversitŠt Bielefeld
Beispiel fŸr Resolution (AL)
gegeben:
Ich trage die
Sonnenbrille
A
gegeben:
Es regnet ÂB
nicht
Schluß:
Ich trage die
Sonnenbrille
A
ODER
Es regnet
Beispiel fŸr Resolution (AL)
B
ODER
Ich nehme den
Schirm mit
ODER
Ich nehme den
Schirm mit
gegeben:
C
C
A
Ich trage die
Sonnenbrille
gegeben:
Es regnet ÂB
nicht
?
Ich trage die
Sonnenbrille
gilt:
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
B
Beweis durch
Widerlegung
des Gegenteils
5
UniversitŠt Bielefeld
11. Vorlesung
Es regnet
B
ODER
Ich nehme den
Schirm mit
ODER
Ich nehme den
Schirm mit
BvC
Â
Â
A
Â
C
C
C
Das Negat
der Anfrage
B
also gilt: A v C
Methoden der KŸnstlichen Intelligenz
6
UniversitŠt Bielefeld
Erweiterung auf PL: Unifikation
Beispiele fŸr Unifikation
u Unifikation ermöglicht die Anwendung des Resolutionsverfahrens auf Klauseln, die scheinbar nichts miteinander
zu tun haben (d.h. verschiedene Variablen haben)
=> Erweiterung des Resolutionsverfahrens auf die
Prädikatenlogik
(freund ?x,Hans)
u Unifikation:
Prozeß des Findens von Variablensubstitutionen in zwei
Ausdrücken, die die Ausdrücke gleich machen
(freund ?x,?x)
11. Vorlesung
A
Â
AvB
AL: Aussagenlogik
(PL: PrŠdikatenlogik)
ODER
Methoden der KŸnstlichen Intelligenz
(freund Fritz,?y)
(freund Fritz,Hans)
unifiziert mit der Variablensubstitution {x=Fritz,y=Hans}
(freund Fritz,Hans)
?
unifiziert nicht (x kann nicht zwei Dinge zugleich sein)
7
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
8
UniversitŠt Bielefeld
UniversitŠt Bielefeld
Unifikations-Inferenz
Anwendung der Substitution
Statt (I) Modus Ponens betrachte folgende allgemeinere Regel:
Die Anwendung einer Substitution auf eine Formel heißt, jedes
(III)
Vorkommen einer dadurch gebundenen Variablen durch ihren
Allg. ist eine Substitution
eine Menge von
Variable-Wert-Paaren.
(i f p q ) inferiere q '
mit p' unifizieren muß
und die resultierende Substitution auf q angewandt
wodurch man q' erhält.
p'
wobei p
Aus
und
Wert zu ersetzen. (Werte können auch andere Variablen sein.)
wird,
Beispiel
(if p q)
p‘
Unifikation heißt (zunächst):
Jedes solche Paar heißt
Variablenbindung.
Jede Variable wird als
(von letzter VL, hier bereits in Skolemform assertiert):
assert: (if (inst ?x canary)(color ?x yellow))
assert: (inst tweety canary)
Finde Werte von Variablen so, daß zwei verschiedene
(inst ?x canary)
Ausdrücke gleich werden.
(inst tweety canary)
Beispiel:
unifizieren mit der Substitution: {x = tweety}
(inst ?x canary)
(inst tweety canary)
durch die Substitution
gebunden genannt.
und durch Anwendung dieser Substitution auf (color ?x yellow)
q‘
unifiziert mit der Substitution: {x = tweety}
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
9
UniversitŠt Bielefeld
erhält man sofort (color tweety yellow).
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
UniversitŠt Bielefeld
Unifikations-Inferenz
(III)
(if p q ) inferiere q'
mit p' unifizieren muß
und die resultierende Substitution auf q angewandt
wodurch man q' erhält.
p'
wobei p
Aus
Weitere Notationen & Begriffe
da capo
Benennung von Substitutionen durch griechische Buchstaben, z.B.:
und
= { x = a, y = (surface ?z) }
„theta“
wird,
Für p
Formel oder Term: notiere
Substitution von
Die Inferenzregel (III) ist ein Speziallfall der Resolutionsregel
in der Prädikatenlogik. Hauptgewinn:
Beispiel:
p
Subsumtion
durchzuführen, heißt dann:
(die mit der Assertion p
(auch:
:
(touching (side a) (surface ?z))
Man sagt, eine Formel p subsumiert (schließt ein) eine andere
Formel q , wenn es eine Substitution gibt mit p = q .
Beispiel: (not (divine ?x))
unifizieren,
(not (divine fred))
"resolvieren").
Methoden der KŸnstlichen Intelligenz
(touching (side ?x) ?y)
Subsumption)
Finde Assertionen (if p' q )
deren Antezedenten p' mit der Assertion p
p:
Begriff der
in einem Mechanismus zusammengefaßt.
• forward chaining für eine assertierte Formel p
für das Resultat der
p
in p .
= { x = a, y = (surface ?z) }
• verschiedene separate Inferenz-Mechanismen werden
11. Vorlesung
10
11
11. Vorlesung
subsumiert
mit
Methoden der KŸnstlichen Intelligenz
= { x = fred }
12
UniversitŠt Bielefeld
UniversitŠt Bielefeld
Subsumtionsinferenz,Varianten
Unifikator
(IV)
Aus
p
subsumiert
q
folgt aus
schließe
q
Eine Substitution
p
Zwei Formeln, die sich gegenseitig subsumieren, heißen: Varianten
(p ?x ?x) und (p ?y ?y)
= p2
p1
=...= pn
p subsumiert q echt,
p
subsumiert
Beispiel:
11. Vorlesung
dann folgt (below floor-19 table-21).
(p ?x ?x)
Methoden der KŸnstlichen Intelligenz
13
UniversitŠt Bielefeld
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
Ein Unifikator ist ein
MGU
†bersicht
(für eine Menge von Formeln oder
Termen), wenn das produzierte P
Beispiel:
so, daß zwei Ausdrücke (Terme
11. Vorlesung
2. Unifikator
Subsumtion:
Eine Formel
Formel
q
Substitution!)
subsumiert eine
, wenn
q
aus
p
durch
eine Variablensubstitution hervorgeht.
(ein MGU!!)
Allgemeinster Unifikator (MGU):
Diejenige unifizierende Substitution, die
am wenigsten Spezialisierungen vornimmt.
Man kann zeigen: Für jede unifizierbare
Menge von Formeln existiert ein MGU!
(Formeln, die sich gegenseitig
={ x = ?z, y = floor-19}
subsumieren, heißen Varianten.)
(dann folgt (below floor-19 ?z) ) .
Methoden der KŸnstlichen Intelligenz
p
, die zwei Ausdrücke
(D.h. ein Unifikator ist eine spezielle
Der
MGU ist
eindeutig
(bis auf
Varianten)
oder Formeln) gleich werden.
(if (above ?x ?y) (below ?y ?x)) haben als
Es ist günstig, einen
möglichst allgemeinen
1. Unifikator (s.o. - kein MGU!)
Unifikator zu finden:
={ x = table-21, y = floor-19, z = table-21 }
damit nur so viele
Spezialisierungen
(dann folgt (below floor-19 table-21) )
erfolgen, wie eben
und als
nötig sind.
(Terme oder Formeln) gleich macht.
das Substituieren von Variablen
und der Antezedent von
Unifikator:
Die Substitution
Unifikation:
nicht echt subsumiert wird
von dem P , das irgendein anderer Unifikator produziert.
(above ?z floor-19)
(Vor allen Dingen
bleiben Variablen
erhalten, was oft
wichtig ist.)
14
UniversitŠt Bielefeld
Allgemeinster Unifikator
Most General Unifier
(MGU)
haben als Unifikator:
={ x = table-21, y = floor-19, z = table-21 }
subsumiert nicht p .
subsumiert echt
(p ?x ?y)
und der Antezedent von
(if (above ?x ?y) (below ?y ?x))
wenn gilt:
q , aber q
gleich werden).
Beispiel:
sind Varianten
(above ?z floor-19)
2)
=P
(das heißt also, daß die p i durch die Substitution
(bedeuten das gleiche).
Beispiel:
ist ein Unifikator für eine Menge
von Formeln oder Termen { p 1 , p2 , ..., pn }
wenn
1)
"Vereinheitlicher"
(engl: unifier)
Mit der Subsumtion erhält man eine einfache weitere Inferenzregel:
(siehe Lloyd, Foundations of Logic Programming,
Springer 1984; zum Algorithmus siehe Charniak
& McDermott, S. 348)
15
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
16
UniversitŠt Bielefeld
UniversitŠt Bielefeld
VorwŠrts- & RŸckwŠrtsverkettung
RŸckwŠrtsverkettung Ð Idee
Die meisten Inferenzen in einem deduktiven System werden
Forward Chaining
zur Query Time vorgenommen.
Backward Chaining
• GATEKEEPER wird eine Implikation
p'
und
inferiere
q'
p
mit
Aus
wobei
Wenn nach
p'
und
mit MGU
(if p q)
(if p q)
und
unifiziert
q'= q
wird
sei assertiert.
q'
q ' gestellt
p ' gestellt.
(query) der Form
(subgoal)
zwar
assertieren, aber nichts damit anstellen, bis eine Frage
gefragt wird (als goal)
q,q' haben MGU
p'= p als subgoal
(if p q)
wird. Dann wird subquery
aufgeworfen.
• Das Stellen von subgoals, sub-subgoals etc. wird durch
• Inferenz zur Assertion Time
• Inferenz zur Query Time
• "Die Assertion resolviert mit der Implikation."
• "Das goal resolviert mit der Implikation."
Goal Trees
(Zielbäume)
backward chaining (Rückwärtsverkettung) bewerkstelligt.
• Der Basismechanismus des Backward Chaining bezieht sich
Ziel
auf nichtkonjunktive goals: Verkettung von Implikationen
(rückwärts).
(Voraussetzung: die Formeln in DATABASE sind standardisiert.)
• Als Suchstruktur bei konjunktiven goals
Teilziele
( i f (and p1 p2) q)
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
17
UniversitŠt Bielefeld
11. Vorlesung
Antwort
Anfrage
GATEKEEPER
Goal-Formeln skolemisieren:
Für goals werden die Konventionen für das Skolemisieren umgedreht
goal-Formeln.
(entsprechend dem Verfahren bei not ):
Hier am Beispiel
bzw. subgoal
(Show: (exists (y) (color y yellow)))
(Show: (color tweety yellow))
wird skolemisiert als
(Show: (inst tweety canary))
(Show: (color ?y yellow))
(bezogen auf früheres Beispiel)
(manchmal Pseudo-Junktor genannt)
11. Vorlesung
18
Verwende (Show:formula) zur Kennzeichnung von
• Show: ist kein logischer Junktor!
DATABASE
Methoden der KŸnstlichen Intelligenz
UniversitŠt Bielefeld
Goal-Formeln kennzeichnen:
INTERFACE
von der Form
werden Goal Trees eingesetzt.
• hängt aber zusammen mit dem
Junktor not
(kommt später)
Methoden der KŸnstlichen Intelligenz
Wenn eine Anfrage
(query) an DATABASE
gestellt wird, muß die
entsprechende Formel
gekennzeichnet werden,
um sie von den "beliefs"
(assertierten Formeln)
unterscheiden zu
können.
19
(Show: (forall (y) (color y yellow)))
wird skolemisiert als
(Show: (color sk-8 yellow))
intuitiv: Wenn es für ein gewisses neues sk-8 gezeigt werden kann,
kann es für beliebige Instanzen gezeigt werden.
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
20
UniversitŠt Bielefeld
UniversitŠt Bielefeld
Show: versus not
(Show: (color tweety yellow))
Allgemeine Resolutionsregel
(goal)
mit forward und
backward chaining
als Spezialfällen:
kann als Versuch verstanden werden,
(color tweety yellow) durch Widerspruch zu beweisen:
Logisch gesehen ist Show:
(not (color tweety yellow))
gleichbedeutend mit not
wird probeweise assertiert – als Annahme;
(die entsprechenden Aus-
Weitere Details
schon vorhanden seien folgende "geglaubte" Assertionen:
drücke werden in gleicher
siehe
in Charniak/
(if (inst ?x canary)(color ?x yellow))
pragmatisch gesehen
gleichbedeutend:
entspricht Show: einer
(or (not(inst ?x canary))(color ?x yellow))
McDermott
Das negierte goal resolviert mit der Implikation zu
gemachte Assertion)
(beide RegelAntezedenten
dürfen disjunktiv
sein)
(not (inst tweety canary))
Widerspruch!
11. Vorlesung
Also gilt das ursprüngliche goal.
Methoden der KŸnstlichen Intelligenz
21
UniversitŠt Bielefeld
11. Vorlesung
(Show:q')
U
MGU
inferiere
Forward
p'
(or (not p) q)
q'
Backward
(not q')
(or q (not p))
(not p')
Allgemein
not m'
Forward
m =(not p)
n = q
Backward
m = q
n=(not p')
(or m n)
n'
(V) Aus (or n 1 (not m')) und (or m n2 )
inferiere (or n1 ' n2')
Methoden der KŸnstlichen Intelligenz
22
Nichtkonjunktives Goal: Verkettung von Implikationen
(rückwärts)
(i)
(inst tweety canary)
(ii)
(if (inst ?x canary)(color ?x yellow))
(Show: (color ?y yellow))
(Show:p )
hat,
eine Antwort auf das
Konjunktives Goal: Finde Antworten für ein Konjunkt, die auch
Antworten für die anderen Konjunkte sind.
als goal
resolviert mit (ii) zum subgoal
Algorithmus:
dies unifiziert mit (i) zu
= {y = tweety}
und damit bestätigt sich das ursprüngliche goal zu
(color tweety yellow)
„psi“
Theorembeweiser
("Deductive Retriever")
= {x = ?y}
(Show: (inst ?y canary))
(inst tweety canary)
ursprüngliche goal.
„theta“
und
in DATABASE
und falls das eine Antwort
ist
Aus
Goal Trees fŸr subgoal-Suche
Beispiel: Assertiert seien
Allgemein:
Produziere subgoal
Chaining
(or (not p) q)
UniversitŠt Bielefeld
Zentral: Antwortsubstitutionen
(if p q)
und q,q' haben
als
Verallgemeinerung zur allgemeinen Resolutionsregel:
Annahme (probeweise
mit
(if p q)
Abschnitt 6.6
(inst tweety canary)
Weise skolemisiert)
Gegeben das goal
Schreibe
U
= {x = tweety}
Bild siehe
nächste
Folie
---> Goal Trees
Die UND-Knoten eines Goal Trees enthalten constraints:
Randbedingungen an die Lösungen für jede ihrer
Komponenten.
D.h. die Frage "Existiert etwas, das gelb ist?"
führt zu der Antwort "Ja, tweety ist gelb": {x = tweety}
Hier sind das die folgenden: Die Variablenbindungen für gleich
benannte Variablen in den Teillösungen müssen identisch sein!
Antwortsubstitution
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
23
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
24
UniversitŠt Bielefeld
UniversitŠt Bielefeld
Theorembeweiser-Goal Tree
Das bekannte Prolog-Beispiel
(vergleiche 6. Vorlesung )
Eine Definition von "Großvater":
(Show: P)
(if (and Q1 Q2) P)
Für alle x, für alle y, für alle z gilt:
x ist Großvater von y, wenn
x Vater von z ist und z Vater von y.
In PROLOG gelten alle Variablen als implizit
allquantifiziert (d.h. die operationale Semantik erlaubt
Ersetzungen durch beliebige, in der Wissensbasis
vorhandene Terme); Quantoren werden weggelassen:
(grossvater ?x ?y) 1
(vater ?x ?z)(vater ?z ?y)
(if (and R1 R2) P)
oder ganz formal:
(Show: Q1)
(Show: Q2)
(Show: R1)
(Show: R2)
x y z (grossvater x y)
(vater x z)(vater z y)
(grossvater ?x ?y) 2
(vater ?x ?z)(mutter ?z ?y)
...
...
...
...
...
...
...
Seien jetzt diese beiden Implikationen (Regeln)
assertiert, zusammen mit folgenden Fakten:
Die entsprechende Definition
"über die Mutter":
...
x y z (grossvater x y)
(vater x z)(mutter z y)
(vater fritz hans)
(vater fritz klara)
(mutter klara peter)
("?" kennzeichnet jetzt implizit allquantifizierte Variablen)
Ist Fritz ein Großvater?
(grossvater fritz ?u)
11. Vorlesung
Methoden der KŸnstlichen Intelligenz
25
UniversitŠt Bielefeld
11. Vorlesung
Abschlie§ende Bemerkungen
(grossvater fritz ?u)
(vater fritz ?z)
(vater fritz hans)
(grossvater fritz ?u)
(vater hans ?y)
(vater hans ?y)
(vater hans ?y)
(grossvater ?x ?y)
(grossvater ?x ?y)
1
2
(vater fritz ?z)
(vater fritz klara)
(vater klara ?y)
(vater ?x ?z)
(vater ?z ?y)
(vater ?x ?z)
(mutter ?z ?y)
(vater klara ?y)
(vater klara ?y)
(grossvater fritz ?u)
(vater
(vater
(vater
(vater
(vater
(vater
(mutter
(vater fritz ?z)
fritz
fritz
fritz
fritz
fritz
fritz
klara
(vater fritz hans)
hans)
klara)
hans)
klara)
hans)
klara)
peter)
(mutter hans ?y)
(mutter hans ?y)
FRAGE: Was sind hier die Constraints an den UND-Knoten?
(vater fritz ?z)
(vater fritz klara)
–
daß die Variablenbindungen gleich benannter
(mutter klara ?y)
(mutter klara peter)
Variablen in den Teillösungen auch tatsächlich
(grossvater fritz peter)
gleich sind
11. Vorlesung
26
UniversitŠt Bielefeld
Goal-Tree Suche in PROLOG
show:
show:
success:
show:
redo:
fail:
redo:
success:
show:
redo:
fail:
redo:
show:
success:
show:
fail:
redo:
success:
show:
success:
success:
Methoden der KŸnstlichen Intelligenz
Methoden der KŸnstlichen Intelligenz
27
Algorithmen zum Theorembeweisen sind oft unvollständig
(existierende Beweise werden nicht immer gefunden)!
Versuche, einen Theorembeweiser vollständig(er) zu
machen, werden i.a. teuer mit Effizienzverlusten bezahlt.
Es gibt etliche Varianten des Resolutionsverfahrens und
speziellen Strategien dafür, die im Gebiet "Automatisches
Beweisen" untersucht werden*.
Sie alle gehen auf das allgemeine Resolutionsverfahren
("complete resolution") von ROBINSON (1965) zurück.
J.A. Robinson, 1996
11. Vorlesung
Leseempfehlung heute:
*zur Vertiefung:
u Charniak & McDermott,
Kap. 6, 351-360; 378ff.
u Görz, Kapitel 2 “Automatisches Beweisen“
Methoden der KŸnstlichen Intelligenz
28
Herunterladen