3 Logik und Inferenz. Methoden der Künstlichen Intelligenz. 8. Vorlesung: Unifikation; Vorwärts- und Rückwärtsverkettung, Ipke Wachsmuth WS 2008/2009

Ähnliche Dokumente
6 Logik und Deduktion

6 Logik und Deduktion

Aussagenlogische Schlu regeln. Theorembeweisen: Strategien. 4 Logik und Inferenz. Methoden der KŸnstlichen Intelligenz

Kernfragen der Vorlesung. Schlu folgern (ãreasoningò) 4 Logik und Inferenz. Methoden der KŸnstlichen Intelligenz

Übersicht. 9. Schließen in der Prädikatenlogik 1. Stufe

Unifikation. T eine Menge von Termen. σ(t) einelementig ist. Definition: Unifikator. Eine Substitution σ ist Unifikator von T, falls

SWP Logische Programme Teil 2

Ralf Möller, TUHH. Beim vorigen Mal: Heute: Prädikatenlogik: Algorithmus für Erfüllbarkeitsproblem. Lernziele: Beweisverfahren für Prädikatenlogik

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

Eigenschaften der Resolution für PL1 Formeln

Deduktion in der Aussagenlogik

De Morgan sche Regeln

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Das Lösen einer Anfrage mit Backtracking

Grundlagen der Künstlichen Intelligenz

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Was bisher geschah Modellierung in Logiken: klassische Prädikatenlogik FOL(Σ, X) Spezialfall klassische Aussagenlogik AL(P)

Mathematische Grundlagen I Logik und Algebra

Wozu formale Logik? Programmiersprachen Logik im Fingerhut. Formeln. Logik im Fingerhut (24. Januar 2005) Belegung und Interpretation

Logische und funktionale Programmierung

Allgemeingültige Aussagen

Ein und derselbe Satz kann in Bezug auf unterschiedliche Situationen s 1. und s 2 unterschiedliche Wahrheitswerte haben.

Logisches und funktionales Programmieren

Formale Methoden II. Gerhard Jäger. SS 2005 Universität Bielefeld. Teil 3, 12. Mai Formale Methoden II p.1/23

Künstliche Intelligenz Logische Agenten & Resolution

Formale Systeme. Aussagenlogik: Resolutionskalku l. Prof. Dr. Bernhard Beckert, WS 2018/2019

1 Symbolische Repräsentation

Rhetorik und Argumentationstheorie.

Substitution. Unifikation. Komposition der Substitution. Ausführung der Substitution

UniversitŠt Bielefeld bersicht zu Abschnitt 5. u Gegenstand: Überblick über weitere Inferenzverfahren

Grundlagen der Logik

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Normalformen boolescher Funktionen

1 Symbolische Repräsentation

1 Symbolische Repräsentation

4 Spezielle Schlussverfahren

7 Memory Organization und Deduktion

als Bewertungsfunktion g(n) eines Knotens n wird der tatsächliche Weg vom Startzustand zu diesem Knoten benutzt

Musterlösung der Klausur zur Vorlesung Logik für Informatiker

Logic in a Nutshell. Christian Liguda

4 Spezielle Schlussverfahren

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Logik für Informatiker

Übersicht. Prädikatenlogik höherer Stufe. Syntax der Prädikatenlogik 1. Stufe (mit Gleichheit)

Resolution und Regeln

Kapitel 1.1. Aussagenlogik: Syntax. Mathematische Logik (WS 2011/12) Kapitel 1.1: Aussagenlogik: Syntax 1/ 1

Diskrete Strukturen. Sebastian Thomas RWTH Aachen Mathematische Logik

Grundbegriffe für dreiwertige Logik

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Einführung in Prolog. Simon Bischof. IPD Snelting

Nur Aussagesätze, d.h. Deklarativ-, nicht aber Frage- oder Aufforderungs-sätze bringen das Zutreffen einer Aussage (oder Proposition) zum Ausdruck.

Kapitel 1. Aussagenlogik

Deduktion. Semantische Folgerungsbeziehung. Syntaktische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

