Universität Paderborn 13. April 2004 Institut für Informatik Prof. Dr

Werbung
Universität Paderborn
Institut für Informatik
Prof. Dr. Hans Kleine Büning
13. April 2004
Musterlösung zur 6. Übung zur Vorlesung Logik für die Informatik
Aufgabe 1:
¯
n
o
¯
Sei S eine geschlossene Formelmenge und D = :Mϕϕ ¯ ϕ ∈ S . Eine maximale konsistente Teilmenge von S ist eine Teilmenge C ⊆ S, die erfüllbar ist, wobei jedoch
alle Mengen B, mit C ⊂ B ⊆ S, nicht erfüllbar sind. Beweisen Sie die folgenden
Aussagen.
a) Ist E eine Extension von (D, ∅), dann ist E ∩ S eine maximale konsistente
Teilmenge von S.
b) Ist C eine maximale konsistente Teilmenge von S, dann existiert eine Extension E von (D, ∅), so dass C = E ∩ S.
Wir beweisen zuerst b).
Sei C ⊆ S eine maximale konsistente Teilmenge von S. Wir betrachten nun die
Menge Th (C). Nach Definition von C ist Th (C) konsistent. Wenn ϕ ∈ S \ C ist,
dann ist ¬ϕ ∈ Th (C), da nach Definition von C die Menge C ∪ {ϕ} inkonsistent
ist. Wendet man nun die induktive Definition der Extension auf Th (C) an, so kann
man wegen dieser Eigenschaft kein ϕ ∈ S \ C hinzufügen. Es ergibt sich
E0 = W = ∅
E1 = Th (E0 ) ∪ C = C
E2 = Th (E1 ) ∪ ∅ = Th (C)
Ei = Th (C) (i = 2, 3, ...).
Somit ist Th (C) eine Extension von (D, ∅). Außerdem gilt für alle ϕ ∈ S \ C wegen
der Konsistenz von Th (C) und ¬ϕ ∈ Th (C), dass ϕ 6∈ Th (C). Es ergibt sich also
C = Th (C) ∩ S.
Zu a)
Nach der Definition der Extension hat eine solche Extension E immer die Form
Th (W ∪ T ), wobei T eine Menge von Folgerungen durch D ist. Da hier W = ∅
gilt, erhält man E = Th (T ), für ein T ⊆ S. Da W konsistent ist, muss E ebenfalls
konsistent sein. Daher ist E ∩ S eine konsistente Teilmenge von S. Wegen T ⊆ E
und T ⊆ S erhält man außerdem T ⊆ E ∩ S.
Nehmen wir nun an, dass E ∩S nicht maximal ist, so muss T nicht maximal gewesen
sein. Sei nun C ⊃ T eine maximale konsistente Teilmenge von S. Nach dem Beweis
zu b) ist E ′ = Th (C) eine Extension der gegebenen Default-Theorie. Da E ′ ∩S = C
eine maximale konsistente Teilmenge von S ist, erhält man E 6= E ′ . Wegen T ⊆ C
gilt außerdem E = Th (T ) ⊆ Th (C) = E ′ , weshalb E ⊂ E ′ gilt.
Wir betrachten nun die ϕ ∈ C \ T . Für diese gilt ϕ ∈ E ′ . Es muss nun mindestens
ein ϕ geben, für das ¬ϕ ∈ E gilt, da sonst nach Definition der Extension ϕ durch ein
1
Default ableitbar und somit ϕ ∈ E gelten würde. Dies widerspräche jedoch E ⊂ E ′ .
Für dieses ϕ gilt demnach
und
¬ϕ ∈ E ⊂ E ′
ϕ ∈ E′.
Weshalb E ′ inkonsistent wäre. Dies widerspricht jedoch der Voraussetzung, dass C
eine konsistente Menge ist. Somit muss E ∩ S maximal gewesen sein. Mit der oben
gezeigten Konsistenz von E ∩ S ergibt sich die Aussage.
Aufgabe 2:
Über das Monster von Loch Ness sind folgende Informationen bekannt.
• Wenn Nessie ein Fabelwesen ist, dann ist sie unsterblich.
• Wenn sie kein Fabelwesen ist, dann ist sie sterblich und ein Tier.
• Wenn Nessie unsterblich oder ein Tier ist, dann ist sie normalerweise ein
Drache und ein Fabelwesen.
• Sie ist normalerweise eine Touristenattraktion, wenn sie ein Drache ist.
Wir
F
S
T
D
A
verwenden die
- Nessie ist
- Nessie ist
- Nessie ist
- Nessie ist
- Nessie ist
folgenden Variablen.
ein Fabelwesen
sterblich
ein Tier
ein Drache
eine Touristenattraktion
Dies ergibt folgende Default-Theorie (D, W ).
½
¾
¬S ∨ T : M (D ∧ F )
D : M (A)
D =
δ1 =
, δ2 =
D∧F
A
W = {F → ¬S, ¬F → S ∧ T }
= {¬F ∨ ¬S, F ∨ (S ∧ T )}
= {¬F ∨ ¬S, F ∨ S, F ∨ T )}
Daraus können die folgenden induzierten Klauseln gewonnen werden.
(D, {δ1 }), (F, {δ1 }), (A, {δ2 }), (¬F ∨ ¬S, {}), (F ∨ S, {}), (F ∨ T, {})
Um A zu beweisen wird (¬A, {}) der Klauselmenge hinzugefügt. Man kann dann
folgenden linearen Resolutionsbeweis führen.
L0 :
(¬A, {}) und (A, {δ2 }) ergibt (⊔, {δ2 })
Nun muss ein weiterer linearer Resolutionsbeweis gefunden werden, um die Voraussetzungen von δ2 , also D herzuleiten. Dazu nehmen wir wiederum (¬D, {}) an.
L1 :
(¬D, {}) und (D, {δ1 }) ergibt (⊔, {δ1 })
Jetzt betrachten wir die Voraussetzungen für δ1 , also ¬S ∨ T . Negiert man diese, so
erhält man S ∧ ¬T , wodurch wir die zwei Klauseln (S, {}) und (¬T, {}) erhalten.
2
Diese werden im folgenden linearen Resolutionsbeweis verarbeitet.
L2 :
(S, {}) und (¬F ∨ ¬S, {}) ergibt (¬F, {})
(¬F, {}) und (F ∨ T, {}) ergibt (T, {})
(T, {}) und (¬T, {}) ergibt (⊔, {})
Hier wurde kein Default benutzt, weshalb der Beweis somit abgeschlossen ist. Der
gesuchte Top-Down-Default-Beweis ist {}, {δ1 }, {δ2 }.
Aufgabe 3:
a) ∀x x ∨ y ≈ y
Präfixtyp: Π1
a) ∃x x ≈ 1
Präfixtyp: Σ1
c) ∀x∃y∃z (x ∨ z) ∧ (y ∨ ¬z) ≈ 1
Präfixtyp: Π2
d) ∃x∀y∃z (¬x ∧ z) ∨ (x ∧ y ∧ z) ≈ 1
Präfixtyp: Σ3
e) ∀u∀x∃y∃z (¬u ∨ x ∨ y) ∧ (u ∨ x ∨ ¬z) ≈ 1
Präfixtyp: Π2
Um zu beweisen, dass ∀x∃y (x ∨ y) ∧ (¬x ∨ ¬y) eine Tautologie ist, betrachten wir
die Interpretation dieser Formel.
ℑ(∀x∃y (x ∨ y) ∧ (¬x ∨ ¬y)) = 1
⇔ ℑ(∃y (0 ∨ y) ∧ (1 ∨ ¬y)) = ℑ(∃y ′ (1 ∨ y ′ ) ∧ (0 ∨ ¬y ′ )) = 1
⇔ ℑ(∃y y ∧ 1) = ℑ(∃y ′ 1 ∧ ¬y ′ ) = 1
⇔ ℑ(∃y y) = ℑ(∃y ′ ¬y ′ ) = 1
⇔ ℑ(∃y y) = 1 und ℑ(∃y ′ y ′ ) = 0
⇔
ℑ(y) = 1 und ℑ(y ′ ) = 0
Für y wählen wir also y = ¬x.
Aufgabe 4:
Für die Variablen, die durch einen Existenzquantor gebundenen sind, müssen boolesche Funktionen gefunden werden, so dass diese genau den „passenden“ Wert annehmen. Diese sind jeweils von den übergeordneten allquantifizierten Variablen abhängig. Es gibt natürlich meist mehrere Möglichkeiten eine solche Funktion zu wählen.
a) ∀x∃y (x ∨ y) ∧ (¬x ∨ y)
Wähle fy (x) = 1 .
Man erhält ∀x (x ∨ 1) ∧ (¬x ∨ 1)
b) ∀x∃y (x ∨ ¬y) ∧ (¬x ∨ y)
Wähle fy (x) = x .
Man erhält ∀x (x ∨ ¬x) ∧ (¬x ∨ x)
3
c) ∀x∃y x ∧ y
Die Formel ist immer falsch, egal was man für y auswählt. Wähle fy (x) = ¬x.
Man erhält ∀x x ∧ ¬x
d) ∀x∀y∃z ¬x ∨ ¬y ∨ z
Wähle fz (x, y) = x ∧ y .
Man erhält ∀x∀y ¬x ∨ ¬y ∨ (x ∧ y)
e) ∀x∀y∃z (x ∧ y ∧ z) ∨ (x ∧ ¬y ∧ ¬z) ∨ (¬x ∧ y ∧ z) ∨ (¬x ∧ ¬y ∧ z)
Hier machen wir mal eine genauere Betrachtung, wie z beschaffen sein muss,
um die Formel zu erfüllen. Sei α = (x ∧ y ∧ z) ∨ (x ∧ ¬y ∧ ¬z) ∨ (¬x ∧ y ∧ z) ∨
(¬x ∧ ¬y ∧ z)
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
α
0
1
0
1
1
0
0
1
Man kann sehen, dass sich für jede Konfiguration von x und y ein z finden
lässt, dass α erfüllt. Uns interessieren nur die Zeilen, für die α = 1 gilt. Wir
wählen nun für z eine boolesche Funktion fz (x, y), so dass diese genau die
gewünschten Werte annimmt.
x
0
0
1
1
y
0
1
0
1
fz (x, y)
1
1
0
1
Man erhält also fz (x, y) = x → y.
f) ∀u∃v∀x∃y ((u ∨ ¬x) ∧ y) ∨ ((v ∨ ¬y) ∧ x)
Wir betrachten welche Werte in Abhängigkeit von u und x für v und y gewählt
werden müssen, um die Matrix der Formel zu erfüllen.
u=0 und x = 0:
v = 0 und y = 1 oder
v = 1 und y = 1
u=0 und x = 1:
v = 1 und y = 0 oder
v = 1 und y = 1 oder
v = 0 und y = 0
u=1 und x = 0:
v = 0 und y = 1 oder
v = 1 und y = 1
4
u=1 und x = 1:
v = 0 und y = 0 oder
v = 0 und y = 1 oder
v = 1 und y = 0 oder
v = 1 und y = 1
Eine Möglichkeit die entsprechenden Funktionen zu bilden wäre also folgendermaßen. Die gewählten Konfigurationen wurden fett dargestellt.
u
0
1
u
0
0
1
1
fv (u)
1
1
x
0
1
0
1
fy (u, x)
1
0
1
0
Aufgabe 5:
Wir betrachten die folgende quantifizierte boolesche Formel.
∀x1 ∃y1 ∀x2 ∃y2 ∀x3 (x1 ∨ y1 ∨ ¬y2 ) ∧ (¬y1 ∨ x2 ∨ x3 ) ∧ (y2 ∨ x3 )
Die Frage ist nun, wie Resolution bei quantifizierten booleschen Formeln ablaufen
könnte. Bei ∀ quantifizierten Variablen muss beachtet werden, dass unter Umständen die Wahl darauf folgender ∃-Variablen von diesen abhängt. Es ist also nicht
unbedingt eine so gute Idee diese zu eliminieren. Bei ∃ Variablen sieht das dagegen
anders aus. Diese können resolviert werden.
Um nun unsere Formel zu betrachten, wählen wir erstmal zwei Klauseln aus, etwa
und
(x1 ∨ y1 ∨ ¬y2 )
(¬y1 ∨ x2 ∨ x3 ).
In diesem Beispiel ist die Variable x3 ein Spezialfall, da ihr ∀−Quantor ganz rechts
steht. Es sind also keine weiteren Variablen von x3 abhängig und x3 ist jeweils durch
ein ∨ angehängt. Ist das Literal, das x3 enthält wahr, so erfüllt dies die gesamte
Klausel. Wegen des ∀−Quantors müssen jedoch alle Belegungen von x3 betrachtet
werden. Sind die entsprechenden Literale also falsch, so muss noch der Rest der Formel verifiziert werden. Man kann also x3 aus den betrachteten Klauseln streichen,
da eh jeweils der Rest der Klausel noch verifiziert werden muss.
Wir wenden nun also die Resolution, wie wir sie uns ausgedacht haben an, und
erhalten aus
(x1 ∨ y1 ∨ ¬y2 )
und
(¬y1 ∨ x2 ∨ x3 ).
als Zwischenschritt
x1 ∨ ¬y2 ∨ x2 ∨ x3
und als Ergebnis die Klausel
x1 ∨ ¬y2 ∨ x2 .
Nun betrachten wir die Klauseln
und
(x1 ∨ ¬y2 ∨ x2 )
(y2 ∨ x3 ).
Diese lassen sich zu
x1 ∨ x2
resolvieren. Man erhält also
∀x1 ∀x2 x1 ∨ x2 ≈ ⊔.
5
Aufgabe 6:
Für unsere 4-wertige Logik müssen wir uns zuerst auf die Definition der Werte
einigen. Eine Möglichkeit wäre z.B.
w - wahr
ew - eher wahr
wf - eher falsch
f
- falsch
Nun können wir die Operationen ¬, ∧ und ∨ z.B. folgendermaßen definieren.
a
w
ew
ef
f
¬a
f
ef
ew
w
a
w
w
w
w
ew
ew
ew
ef
ef
f
b
w
ew
ef
f
ew
ef
f
ef
f
f
a∧b
w
ew
ef
f
ew
ef
f
ef
f
f
6
a
w
w
w
w
ew
ew
ew
ef
ef
f
b
w
ew
ef
f
ew
ef
f
ef
f
f
a∨b
w
w
w
w
ew
ew
ew
ef
ef
f
Herunterladen