Logik Sommersemester 2009 Institut für Theoretische Informatik Leibniz Universität Hannover Lösung zum 5. Übungsblatt 18.05.2009 Stundenübung Aufgabe 1: Gegeben sei die folgende Einschränkung des Resolutionskalküls: Zwei Klauseln K1 und K2 dürfen resolviert werden, falls K1 oder K2 nur ein Literal enthält. Diese Einschränkung heißt auch Einheitsresolution. a) Zeigen Sie, dass die Einheitsresolution nicht widerlegungsvollständig ist. b) Begründen Sie die Widerlegungsvollständigkeit der Einheitsresolution für die Klasse der Hornformeln. Lösung: a) Die Klauselmenge {{p, q}, {¬p, q}, {p, ¬q}, {¬p, ¬q}} ist unerfüllbar. Da keine der Klauseln nur ein Literal besitzt, kann kein einziger Ableitungsschritt durchgeführt werden. Insbesondere kann die leere Klausel nicht abgeleitet werden. b) Sei ϕ eine unerfüllbare Hornformel. Wir vollziehen den Hornformel-Erfüllbarkeitstest nach. Für Klauseln der Form 1 → p ≡ p setzt der Algorithmus p auf Eins, wodurch p auf den linken Seiten anderer Implikationen nicht mehr berücksichtigt werden muss. Bei der Einheitsresolution können wir entsprechend p verwenden, um alle ¬p aus Klauseln zu eliminieren. Dies entspricht aber gerade der Elimination der p’s auf linken Implikationsseiten. Sind sämtliche Variablen auf der linken Seite einer Implikation q1 ∧ . . . ∧ ql → q auf Eins gesetzt, so setzt der Algorithmus auch q auf Eins. Bei der Resolution sind entsprechend q1 , . . . , qk eliminiert, also steht q als Klausel zum Resolvieren zur Verfügung. Wegen ϕ unerfüllbar, wird der Algorithmus schließlich alle Variablen einer Implikation p1 ∧ . . . ∧ pk → 0 auf Eins gesetzt haben. Entsprechend wurden die p1 , . . . , pk bei der Resolution eliminiert. Es wurde also die leere Klausel abgeleitet. ¤ Aufgabe 2: Sei ϕ = (¬u ∨ w ∨ y) ∧ w ∧ (¬w ∨ x) ∧ (z ∨ ¬y) ∧ (¬z ∨ w) ∧ (u ∨ w) ∧ ¬x ∧ (v ∨ u ∨ y) ∧ ¬y und f die Heuristik, die aus einer Klauselmenge Γ die aussagenlogische Variable p mit dem kleinsten Wert h(p) = |{C ∈ Γ | p ∈ C}| · |{C ∈ Γ | ¬p ∈ C}| auswählt. Haben zwei Variablen denselben Wert, so soll die lexikalisch kleinere ausgewählt werden. Überprüfen Sie mit dem Davis-Putnam-Algorithmus und der Heuristik f , ob ϕ erfüllbar ist. Lösung: Zunächst ist Γ0 = {{¬u, w, y}, {w}, {¬w, x}, {z, ¬y}, {¬z, w}, {u, w}, {¬x}, {v, u, y}, {¬y}} Wir geben den Klauseln die Namen K1 , . . . , K9 . 1. Schritt: h(u) = 2, h(w) = 4, h(y) = 4, h(x) = 1, h(z) = 1, h(v) = −. Wähle also x aus. Man erhält ∆1 = {{¬w}} = {K10 } und Γ1 = {K1 , K2 , K4 , K5 , K6 , K8 , K9 , K10 }. 2. Schritt: h(u) = 2, h(w) = 4, h(y) = 4, h(x) = −, h(z) = 1, h(v) = −. Wähle also z aus. Man erhält ∆2 = {{¬y, w}} = {K11 } und Γ2 = {K1 , K2 , K6 , K8 , K9 , K10 , K11 }. 3. Schritt: h(u) = 2, h(w) = 4, h(y) = 4, h(x) = −, h(z) = −, h(v) = −. Wähle also u aus. Man erhält ∆3 = {{w, y}, {v, y, w}} = {K12 , K13 } und Γ3 = {K2 , K9 , K10 , K11 , K12 , K13 }. 4. Schritt: h(u) = −, h(w) = 4, h(y) = 4, h(x) = −, h(z) = −, h(v) = −. Wähle also w aus. Man erhält ∆4 = {¤, {¬y}, {y}, {v, y}}. Ausgabe: ϕ ist nicht erfüllbar. ¤ Hausübung Aufgabe 3: Das Pigeonhole-Problem besteht darin, n + 1 Informatiker auf n Sitzplätze zu verteilen, sodass auf jedem Sitzplatz höchstens ein Informatiker sitzt. a) Geben Sie eine Formel ϕn in KNF an, die das Problem beschreibt. Schätzen Sie die Anzahl der Konjunktionsglieder ab! b) Zeigen Sie mit dem Resolutionskalkül, dass die Pigeonhole-Formel ϕ2 unerfüllbar ist. (Hinweis: Man verliert nicht so leicht den Überblick, wenn man den Davis-PutnamAlgorithmus anwendet.) Lösung: a) Die Variable pi,s stehe für: Informatiker i sitzt auf Sitzplatz s. Wir zerlegen das Problem in zwei Teile. 1) Jeder der n + 1 Informatiker sitzt auf einem der n Plätze, wird durch ψn beschrieben: ψn = n+1 n ^_ pi,s i=1 s=1 2) σn beschreibt, dass je zwei Informatiker nicht auf demselben Platz sitzen: σn = n ^ ^ ¬pi,s ∨ ¬pj,s s=1 1≤i<j≤n+1 Es ist nun ϕn = ψn ∧ σn . Die Anzahl der Klauseln in ψn ist in O(n), die der Klauseln in σn ist in O(n3 ). Insgesamt hat ϕn also O(n3 ) Klauseln. Offensichtlich sind die Formeln ϕn nicht erfüllbar. Mit Hilfe der Pigeonhole-Formeln konnte A. Haken 1985 erstmals eine untere exponentielle Schranke für die Komplexität des Resolutionskalküls beweisen. V V V W b) Es ist ϕ2 = 3i=1 2s=1 pi,s ∧ 2s=1 1≤i<j≤3 ¬pi,s ∨ ¬pj,s . Als Klauselmenge Γ2 ergibt sich Γ2 = {{p1,1 , p1,2 }, {p2,1 , p2,2 }, {p3,1 , p3,2 }, {¬p1,1 , ¬p2,1 }, {¬p1,1 , ¬p3,1 }, {¬p2,1 , ¬p3,1 }, {¬p1,2 , ¬p2,2 }, {¬p1,2 , ¬p3,2 }, {¬p2,2 , ¬p3,2 }} Die Klauseln seien in obiger Reihenfolge mit K1 , . . . , K9 bezeichnet. Nun liefern die folgenden Klauselpaare jeweils den nachfolgenden Resolventen: (K1 , K4 ) liefert K10 = {p1,2 , ¬p2,1 }. (K1 , K5 ) liefert K11 = {p1,2 , ¬p3,1 }. (K2 , K10 ) liefert K12 = {p1,2 , p2,2 }. (K3 , K11 ) liefert K13 = {p1,2 , p3,2 }. (K2 , K6 ) liefert K14 = {p2,2 , ¬p3,1 }. (K3 , K14 ) liefert K15 = {p2,2 , p3,2 }. (K7 , K15 ) liefert K16 = {p3,2 , ¬p1,2 }. (K13 , K16 ) liefert K17 = {p3,2 }. (K9 , K12 ) liefert K18 = {p1,2 , ¬p3,2 }. (K8 , K18 ) liefert K19 = {¬p3,2 }. (K17 , K19 ) liefert ¤. ¤ Aufgabe 4: „Meiers werden uns heute abend besuchen“, kündigt Herr Müller an. „Die ganze Familie, also Herr und Frau Meier nebst ihren drei Söhnen Tim, Kay und Uwe?“ fragt Frau Müller bestürzt. Darauf Herr Müller, der gerne mit seiner Frau Denkaufgaben löst: „Nein, ich will es so formulieren: Wenn Vater Meier kommt, dann bringt er auch seine Frau mit. Mindestens einer der beiden Söhne Uwe und Kay kommt. Entweder kommt Frau Meier oder es kommt Tim. Entweder kommen Tim und Kay oder beide nicht. Und wenn Uwe kommt, dann kommen auch Kay und Herr Meier. So, jetzt ist klar, wer uns heute abend besuchen wird.“ a) Formalisieren Sie die Aussagen. Verwenden Sie die aussagelogischen Variablen pV , pM , pU , pK , pT . pV bedeute bspw. dass Vater Meier kommt. b) Schreiben Sie die Konjunktion der unter a) gewonnenen Aussagen als Klauselmenge Γ. c) Es sei ϕ = pK ∧ pT ∧ ¬pM ∧ ¬pU ∧ ¬pV . Geben Sie eine Resolutionsherleitung der leeren Klausel aus Γ ∪ {¬ϕ} an. Zeigen Sie außerdem, dass ϕ eine Folgerung aus der Klauselmenge Γ ist. Lösung: a) Die formalisierten Aussagen lauten: pV → pM , pU ∨ pK , pM ↔ ¬pT , pT ↔ pK , pU → pV ∧ pK . b)Da A ↔ B ≡ (A → B) ∧ (B → A) ≡ (¬A ∨ B) ∧ (¬B ∨ A) und A → B ∧ C ≡ (¬A ∨ (B ∧ C)) ≡ (¬A ∨ B) ∧ (¬A ∨ C), ist die Konjunktion der genannten Formeln äquivalent zu der folgenden Formel in KNF: (¬pV ∨ pM ) ∧ (pU ∨ pK ) ∧ (¬pM ∨ ¬pT ) ∧ (pT ∨ pM ) ∧ (¬pT ∨ pK ) ∧ (¬pK ∨ pT )∧ (¬pU ∨ pV ) ∧ (¬pU ∨ pK ). Nach unseren Definitionen entspricht dieser KNF die folgende Klauselmenge : Γ = {{¬pV , pM }, {pU , pK }, {¬pM , ¬pT }, {pT , pM }, {¬pT , pK }, {¬pK , pT }, {¬pU , pV }, {¬pU , pK }}. Die Elemente nennen wir, in dieser Reihenfolge, K1 , . . . , K8 c) Zunächst soll ¤ aus Γ∪{¬ϕ} hergeleitet werden. Es sei K9 = {¬pK , ¬pT , pM , pU , pV }. Nun liefern die folgenden Klauselpaare den nachfolgenden Resolventen: (K5 , K9 ) liefert K10 = {¬pT , pM , pU , pV }. (K7 , K10 ) liefert K11 = {¬pT , pM , pV }. (K3 , K11 ) liefert K12 = {¬pT , pV }. (K1 , K3 ) liefert K13 = {¬pV , ¬pT }. (K12 , K13 ) liefert K14 = {¬pT }. (K2 , K6 ) liefert K15 = {pU , pT }. (K6 , K8 ) liefert K16 = {pT , ¬pU }. (K15 , K16 ) liefert K17 = {pT }. (K14 , K17 ) liefert ¤. Für den zweiten Teil zeigen wir allgemein Γ ∪ {¬ϕ} |= ¤ ⇔ Γ |= ϕ: Γ ∪ {¬ϕ} ² ¤ ⇔ es gibt keine Belegung α mit α ² Γ und α ² ¬ϕ ⇔ es gibt keine Belegung α mit α ² Γ und α 2 ϕ ⇔ f.a. Belegungen α gilt α ² Γ ⇒ α ² ϕ ⇔ Γ²ϕ ¤ Abgabe: 25.05.2009 vor der Vorlesung