Gentzen-Kalküle. bestehen aus mehreren, recht komplexen Axiomen, und wenigen Schlußregel (für Aussagenlogik: nur einer, für Prädikatenlogik drei).

Einführung in die Logik

Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Formale Methoden der Softwaretechnik 1 Vorlesung vom : Grundlage von Isabelle

Logik für Informatiker

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

Logik I. Symbole, Terme, Formeln

Weitere Beweistechniken und aussagenlogische Modellierung

Motivation und Geschichte. Geschichte der Logik Logik und Informatik

SLD-Ableitungsbäume. G = B 1... B m. G die Menge aller SLD-Resolventen von G und definiten. G einen Nachfolger, der mit G markiert ist.

Logik Vorlesung 2: Semantik der Aussagenlogik

1 Aussagenlogischer Kalkül

5.1 Inferenz. Theorie der Informatik. Theorie der Informatik. 5.1 Inferenz. 5.2 Resolutionskalkül. 5.3 Zusammenfassung. Inferenz: Motivation

Logik Vorlesung 2: Semantik der Aussagenlogik

Schlussregeln aus anderen Kalkülen

Schritt 1 Richtung Resolution: Substituieren

Aussagenlogik. Formale Methoden der Informatik WiSe 2012/2013 teil 6, folie 1

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Inhalt. SWP Logische Programme. Motivation. Formalisierung. Wissensbasis. Bsp (Bibel)Verwandtschaften. Motivation Sprache LP

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Prolog basiert auf Prädikatenlogik

Logische und funktionale Programmierung

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen

TU7 Aussagenlogik II und Prädikatenlogik

Grundlagen der Theoretischen Informatik

Boolesche Algebra. Hans Joachim Oberle. Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2

Logik-Grundlagen. Syntax der Prädikatenlogik

Tilman Bauer. 4. September 2007

Jeder Aussage p kann ein Wahrheitswert W(p) {0, 1} zugeordnet werden. Beispiele: W(Es regnet.) =? (je nach Lage der Dinge) W(Die Straße ist naß.) =?

Logik Vorlesung 3: Äquivalenz und Normalformen

Logik für Informatiker

Aussagenlogik. (MAF2) MAF(I, t) = t und MAF(I, f ) = f. Die Semantik aussagenlogischer Formeln ist durch die Funktion

Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Winter-Semester 2003/04. Wissensrepräsentation: Resolution (im PK1)

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

Übersicht. 7. Prädikatenlogik 1. Stufe

Vorlesung. Beweise und Logisches Schließen

Logik (Prof. Dr. Wagner FB AI)

Prädikatenlogische Entscheidbarkeitsprobleme

4.0 VU Theoretische Informatik und Logik Teil 2 zum SS

Transkript:

3 Logik und Inferenz 8. Vorlesung: Unifikation; Vorwärts- und Rückwärtsverkettung, Goal Trees Methoden der Künstlichen Intelligenz Ipke Wachsmuth WS 2008/2009

Schlussfolgern durch Theorembeweisen INTERFACE Anfrage DATA- BASE Antwort GATE- KEEPER query fügt eine Frage-Formel in DATABASE ein und versucht, darauf passende Antworten zu deduzieren Idee: Eine Anfrage wird als zu beweisendes Theorem betrachtet. (a) Direkter Beweis bei den Axiomen (d.h. hier: den assertierten Formeln) beginnen Schlussregeln anwenden, bis zu beweisendes Theorem dasteht (b) Indirekter Beweis: durch Widerlegung des Gegenteils Nimm an, die Verneinung (das Negat) der Anfrage sei wahr Zeige, dass die Axiome und das Negat zusammen etwas als wahr bezeichnen, das nicht stimmt Folgere, dass das Negat nicht wahr sein kann, da ein Widerspruch folgt Schließe, dass die Anfrage wahr sein muss, da ihr Negat nicht wahr sein kann 8. Vorlesung Methoden der Künstlichen Intelligenz 2

