Inferenz in Prädikatenlogik

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Resolution und Prädikatenlogik erster Stufe
Algorithmen für das Erfüllbarkeitsproblem SAT
Deduktive Datenbanken
Christian Scheideler SS 2009
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
6. Regelbasierte Systeme
Domänenwissen: Wissen über das Anwendungsgebiet
Schwierigkeit von Aufgabenstellungen
Schnelle Matrizenoperationen von Christian Büttner
Prof. Dr. W. Conen 15. November 2004
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Organisatorisches Klausur für Übungsschein (Anfang Januar)
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Syntax der Aussagenlogik
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Verifizieren versus Berechnen
Algorithmen und Komplexität
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Prolog und Prädikatenlogik I
Logikbasierte Agenten
Prädikatenlogik First-Order Logic.
FH-Hof Optimierungsverfahren für kombinatorische Probleme Richard Göbel.
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Übung 6.1Turing-Maschine 1.Machen Sie sich mit der Funktionsweise des Busy Beaver-Programms vertraut Vollziehen sie die 11 Schritte der ersten Turing-Tabelle.
Algorithmentheorie 04 –Hashing
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Kapitel 1 Die natürlichen und die ganze Zahlen. Kapitel 1: Die natürlichen und die ganzen Zahlen © Beutelspacher/Zschiegner April 2005 Seite 2 Inhalt.
Semantik von Prolog & Unifikation
Fakten, Regeln und Anfragen
Prof. Dr. T. Kudraß1 Relationenkalkül. Prof. Dr. T. Kudraß2 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül.
Günter Kniesel Advanced Prolog. 2 Bisher: Grundlagen Klauseln –Regeln –Fakten Terme –Die einzige Datenstruktur in Prolog –Listen als Sonderfall mit eigener.
Minimum Spanning Tree: MST
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Algorithmen für das Erfüllbarkeitsproblem SAT
7. Formale Sprachen und Grammatiken
Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert Universität Bielefeld Technische Fakultät.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Dr. Wolfram Amme, Grundsätze der Logikprogrammierung, Informatik II, FSU Jena, SS Grundsätze der Logikprogrammierung.
 Präsentation transkript:

Inferenz in Prädikatenlogik

Überblick Reduktion prädikatenlogischer (PL) Inferenz auf aussagenlogische (AL) Inferenz Generalisierter Modus Ponens Unifikation Vorwärtsverkettung Rückwärtsverkettung Resolution KI 9-Inferenz in PL

Universelle Instantiierung (UI) Aus einem universell quantifizierten Satz folgen alle seine Instantiierungen: v α Subst({v/g}, α) für jede Variable v und jeden Grundterm g (Grundterm = Term ohne Variablen). Z.B. Aus  x König(x)  Gierig(x)  Böse(x) folgt: König(John)  Gierig(John)  Böse(John) König(Richard)  Gierig(Richard)  Böse(Richard) König(Vater(John))  Gierig(Vater(John))  Böse(Vater(John)) … KI 9-Inferenz in PL

Existentielle Instantiierung (EI) Für jeden Satz α, jede Variable v, und jedes Konstantensymbol k, das nicht an anderer Stelle in der WB auftritt, gilt:  v α Subst({v/k}, α)  v α heißt, dass es ein v gibt, das α erfüllt. Diesem v kann man einen Namen geben, der noch nicht in der WB vorkommt. Z.B.  x Krone(x)  AufKopf(x,John) ergibt: Krone(C1)  AufKopf(C1,John) wobei C1 eine neues Konstantensymbol ist, genannt Skolem-Konstante. KI 9-Inferenz in PL

Existentielle Instantiierung (EI) Beachte: UI wird mehrmals angewendet, EI nur einmal. Danach wird existentiell quantifizierter Satz aus WB entfernt. Bsp.: WB enthält:  x Ehefrau(x, Paul) Füge EI zu WB hinzu: Ehefrau(Anne, Paul). Entferne Satz  x Ehefrau(x, Paul) aus WB. Neue WB ist nicht logisch äquivalent zur alten, denn diese hätte z.B. Ehefrau(Petra, Paul) zugelassen (vorausgesetzt Petra kommt nicht in WB vor). Neue WB ist aber inferentiell äquivalent zu alter WB. KI 9-Inferenz in PL

