Blatt 1

Werbung
Algorithmische Logik SoSe 12
Übungszettel 1
Prof. Dr. Ralf Möller, Dipl.-Ing. Karsten Martiny, Anna Lin, Daniela Becker
Übungsgruppe:
13.04.2012, SBS95-E4042
1. Gegeben sei das Wumpus-Problem aus der Vorlesung (A=Agent, W=Wumpus,
G=Gold, P=Pit).
(a) Erstellen Sie ein Labyrinth, das kein rationaler Agent lösen kann.
Platzieren Sie dazu genau 5 Pits und 1 Wumpus im Labyrinth.
Begründen Sie, warum der Agent in Ihrem Beispiel nicht sicher
das Gold finden kann.
A
G
Lösung:
Die Pits sollten (am einfachsten) nur um den Agenten herum platziert werden. Dann kann er sich nicht bewegen. z.B.
1
A
P
P
P
W
P
P
G
Alternative Lösung:
Eine nichttriviale Lösung wäre die folgende. Hier kann der Agent
nicht entscheiden, ob eine Pit in (2,2) oder mehrere Pits in (1,3)
und (3,1) liegen. Der Rest der Pits und der Wumpus kann beliebig
gelegt werden.
A
P
P
G
(b) Erstellen Sie ein Labyrinth, das ein rationaler Agent lösen kann.
Platzieren Sie dazu genau 5 Pits und 1 Wumpus im Labyrinth.
Begründen Sie, warum der Agent in Ihrem Beispiel sicher das
Gold finden kann.
2
A
G
Lösung:
Die 5 Pits sollten einfach nur am Rand des Feldes platziert werden. z.B.
A
P
P
W
P
P
P
G
Alternative Lösung:
A
B
P
P
S
B
P
B
W
P
S
B
P
G
3
Das hellere bedeuted, dass der Agent zwar etwas wahrnimmt, aber
deswegen seine Richtung nicht ändern muss. Der Agent kann inferieren wo der Wumpus ist, und dass es nur einen Wumpus gibt.
Deshalb wird diese Wahrnehmung ignoriert.
2. Seien A und B logische Formeln. Führen Sie den semantischen Beweis (d.h. mit Hilfe einer Wahrheitstabelle) für Gültigkeit, Erfüllbarkeit
bzw. Unerfüllbarkeit von folgenden logischen Formeln:
• A∧B
• A ∨ ¬B
• ¬A → ¬A
• A → (B → ¬A)
• (A → B) → (B → A)
• ((A → B) ∧ A) → B
Lösung:
A∧B :
A B A∧B
0 0
0
0 1
0
1 0
0
1 1
1
Kommentar
kein Modell
kein Modell
kein Modell
Modell
Es gibt Belegungen, die ein Modell sind, und es gibt auch Belegungen,
die kein Modell sind. Damit ist die Formel erfüllbar.
A ∨ ¬B :
A B ¬B
0 0
1
0 1
0
1 0
1
1 1
0
A ∨ ¬B
1
0
1
1
Kommentar
Modell
kein Modell
Modell
Modell
Es gibt Belegungen, die ein Modell sind, und es gibt auch Belegungen,
die kein Modell sind. Damit ist die Formel erfüllbar.
4
¬A → ¬A :
A ¬A ¬A → ¬A
0
1
1
1
0
1
Kommentar
Modell
Modell
Alle Belegungen sind ein Modell. Damit ist die Formel gültig.
Alternativ: ¬A → ¬A ≡ A ∨ ¬A ≡ >
A → (B → ¬A) :
A B (B → ¬A)
0 0
1
0 1
1
1 0
1
1 1
0
A → (B → ¬A)
1
1
1
0
Kommentar
Modell
Modell
Modell
kein Modell
Es gibt Belegungen, die ein Modell sind, und es gibt auch Belegungen,
die kein Modell sind. Damit ist die Formel erfüllbar.
Man könnte auch erst A → (B → ¬A) in ¬A ∨ ¬B umwandeln um
leichter zusehen, dass es erfülbar ist.
(A → B) → (B → A):
A B (A → B) (B
0 0
1
0 1
1
1 0
0
1 1
1
→ A)
1
0
1
1
(A → B) → (B → A)
1
0
1
1
Kommentar
Modell
kein Modell
Modell
Modell
Es gibt Belegungen, die ein Modell sind, und es gibt auch Belegungen,
die kein Modell sind. Damit ist die Formel erfüllbar.
((A → B) ∧ A) → B:
A B (A → B) (A → B) ∧ A
0 0
1
0
0 1
1
0
1 0
0
0
1 1
1
1
((A → B) ∧ A) → B
1
1
1
1
Kommentar
Modell
Modell
Modell
Modell
Alle Belegungen sind ein Modell. Damit ist die Formel gültig.
Alternativ: ((A → B) ∧ A) → B in ¬A ∨ ¬B ∨ B umwandeln und
aufgrund von ¬B ∨ B leichter zusehen, dass es gültig ist.
5
3. Geben Sie eine Belegung an, die die folgende Formel wahr macht:
A ∨ B ∨ C ∨ D ∨ E Gibt es eine Belegung, die diese Formel falsch
macht? Wenn wir den Wert dieser Formel für alle möglichen Belegungen
bestimmen wollten, warum wäre die Methode mit der Wahrheitstabelle
nicht sehr geeignet?
Lösung:
• Belegung: I(A) = 1, I(B) = 0, I(C) = 0, I(D) = 0, I(E) = 0
• Die Belegung I macht die Formel falsch, falls wir I(A) = 0 setzen
• Die Komplexität (Anzahl der Zeilen in der Wahrheitstabelle) steigt
exponentiell mit der Anzahl der atomaren Formeln. Bei n = 5 hat
man schon 32 Zeilen.
4. Seien F und G logische Formeln. Argumentieren Sie, ob die folgenden
Behauptungen richtig oder falsch sind:
Formel
Wenn F gültig dann F erfüllbar
Wenn F erfüllbar dann ¬F unerfüllbar
Wenn F gültig dann ¬F unerfüllbar
Wenn F unerfüllbar dann ¬F gültig
Wenn (F → G) gültig und F gültig dann G gültig
Wenn (F → G) gültig und F erfüllbar dann G erfüllbar
Wenn (F → G) erfüllbar und F erfüllbar dann G erfüllbar
Wenn (F → G) gültig dann F G
Wenn F G dann (F → G) gültig
Wenn F ≡ G dann (F ↔ G) gültig
Wenn (F ↔ G) gültig dann F ≡ G
Ja/Nein
Lösung:
Wenn F gültig dann F erfüllbar: Ja
Wenn alle Belegungen ein Modell sind (F is gültig), dann existiert eine
Belegung die ein Modell ist (F is erfüllbar)
Wenn F erfüllbar dann ¬F unerfüllbar: Nein
A ∨ B is erfüllbar und ¬(A ∨ B) ≡ ¬A ∧ ¬B ist auch erfüllbar.
6
Wenn F gültig dann ¬F unerfüllbar: Ja
Wenn jede Belegung ein Modell für F ist, dann kann keine Belegung
ein Modell für ¬F sein.
Wenn F unerfüllbar dann ¬F gültig: Ja
Wenn jede Belegung kein Modell für F ist, dann müssen alle Belegungen Modelle für ¬F sein.
Wenn (F → G) gültig und F gültig dann G gültig: Ja
Beweis mit dem Modus Ponens.
F impliziert G. Also ist G für jede Belegung wahr, für die auch F wahr
ist. F ist für jede Belegung wahr. Daher ist G auch für jede Belegung
wahr.
Wenn (F → G) gültig und F erfüllbar dann G erfüllbar: Ja
Beweis mit dem Modus Ponens.
F impliziert G. Also ist G für jede Belegung wahr, für die auch F wahr
ist.
Wenn (F → G) erfüllbar und F erfüllbar dann G erfüllbar: Nein
F → G ist erfüllbar. Also gilt es nicht immer.
F ≡ A und G ≡ A ∧ ¬A. Die Implikation F → G gilt für die Belegung
I mit I(A) = 0, aber G ist nicht erfüllbar.
Wenn (F → G) gültig dann F G: Ja
F G falls jede Belegung die zu F passt auch zu G passt. Die F → G
gültig bedeuted genau das. (syntax vs. semantik)
Wenn F G dann (F → G) gültig: Ja
s.o.
Wenn F ≡ G dann (F ↔ G) gültig: Ja
Da F ≡ G beudeuted, dass unter jeder Belegung F und G den gleichen
Wahrheitswert haben, gibt es keine Belegung für die G wahr ist, und F
nicht.
7
Wenn (F ↔ G) gültig dann F ≡ G: Ja
Wenn zwei Formeln syntaktisch equivalent sind, also ineinander umgeformt werden können, dann haben sie auch gleiche Werte unter allen
Belegungen.
5. Prüfen Sie mit Hilfe einer Wahrheitstabelle, ob die folgenden Äquivalenzen gelten:
Formel
((A ∨ B) ∧ A) ≡ A
(A → B) ≡ (¬B → ¬A)
(A → B) → C ≡ A → (B → C)
(A → B) → C ≡ (A ∧ B) → C
Ja/Nein
Lösung:
((A ∨ B) ∧ A) ≡ A:
A
1
1
0
0
B
0
1
1
0
(A ∨ B)
1
1
1
0
((A ∨ B) ∧ A)
1
1
0
0
(A → B) ≡ (¬B → ¬A):
A
1
1
0
0
B
0
1
1
0
(A → B)
0
1
1
1
¬B
1
0
0
1
¬A
0
0
1
1
(¬B → ¬A)
0
1
1
1
8
(A → B) → C ≡ A → (B → C):
A
1
1
1
1
0
0
0
0
B
0
1
0
1
1
0
1
0
C
0
1
1
0
0
1
1
0
(A → B)
0
1
0
1
1
1
1
1
(A → B) → C
1
1
1
0
0
1
1
0
(B → C)
1
1
1
0
0
1
1
1
A → (B → C)
1
1
1
0
1
1
1
1
(A → B) → C ≡ (A ∧ B) → C:
A
1
1
1
1
0
0
0
0
B
0
1
0
1
1
0
1
0
C
0
1
1
0
0
1
1
0
(A → B)
0
1
0
1
1
1
1
1
(A → B) → C
1
1
1
0
0
1
1
0
(A ∧ B)
0
1
0
1
0
0
0
0
(A ∧ B) → C
1
1
1
0
1
1
1
1
Man kann hier auch durch überlegen sehen, dass es keine Äquivalenze
ist. Wenn man z.B. eine Belegung für (A → B) = wahr und (A ∧ B)
= falsch hat, weiß man, dass C in einem Fall wahr sein muss und in
dem anderen ist es egal. Also kann man so mit einem Gegenbeispiel
beweisen, dass es keine Äquivalenze ist.
Also:
Formel
((A ∨ B) ∧ A) ≡ A
(A → B) ≡ (¬B → ¬A)
(A → B) → C ≡ A → (B → C)
(A → B) → C ≡ (A ∧ B) → C
9
Ja/Nein
Ja
Ja
Nein
Nein
Herunterladen