6 Logik und Deduktion

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

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

6 Logik und Deduktion

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

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

Normalformen der Prädikatenlogik

Logik für Informatiker

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

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

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

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

7. Prädikatenlogik. Aussagenlogik hat wünschenswerte Eigenschaften wie Korrektheit, Vollständigkeit, Entscheidbarkeit.

Terme. Dann ist auch f(t 1. Terme. Dann ist P (t 1

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Logik für Informatiker Logic for computer scientists

Formale Systeme, WS 2013/2014. Lösungen zu Übungsblatt 5

Kapitel 6: Logik. Teil 2. (Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01)

Logik und Künstliche Intelligenz

1 Symbolische Repräsentation

1 Symbolische Repräsentation

1 Symbolische Repräsentation

Logische und funktionale Programmierung

7 Memory Organization und Deduktion

Logische und funktionale Programmierung

bisher Konsequenz Frage

Alphabet der Prädikatenlogik

Logische und funktionale Programmierung

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Grundlagen der Logik

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

Prädikatenlogik. Einführende Beispiele Geschwister x y ( u v (Eltern(u, v, x) Eltern(u, v, y) Geschwister(x, y)))

Normalformen. Wie bei der Aussagenlogik lassen sich Formeln wieder in dazu äquivalente umwandeln, die eine bestimmte Form haben.

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik

Zusammenfassung Syntax: Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln. Zusammenfassung

Mathematische Grundlagen I Logik und Algebra

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

Logik für Informatiker

Logik Vorlesung 7: Grundlagen Prädikatenlogik

Künstliche Intelligenz Logische Agenten & Resolution

Logik für Informatiker

Logik für Informatiker

2008W. Vorlesung im 2008W Institut für Algebra Johannes Kepler Universität Linz

Logische und funktionale Programmierung

4. Logik und ihre Bedeutung für WBS

Grundlagen der Theoretischen Informatik

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik

f(1, 1) = 1, f(x, y) = 0 sonst üblicherweise Konjunktion, manchmal auch

GDI Medieninformatik. 13. VL: Einführung in die mathematische Logik Prädikatenlogik (II)

Formale Systeme, WS 2012/2013. Lösungen zu Übungsblatt 7

Grundlagen der Kognitiven Informatik

Logik (Prof. Dr. Wagner FB AI)

Grundlagen der Künstlichen Intelligenz

Formale Methoden der Softwaretechnik 1 Vorlesung vom : Grundlage von Isabelle

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

Logik für Informatiker

Grundlagen der Kognitiven Informatik

Logik für Informatiker

Logik Vorlesung 9: Normalformen

Abschnitt 3.2: Der Satz von Ehrenfeucht

Wiederholung: Modellierung in Prädikatenlogik

Normalform. 2.1 Äquivalenz und Folgerung. 2.2 Die pränexe Normalform

Resolution und Regeln

Logisches und funktionales Programmieren

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

KLAUSURDECKBLATT Studienhalbjahr: 1. Semester. Datum: 5. März 2015 Bearbeitungszeit: 90 Minuten. Modul: TINF1002 Dozent: Jan Hladik

Eigenschaften der Resolution für PL1 Formeln

Logik für Informatiker

Eigenschaften der SLD-Resolution

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

Normalformen boolescher Funktionen

Logik für Informatiker

Kapitel 1. Aussagenlogik

De Morgan sche Regeln

Prädikatenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Normalformen und Grenzen der Prädikatenlogik 1. Stufe

Prädikatenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Normalformen und Grenzen der Prädikatenlogik 1. Stufe

5.2 Logische Gültigkeit, Folgerung, Äquivalenz

Späte Fragen und Antworten zur Logik-Vorlesung WS 17/18, WS 16/17 und SS 16 WS 17/18

Logik I. Symbole, Terme, Formeln

Was bisher geschah: klassische Aussagenlogik

Logik Vorlesung 10: Herbrand-Theorie

Namen von Objekten des Diskursbereichs (z. B. Substantive des natürlichsprachlichen Satzes)

SS Juni Übungen zur Vorlesung Logik Blatt 8

Logik Vorlesung 10: Herbrand-Theorie

Beweisen mit Semantischen Tableaux

Prädikatenlogik. Quantoren. Quantoren. Quantoren. Quantoren erlauben Aussagen über Mengen von Objekten des Diskursbereichs, für die ein Prädikat gilt

3 Prädikatenlogik der 1. Stufe (PL1) Teil I

Aufgaben und Lösungen Ausarbeitung der Übungsstunde zur Vorlesung Analysis I

How To Prove A Propositional Logic

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 7.

Grundlagen der Programmierung (Vorlesung 7)

Klausur Formale Systeme Fakultät für Informatik SS Prof. Dr. Bernhard Beckert. 31. Juli Die Bearbeitungszeit beträgt 60 Minuten.

(1) (a) Hans ist verheiratet oder nicht verheiratet. (b) Hans ist verheiratet oder Hans ist nicht verheiratet.

Mathematik für Informatiker I Mitschrift zur Vorlesung vom

Klausur zur Vorlesung Mathematische Logik

Vorlesung. Logik und Beweise

Transkript:

$ $ $ $ 6 Logik und Deduktion 16. Vorlesung: Skolemisierung Rückwärtsverkettung und Goal Trees Skolemisierung allgemeines Verfahren, um PL-Formeln für maschinelle Deduktion vorzubereiten Rückwärtsverkettung zielorientiertes Inferenzverfahren (in Verbindung mit Goal-tree-Suche und Unifikation) allgemeine Resolutionsregel Antwortsubstitution! " #

Skolemisierung ist ein Verfahren, um die Existenzquantoren aus prädikatenlogischen Formeln (1. Ordnung) zu eliminieren. Zusammen mit der Ersetzung von allquantifizierten Variablen x durch Matchvariable?x erhält man quantorenfreie Formeln (in implicit-quantifier form), wie sie von der Inferenzmaschine verarbeitet werden können. Grundidee: Existenzquantifizierte Variable y werden (i) durch neue Konstantensymbole oder (ii) durch Funktionsausdrücke der Art (neue-funktion?x ) ersetzt.! " % Vor der Skolemisierung werden die prädikatenlogischen Formeln erst durch Äquivalenzumformungen in Pränexform gebracht, d.h. alle Quantoren stehen vorn (dabei wird der "wirkliche Typ eines Quantors" geklärt) Durch die Skolemisierung werden die Formeln zwar nicht äquivalent, aber erfüllbarkeitsäquivalent umgeformt. Zum Nachlesen weiterer Details -> Schöning: Logik für Informatiker, S. 64 ff! " &

( ( 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. Das Stellen von subgoals, sub-subgoals etc. wird durch Goal Trees (Zielbäume) Ziel backward chaining (Rückwärtsverkettung) bewerkstelligt. Der Basismechanismus des Backward Chaining bezieht sich auf nichtkonjunktive goals: Verkettung von Implikationen (rückwärts). Teilziele Als Suchstruktur bei konjunktiven goals von der Form (if (and p1 p2) q) werden Goal Trees eingesetzt.! " ' allgemeine Technik zur Elimination von Quantoren: liefert eine Darstellung quantifizierter Formeln in DATABASE, die ohne explizite Verwendung von Quantoren auskommt (implicit-quantifier form) Beispiele vom letzten Mal (einfache Fälle): (if (inst?x canary)(color?x yellow)) (and (nudist sk-1) (party sk-1 uni-bielefeld)) Allquantifizierte Variablen wurden als (auf alle Terme passende) Pattern-matching-Variablen kodiert; die führende existenzquantifizierte in diesem Spezialfall durch eine Konstante sk-1 (genauer: eine nullstellige Skolemfunktion) kodiert.! "

( jede existenzquantifizierte Variable muß in eine Funktion umkodiert werden, deren Argumente diejenigen allquantifizierten Variablen sind, deren Skopi den des Existenzquantors umfassen. Beispiel: Jede Person hat einen Kopf. (forall (x) (if (inst x person) exists (y) (and (inst y head) (partof y x)))) wird skolemisiert als: (if (inst?x person) (and (inst (head-of?x) head) (partof (head-of?x)?x)))! " ) Im Prädikatenkalkül müssen Terme eindeutige Entitäten benennen. Wenn die Funktion (Skolemfunktion) head-of eingeführt wird, muß klar sein, daß sie nirgendwo in anderer Weise verwendet wird. Deshalb führen Skolemisierungsalgorithmen jeweils brandneue Funktionssymbole der Form sk-n ein (also statt head-of z.b. sk-17). Häufig wird aber auch von Hand skolemisiert; dann wählt man "sprechende Namen".! " *

Häufig ist nicht einfach zu erkennen, ob ein Existenz- oder ein Allquantor zu skolemisieren ist. Beispiel: "Nichts ist göttlich" (not (exists (x) divine x))) (forall (x) (not (divine x))) Skolemisierung? (not (divine sk-4))???? (not (divine?x)), -. / 0 / 1 2 3 4 / 5 6 2 7. 7 5 8. 9-5 : ; 5 5 <. 9 - =, - /. 0 5 3 4 2 < < / > 7. 8? 8. 9-5 : ; 5 5 <. 9 - = Keines Objektes Existenz wird hier assertiert. Also "wirklicher" Typ: Allquantor! " + noch einmal: welches ist der "wirkliche" Quantor? Allgemein hängt der "wirkliche" Quantortyp von der Anzahl der Negationen ab, die darauf Einfluß haben. Um den wirklichen Typ zu bestimmen: Zähle die Anzahl der nots und der if- Antezedenten, worin er vorkommt. Falls ungerade: Tausche den Quantor um (also All- in Ex.- bzw. Ex.- in All-); falls gerade: so lassen. Beispiel: (forall (c) (if (and (inst c car) (not (exists (x)(and (inst x wheel) (not (valuable c)))) wird skolemisiert als: (if (and (inst?c car) (attached x c))))) (not (and (inst (sk-5?c) wheel) (not (valuable?c))) "A car without wheels is not valuable." "Ein Wagen ohne Räder ist nix wert." (attached (sk-5?c)?c)))) Der Existenz-Quantor tritt innerhalb einer Negation und eines if-antezedenten auf (gerade Anzahl), ist also ein wirklicher.! " @

W X YZ [ \ ] Y^ _ ^ ` Y[ a[ b [ a c (forall(y)(if (and(exists(x)(just-left x y)) (exists(x)(just-left y x))) Bemerkung: Besonders schwierig ist es, die Negation einer skolemisierten Formel zu bestimmen. (crowded y))) als Formalisierung von "Wenn man jemand links von sich und jemand rechts von sich hat, sitzt man eingeklemmt." (forall(y)(if (and(exists(xl)(just-left xl y)) (exists(xr)(just-left y xr))) Verfahren: Entskolemisieren, negieren, reskolemisieren. skolemisiert: (crowded y))) (if (and (just-left?xl?y)) (just-left?y?xr))) (crowded?y))) A B C D E F G H I J K L M H N O E P H K P H F Q R K I N G S T O H K U K N H G G S L H K V A A W X YZ [ \ ] Y^ _ ^ ` Y[ a[ b [ a c 1. Bestimme, welche Variablen existenz- und welche allquantifiziert sind (den "wirklichen Quantorentyp). 2. Ersetze jede existenzquantifizierte Variable durch eine Skolemfunktion. Die Argumente dieser Funktion sind alle diejenigen allquantifizierten Variablen, in deren Skopus der Existenzquantor liegt. 3. Falls zwei verschiedene allquantifizierte Variablen den gleichen Namen haben, benenne eine davon (brandneu) um. 4. Ersetze schließlich jede allquantifizierte Variable v durch eine mit "?" markierte Pattern-matching-Variable?v. (Die Allquantifizierung bleibt implizit dadurch gegeben, daß eine solche Variable mit allem "matcht".) A B C D E F G H I J K L M H N O E P H K P H F Q R K I N G S T O H K U K N H G G S L H K V A d

W X YZ [ \ ] Y^ _ ^ ` Y[ a[ b [ a c 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." (Voraussetzung: die Formeln in DATABASE sind standardisiert.) A B C D E F G H I J K L M H N O E P H K P H F Q R K I N G S T O H K U K N H G G S L H K V A e W X YZ [ \ ] Y^ _ ^ ` Y[ a[ b [ a c Neue Fakten Anfragen DATA- BASE GATE- KEEPER Antworten PROGRAM Verwende (Show:formula) zur Kennzeichnung von goal-formeln. Hier am Beispiel (Show: (color tweety yellow)) bzw. subgoal (bezogen auf früheres Beispiel) Show: ist kein logischer Junktor! (Show: (inst tweety canary)) (manchmal Pseudo-Junktor genannt) hängt aber zusammen mit dem Junktor not (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. A B C D E F G H I J K L M H N O E P H K P H F Q R K I N G S T O H K U K N H G G S L H K V A f

W X YZ [ \ ] Y^ _ ^ ` Y[ a[ b [ a c Für goals werden die Konventionen für das Skolemisieren umgedreht (entsprechend dem Verfahren bei not ): (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 neues sk-8 gezeigt werden kann, kann es für beliebige Instanzen gezeigt werden. A B C D E F G H I J K L M H N O E P H K P H F Q R K I N G S T O H K U K N H G G S L H K V A g W X YZ [ \ ] Y^ _ ^ ` Y[ a[ b [ a c Show: not (Show: (color tweety yellow)) kann als Versuch verstanden werden, (goal) (color tweety yellow) durch Widerspruch zu beweisen: 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) (not (color tweety yellow)) wird probeweise assertiert - als Annahme; schon vorhanden seien folgende "geglaubte" Assertionen: (inst tweety canary) (if (inst?x canary)(color?x yellow)) gleichbedeutend: (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. A B C D E F G H I J K L M H N O E P H K P H F Q R K I N G S T O H K U K N H G G S L H K V A B

ƒ ˆ ƒ ƒ Š ƒ mit forward und backward chaining als Spezialfällen: Vergleiche: 6. Vorlesung, bei weiterem Interesse: Abschnitt 6.6 in Charniak/ McDermott 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') (beide Regel- Antezedenten dürfen disjunktiv sein) Verallgemeinerung zur allgemeinen Resolutionsregel: (V) Aus (or n 1 (not m')) und (or m n 2 ) inferiere (or n 1 ' n 2 ') h i j k l m n o p q r s t o u v l w o r w o m x y r p u n z { v o r r u o n n z s o r } h ~ ƒ ˆ ƒ ƒ Š ƒ Allgemein: Gegeben das goal (Show:q') mit (if p q) in DATABASE und q,q'haben MGU θ. Produziere subgoal (Show:pθ) und falls das eine Antwort ψ hat, ist θ U ψ eine Antwort auf das ursprüngliche goal. Beispiel: Assertiert seien (I) (inst tweety canary) (II) (if (inst?x canary)(color?x yellow)) (Show: (color?y yellow)) als goal resolviert mit (II) zum subgoal (Show: (inst?y canary)) θ = {x =?y} dies unifiziert mit (I) zu (inst tweety canary) ψ = {y = tweety} und damit bestätigt sich das ursprüngliche goal zu (color tweety yellow) θ U ψ = {x = tweety} theta psi D.h. die Frage "Existiert etwas, das gelb ist?" führt zu der Antwort "Ja, tweety ist gelb": {x = tweety} Antwortsubstitution h i j k l m n o p q r s t o u v l w o r w o m x y r p u n z { v o r r u o n n z s o r } h Œ

ƒ ˆ ƒ ƒ Š ƒ Nichtkonjunktives Goal: Verkettung von Implikationen (rückwärts) Konjunktives Goal: Finde Antworten für ein Konjunkt, die auch Antworten für die anderen Konjunkte sind. Algorithmus: Theorembeweiser ("Deductive Retriever") 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. Hier sind das die folgenden: Die Variablenbindungen für gleich benannte Variablen in den Teillösungen müssen identisch sein! h i j k l m n o p q r s t o u v l w o r w o m x y r p u n z { v o r r u o n n z s o r } h ƒ ˆ ƒ ƒ Š ƒ (Show: P) (if (and Q1 Q2) P) (if (and R1 R2) P) (Show: Q1) (Show: Q2) (Show: R1) (Show: R2)........................ h i j k l m n o p q r s t o u v l w o r w o m x y r p u n z { v o r r u o n n z s o r } Ž

ƒ ˆ ƒ ƒ Š ƒ 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) 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) (grossvater?x?y) 2 (vater?x?z)(mutter?z?y) Seien jetzt diese beiden Implikationen (Regeln) assertiert, zusammen mit folgenden Fakten: (vater fritz hans) (vater fritz klara) (mutter klara peter) (vergleiche 6. Vorlesung ) Ist Fritz ein Großvater? (grossvater fritz?u) h i j k l m n o p q r s t o u v l w o r w o m x y r p u n z { v o r r u o n n z s o r } Ž h ƒ ˆ ƒ ƒ Š ƒ success: redo: fail: redo: success: redo: fail: redo: success: fail: redo: success: success: success: (grossvater fritz?u) (vater fritz?z) (vater fritz hans) (vater hans?y) (grossvater fritz?u) (vater hans?y) (vater hans?y) (vater fritz?z) (grossvater?x?y) (grossvater?x?y) 1 2 (vater fritz klara) (vater klara?y) (vater klara?y) (vater?x?z) (vater?z?y) (vater?x?z) (mutter?z?y) (vater klara?y) (grossvater fritz?u) (vater fritz?z) (vater (vater (vater (vater (vater (vater fritz hans) (vater (mutter fritz fritz fritz fritz fritz fritz klara (mutter hans?y) hans) klara) hans) klara) hans) klara) peter) (mutter hans?y) (vater fritz?z) (vater fritz klara) Was sind hier (mutter klara?y) die Constraints (mutter klara peter) an den (grossvater fritz peter) AND-KNOTEN? h i j k l m n o p q r s t o u v l w o r w o m x y r p u n z { v o r r u o n n z s o r } Ž Ž

ª«ª ± ª ² ³ ² ACHTUNG: Viele Algorithmen zum Theorembeweisen sind 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*. J.A. Robinson, 1996 Sie alle gehen auf das allgemeine Resolutionsverfahren ("complete resolution") von ROBINSON (1965) zurück. *Vertiefung: Kap. 2 in Görz, Einführung in die künstliche Intelligenz š œ ž Ÿ š Ÿ š ž š š š ª«ª ± ª ² ³ ² Charniak & McDermott, Kapitel 6, Seite 349-360; 378ff Vertiefung: Görz, Kap. 2 š œ ž Ÿ š Ÿ š ž š š š µ