Reduktion auf aussagenlogische Inferenz Idee: Wir sparen uns Inferenzmechanismen für PL, reduzieren einfach auf AL und verwenden die bekannten! Bsp.: WB enthält nur die folgenden Sätze:  x König(x)  Gierig(x)  Böse(x) König(John) Gierig(John) Bruder(Richard,John) Instantiiere (UI) ersten Satz mit allen möglichen Substitutionen, erhalte neue WB: König(John)  Gierig(John)  Böse(John) König(Richard)  Gierig(Richard)  Böse(Richard) Betrachte atomare Sätze Gierig(John) etc. als Aussagensymbole. Neue WB ist damit rein aussagenlogisch.

Reduktion Jede PL-WB kann so in eine aussagenlogische WB umgewandelt werden, dass die logische Konsequenz erhalten bleibt. Problem: Für Funktionssymbole gibt es unendlich viele Grundterme, z.B. Vater(Vater(Vater(John))) KI 9-Inferenz in PL

Reduktion Theorem (Herbrand, 1930): Wenn ein Satz α Konsequenz einer PL-WB ist, ist er Konsequenz einer endlichen Untermenge der aussagenlogischen WB. Idee: For n = 0 to ∞ do Erzeuge aussagenlogische WB durch Instantiierung mit Termen der Tiefe n. Prüfe ob α Konsequenz dieser WB ist. Problem: Klappt, falls α aus WB folgt; Schleife falls α nicht folgt ! Theorem (Turing,1936; Church, 1936): Konsequenz ist für PL semientscheidbar: Es gibt Algorithmen, die jeden aus der WB beweisbaren Satz beweisen. Aber es gibt keine Algorithmen, die beweisen, dass ein Satz nicht Konsequenz der WB ist. Bekannt als Halteproblem der Turing-Maschine!

Probleme der Umwandlung in AL Umwandlung von PL nach AL generiert viele irrelevante Sätze. Bsp.  x König(x)  Gierig(x)  Böse(x) König(John)  y Gierig(y) Bruder(Richard,John) Es ist offensichtlich Böse(John), aber Umwandlung in AL produziert zahlreiche irrelevante Fakten wie Gierig(Richard). Mit p k-stelligen Prädikaten und n Konstanten, gibt es p·nk Instantiierungen. Suche „Lifting“ der AL-Inferenzregeln zur PL-Tauglichkeit. KI 9-Inferenz in PL

Unifikation WB: Folgere Böse(John): Andere WB:  x König(x)  Gierig(x)  Böse(x) König(John) Gierig(Richard) Gierig(John) Folgere Böse(John): Idee: Suche x, so dass König(x) und Gierig(x), folgere Böse(John). Formal: Suche Substitution θ: {x / John}. Andere WB: y Gierig(y)  Suche Substitution für zwei Variable: {x / John, y / John}. KI 9-Inferenz in PL

Unifikation Böse(John) kann direkt inferiert werden, wenn wir eine Substitution θ finden, so dass König(x) und Gierig(x) zu König(John) und Gierig(y) passen. θ = {x/John, y/John} funktioniert. Ersetzungsprozess heißt Unifikation. Suche Unifikationsalgorithmus: Unify(p,q) = θ wenn pθ = qθ. Beispiele: p q θ Kennt(John,x) Kennt(John,Jane) {x / Jane} Kennt(John,x) Kennt(y,Richard) {x / Richard, y / John} Kennt(John,x) Kennt(y,Mutter(y)) {y / John, x / Mutter(John)} Kennt(John,x) Kennt(x,Richard) { } KI 9-Inferenz in PL

Unifikation Problem: p q θ Kennt(John,x) Kennt(x,Richard) { } Offenbar entsteht das Problem durch ungünstige Variablen-Benennung. Standardisierung eliminiert Konflikt der Variablen, z.B. Kennt(z,Richard). KI 9-Inferenz in PL

Allgemeinster Unifikator Kennt(John,x) und Kennt(y,z) kann auf verschiedene Arten substituiert werden: θ = {y/John, x/z }, Ergebnis: Kennt(John,z), Kennt(John,z) θ = {x/John, y/John, z/John}, Ergebnis: Kennt(John,John), Kennt(John,John) Der erste Unifikator ist allgemeiner als der zweite. Es gibt für jedes Paar von Ausdrücken nur einen allgemeinsten Unifikator (MGU, most general unifier) der eindeutig ist (bis auf Umbenennung von Variablen). MGU = { y/John, x/z } KI 9-Inferenz in PL

Unifikationsalgorithmus Unify(x,y,θ) Vergleicht x und y stückweise Parallel wird Unifikator θ aufgebaut Problem: Vergleich einer Variablen var mit komplexem Term x Occur-Check löst Problem durch Test, ob var in x vorkommt. Wenn ja, failure. KI 9-Inferenz in PL

Unifikationsalgorithmus KI 9-Inferenz in PL