Einschub: Schlussfolgern in der Aussagenlogik Ein Blick auf die deduktiven Schlussregeln der Aussagenlogik (AL) Klauseldarstellung Modus ponens A B A v B A A B B Resolutionsregel A v B B v C A v C Modus tollens A B A v B B B A A Resolution ist eine allgemeinere Schlussregel; sie beinhaltet zugleich Modus ponens und Modus tollens. 8. Vorlesung Methoden der Künstlichen Intelligenz 3

Beispiel: Resolution in der Aussagenlogik gegeben: gegeben: Ich trage die Sonnenbrille Es regnet nicht A ODER ODER Es regnet B C B Ich nehme den Schirm mit Schluss: Ich trage die Sonnenbrille A ODER Ich nehme den Schirm mit C Gilt A v C? A v B B v C A & C Beweis durch Widerlegung des Gegenteils B! B Das Negat der Anfrage also gilt: A v C 8. Vorlesung Methoden der Künstlichen Intelligenz 4

Unifikation: Sie ermöglicht Inferenzen mit Formeln der PL, die gleiche Prädikate, aber verschiedene Argumente haben. => Verallgemeinerung (zunächst) des Modus ponens für PL Problem: Was tun, wenn hier statt p eine Formel p' steht, welche andere Argumente hat als in p? Idee: PL-Formeln mit Variablen: 2. Weg (PL: Prädikatenlogik) p (I) Modus Ponens erneut betrachtet: Aus p und (if p q ) inferiere q! p' (inst x canary) und (inst tweety canary) würden gleich bei der Substitution: {x = tweety} 8. Vorlesung Methoden der Künstlichen Intelligenz 5

Verallgemeinerter Modus Ponens Statt (I) Modus Ponens betrachte folgende allgemeinere Regel: (III) Unifikations-Inferenz (Modus Ponens verallgemeinert) Aus p' und (if p q ) inferiere q' wobei p mit p' unifizieren muss: p' = p und die resultierende Substitution wodurch man q' erhält als: q'= q auf q angewandt wird, (if p q) p' Beispiel assert: (if (inst?x canary)(color?x yellow)) assert: (inst tweety canary) (inst?x canary) (inst tweety canary) unifizieren mit der Substitution: {x = tweety} theta θ q' und durch Anwendung dieser Substitution auf (color?x yellow) ist (color tweety yellow) das Ergebnis. 8. Vorlesung Methoden der Künstlichen Intelligenz 6

Unifikation Unifikation heißt hier: Substituiere Werte von Variablen so, dass zwei verschiedene Ausdrücke gleich werden. (Werte können auch andere Variablen sein.) Allgemein ist eine Substitution eine Menge von Variable-Wert-Paaren. Jedes solche Paar heißt Variablenbindung. Entsprechende Variablen heißen durch die Substitution gebunden. Die Anwendung einer Substitution auf eine Formel heißt, jedes Vorkommen einer dadurch gebundenen Variablen durch ihren Wert zu ersetzen. Es können auch mehrere Ausdrücke (Formeln oder Terme) einer gemeinsamen Substitution unterzogen werden! 8. Vorlesung Methoden der Künstlichen Intelligenz 7

Anderes Beispiel für Unifikation Können Variablensubstitutionen gefunden werden, die die Ausdrücke gleich machen (unifizieren)? p p' (freund?x,hans) (freund fritz,hans) (freund fritz,?y) unifiziert mit der Variablensubstitution {x=fritz,y=hans} θ p und p' unterscheiden sich in den Argumenten des freund-prädikats (freund?x,?x) (freund fritz,hans)? Gegenbeispiel unifiziert nicht (x kann nicht zwei Dinge zugleich sein) 8. Vorlesung Methoden der Künstlichen Intelligenz 8

