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