Unifikationsalgorithmus KI 9-Inferenz in PL

Generalisierter Modus Ponens (GMP) Modus Ponens der AL: p1 , p2 , … , pn , ( p1  p2  …  pn  q) q KI 9-Inferenz in PL

Generalisierter Modus Ponens (GMP) Allgemein: p1', p2', … , pn', ( p1  p2  …  pn  q) qθ wobei pi'θ = piθ für alle i KI 9-Inferenz in PL

Generalisierter Modus Ponens (GMP) Allgemein: p1', p2', … , pn', ( p1  p2  …  pn  q) qθ p1' ist König(John) p1 ist König(x) p2' ist Gierig(y) p2 ist Gierig(x) θ ist {x/John,y/John} q ist Böse(x) q θ ist Böse(John) GMP wird verwendet für WB mit definiten Klauseln (genau ein positives Literal). Es wird angenommen, dass alle Variablen universell quantifiziert sind. wobei pi'θ = piθ für alle i KI 9-Inferenz in PL

Definite Klauseln erster Stufe Disjunktion von Literalen, wobei genau eins positiv ist, bzw. Implikation der Form (Konjunktion positiver Literale)  positives Literal Unterschied zu AL: Literale dürfen Variable enthalten, diese sind implizit universell quantifiziert. KI 9-Inferenz in PL

Beispiel WB: Beweise, dass Col. West ein Verbrecher ist! Gesetz: Jeder Amerikaner, der Waffen an feindliche Nationen verkauft, ist ein Verbrecher. Das Land Nono gehört zu den Feinden Amerikas, … … und hat Raketen. Alle Raketen des Landes Nono wurden von Colonel West verkauft, ... … der Amerikaner ist. Beweise, dass Col. West ein Verbrecher ist! KI 9-Inferenz in PL

Beispiel Jeder Amerikaner, der Waffen an feindliche Nationen verkauft, ist ein Verbrecher: Amerikaner(x)  Waffe(y)  Verkauft(x,y,z)  Feindlich(z)  Verbrecher(x) Das Land Nono gehört zu den Feinden Amerikas … Feind(Nono,Amerika) … und hat Raketen: x Hat(Nono,x)  Rakete(x): Hat(Nono,R1)  Rakete(R1) Alle Raketen des Landes Nono wurden von Colonel West verkauft, ... Rakete(x)  Hat(Nono,x)  Verkauft(West,x,Nono) … der Amerikaner ist. Amerikaner(West) KI 9-Inferenz in PL

Beispiel Jeder Amerikaner, der Waffen an feindliche Nationen verkauft, ist ein Verbrecher: Amerikaner(x)  Waffe(y)  Verkauft(x,y,z)  Feindlich(z)  Verbrecher(x) Das Land Nono gehört zu den Feinden Amerikas … Feind(Nono,Amerika) … und hat Raketen: x Hat(Nono,x)  Rakete(x): Hat(Nono,R1)  Rakete(R1) Alle Raketen des Landes Nono wurden von Colonel West verkauft, ... Rakete(x)  Hat(Nono,x)  Verkauft(West,x,Nono) … der Amerikaner ist. Amerikaner(West) Was fehlt ?? KI 9-Inferenz in PL

Beispiel Jeder Amerikaner, der Waffen an feindliche Nationen verkauft, ist ein Verbrecher: Amerikaner(x)  Waffe(y)  Verkauft(x,y,z)  Feindlich(z)  Verbrecher(x) Das Land Nono gehört zu den Feinden Amerikas … Feind(Nono,Amerika) … und hat Raketen: x Hat(Nono,x)  Rakete(x): Hat(Nono,R1)  Rakete(R1) Alle Raketen des Landes Nono wurden von Colonel West verkauft, ... Rakete(x)  Hat(Nono,x)  Verkauft(West,x,Nono) … der Amerikaner ist. Amerikaner(West) Ein Feind von Amerika ist feindlich: Feind(x,Amerika)  Feindlich(x) Raketen sind Waffen: Rakete(x)  Waffe(x) KI 9-Inferenz in PL

Vorwärtsverkettung: Algorithmus Gegeben: WB in Form definiter Klauseln Idee: Verwende Vorwärtsverkettung, um nacheinander passende Ersetzung(en) zu finden, so dass aus bekannten Fakten neue abgeleitet werden können. Prinzip: Sammle alle bekannten Fakten. Alle Regeln ausführen, deren Prämissen erfüllt sind. Schlüsse den bekannten Fakten hinzufügen. Falls zu beweisender Satz dabei: Erfolg, Ende. Falls keine neuen Fakten: Failure, Ende. Goto 2. KI 9-Inferenz in PL