Verallgemeinerter Modus Ponens da capo Die Inferenzregel (III) ist ein Spezialfall der Resolutionsregel in der Prädikatenlogik. Hauptgewinn: verschiedene separate Inferenz-Mechanismen werden in einem Mechanismus zusammengefasst. forward chaining für eine assertierte Formel p durchzuführen, heißt dann: Finde Assertionen (if p' q ) deren Antezedenten p' mit der Assertion p unifizieren, (die mit der Assertion p "resolvieren"). 8. Vorlesung Methoden der Künstlichen Intelligenz 9

Weitere Notationen und Begriffe Benennung von Substitutionen durch griechische Buchstaben, z.b.: theta! = { x = a, y = (surface?z) } Für p Formel oder Term: notiere p! für das Resultat der Substitution von! in p. Begriff der Subsumtion (auch: Subsumption) Beispiel: p: (touching (side?x)?y)! = { x = a, y = (surface?z) } p! : (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)) subsumiert (not (divine fred)) mit! = { x = fred } 8. Vorlesung Methoden der Künstlichen Intelligenz 10

Subsumtionsinferenz, Varianten Mit der Subsumtion erhält man eine einfache weitere Inferenzregel: (IV) Subsumtions-Inferenz Aus p subsumiert q schließe q folgt aus p 1) Zwei Formeln, die sich gegenseitig subsumieren, heißen Varianten (bedeuten das gleiche). Beispiel: (p?x?x) und (p?y?y) sind Varianten 2) p subsumiert q echt, wenn gilt: p subsumiert q, aber q subsumiert nicht p. Beispiel: (p?x?y) subsumiert echt (p?x?x) 8. Vorlesung Methoden der Künstlichen Intelligenz 11

Unifikator (engl: unifier) "Vereinheitlicher" Eine Substitution ist ein Unifikator für eine Menge von Formeln oder Termen { p 1, p 2,..., p n } wenn p 1 = p 2 =...= p n =P (das heißt also, dass die p i durch die Substitution gleich werden). Beispiel: (above?z floor-19) und der Antezedent von (if (above?x?y) (below?y?x)) haben als Unifikator: ={ x = table-21, y = floor-19, z = table-21 } dann folgt (below floor-19 table-21). 8. Vorlesung Methoden der Künstlichen Intelligenz 12

Allgemeinster Unifikator Ein Unifikator ist ein MGU (für eine Menge von Formeln oder Most General Unifier (MGU) Termen), wenn das produzierte P nicht echt subsumiert wird von dem P, das irgendein anderer Unifikator produziert. Beispiel: (above?z floor-19) und der Antezedent von Es ist günstig, einen möglichst allgemeinen Unifikator zu finden: damit nur so viele Spezialisierungen erfolgen, wie eben nötig sind. (Vor allen Dingen bleiben Variablen erhalten, was oft wichtig ist.) (if (above?x?y) (below?y?x)) haben als 1. Unifikator (s.o. - kein MGU!)! 1 ={ x = table-21, y = floor-19, z = table-21 }! (dann folgt (below floor-19 table-21) ) und als 2. Unifikator (ein MGU!!)!2 ={ x =?z, y = floor-19} (dann folgt (below floor-19?z) ). MGUs sind gut fürs chaining! 8. Vorlesung Methoden der Künstlichen Intelligenz 13

Übersicht Unifikation Unifikation: das Substituieren von Variablen so, dass zwei Ausdrücke (Terme oder Formeln) gleich werden. Subsumtion: Eine Formel p subsumiert eine Formel q, wenn q aus p durch eine Variablensubstitution hervorgeht. (Formeln, die sich gegenseitig subsumieren, heißen Varianten.) Der MGU ist eindeutig (bis auf Varianten) Unifikator: Die Substitution!, die zwei Ausdrücke (Terme oder Formeln) gleich macht. (D.h. ein Unifikator ist eine spezielle Substitution!) Allgemeinster Unifikator (MGU): Diejenige unifizierende Substitution, die am wenigsten Spezialisierungen vornimmt. Man kann zeigen: Für jede unifizierbare Menge von Formeln existiert ein MGU!! Das ist der beste! siehe z.b. Lloyd: Foundations of Logic Programming 8. Vorlesung Methoden der Künstlichen Intelligenz 14

