3 Logik und Inferenz - Universität Bielefeld

Werbung
Schlußfolgern durch Theorembeweisen
Universität Bielefeld
gibt eine Frage-Formel (Frage-Muster) vor und versucht,
darauf passende Antwort-Formeln aus den assertierten
Formeln zu deduzieren.
query
Anfrage
8. Vorlesung: Unifikation; Vorwärts- und Rückwärtsverkettung, Goal Trees
Antwort
INTERFACE
3 Logik und Inferenz
GATEKEEPER
Idee: Eine Anfrage wird als zu beweisendes Theorem betrachtet.
(a) Direkter Beweis
– bei den Axiomen (d.h. hier: den assertierten Formeln) beginnen
– Schlußregeln anwenden, bis zu beweisendes Theorem dasteht
(b) Indirekter Beweis: durch Widerlegung des Gegenteils
Methoden der Künstlichen Intelligenz
Ipke Wachsmuth
– Nimm an, die Verneinung (das Negat) der Anfrage sei wahr
– Zeige, daß die Axiome und das Negat zusammen etwas als
wahr bezeichnen, das nicht stimmt
WS 2003/2004
– Folgere, daß das Negat nicht wahr sein kann, da ein
Widerspruch folgt
DATABASE
– Schließe, daß die Anfrage wahr sein muß, da ihr Negat nicht
wahr sein kann
8. Vorlesung
Zum Vergleich: Schließen in der Aussagenlogik
zuerst: Ein Blick auf die deduktiven
Schlußregeln der Aussagenlogik (AL)
Modus ponens
A→ B
A
B
¬
Klauseldarstellung
Modus tollens
AvB
A
B
A→ B
¬B
¬A
AvB
¬B
¬A
gegeben:
AvB
¬BvC
AvC
Methoden der Künstlichen Intelligenz
gegeben:
Es regnet ¬B
nicht
Schluß:
Ich trage die
Sonnenbrille
Beweis durch
Widerlegung
des Gegenteils
3
A
Ich trage die
Sonnenbrille
Gilt A v C ?
Resolution ist eine allgemeinere
Schlußregel; sie beinhaltet zugleich
Modus ponens und Modus tollens.
2
Beispiel für Resolution (AL)
¬
Resolution
8. Vorlesung
Methoden der Künstlichen Intelligenz
8. Vorlesung
AvB
ODER
A
¬
Es regnet
B
ODER
Ich nehme den
Schirm mit
ODER
Ich nehme den
Schirm mit
BvC
B
¬
¬
∅
A &¬C
C
C
Das Negat
der Anfrage
B
also gilt: A v C
Methoden der Künstlichen Intelligenz
4
Beispiel für Unifikation
Erweiterung auf PL: Unifikation
(PL: Prädikatenlogik)
•
• Unifikation ermöglicht die Anwendung des Resolutionsverfahrens auf Formeln, die scheinbar nichts miteinander
zu tun haben (d.h. verschiedene Argumente haben)
=> Erweiterung des Resolutionsverfahrens auf die
Prädikatenlogik
Können Variablensubstitutionen gefunden werden, die die Ausdrücke
gleich machen (unifizieren)?
p
(freund ?x,Hans)
p'
(freund Fritz,?y)
(freund Fritz,Hans)
unifiziert mit der Variablensubstitution {x=Fritz,y=Hans}
(I) Modus Ponens zunächst betrachtet:
Aus p und (if p q ) inferiere q
p und p' unterscheiden sich in den Argumenten des freund-Prädikats
Gegenbeispiel
(freund ?x,?x)
• Problem:
Was wäre, wenn eine Formel statt p hier als p' steht,
mit anderen Argumenten als in p ?
(freund Fritz,Hans)
?
unifiziert nicht (x kann nicht zwei Dinge zugleich sein)
8. Vorlesung
Methoden der Künstlichen Intelligenz
5
8. Vorlesung
Verallgemeinerter Modus Ponens
Die Anwendung einer Substitution auf eine Formel heißt, jedes
Vorkommen einer dadurch gebundenen Variablen durch ihren
(Modus Ponens verallg.)
(III) Unifikations-Inferenz
Aus p' und (if p q ) inferiere q'
wobei p mit p' unifizieren muß
und die resultierende Substitution auf q angewandt wird,
wodurch man q' erhält.
Jedes solche Paar heißt
Variablenbindung.
Jede Variable wird als
durch die Substitution
gebunden genannt.
8. Vorlesung
6
Anwendung der Substitution
Statt (I) Modus Ponens betrachte folgende allgemeinere Regel:
Allg. ist eine Substitution
eine Menge von
Variable-Wert-Paaren.
Methoden der Künstlichen Intelligenz
Wert zu ersetzen. (Werte können auch andere Variablen sein.)
Beispiel (von
(if p q)
p'
letzter VL, hier bereits in Skolemform assertiert):
assert: (if (inst ?x canary)(color ?x yellow))
assert: (inst tweety canary)
Unifikation heißt (zunächst):
(inst ?x canary)
Finde Werte von Variablen so, daß zwei verschiedene
(inst tweety canary)
Ausdrücke gleich werden.
unifizieren mit der Substitution: {x = tweety}
Beispiel:
(inst ?x canary)
und durch Anwendung dieser Substitution auf (color ?x yellow)
(inst tweety canary)
q'
unifizieren mit der Substitution: {x = tweety}
Methoden der Künstlichen Intelligenz
7
8. Vorlesung
erhält man sofort (color tweety yellow).
Methoden der Künstlichen Intelligenz
8
Verallgemeinerter Modus Ponens
Weitere Notationen und Begriffe
da capo
Benennung von Substitutionen durch griechische Buchstaben, z.B.:
(Modus Ponens verallg.)
(III) Unifikations-Inferenz
Aus p' und (if p q ) inferiere q'
wobei p mit p' unifizieren muß
und die resultierende Substitution auf q angewandt wird,
wodurch man q' erhält.
θ
„theta“
Für p
Beispiel:
• verschiedene separate Inferenz-Mechanismen werden
Subsumtion
p:
9
8. Vorlesung
(touching (side a) (surface ?z))
θ
mit
= { x = fred }
10
Unifikator
Mit der Subsumtion erhält man eine einfache weitere Inferenzregel:
"Vereinheitlicher"
(engl: unifier)
(IV) Subsumtions-Inferenz
q
subsumiert
Methoden der Künstlichen Intelligenz
Subsumtionsinferenz, Varianten
Eine Substitution
schließe
θ
ist ein Unifikator für eine Menge
von Formeln oder Termen
folgt aus p
wenn
1)
{ x = a, y = (surface ?z) }
(not (divine fred))
Methoden der Künstlichen Intelligenz
q
(touching (side ?x) ?y)
θ =
pθ :
Beispiel: (not (divine ?x))
unifizieren,
"resolvieren").
subsumiert
für das Resultat der
Subsumption)
deren Antezedenten p' mit der Assertion p
Aus p
pθ
in p .
Man sagt, eine Formel p subsumiert (schließt ein) eine andere
Formel q , wenn es eine Substitution gibt mit p θ = q .
(auch:
durchzuführen, heißt dann:
Finde Assertionen (if p' q )
8. Vorlesung
θ
Begriff der
in einem Mechanismus zusammengefaßt.
(die mit der Assertion p
Formel oder Term: notiere
Substitution von
Die Inferenzregel (III) ist ein Spezialfall der Resolutionsregel
in der Prädikatenlogik. Hauptgewinn:
• forward chaining für eine assertierte Formel p
= { x = a, y = (surface ?z) }
p 1θ
= p 2θ
{ p 1, p 2, ..., p n }
=... = p nθ = P
(das heißt also, daß die p i durch die Substitution θ gleich werden).
Zwei Formeln, die sich gegenseitig subsumieren, heißen Varianten
(bedeuten das gleiche).
Beispiel:
Beispiel:
2)
(p ?x ?x) und (p ?y ?y) sind Varianten
(above ?z floor-19)
(if (above ?x ?y) (below ?y ?x))
p subsumiert q echt, wenn gilt:
θ
p subsumiert q , aber q subsumiert nicht p .
Beispiel:
8. Vorlesung
11
8. Vorlesung
haben als Unifikator:
={ x = table-21, y = floor-19, z = table-21 }
dann folgt (below floor-19 table-21)
(p ?x ?y) subsumiert echt (p ?x ?x)
Methoden der Künstlichen Intelligenz
und der Antezedent von
Methoden der Künstlichen Intelligenz
.
12
Übersicht Unifikation
Allgemeinster Unifikator
Ein Unifikator ist ein
Most General Unifier
(MGU)
MGU
(für eine Menge von Formeln oder
Termen), wenn das produzierte
P
nicht echt subsumiert wird
von dem P , das irgendein anderer Unifikator produziert.
Beispiel:
Die Substitution
so, daß zwei Ausdrücke (Terme
(Terme oder Formeln) gleich macht.
Subsumtion:
(dann folgt (below floor-19 table-21)
Eine Formel
)
Formel
und als
θ2
(ein MGU!!)
={ x = ?z, y = floor-19}
(dann folgt (below floor-19 ?z)
q
p
q
aus
p
die zwei Ausdrücke
Substitution!)
Allgemeinster Unifikator (MGU):
subsumiert eine
, wenn
θ,
(D.h. ein Unifikator ist eine spezielle
Der
Der
MGU
MGUist
ist
eindeutig
eindeutig
(bis
(bisauf
auf
Varianten)
Varianten)
haben als
1. Unifikator (s.o. - kein MGU!)
θ 1 ={ x = table-21, y = floor-19, z = table-21 }
8. Vorlesung
das Substituieren von Variablen
und der Antezedent von
(if (above ?x ?y) (below ?y ?x))
2. Unifikator
(Vor allen Dingen
bleiben Variablen
erhalten, was oft
wichtig ist.)
Unifikator:
oder Formeln) gleich werden.
(above ?z floor-19)
Es ist günstig, einen
möglichst allgemeinen
Unifikator zu finden:
damit nur so viele
Spezialisierungen
erfolgen, wie eben
nötig sind.
Unifikation:
durch
Diejenige unifizierende Substitution, die
eine Variablensubstitution hervorgeht.
am wenigsten Spezialisierungen vornimmt.
(Formeln, die sich gegenseitig
Man kann zeigen: Für jede unifizierbare
subsumieren, heißen Varianten.)
Menge von Formeln existiert ein MGU!
).
siehe
siehe z.B.
z.B. Lloyd:
Lloyd: Foundations
Foundations of
of Logic
Logic Programming
Programming
Methoden der Künstlichen Intelligenz
13
8. Vorlesung
Methoden der Künstlichen Intelligenz
14
Rückwärtsverkettung – Idee
Vorwärts- und Rückwärtsverkettung
Die meisten Inferenzen in einem deduktiven System werden
Forward Chaining
zur Query Time vorgenommen.
Backward Chaining
• GATEKEEPER wird eine Implikation
Aus
p'
inferiere
wobei
p
mit MGU
(if p q )
(if p q )
und
q'
Wenn nach
mit
θ
p'
und
unifiziert
und
q'= q θ
wird
sei assertiert.
q'
zwar
assertieren, aber nichts damit anstellen, bis eine Frage
(query) der Form
gefragt wird (als goal)
q,q' haben MGU θ
p'= p θ als subgoal
(if p q )
(subgoal)
p'
q'
gestellt wird. Dann wird subquery
gestellt.
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)
Ziel
• Rückwärtsverkettung: zielorientiertes Inferenzverfahren
backward chaining (Rückwärtsverkettung) bewerkstelligt.
• Der Basismechanismus des Backward Chaining bezieht sich
auf nichtkonjunktive goals: Verkettung von Implikationen
(rückwärts).
(bei konjunktiven (sub-)goals in Verbindung mit Goal Tree-Suche)
Teilziele
• Als Suchstruktur bei konjunktiven goals von der Form
(if (and p1 p2 ) q)
8. Vorlesung
Methoden der Künstlichen Intelligenz
15
8. Vorlesung
werden Goal Trees eingesetzt.
Methoden der Künstlichen Intelligenz
16
Goal-Formeln kennzeichnen
Goal-Formeln skolemisieren
Für goals werden die Konventionen für das Skolemisieren umgedreht
Verwende (Show: formula ) zur Kennzeichnung von
Antwort
Anfrage
INTERFACE
GATEKEEPER
(Show: (exists (y) (color y yellow)))
Hier am Beispiel
(Show: (color tweety yellow))
bzw. subgoal
(Show: (inst tweety canary))
wird skolemisiert als
(Show: (color ?y yellow))
(bezogen auf früheres Beispiel)
• Show: ist kein logischer Junktor!
(manchmal Pseudo-Junktor genannt)
DATABASE
(entsprechend dem Verfahren bei not ):
goal-Formeln.
• hängt aber zusammen mit dem
Junktor not
8. Vorlesung
(kommt später)
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.
Methoden der Künstlichen Intelligenz
17
(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.
8. Vorlesung
Show: versus not
(Show: (color tweety yellow))
Logisch gesehen ist Show:
gleichbedeutend mit not
(die entsprechenden Aus-
(goal)
mit forward und
backward chaining
als Spezialfällen:
durch Widerspruch zu beweisen:
(not (color tweety yellow))
Weitere Details
wird probeweise assertiert – als Annahme;
siehe
Abschnitt 6.6
schon vorhanden seien folgende "geglaubte" Assertionen:
in Charniak/
(inst tweety canary)
McDermott
drücke werden in gleicher
Weise skolemisiert)
(if (inst ?x canary)(color ?x yellow))
pragmatisch gesehen
gleichbedeutend:
entspricht Show: einer
(or (not(inst ?x canary))(color ?x yellow))
Das negierte goal resolviert mit der Implikation zu
(beide RegelAntezedenten
dürfen disjunktiv
sein)
(not (inst tweety canary))
Widerspruch!
8. Vorlesung
Also gilt das ursprüngliche goal.
Methoden der Künstlichen Intelligenz
Schreibe
(if p q )
als (or (not
p) q)
Klauseldarstellung
Klauseldarstellung
Chaining
Aus
und
Forward
p'
(or (not
Backward
(not q' )
(or q (not p))
Allgemein
not m'
Forward
m =(not p )
n = q
Backward
m = q
n= (not p' )
(or
inferiere
p) q)
m n)
q'
(not p' )
n'
mit unifizierender Substitution analog zu (III)
Annahme (probeweise
gemachte Assertion)
18
Allgemeine Resolutionsregel
kann als Versuch verstanden werden,
(color tweety yellow)
Methoden der Künstlichen Intelligenz
19
8. Vorlesung
(V) Allgemeine Resolutionsregel
Aus (or n 1 (not m' )) und (or m n 2)
inferiere (or n 1' n 2 ')
Methoden der Künstlichen Intelligenz
20
Zentral: Antwortsubstitutionen
Beispiel: Assertiert seien
Allgemein:
(Show: q' )
mit (if p q ) in DATABASE
und q,q' haben MGU θ .
Gegeben das goal
und falls das
θ
Uψ
Bei konjunktiven Goals sind Antworten für ein
(i)
(inst tweety canary)
(ii)
(if (inst ?x canary)(color ?x yellow))
(Show: p θ )
eine Antwort ψ hat,
resolviert mit (ii) zum subgoal
(Show: (inst ?y canary))
eine Antwort auf das
dies unifiziert mit (i) zu
ursprüngliche goal.
Bei konjunktiven (sub)goals
z.B. (if (and r1 r2) q)
als goal
(Show: (color ?y yellow))
Produziere subgoal
ist
Theorembeweiser – Goal Tree
(inst tweety canary)
= {x = ?y}
ψ
= {y = tweety}
„psi“
„theta“
U ψ = {x = tweety}
D.h. die Frage "Existiert etwas, das gelb ist?"
Die beim backwardbackwardchaining vorgenommenen
Substitutionen liefern
eine spezifische Antwort!
8. Vorlesung
θ
---> Goal Tree-Suche
Antwortsubstitution
Methoden der Künstlichen Intelligenz
Die UND-Knoten eines Goal Trees enthalten
constraints: Randbedingungen an die
Teilziele
Lösungen für jede ihrer Komponenten.
Leseempfehlung heute:
führt zu der Antwort "Ja, tweety ist gelb": {x = tweety}
21
•
8. Vorlesung
oder ganz formal:
∀x∀
∀y∀
∀z (grossvater x y)
← (vater x z)(vater z y)
∀x∀
∀y∀
∀z (grossvater x y)
← (vater x z)(mutter z y)
"klassische" Clocksin/Mellish–Syntax:
grossvater(X Y)
:− vater(X Z),vater(Z Y)
8. Vorlesung
22
(grossvater fritz ?u)
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)
2
← (vater ?x ?z)(mutter ?z ?y)
(vater
fritz
hans)
(vater fritz hans)
(vater fritz klara)
(mutter klara peter)
Show: Ist Fritz ein Großvater?
(grossvater fritz ?u)
>(grossvater fritz peter)
23
(grossvater ?x ?y)2
(grossvater ?x ?y)1
(vater ?x ?z)
(grossvater ?x ?y)
1
← (vater ?x ?z)(vater ?z ?y)
Methoden der Künstlichen Intelligenz
den Teillösungen müssen identisch sein!
Goal-Tree-Suche in PROLOG
Seien jetzt diese beiden Implikationen (Regeln)
assertiert, zusammen mit folgenden Fakten:
Die entsprechende Definition
"über die Mutter":
bindungen für gleich benannte Variablen in
Methoden der Künstlichen Intelligenz
PROLOG: ""PROgramming
PROgramming in LOGic"
LOGic" (Basis: Hornformeln der PL)
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.
Hier sind das die folgenden: Die Variablen-
Charniak & McDermott,
Kap. 6, 351-360; 378ff.
Ein PROLOG-Beispiel
Eine Definition von "Großvater":
Theorembeweiser
("Deductive Retriever")
Ziel
und damit bestätigt sich das ursprüngliche goal zu
(color tweety yellow)
anderen Konjunkte sind.
Algorithmus:
Goal Trees
(Zielbäume)
θ
Konjunkt zu finden, die auch Antworten für die
(vater
fritz
klara)
(vater ?z ?y)
(vater
fritz
hans)
(vater
fritz
klara)
(vater ?x ?z)
(vater
fritz
hans)
(vater
fritz
klara)
(mutter ?z ?y)
(mutter
klara
peter)
redo:
(grossvater fritz ?u)
show:
(grossvater fritz ?u)
show:
(vater fritz ?z)
show:
(vater fritz ?z)
success: (vater fritz hans)
success: (vater fritz hans)
show:
(vater hans ?y)
show:
(mutter hans ?y)
redo:
(vater hans ?y)
fail:
(mutter hans ?y)
fail:
(vater hans ?y)
redo:
(vater fritz ?z)
redo:
(vater fritz ?z)
success: (vater fritz klara)
show:
(mutter klara ?y)
success: (vater fritz klara)
success: (mutter klara peter)
show:
(vater klara ?y)
redo:
(vater klara ?y)
success: (grossvater fritz peter)
fail:
(vater klara ?y)
8. Vorlesung
Methoden der Künstlichen Intelligenz
FRAGE:
Was sind
hier die
Constraints
an den
UNDKnoten?
ANTWORT:
Daß die
Variablenbindungen
gleich
benannter
Variablen in
den Teillösungen
auch
tatsächlich
gleich sind.
24
Herunterladen