Vorwärtsverkettung: Algorithmus KI 9-Inferenz in PL

WB des Beispiels Amerikaner(x)  Waffe(y)  Verkauft(x,y,z)  Feindlich(z)  Verbrecher(x) Feind(Nono,Amerika) Hat(Nono,R1)  Rakete(R1) Rakete(x)  Hat(Nono,x)  Verkauft(West,x,Nono) Amerikaner(West) Feind(x,Amerika)  Feindlich(x) Rakete(x)  Waffe(x) KI 9-Inferenz in PL

WB des Beispiels Amerikaner(x)  Waffe(y)  Verkauft(x,y,z)  Feindlich(z)  Verbrecher(x) Feind(Nono,Amerika) Hat(Nono,R1)  Rakete(R1) Rakete(x)  Hat(Nono,x)  Verkauft(West,x,Nono) Amerikaner(West) Feind(x,Amerika)  Feindlich(x) Rakete(x)  Waffe(x) KI 9-Inferenz in PL

Vorwärtsverkettung Beispiel KI 9-Inferenz in PL

WB des Beispiels Amerikaner(x)  Waffe(y)  Verkauft(x,y,z)  Feindlich(z)  Verbrecher(x) Feind(Nono,Amerika) Hat(Nono,R1)  Rakete(R1) Rakete(x)  Hat(Nono,x)  Verkauft(West,x,Nono) Amerikaner(West) Feind(x,Amerika)  Feindlich(x) Rakete(x)  Waffe(x) KI 9-Inferenz in PL

Vorwärtsverkettung Beispiel KI 9-Inferenz in PL

Vorwärtsverkettung Beispiel KI 9-Inferenz in PL

WB des Beispiels Amerikaner(x)  Waffe(y)  Verkauft(x,y,z)  Feindlich(z)  Verbrecher(x) Feind(Nono,Amerika) Hat(Nono,R1)  Rakete(R1) Rakete(x)  Hat(Nono,x)  Verkauft(West,x,Nono) Amerikaner(West) Feind(x,Amerika)  Feindlich(x) Rakete(x)  Waffe(x) KI 9-Inferenz in PL

Vorwärtsverkettung Beispiel KI 9-Inferenz in PL

Eigenschaften der Vorwärtsverkettung Korrekt und vollständig für definite Klauseln 1. Stufe. Datalog Datenbank-Programmiersprache Definite Klauseln 1. Stufe, aber keine Funktionen Keine Anwendungen Vorwärtsverkettung terminiert für Datalog nach endlicher Zahl von Iterationen. Terminiert u.U. nicht, falls α keine Konsequenz ist, denn Konsequenz ist für definite Klauseln nur halbentscheidbar. KI 9-Inferenz in PL

Effiziente Vorwärtsverkettung: Beschränkung der Regelkomplexität Problem: Reihenfolge bei Auswertung von Konjunkten Bsp.: Rakete(x)  Hat(Nono,x)  Verkauft(West,x,Nono) Teste für alle Raketen, ob Nono sie besitzt; oder: Teste für alle Objekte, die Nono sie besitzt, ob sie Raketen sind. Reihenfolge 1 besser, falls es weniger Raketen gibt, als Nono Objekte besitzt. Ermittlung optimaler Reihenfolge NP-hart. Abhilfe: Heuristiken wie most constrained variable Beschränkung der Länge der Regeln und Stelligkeit der Prädikate. KI 9-Inferenz in PL

Effiziente Vorwärtsverkettung: Inkrementelle Vorwärtsverkettung Problem: Regeln werden wiederholt verglichen. Idee: „Inkrementelle Vorwärtsverkettung“ Bei Iteration k muss eine Regel nicht verglichen werden, wenn nicht eine ihrer Prämissen bei Iteration k-1 hinzugefügt wurde. KI 9-Inferenz in PL

Rückwärtsverkettung: Algorithmus SUBST(COMPOSE(θ1, θ2), p) = SUBST(θ2, SUBST(θ1, p)) KI 9-Inferenz in PL

Rückwärtsverkettung: Beispiel KI 9-Inferenz in PL

Rückwärtsverkettung: Beispiel KI 9-Inferenz in PL

Rückwärtsverkettung: Beispiel KI 9-Inferenz in PL

Rückwärtsverkettung: Beispiel KI 9-Inferenz in PL

Rückwärtsverkettung: Beispiel KI 9-Inferenz in PL

Rückwärtsverkettung: Beispiel KI 9-Inferenz in PL