Vorwärts- und Rückwärtsverkettung Forward Chaining Aus p' und (if p q ) inferiere q' wobei p mit p' unifiziert mit MGU! und q'= q! Backward Chaining (if p q ) sei assertiert. Wenn nach q' gefragt wird (als goal) und q,q' haben MGU! wird p'= p! als subgoal aufgeworfen. Inferenz zur Assertion Time "Die Assertion resolviert mit der Implikation." Inferenz zur Query Time "Das goal resolviert mit der Implikation." Rückwärtsverkettung: zielorientiertes Inferenzverfahren (bei konjunktiven (sub-)goals in Verbindung mit Goal Tree-Suche) 8. Vorlesung Methoden der Künstlichen Intelligenz 15

Rückwärtsverkettung Idee Die meisten Inferenzen in einem deduktiven System werden zur Query Time vorgenommen. GATEKEEPER wird eine Implikation (if p q ) zwar assertieren, aber nichts damit anstellen, bis eine Frage (query) der Form q' gestellt wird. Dann wird subquery (subgoal) p' gestellt. Goal Trees (Zielbäume) Ziel Teilziele Das Stellen von subgoals, sub-subgoals etc. wird durch backward chaining (Rückwärtsverkettung) bewerkstelligt. Der Basismechanismus des Backward Chaining bezieht sich auf nichtkonjunktive goals: Verkettung von Implikationen (rückwärts). Als Suchstruktur bei konjunktiven goals von der Form (if (and p1 p2 ) q) werden Goal Trees eingesetzt. 8. Vorlesung Methoden der Künstlichen Intelligenz 16

Goal-Formeln kennzeichnen INTERFACE Verwende (Show: formula ) zur Kennzeichnung von goal-formeln. Anfrage DATA- BASE Antwort GATE- KEEPER Hier am Beispiel bzw. subgoal (bezogen auf früheres Beispiel) (Show: (color tweety yellow)) (Show: (inst tweety canary)) Show: ist kein logischer Junktor! (manchmal Pseudo-Junktor genannt) hängt aber zusammen mit dem Junktor not (kommt später) Wenn eine Anfrage (query) an DATABASE gestellt wird, muss die entsprechende Formel gekennzeichnet werden, um sie von den "beliefs" (assertierten Formeln) unterscheiden zu können. 8. Vorlesung Methoden der Künstlichen Intelligenz 17

Goal-Formeln skolemisieren Für goals werden die Konventionen fürs Skolemisieren umgedreht (entsprechend dem Verfahren bei not ): Logisch gesehen ist Show: gleichbedeutend mit not (die entsprechenden Ausdrücke werden in gleicher Weise skolemisiert) pragmatisch gesehen entspricht Show: einer Annahme (probeweise gemachte Assertion) (Show: (exists (y) (color y yellow)))!!!wird skolemisiert als (Show: (color?y yellow)) (Show: (forall (y) (color y yellow)))!!!wird skolemisiert als (Show: (color sk-8 yellow)) intuitiv: Wenn es für ein gewisses sk-8 gezeigt werden kann, kann es für beliebige Instanzen gezeigt werden. 8. Vorlesung Methoden der Künstlichen Intelligenz 18

Resolutionsregel grobe Idee (Show: (color tweety yellow)) goal kann als Versuch verstanden werden, (color tweety yellow) durch Widerspruch zu beweisen: (not (color tweety yellow)) wird probeweise assertiert als Annahme; Schon vorhandene "geglaubte" Assertionen: (inst tweety canary) (if (inst?x canary)(color?x yellow)) was gleichbedeutend ist mit: (or (not(inst?x canary))(color?x yellow)) Das negierte goal resolviert mit der Implikation zu (not (inst tweety canary)) WIDERSPRUCH! Also gilt das ursprüngliche goal. 8. Vorlesung Methoden der Künstlichen Intelligenz 19

