Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Inferenz in Prädikatenlogik. KI 9-Inferenz in PL2 Überblick Reduktion prädikatenlogischer (PL) Inferenz auf aussagenlogische (AL) Inferenz Generalisierter.

Ähnliche Präsentationen


Präsentation zum Thema: "Inferenz in Prädikatenlogik. KI 9-Inferenz in PL2 Überblick Reduktion prädikatenlogischer (PL) Inferenz auf aussagenlogische (AL) Inferenz Generalisierter."—  Präsentation transkript:

1 Inferenz in Prädikatenlogik

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

3 KI 9-Inferenz in PL3 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)) …

4 KI 9-Inferenz in PL4 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(C 1 ) AufKopf(C 1,John) wobei C 1 eine neues Konstantensymbol ist, genannt Skolem-Konstante.

5 KI 9-Inferenz in PL5 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.

6 6 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) König(John) Gierig(John) Bruder(Richard,John) Betrachte atomare Sätze Gierig(John) etc. als Aussagensymbole. Neue WB ist damit rein aussagenlogisch.

7 KI 9-Inferenz in PL7 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)))

8 8 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!

9 KI 9-Inferenz in PL9 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·n k Instantiierungen. Suche Lifting der AL-Inferenzregeln zur PL-Tauglichkeit.

10 KI 9-Inferenz in PL10 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: x König(x) Gierig(x) Böse(x) König(John) y Gierig(y) Folgere Böse(John): Suche Substitution für zwei Variable: {x / John, y / John}. Unifikation

11 KI 9-Inferenz in PL11 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) { }

12 KI 9-Inferenz in PL12 Unifikation Problem: pqθ 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).

13 KI 9-Inferenz in PL13 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 }

14 KI 9-Inferenz in PL14 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.

15 KI 9-Inferenz in PL15 Unifikationsalgorithmus

16 KI 9-Inferenz in PL16 Unifikationsalgorithmus

17 KI 9-Inferenz in PL17 Generalisierter Modus Ponens (GMP) Modus Ponens der AL: p 1, p 2, …, p n, ( p 1 p 2 … p n q) q

18 KI 9-Inferenz in PL18 Generalisierter Modus Ponens (GMP) Allgemein: p 1 ', p 2 ', …, p n ', ( p 1 p 2 … p n q) qθ wobei p i 'θ = p i θ für alle i

19 KI 9-Inferenz in PL19 Generalisierter Modus Ponens (GMP) Allgemein: p 1 ', p 2 ', …, p n ', ( p 1 p 2 … p n q) qθ p 1 ' ist König(John)p 1 ist König(x) p 2 ' ist Gierig(y)p 2 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 p i 'θ = p i θ für alle i

20 KI 9-Inferenz in PL20 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.

21 KI 9-Inferenz in PL21 Beispiel WB: –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!

22 KI 9-Inferenz in PL22 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,R 1 ) Rakete(R 1 ) Alle Raketen des Landes Nono wurden von Colonel West verkauft,... Rakete(x) Hat(Nono,x) Verkauft(West,x,Nono) … der Amerikaner ist. Amerikaner(West)

23 KI 9-Inferenz in PL23 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,R 1 ) Rakete(R 1 ) 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 ??

24 KI 9-Inferenz in PL24 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,R 1 ) Rakete(R 1 ) 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)

25 KI 9-Inferenz in PL25 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: 1.Sammle alle bekannten Fakten. 2.Alle Regeln ausführen, deren Prämissen erfüllt sind. 3.Schlüsse den bekannten Fakten hinzufügen. 4.Falls zu beweisender Satz dabei: Erfolg, Ende. 5.Falls keine neuen Fakten: Failure, Ende. 6.Goto 2. Vorwärtsverkettung: Algorithmus

26 KI 9-Inferenz in PL26 Vorwärtsverkettung: Algorithmus

27 KI 9-Inferenz in PL27 WB des Beispiels Amerikaner(x) Waffe(y) Verkauft(x,y,z) Feindlich(z) Verbrecher(x) Feind(Nono,Amerika) Hat(Nono,R 1 ) Rakete(R 1 ) Rakete(x) Hat(Nono,x) Verkauft(West,x,Nono) Amerikaner(West) Feind(x,Amerika) Feindlich(x) Rakete(x) Waffe(x)

28 KI 9-Inferenz in PL28 WB des Beispiels Amerikaner(x) Waffe(y) Verkauft(x,y,z) Feindlich(z) Verbrecher(x) Feind(Nono,Amerika) Hat(Nono,R 1 ) Rakete(R 1 ) Rakete(x) Hat(Nono,x) Verkauft(West,x,Nono) Amerikaner(West) Feind(x,Amerika) Feindlich(x) Rakete(x) Waffe(x)

29 KI 9-Inferenz in PL29 Vorwärtsverkettung Beispiel

30 KI 9-Inferenz in PL30 WB des Beispiels Amerikaner(x) Waffe(y) Verkauft(x,y,z) Feindlich(z) Verbrecher(x) Feind(Nono,Amerika) Hat(Nono,R 1 ) Rakete(R 1 ) Rakete(x) Hat(Nono,x) Verkauft(West,x,Nono) Amerikaner(West) Feind(x,Amerika) Feindlich(x) Rakete(x) Waffe(x)

31 KI 9-Inferenz in PL31 Vorwärtsverkettung Beispiel

32 KI 9-Inferenz in PL32 Vorwärtsverkettung Beispiel

33 KI 9-Inferenz in PL33 WB des Beispiels Amerikaner(x) Waffe(y) Verkauft(x,y,z) Feindlich(z) Verbrecher(x) Feind(Nono,Amerika) Hat(Nono,R 1 ) Rakete(R 1 ) Rakete(x) Hat(Nono,x) Verkauft(West,x,Nono) Amerikaner(West) Feind(x,Amerika) Feindlich(x) Rakete(x) Waffe(x)

34 KI 9-Inferenz in PL34 Vorwärtsverkettung Beispiel

35 KI 9-Inferenz in PL35 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.

36 KI 9-Inferenz in PL36 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.

37 KI 9-Inferenz in PL37 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.

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

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

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

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

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

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

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

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

46 KI 9-Inferenz in PL46 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.

47 KI 9-Inferenz in PL47 Logikprogrammierung: Prolog Programming in Logic Weit verbreitet in Europa und Japan (Basis des 5th Generation Project) Programm = Menge von Hornklauseln = Kopf :- Literal 1, … Literal n. 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!).

48 KI 9-Inferenz in PL48 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=[]

49 KI 9-Inferenz in PL49 Resolution PL-Version: l 1 ··· l k, m 1 ··· m n Subst(θ, l 1 ··· l i-1 l i+1 ··· l k m 1 ··· m j-1 m j+1 ··· m n ) wobei Unify ( l i, m j ) = θ. 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 α)

50 KI 9-Inferenz in PL50 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)] 3. Standardisiere Variable: Jeder Quantor muss andere Variable verwenden x [ y Tier(y) Liebt(x,y)] [ z Liebt(z,x)]

51 KI 9-Inferenz in PL51 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)]

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

53 KI 9-Inferenz in PL53 Resolutionsbeweis: Beispiel


Herunterladen ppt "Inferenz in Prädikatenlogik. KI 9-Inferenz in PL2 Überblick Reduktion prädikatenlogischer (PL) Inferenz auf aussagenlogische (AL) Inferenz Generalisierter."

Ähnliche Präsentationen


Google-Anzeigen