Prädikatenlogik: Syntax Signatur : Welche Zeichen gibt es? Funktionssymbole Prädikatensymbol (Eigenschaften) Terme: Variablen f (t1, . . . tn) wenn ti Terme und f Funktionssymbol Formeln: P (t1, . . . tn) wenn ti Terme und P Prädikatensymbol (Atom) (¬F ), (F ∨ G), (F ∧ G), (F ⇒ G), (F ⇔ G) (∀x : F ) (∃x : F ) KI, SS 09, F olien P r.Logik Seite 1, 18. Juni2009 Beispiele (∀x : (∃y : R(x, y))) (∀x : (∀y : (∀z : ((R(x, y) ∧ R(x, y)) ⇒ R(x, z))))) vereinfachte Schreibweise: ∀x, y, z : R(x, y) ∧ R(x, y) ⇒ R(x, z) x, y, z, sind Variablen; R ist ein Prädikatensymbol KI, SS 09, F olien P r.Logik Seite 2, 18. Juni2009 Definitionen Atom: Literal: Grundterm: Grundatom: geschlossene Formel: P (t1, . . . tn) Ein Atom oder ein negiertes Atom Ein Term t ohne Variablen Ein Atom ohne Variablen ohne freie Variablen Klausel: ∀x1, x2, . . . : F F Disjunktion von Literalen und {x1, x2, . . .} = FV (F ) KI, SS 09, F olien P r.Logik Seite 3, 18. Juni2009 Interpretationen Interpretationen I sind analog wie in der Aussagenlogik Es wird durch I noch zusätzlich festgelegt: • • • KI, SS Menge D 6= ∅ der möglichen Elemente Für Prädikatensymbole P : I(R): D × . . . × D → Bool Für Funktionssymbole f : I(f ): D × . . . × D → D 09, F olien P r.Logik Seite 4, 18. Juni2009 Interpretationen: Berechnung H = f (t1, . . . tn) H H H H H H H H = P (t1, . . . tn) =0 =1 = ¬F =F ∨G = F ∧ G, =F ⇒G =F ⇔G H = ∀x : F H = ∃x : F KI, SS 09, F olien P r.Logik dann I f (t1, . . . tn) = I(f ) I(t1), . . . , I(tn) dann I P (t1, . . . tn) = I(P ) I(t1), . . . , I(tn) dann I(H) = 0 dann I(H) = 1 dann I(H) = 1 falls I(F ) = 0 dann I(H) = 1 falls I(F ) = 1 oder I(G) = 1 dann I(H) = 1 falls I(F ) = 1 und I(G) = 1 dann I(H) = 1 falls I(F ) = 0 oder I(G) = 1 dann I(H) = 1 falls I(F ) = 1 gdw. I(G) = 1 dann I(H) = 1 falls für alle a ∈ D : I[a/x](F ) = 1 dann I(H) = 1 falls für ein a ∈ D : I[a/x](F ) = 1 Seite 5, 18. Juni2009 Modelle, Tautologien, Widerspruch etc. I |= F : I macht F wahr Eine (geschlossene) Formel F heißt: • • • • allgemeingültig (Tautologie, Satz) erfüllbar unerfüllbar (widersprüchlich) falsifizierbar gdw. gdw. gdw. gdw. F ist allgemeingültig gdw. ¬F unerfüllbar KI, SS 09, F olien P r.Logik Seite 6, 18. Juni2009 alle I machen F wahr ein I macht F wahr kein I macht F wahr ein I macht F falsch Beispiele allgemeingültig: ∀x.Q(x) ∨ ¬Q(x) unerfüllbar: P ∧ ¬P erfüllbar, falsifizierbar: ∀x.P (x) KI, SS 09, F olien P r.Logik Seite 7, 18. Juni2009 Semantische Folgerung F |= G gdw. für alle I: I |= F impliziert I |= G Für mehrere Formeln: F1, . . . , Fn |= G gdw. F1 ∧ . . . ∧ Fn |= G Für Mengen von Formeln: F |= G gdw. für alle I: wenn für alle F ∈ F : I |= F , dann I |= G KI, SS 09, F olien P r.Logik Seite 8, 18. Juni2009 Deduktionstheorem Deduktionstheorem: Für alle Formeln F und G gilt: F |= G gdw. F ⇒ G ist Tautologie Folgerung: F |= G gdw. ¬(F ⇒ G) ist unerfüllbar (widersprüchlich) gdw. F ∧ ¬G ist unerfüllbar. KI, SS 09, F olien P r.Logik Seite 9, 18. Juni2009 Komplexität Es ist unentscheidbar, ob eine geschlossene Formel eine Tautologie ist (Halteproblem für Turingmaschinen) Tautologien der Prädikatenlogik sind rekursiv aufzählbar praktische Folgerung: Deduktionssystem: Wenn F Tautologie: Wenn F keine Tautologie: KI, SS 09, F olien P r.Logik Seite 10, 18. Juni2009 dann Antwort JA in endlicher Zeit Antwort NEIN oder Nichtterminierung Klauselnormalformen Klauselnormalform (conjunctive normal form, CNF) Klausel-Menge: Klausel: KI, SS 09, F olien P r.Logik Seite 11, K1 ∧ . . . ∧ Kn Disjunktion von Literalen mit All-Quantor-Präfix: ∀x1, . . . , xm.L1 ∨ . . . ∨ Ln 18. Juni2009 Elementare Rechenregeln Regeln der Aussagenlogik gelten auch für prädikatenlogische Formeln. Regeln für Quantoren: ¬∀x : F ¬∃x : F (∀x : F ) ∧ G (∀x : F ) ∨ G (∃x : F ) ∧ G (∃x : F ) ∨ G ∀x : F ∧ ∀x : G ∃x : F ∨ ∃x : G KI, SS 09, F olien P r.Logik Seite 12, 18. Juni2009 ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ∃x : ¬F ∀x : ¬F ∀x : (F ∧ G) ∀x : (F ∨ G) ∃x : (F ∧ G) ∃x : (F ∨ G) ∀x : (F ∧ G) ∃x : (F ∨ G) falls falls falls falls x x x x nicht nicht nicht nicht frei frei frei frei in in in in G G G G Transformation in CNF Unter Erhaltung der Unerfüllbarkeit 1: Elimination von ⇔ und ⇒: F ⇔G F ⇒G → → F ⇒G∧G⇒F ¬F ∨ G 2. Negation ganz nach innen schieben: ¬¬F ¬(F ∧ G) ¬(F ∨ G) ¬∀x : F ¬∃x : F KI, SS 09, F olien P r.Logik Seite 13, 18. Juni2009 → → → → → F ¬F ∨ ¬G ¬F ∧ ¬G ∃x : ¬F ∀x : ¬F Transformation in CNF 3. Skopus von Quantoren minimieren: ∀x : (F ∀x : (F ∃x : (F ∃x : (F ∀x : (F ∃x : (F ∧ G) ∨ G) ∧ G) ∨ G) ∧ G) ∨ G) → → → → → → (∀x : F ) ∧ G (∀x : F ) ∨ G (∃x : F ) ∧ G (∃x : F ) ∨ G ∀x : F ∧ ∀x : G ∃x : F ∨ ∃x : G falls falls falls falls 4. Alle gebundenen Variablen umbenennen. KI, SS 09, F olien P r.Logik Seite 14, 18. Juni2009 x x x x nicht nicht nicht nicht frei frei frei frei in in in in G G G G Transformation in CNF 5. ∃ eliminieren mittels Skolemisierung von außen nach innen. ∃x : F [x] → F [g(y1, . . . , yn)] wobei yi die Variablen sind, die weiter außen unter einem Allquantor stehen. g neues Funktionssymbol pro Existenzquantor ein neues Funktionssymbol KI, SS 09, F olien P r.Logik Seite 15, 18. Juni2009 Transformation in CNF 6. Allquantoren nach außen schieben 7. Distributivität, Assoziativität, Kommutativität von ∧, ∨ iterativ (mit richtiger Strategie) anwenden, um ∧ nach außen zu schieben (“Ausmultiplikation“). F ∨ (G ∧ H) → (F ∨ G) ∧ (F ∨ H) (Oder: Schnelle CNF-Erzeugung) KI, SS 09, F olien P r.Logik Seite 16, 18. Juni2009 Resultat: CNF Konjunktion von Disjunktionen (Klauseln) von Literalen: ∀ · (L1,1 ∨ . . . ∨ L1,n1 ) ∀ · (L2,1 ∨ . . . ∨ L2,n2 ) ∧ ∧ ... ∧ ∀ · (Lk,1 ∨ . . . ∨ L1,nk ) oder in Mengenschreibweise: {{L1,1, . . . , L1,n1 }, {L2,1, . . . , L2,n2 }, ... {Lk,1, . . . , L1,nk }} KI, SS 09, F olien P r.Logik Seite 17, 18. Juni2009 Beispiel Eingabe ¬∃y : ∀x : P (x) ⇔ Q(y) Impl.Elim. ¬∃y : ∀x : (¬P (x) ∨ Q(y)) ∧ (¬Q(y) ∨ P (x)) Neg. Elim. ∀y : ∃x : (P (x) ∧ ¬Q(y)) ∨ (Q(y) ∧ ¬P (x)) Skolemisieren: ∀y : (P (f (y)) ∧ ¬Q(y)) ∨ (Q(y) ∧ ¬P (f (y))) ∀y : (P (f (y)) ∨ Q(y)) ∧ (P (f (y)) ∨ ¬P (f (y))) ∧ (¬Q(y) ∨ Q(y)) ∧ (¬Q(y) ∨ ¬P (f (y))) Distrib.: Klausel-Erz.+ Umbenennen: (∀y1 : P (f (y1)) ∨ Q(y1)) ∧ (∀y2 : P (f (y2)) ∨ ¬P (f (y2))) ∧(∀y3 : ¬Q(y3) ∨ Q(y3)) ∧ (∀y4 : ¬Q(y4) ∨ ¬P (f (y4))) KI, SS 09, F olien P r.Logik Seite 18, 18. Juni2009 Grundresolution Resolutionsschritt ist analog zur Resolution in Aussagenlogik: Elternklausel 1: Elternklausel 2: Resolvente: L, A1, . . . , Am ¬L, B1, . . . , Bn A1, . . . , Am, B1, . . . , Bn Das Resolutionsverfahren vervollständigt Klauselmengen (analog zur Aussagenlogik) Erfolg, wenn leere Klausel erzeugt wurde. Stopp, wenn keine neuen Klauseln erzeugbar sind: Erfüllbar KI, SS 09, F olien P r.Logik Seite 19, 18. Juni2009 Grundresolution: Vollständigkeit Satz Jede unerfüllbare Grundklauselmenge ist mit Grundresolution widerlegbar. =⇒ Grundresolution ist ein Grundklauselmengen. Entscheidungsverfahren Das folgt direkt aus den Sätzen zur Aussagenlogik. KI, SS 09, F olien P r.Logik Seite 20, 18. Juni2009 für Allgemeine Resolution (Prädikatenlogik) Man braucht: komplementär machen“. ” P (x) ¬P (y) und x 7→ y ist eine passende Substitution KI, SS 09, F olien P r.Logik Seite 21, 18. Juni2009 Resolution mit Unifikation KI, SS Elternklausel 1: Elternklausel 2: L, A1, . . . , Am ¬L0, B1, . . . , Bn Resolvente: σ(A1, . . . , Am, B1, . . . , Bn) 09, F olien P r.Logik Seite 22, 18. Juni2009 σ ist Substitution mit σ(L) = σ(L0) Beispiel: modus ponens Historisches Beispiel: Alle Menschen sind sterblich, Sokrates ist ein Mensch, also ist Sokrates sterblich. M (So) ∧ (∀y : (M (y) ⇒ S(y))) ⇒ S(So) Klauselmenge zur Negation: ¬(M (So) ∧ (M (y) ⇒ S(y)) ⇒ S(So)) {M (So)} {¬M (y) ∨ S(y)} {¬S(So)} 1. Resolvente: {S(So)} aus {M (So)} und {¬M (y) ∨ S(y)} mit Substitution y 7→ So 2. Resolvente: ∅ aus {S(So)} und {¬S(So)} KI, SS 09, F olien P r.Logik Seite 23, 18. Juni2009 Extra Regel: Faktorisierung Elternklausel: L, L0, K1, . . . , Km Faktor: σ(L, K1, . . . , Km) σ(L) = σ(L0) z.B. {P (x) ∨ P (y)} hat {P (y)} als Faktor mit Substitution x 7→ y. KI, SS 09, F olien P r.Logik Seite 24, 18. Juni2009 Resolutionskalkül Der Resolutionskalkül transformiert Klauselmengen S wie folgt: 1. S → S ∪ {R}, wobei R eine Resolvente 2. S → S ∪ {F }, wobei F ein Faktor Diese Transformationen werden iteriert (nicht-deterministisch) Der Resolutionskalkül terminiert mit Erfolg, wenn ∅ ∈ S. Antwort: die Eingabe ist widersprüchlich KI, SS 09, F olien P r.Logik Seite 25, 18. Juni2009 Beispiel: (Variante des Russelschen Widerspruchs) das Beispiel zeigt auch, dass Faktorisierung notwendig ist. Der Friseur rasiert alle, die sich nicht selbst rasieren ∀x : ¬(rasiert(x, x)) ⇔ rasiert(Friseur, x) 1. {rasiert(x, x), rasiert(Friseur, x)}, 2. {¬rasiert(Friseur, y), ¬rasiert(y, y)} Klauselmenge: KI, SS 09, F olien P r.Logik Seite 26, 18. Juni2009 Beispiel: Friseur Widerlegung Faktorisierung von {rasiert(x, x), rasiert(Friseur, x)} mit {x 7→ Friseur} ergibt rasiert(Friseur, Friseur) Faktorisierung von {¬rasiert(Friseur, y), ¬rasiert(y, y)} {y 7→ Friseur} ergibt : ¬rasiert(Friseur, Friseur) Resolution ergibt leere Klausel Ohne Faktorisierung ist in diesem Beispiel keine Resolutions-Widerlegung möglich. KI, SS 09, F olien P r.Logik Seite 27, 18. Juni2009 mit Beispiel: Resolution Beweis der Transitivität der Teilmengenrelation mit Resolution Axiom: ∀x, y : x ⊆ y ⇔ ∀w : w ∈ x ⇒ w ∈ y Theorem: ∀x, y, z : x ⊆ y ∧ y ⊆ z ⇒ x ⊆ z Klauselform von H1: H2: H3: C1: C2: C3: KI, SS Axiom ∧ ¬Theorem: ¬x ⊆ y, ¬w ∈ x, w ∈ y x ⊆ y, f (x, y) ∈ x x ⊆ y, ¬f (x, y) ∈ y a⊆b b⊆c ¬a ⊆ c 09, F olien P r.Logik Seite 28, 18. Juni2009 (⇒ Teil der Definition) (zwei ⇐ Teile der Definition, f ist die Skolem Funktion für w) (drei Teile der negierten Behauptung, a, b, c sind Skolem Konstanten für x, y, z) Beispiel: Resolutionswiderlegung H1: H2: H3: C1: C2: C3: ¬x ⊆ y, ¬w ∈ x, w ∈ y x ⊆ y, f (x, y) ∈ x x ⊆ y, ¬f (x, y) ∈ y a⊆b b⊆c ¬a ⊆ c H1,1 & C1, H1,1 & C2, H2,2 & R1,1, H3,2 & R2,2, R3,2 & R4,2, R5 & (Faktorisierung) R6 & C3 KI, SS 09, F olien P r.Logik Seite 29, 18. Juni2009 {x 7→ a, y 7→ b} {x 7→ b, y 7→ c} {x 7→ a, w 7→ f (a, y)} {y 7→ c, w 7→ f (x, c)} {x 7→ a, y 7→ c} ` ` ` ` ` ` ` R1: R2: R3: R4: R5: R6: R7: ¬w ∈ a, w ∈ b ¬w ∈ b, w ∈ c a ⊆ y, f (a, y) ∈ b x ⊆ c, ¬f (x, c) ∈ b a ⊆ c, a ⊆ c a⊆c ∅ Unifikation Resolutions- und Faktorisierungsregel verwenden Substitutionen, die zwei Atome syntaktisch gleich machen. Diese Substitutionen nennt man Unifikatoren Gesucht: allgemeinste Unifikatoren Beispiele: Unifikator und allgemeinster Unifikator P (x), Q(x) ¬P (y), R(y) Q(a), R(a) σ = {x 7→ a, y 7→ a} σ ist Unifikator P (x), Q(x) ¬P (y), R(y) Q(y), R(y) σ = {x 7→ y} σ ist allgemeinster Unifikator KI, SS 09, F olien P r.Logik Seite 30, 18. Juni2009 Beispiel zur Unifikation P (x, y, f (z, x) = P (a, f (z, a), y) x oo ooo o o o w oo o P QQQQQQQ QQQ QQQ ( y f> z KI, SS 09, F olien P r.Logik Seite 31, ? = >> > x 18. Juni2009 a m mmm mmm m m m mv mm z P QQQQQQQ QQQ QQQ ( f @@@ @@ a y Beispiel zur Unifikation P (x, y, f (z, x) = P (a, f (z, a), y) x oo ooo o o o w oo o P QQQQQQQ QQQ QQQ ( y f> z a m mmm mmm m m m mv mm z ? = x P SSSSSSSS SSS SSS S) f @@@ @@ a z 09, F olien P r.Logik Seite 32, z ? = f >> >> a x = a y = f (z, a) KI, SS a >> > m mmm mmm m m m mv mm 18. Juni2009 a m mmm mmm m m m mv mm z P QQQQQQQ QQQ QQQ ( f @@@ @@ y a P SSSSSSSS f @@@ @@ SSS SSS S) a z f >> >> a Unifikationsalgorithmus: Eingabe: zwei Terme oder Atome s und t: Ausgabe: “nicht unifizierbar“ oder einen allgemeinsten Unifikator: ? Zustände: Menge Γ von Gleichungen s = t. ? Initialzustand: Γ0 = {s = t}. KI, SS 09, F olien P r.Logik Seite 33, 18. Juni2009 Unifikationsregeln: ? f (s1, . . . , sn) = f (t1, . . . , tn), Γ ? ? (Dekomposition) s1 = t1 , . . . , sn = tn, Γ ? x = x, Γ Γ (Tautologie) ? x = t, Γ x ∈ F V (Γ), x 6∈ F V (t) (Anwendung) ? x = t, {x 7→ t}Γ ? t = x, Γ t 6∈ V (Orientierung) ? x = t, Γ KI, SS 09, F olien P r.Logik Seite 34, 18. Juni2009 Abbruchbedingungen: ? f (. . .) = g(. . .), Γ F ail wenn f 6= g (Clash) ? x = t, Γ F ail KI, SS 09, F olien P r.Logik wenn x ∈ F V (t) und t 6= x Seite 35, 18. Juni2009 (occurs check Fehler) Beispiel ? {k(f (x, g(a, y)), g(x, h(y)) = k(f (h(y), g(y, a)), g(z, z))} qq qqq q q q x qq x MMM M& f ;; ;; a KI, SS k MMMMMM g == 09, F olien P r.Logik == x y Seite 36, ? g; ;; ; qq qqq q q qx qq = h y 18. Juni2009 f ;; ;; k LLLLLL LLL L& g= z h == = y y a g: :: :: z Beispiel ? {k(f (x, g(a, y)), g(x, h(y)) = k(f (h(y), g(y, a)), g(z, z))} ? ? → {f (x, g(a, y)) = f (h(y), g(y, a)), g(x, h(y)) = g(z, z)} ? ? → x = h(y), g(a, y) = g(y, a), g(x, h(y)) = g(z, z) KI, SS 09, F olien P r.Logik Seite 37, 18. Juni2009 (Dekomposition) (Dekomposition) Beispiel ? {k(f (x, g(a, y)), g(x, h(y)) = k(f (h(y), g(y, a)), g(z, z))} ? ? → {f (x, g(a, y)) = f (h(y), g(y, a)), g(x, h(y)) = g(z, z)} ? ? → x = h(y), g(a, y) = g(y, a), g(x, h(y)) = g(z, z) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? → x = h(y), a = y, y = a, g(x, h(y)) = g(z, z) → x = h(y), y = a, g(x, h(y)) = g(z, z) → x = h(a), y = a, g(x, h(a)) = g(z, z) ? → x = h(a), y = a, x = z, h(a) = z ? → x = h(a), y = a, x = z, z = h(a) → x = h(a), y = a, z = h(a) Unifizierte Terme: k(f (h(a), g(a, a)), g(h(a), h(a))). KI, SS 09, F olien P r.Logik Seite 38, 18. Juni2009 (Dekomposition) (Dekomposition) (Dekomposition) (Orientierung) (Anwendung, y) (Dekomposition) (Orientierung) (Anwendung,z) Beispiel ? {k(f (x, g(a, y)), g(x, h(y)) = k(f (h(y), g(y, a)), g(z, z))} qq qqq q q q x qq x k MMMMMM MMM M& f ;; ;; a g == == x ? g; ;; ; y qq qqq q q qx qq = h y f ;; ;; k LLLLLL LLL L& g= z h == = y y a g: Unifizierter Term: k(f (h(a), g(a, a)), g(h(a), h(a))). qq qqq q q q x qq k MMMMMM f ;; MMM M& ;; g ?? h h ?? a a a a KI, SS 09, F olien P r.Logik Seite 39, g; ;; ; h a 18. Juni2009 :: :: z Theoretische Eigenschaften: Unifikation Satz Der Unifikationsalgorithmus terminiert, ist korrekt und vollständig. Er gibt genau einen allgemeinsten Unifikator aus, falls er nicht abbricht. Der Unifikator ist eindeutig bis auf Variablenumbenennung “ ” Der Algorithmus kann so implementiert werden, dass er in polynomieller Zeit terminiert, es ist auch O(n ∗ log(n)) möglich. Folgerung: Der Unifikationsalgorithmus ist ausreichend zur Entscheidung der Unerfüllbarkeit einer Menge von 1-Klauseln KI, SS 09, F olien P r.Logik Seite 40, 18. Juni2009 Vollständigkeit der Resolution Begriffe: σ(C) ist Grundinstanz einer Klausel C, wenn keine Variablen mehr in σ(C) vorkommen. Satz (Gödel-Herbrand-Skolem Theorem) Zu jeder unerfüllbare Menge C von Klauseln gibt es eine endliche unerfüllbare Menge von Grundinstanzen von C. KI, SS 09, F olien P r.Logik Seite 41, 18. Juni2009 Vollständigkeit der Resolution Satz Die Resolution mit Unifikation und Faktorisierung ist vollständig. Dazu benötigt man: • den Satz von Gödel-Herbrand-Skolem, • die Vollständigkeit der Grundresolution • Ein Lemma zum Lifting Zusammenhang zwischen allgemeinen Resolutionsschritten und Grundresolutionsschritten. Hier erkennt man: die Faktorisierung ist erforderlich KI, SS 09, F olien P r.Logik Seite 42, 18. Juni2009 Eigenschaften der Resolution Es gilt: KI, SS • i.a terminiert Resolution nicht • Sätze der Prädikatenlogik sind unentscheidbar aber noch semi-entscheidbar • Resolution ist nicht gut geeignet zum Vorwärtsschließen und nicht zum Berechnen von Modellen 09, F olien P r.Logik Seite 43, 18. Juni2009 Redundanz-Elimination bei Resolution : Löschregeln: Subsumtion, Tautologie und Isoliertheit Es gibt folgende Situationen im Resolutionsbeweiser: • • • KI, SS Tautologische Klauseln werden hinzugefügt {P, ¬P, . . .} Spezialisierungen von bereits vorhandenen Klauseln werden hinzugefügt Wenn {P (x), Q} schon in M , vorhanden ist, dann sind {P (a), Q} aber auch {P (y), Q, R} Spezialisierungen neue allgemeine Klausel hergeleitet, die allgemeiner ist als schon vorhandene Klauseln 09, F olien P r.Logik Seite 44, 18. Juni2009 Isolierte Literale Sei L ein Literal in der Klausel D, die in der Klauselmenge M ist. L heißt isoliert, wenn kein L0 in M vorkommt, so dass L und L0 verschiedenes Vorzeichen haben und L und L0 unifizierbar sind. Der Isoliertheitstest kann in Zeit O(n3log(n)) durchgeführt werden. Löschregel für isolierte Literale: Lösche Klauseln aus einer Klauselmenge, wenn diese isolierte Literale enthalten. KI, SS 09, F olien P r.Logik Seite 45, 18. Juni2009 Isolierte Literale • können schon am Anfang vorhanden sein. • können durch die Anwendung von Redundanzlöschungen entstehen. Beispiel Gegeben: M := {{P (x)}, {¬P (y), Q(y)}} Resolution ergibt: {{P (x)}, {¬P (y), Q(y)}, {Q(z)}} Resolvente subsumiert Elternklausel: {{P (x)}, {Q(z)}} Jetzt sind alle Literale isoliert. KI, SS 09, F olien P r.Logik Seite 46, 18. Juni2009 Isolierte Literale: Beispiel Gegeben: M := {{P (x, x)}, {¬P (y, z), Q(y, z)}, {¬Q(a, b)}} Resolution ergibt: {{P (x, x)}, {¬P (y, z), Q(y, z)}, {Q(z, z)}, {¬Q(a, b)}} ¬Q(z, z) ist jetzt isoliert. Löschung bewirkt eine Schleife KI, SS 09, F olien P r.Logik Seite 47, 18. Juni2009 Löschen isolierter Literale: Korrektheit und Vollständigkeit Es gilt: Die Löschregel für isolierte Literale kann zum Resolutionskalkül hinzugenommen werden, ohne die Widerlegungsvollständigkeit zu verlieren. Argumentation: Die isolierten Literale kommen auch in der Resolvente vor, deshalb können die entspr. Resolventen nicht mehr zur leeren Klausel führen KI, SS 09, F olien P r.Logik Seite 48, 18. Juni2009 Löschen isolierter Literale: Beispiel Betrachte die Klauselmenge C1 : C2 : C3 : C4 : P (a) P (b) ¬Q(b) ¬P (x), Q(x) Klauselmenge ist unerfüllbar und hat keine isolierten Literale. C1 + C4 ergibt die Resolvente {Q(a)}. Resolvente hat ein isoliertes Literal: Sackgasse in der Suche. KI, SS 09, F olien P r.Logik Seite 49, 18. Juni2009 Subsumtion Die Klausel D subsumiert die Klausel E, wenn es eine Substitution σ gibt, so dass σ(D) ⊆ E Löschregel für subsumierte Klauseln: Wenn Klausel D die Klausel E subsumiert und E hat nicht weniger Literale als D, dann lösche die Klausel E KI, SS 09, F olien P r.Logik Seite 50, 18. Juni2009 Subsumtion: Beispiele {P (x)} subsumiert {P (a), P (b), Q(y)}. P subsumiert {P, S}. {Q(x), R(x)} subsumiert {R(a), S, Q(a)} {E(a, x), E(x, a)} subsumiert {E(a, a)} D.h eine Klausel subsumiert einen ihren Faktoren. In diesem Fall wird nicht gelöscht. Vorsicht {¬P (x), P (f (x))} impliziert {¬P (x), P (f (f (x))}, aber subsumiert nicht. KI, SS 09, F olien P r.Logik Seite 51, 18. Juni2009 Subsumtion: Komplexität Der Test, ob eine Klausel C eine andere subsumiert ist N P-vollständig. Die Komplexität kommt von den Permutationsmöglichkeiten der Literale beim Subsumtionstest. KI, SS 09, F olien P r.Logik Seite 52, 18. Juni2009 Subsumtion: Vorwärts- und Rückwärtsanwendung Vorwärtsanwendung: Lösche Resolventen / Faktoren, die von Klauseln aus der Klauselmenge subsumiert werden. Wichtige Löschregel in resolutionsbasierten Deduktionssystemen Rückwärtsanwendung Verwende neueste Resolvente zum Löschen von vorhandenen Klauseln nicht immer implementiert: kann ineffizient sein KI, SS 09, F olien P r.Logik Seite 53, 18. Juni2009 Resolution mit Subsumtion: Vollständigkeit Satz Der Resolutionskalkül zusammen mit Subsumtions-Löschung ist widerlegungsvollständig. Argumentation: Wenn es eine Resolutionsherleitung der leeren Klausel gibt, dann auch eine ohne die subsumierten Klauseln Evtl. in der Herleitung eine Klauseln durch die subsumierende Klausel ersetzen. KI, SS 09, F olien P r.Logik Seite 54, 18. Juni2009 Tautologie-Löschung Eine Klausel D ist eine Tautologie, wenn D unter allen Interpretationen wahr ist. Syntaktische Erkennung: D ist Tautologie, wenn zwei komplementäre Literale L, L0 in D enthalten sind Dieser Test ist in Zeit O(n3) durchführbar. Löschregel: tautologische Klauseln kann man löschen. KI, SS 09, F olien P r.Logik Seite 55, 18. Juni2009 Tautologielöschung: Beispiele {P a, ¬P a}, {Qa, P (f (x)), ¬P (f (x), Qb} {P x, ¬P x}. Keine Tautologien: KI, SS 09, F olien P r.Logik Seite 56, {P x, ¬P f (y)} {¬P (x, y), P (y, x)}. 18. Juni2009 Widerlegungsvollständigkeit Satz Der Resolutionskalkül zusammen mit • Löschung subsumierter Klauseln, • Löschung von Klauseln mit isolierten Literalen • Löschung von Tautologien ist widerlegungsvollständig. Die Davis-Putnam-Prozedur für aussagenlogische Klauselmengen hat als Regeln: Resolution, Subsumtionsregel, Isolationsregel aber auch noch Fallunterscheidung KI, SS 09, F olien P r.Logik Seite 57, 18. Juni2009 Einige Weitere Einschränkung der Resolution Set-of-Support UR-Resolution Unit-Resolution Input-Resolution Lineare-Resolution SL-Resolution SL-Resolution für Hornklauseln KI, SS 09, F olien P r.Logik Seite 58, 18. Juni2009 Set-of-Support Aufteilung der Klauselmenge in: • • Klauseln aus den Voraussetzungen Klauseln aus dem negierten Theorem Set-of-Support = Resolution: Faktorisierung: KI, SS 09, F olien P r.Logik Seite 59, (widerspruchsfrei) SOS-Menge alle Klauseln, Resolventen, Faktoren, die eine Vorgängerklausel in SOS haben. nur erlaubt, wenn eine Elternklausel in SOS ist. nur erlaubt, wenn die Klausel in SOS ist. 18. Juni2009 Beispiel Klauselmenge: SOS Rest-Klauselmenge: {P, Q}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} {P, Q} {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} Resolventen: SOS danach: {P, Q}, {¬P, Q} ` {Q} {P, Q}, {Q} KI, SS 09, F olien P r.Logik Seite 60, 18. Juni2009 Unit-Resolution Bei jedem Resolutionsschritt muss mindestens eine Elternklausel eine Unit sein. Faktorisierung ist erlaubt. Fakt: Nicht widerlegungsvollständig KI, SS 09, F olien P r.Logik Seite 61, 18. Juni2009 Eingaberesolution Def. Bei jedem Resolutionsschritt muss mindestens eine Elternklausel aus der Eingabemenge sein. Eigenschaften: Eine Klauselmenge ist genau dann mit Unit-Resolution widerlegbar, wenn sie mit Inputresolution widerlegbar ist. D.h. Eingabe und Unit-Resolution sind äquivalent KI, SS 18. Juni2009 09, F olien P r.Logik Seite 62, Lineare Resolution Definition Initial: Klauselmenge; eine Klausel wird als Zentralklausel Z0 ausgewählt. Iterationsschritt: aktuelle Zentralklausel + andere Klausel ergibt neue Zentralklausel. Zi + andere Klausel → Zi+1 implizite Faktorisierung (vor Resolution) ist erlaubt Eigenschaft: Lineare Resolution ist widerlegungsvollständig KI, SS 09, F olien P r.Logik Seite 63, 18. Juni2009 Lineare Resolution, Beispiel Klauselmenge {P, Q}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} ist unerfüllbar: lineare Resolution P, Q P VorgängerSchritt Q # KI, SS 09, F olien P r.Logik Seite 64, ¬Q, P qq qqq q q qq qx qq ¬P, Q qq qqq q q qq qx qq ¬P ¬P, ¬Q p pp ppp p p px pp 2 18. Juni2009 allgemeine Resolution P, Q< << << << P ¬P, Q EE ¬Q, P | || || | |~ | RRR RRR RRR RRR RRR RR( EE EE EE " 2 l lll lll l l ll lll lu ll ¬P ¬Q, ¬P v vv vv v v vz v Lineare Resolution, Beispiel Faktorisierung ist notwendig: {{P (x), P (y)}, {¬P (x), ¬P (y)}}. In diesem Beispiel: Lineare Resolution ohne Faktorisierung ergibt immer eine Zentralklausel der Länge zwei, KI, SS 09, F olien P r.Logik Seite 65, 18. Juni2009 Hornklauselmengen Definitionen positives Literal negatives Literal := := Atom ; Literal ohne Negation negiertes Atom Hornklausel definite Hornklausel negative Hornklausel, Anfrage := := := Klausel mit maximal einem positiven Literal. Klausel mit genau einem positiven Literal. Klausel ohne positive Literale. Hornklauselmenge := Klauselmenge nur aus Hornklauseln KI, SS 09, F olien P r.Logik Seite 66, 18. Juni2009 Hornklauselmengen Eigenschaften: • • • • KI, SS definite Hornklauseln kann man schreiben als L1 ∧ . . . ∧ Ln ⇒ Ln+1 Klauseln ohne positive Literale sind Hornklauseln Eine unerfüllbare Hornklauselmenge enthält mindestens eine positive Unitklausel. und mindestens eine negative Hornklausel Unerfüllbare Hornklauselmengen sind widerlegbar mittels Unit-Resolution. 09, F olien P r.Logik Seite 67, 18. Juni2009 SL-Resolution SL-Resolution = Lineare Resolution plus Selektionsfunktion D.h. Beschränkung der (für die Resolution) erlaubten Literale Wir betrachten ab jetzt: SL-Resolution für Hornklauselmengen Annahme: Hornklauseln haben Reihenfolge der negativen Literale: KI, SS 09, F olien P r.Logik Seite 68, 18. Juni2009 SL-Resolution für Hornklauselmengen Vorgehen der linearen Resolution: • • • • Menge von initialen (definiten) Horn Klauseln Anfrage = initiale Zielklausel (nur negative Literale) Weitere Zielklausel (auch rein negativ) = Resolvente aus Zielklausel und einer initialen Klausel Selektionsfunktion: Das letzte Literal wird zuerst wegresolviert Beispiel: Zielklausel initiale (passende Klausel): Resolvente (neues Ziel): KI, SS 09, F olien P r.Logik Seite 69, 18. Juni2009 ¬P, ¬Q, ¬R P, ¬A, ¬B, ¬C negA, ¬B, ¬C, ¬Q, ¬R, SL-Resolution für Hornklauselmengen: Eigenschaften Widerlegungsvollständig für Hornklauseln, auch ohne Faktorisierung Es gibt immer eine Gesamtsubstitution in die Anfrage, wenn ein Widerspruch gefunden wird Die Gesamtsubstitution in die Anfrage bei Erfolg kann man als Antwort deuten. KI, SS 09, F olien P r.Logik Seite 70, 18. Juni2009 Beispiel SL-Resolution SL-Resolution mit Horn Klauseln C1: C2: C3: C4: C5: Prolog-Reihenfolge: A(x, y) ⇐ P (x, y) A(x, z) ⇐ P (x, y) ∧ A(y, z) P (a, b) P (b, c) P (c, d) Theorem: Negiertes Theorem: KI, SS 09, F olien P r.Logik Seite 71, 18. Juni2009 Klausel Notation: A(x, y) ∨ ¬P (x, y) A(x, z) ∨ ¬P (x, y) ∨ ¬A(y, z) ∃v : A(a, v) ∧ P (v, d)? ¬A(a, v) ∨ ¬P (v, d) Suchraum für Selektionsfunktionen Beispiele für (nicht-Prolog) Selektionsfunktionen sind: 1. Das am stärksten instanziierte Literal zuerst 2. Das am wenigsten instanziierte Literal zuerst. Die zuletzt eingeführten Literale, die zuerst wegresolviert werden, sind unterstrichen. Suchstrategien: KI, SS 09, F olien P r.Logik Seite 72, Tiefensuche mit Backtracking Breitensuche zu speicher-aufwändig 18. Juni2009 Am meisten instanziierte Literale zuerst ¬A(a, v); ¬P (v, d) iiii iiii i i i i iiii C1 iiii ¬P (a, v); ¬P (v, d) ¬P (a, y); ¬A(y, v); ¬P (v, d) y7→b;C3 v7→b;C3 ¬P (b, d) Fehler C2 ¬A(b, v); ¬P (v, d) WWWWW WWWWW WWC2 WWWWW C1 WWWWW WW ¬P (b, y 0 ); ¬A(y 0 , v); ¬P (v, d) ¬P (b, v)¬P (v, d) v7→c;C4 ¬P (c, d) C5 C1: C2: C3: C4: C5: Anfrage KI, SS Erfolg Klausel: A(x, y) ∨ ¬P (x, y) A(x, z) ∨ ¬P (x, y) ∨ ¬A(y, z) P (a, b) P (b, c) P (c, d) ¬A(a, v) ∨ ¬P (v, d) 09, F olien P r.Logik Seite 73, 18. Juni2009 y 0 7→c;C4 ¬A(c, v); ¬P (v, d) C1 TTTT TTTTC2 TTTT TTTT TTTT ¬P (c, v); ¬P (v, d) v7→d;C5 ¬P (d, d) Fehler Rekursion Am wenigsten instanziierte Literale zuerst ¬A(a, v); ¬P (v, d) ii iiii i i i iii iiii C1 iiii ¬P (a, v); ¬P (v, d) v7→b;C3 ¬P (b, d) Fehler C2 ¬P (a, y); ¬A(y, v); ¬P (v, d) XXXXX XXXXX XXXC2 XXXXX C1 XXXXX XXXXX X 0 ¬P (y, v); ¬P (a, y); ¬P (v, d) ¬P (y, y ); ¬A(y 0 , v); ¬P (a, y), ¬P (v, d) WWWWW QQQ XXXXX WWWWW X QQQ WWW∞ QQQ XXXXXXXXX WWWWW y7→a,v7→b C3 XXXXX QQQ WWWWW XXXXX QQQ WWWWW XXXXX QQQ WWWWW X QQC4 X X C5 X X Q X XXXXX QQQ ¬P (a, a)¬P (b, d) · X Q X XXXXX y7→b,v7→c QQQQ y7→c,v7→d X X QQQ XXXXX QQQ XXXXX XXXXX QQQ XXXXX QQQ XX Fehler C1: C2: C3: C4: C5: Anfrage KI, SS Klausel: A(x, y) ∨ ¬P (x, y) A(x, z) ∨ ¬P (x, y) ∨ ¬A(y, z) P (a, b) P (b, c) P (c, d) ¬A(a, v) ∨ ¬P (v, d) 09, F olien P r.Logik Seite 74, 18. Juni2009 ¬P (a, b); ¬P (c, d) ¬P (a, c); ¬P (d, d) C3 ¬P (c, d) C5 Erfolg Fehler