Allgemeine Resolutionsregel mit forward und backward chaining als Spezialfällen: Weitere Details siehe Abschnitt 6.6 in Charniak/ McDermott mit unifizierender Substitution analog zu (III) (beide Regel- Antezedenten dürfen disjunktiv sein) Schreibe (if p q) als (or (not p) q) Chaining Aus und inferiere Forward p' (or (not p) q) q' Backward (not q') (or q (not p)) (not p') Allgemein not m' (or m n) n' Forward m =(not p) n = q Backward m = q n =(not p) (V) Allgemeine Resolutionsregel Aus (or n 1 (not m')) und (or m n 2 ) inferiere (or n 1 ' n 2 ')! Klauseldarstellung! 8. Vorlesung Methoden der Künstlichen Intelligenz 20

Zentral: Antwortsubstitution Allgemein: Gegeben das goal (Show:q') mit (if p q) in DATABASE und q,q'haben MGU θ. Beispiel: Assertiert seien (i) (inst tweety canary) (ii) (if (inst?x canary)(color?x yellow)) (Show: (color?y yellow)) als goal Produziere subgoal (Show:pθ) und falls das eine Antwort ψ hat, ist θ U ψ eine Antwort auf das ursprüngliche goal. resolviert mit (ii) zum subgoal (Show: (inst?y canary)) Dies unifiziert mit (i) zu (inst tweety canary) θ = {x =?y} ψ = {y = tweety} theta psi und damit bestätigt sich das ursprüngliche goal zu (color tweety yellow) θ U ψ = {x = tweety} Die beim backward- chaining vorgenommenen Substitutionen liefern eine spezifische Antwort! D.h. die Frage "Existiert etwas, das gelb ist?" führt zu der Antwort "Ja, tweety ist gelb": {x = tweety} Antwortsubstitution 8. Vorlesung Methoden der Künstlichen Intelligenz 21

Theorembeweiser Goal Tree Bei konjunktiven (sub)goals z.b. (if (and r1 r2) q) Goal Trees (Zielbäume) Ziel Bei konjunktiven Goals sind Antworten für ein Konjunkt zu finden, die auch Antworten für die anderen Konjunkte sind. Algorithmus: Theorembeweiser ("Deductive Retriever") ---> Goal Tree-Suche Die UND-Knoten eines Goal Trees enthalten Teilziele Leseempfehlung heute: Charniak & McDermott, Kap. 6, 351-360; 378ff. constraints: Randbedingungen an die Lösungen für jede ihrer Komponenten. Hier sind das die folgenden: Die Variablen-! bindungen für gleich benannte Variablen in den Teillösungen müssen identisch sein! 8. Vorlesung Methoden der Künstlichen Intelligenz 22

Ein PROLOG-Beispiel PROLOG: "PROgramming" in LOGic" " (Basis: Hornformeln der PL) Eine Definition von "Großvater": 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. oder ganz formal: x y z (grossvater x y) (vater x z)(vater z y) Die entsprechende Definition "über die Mutter": 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) In PROLOG gelten alle Variablen als implizit allquantifiziert (matchen mit beliebigen Termen); Quantoren werden weggelassen: (grossvater?x?y) 1 (vater?x?z)(vater?z?y) (grossvater?x?y) 2 (vater?x?z)(mutter?z?y) Seien dazu nun noch folgende Fakten assertiert: (vater fritz hans) (vater fritz klara) (mutter klara peter) Show: Ist Fritz ein Großvater? (grossvater fritz?u) >(grossvater fritz peter) 8. Vorlesung Methoden der Künstlichen Intelligenz 23

Goal-Tree-Suche in PROLOG (grossvater fritz?u)!! (grossvater?x?y)! (grossvater?x?y)! 1 2 (vater?x?z)! (vater?z?y)! (vater?x?z)! (mutter?z?y)! FRAGE: Was sind hier die Constraints an den UND- Knoten? (vater fritz hans) (vater fritz klara) (vater fritz hans) (vater fritz klara) (vater fritz hans) (vater fritz klara) (mutter klara peter) ANTWORT: Dass die Variablenbindungen gleich benannter Variablen in den Teillösungen auch tatsächlich gleich sind. show: (grossvater fritz?u) redo: (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) success: (vater fritz klara) show: (mutter klara?y) show: (vater klara?y) success: (mutter klara peter) redo: (vater klara?y) success: (grossvater fritz peter) fail: (vater klara?y) 8. Vorlesung Methoden der Künstlichen Intelligenz 24