Rückwärtsverkettung: Beispiel KI 9-Inferenz in PL

Eigenschaften der Rückwärtsverkettung Tiefensuche zum Beweis eines Satzes: Speicherbedarf linear in Beweisgröße Unvollständig, da u.U. Endlosschleifen: Abhilfe: Vergleiche gegenwärtiges Ziel mit allen Zielen auf Stack. Ineffizient, da Wiederholung der Teilziele (sowohl bei Erfolg als auch failure) Abhilfe: Caching früherer Resultate. Weit verbreitet für Logikprogrammierung. KI 9-Inferenz in PL

Logikprogrammierung: Prolog Programming in Logic Weit verbreitet in Europa und Japan (Basis des 5th Generation Project) Programm = Menge von Hornklauseln = Kopf :- Literal1, … Literaln. Verbrecher(X) :- Amerikaner(X), Waffe(Y), Verkauft(X,Y,Z), Feindlich(Z). Anfragen an die WB werden durch Tiefensuche und links-nach-rechts Rückwärtsverkettung beantwortet. Eingebaute Prädikate für Arithmetik etc., z.B. X is Y*Z+3 Eingebaute Prädikate mit Nebeneffekten (z.B. Eingabe- und Ausgabe-Prädikate, assert/retract zur Veränderung der WB) Closed-world assumption: Alles, was nicht als wahr deklariert ist oder bewiesen werden kann, ist falsch (Gegensatz zu PL!). KI 9-Inferenz in PL

Prolog Da Kontrolle durch Schleifen (for, while etc.) fehlt, werden Schleifen durch Rekursion auf Listen programmiert. Verkettung zweier Listen zu einer dritten: append([],Y,Y). append([X|L],Y,[X|Z]) :- append(L,Y,Z). Anfrage: append(A,B,[1,2]) ? Antworten: A=[] B=[1,2] A=[1] B=[2] A=[1,2] B=[] KI 9-Inferenz in PL

Resolution PL-Version: l1  ···  lk, m1  ···  mn Subst(θ, l1  ···  li-1  li+1  ···  lk  m1  ···  mj-1  mj+1  ···  mn) wobei Unify(li, mj) = θ. Die zwei Klauseln müssen dabei standardisiert sein, d.h. keine gemeinsame Variable haben. Bsp.: Reich(x)  Unglücklich(x) , Reich(Ken) Unglücklich(Ken) mit θ = {x/Ken} Anwendung der Resolution analog AL: KNF(WB  α) KI 9-Inferenz in PL

Konversion nach KNF Jeder, der alle Tiere liebt, wird von jemand geliebt: x [y Tier(y)  Liebt(x,y)]  [y Liebt(y,x)] 1. Eliminiere Bikonditionale und Implikationen: x [y Tier(y)  Liebt(x,y)]  [y Liebt(y,x)] 2. Schiebe  nach innen (x p ≡ x p,  x p ≡ x p): x [y (Tier(y)  Liebt(x,y))]  [y Liebt(y,x)] x [y Tier(y)  Liebt(x,y)]  [y Liebt(y,x)] x [y Tier(y)  Liebt(x,y)]  [y Liebt(y,x)] 3. Standardisiere Variable: Jeder Quantor muss andere Variable verwenden x [y Tier(y)  Liebt(x,y)]  [z Liebt(z,x)] KI 9-Inferenz in PL

Konversion nach KNF 4. Skolemisierung: Jede existentiell quantifizierte Variable wird durch Skolem-Funktion der allquantifizierten Variablen ersetzt: x [Tier(F(x))  Liebt(x,F(x))]  Liebt(G(x),x) Beachte: Ohne die Abhängigkeiten des (Tiers) F und der (Person) G von x würde der Satz heißen: „Alle (Personen) x lieben ein bestimmtes (Tier) F nicht oder werden von einer bestimmten (Person) G geliebt.“ 5. Alle verbleibenden Variablen sind allquantifiziert, Allquantoren weglassen: [Tier(F(x))  Liebt(x,F(x))]  Liebt(G(x),x) 6. Konjunktion zwischen Klauseln herstellen („Klammern ausmultiplizieren“) : [Tier(F(x))  Liebt(G(x),x)]  [Liebt(x,F(x))  Liebt(G(x),x)] KI 9-Inferenz in PL

Resolutionsbeweis Analog AL Um zu zeigen, dass Satz a Konsequenz aus WB ist, wird gezeigt, dass WB   a unerfüllbar ist. KI 9-Inferenz in PL

Resolutionsbeweis: Beispiel  KI 9-Inferenz in PL