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