Lösung zum 5. Übungsblatt - THI

Werbung
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
Herunterladen