Prof. Dr. Barbara König

Werbung
Universität Duisburg-Essen
Ingenieurwissenschaften / Informatik
Dozent: Prof. Dr. Barbara König
Übungsleitung: Dr. S. Bruggink, C. Blume
WS 2012/13
22. November 2012
Übungsblatt 5
Abgabe: 28. November 2012
Logik
Die Hausaufgaben zu diesem Übungsblatt müssen bis spätestens Mittwoch, den 28. November 2012 um 14:00 Uhr abgegeben werden. Bitte werfen Sie Ihre Abgabe in den mit
Logik beschrifteten Briefkasten neben Raum lf, oder geben Sie sie online ab über die
moodle-Plattform. Wenn Sie online abgeben, laden Sie bitte ihre Lösungen in Form einer
einzigen pdf-Datei hoch. Bitte schreiben Sie auf Ihre Abgabe deutlich Ihren Namen, Ihre
Matrikelnummer, die Gruppenummer und die Vorlesung (“Logik”).
Aufgabe 13
Resolution
(4 Punkte)
Überprüfen Sie mit Hilfe der Resolution, ob die folgenden Formeln erfüllbar sind. Wenn eine
Formel unerfüllbar ist, reicht eine Ableitung der leeren Klausel. Ansonsten müssen Sie alle
Resolventen der angegebenen Formel auflisten.
(a) (¬A ∨ C ∨ D) ∧ (¬B ∨ D) ∧ (A ∨ B) ∧ (B ∨ ¬C) ∧ ¬D
(2 p)
(b) (A ∨ B) ∧ (¬C ∨ D) ∧ ¬A ∧ (¬B ∨ C)
(2 p)
Aufgabe 14
Quasi-Resolution
(6 Punkte)
Wie in der Vorlesung erwähnt, beweisen wir mit der Beweistechnik Resolution, dass eine Klauselmenge nicht erfüllbar ist, indem wir iterativ den Resolventen zweier Klausel {L, A1 , . . . , An }
und {L, B1 , . . . , Bm } der Klauselmenge hinzufügen (siehe Folien 103–114). Graphisch wird so
ein Resolutionsschritt folgendermaßen dargestellt:
{L, A1 , . . . , An } {L, B1 , . . . , Bm }
{A1 , . . . , An , B1 , . . . , Bm }
Zeigen Sie, dass die folgenden zwei Resolutionsschritte“ keine richtige Ergebnisse liefern.
”
Begründen Sie Ihre Antworten!
(a) {L1 , L2 , A, B} {L1 , L2 , C, D} (3p)
(b)
(3p)
{L, L, A, B}
{A, B, C, D}
(zwei Literale resolvieren)
{A, B}
(Klausel mit sich selbst resolvieren)
Hinweis. Finden Sie erfüllbare Formeln, von denen man beweisen könnte, dass sie unerfüllbar
wären, falls wir die obigen Quasi-Resolutionsschritten verwenden würden.
1
Aufgabe 15
Hornformeln
(10 Punkte)
Eine Hornklausel ist eine Klausel (Disjunktion von Literalen), die höchstens ein positives
Literal enthält. Die Klausel (¬A ∨ ¬B ∨ C) ist also eine Hornklausel, die Klausel (A ∨ B ∨ ¬C)
aber nicht, da sie zwei positive Literale enthält. Hornklauseln können wegen der Äquivalenz
A → B ≡ ¬A ∨ B als Implikationen dargestellt werden. Die Hornklausel (¬A ∨ B ∨ ¬C)
entspricht zum Beispiel der Implikation A ∧ C → B. Hornklauseln sind also der Form:
• definite Klauseln: A1 ∧ · · · ∧ An → B
• Faktklauseln: A
• Zielklauseln: ¬A1 ∨ · · · ∨ ¬An
(Der Name Zielklausel“ kommt aus der logischen Programmierung.)
”
Eine Hornformel ist eine Konjunktion von Hornklauseln. Weil Hornklauseln Disjunktionen
von Literalen sind, heißt das, dass eine Hornformel immer in knf ist.
Hornformel werden häufig benutzt (vor allem in der logischen Programmierung), weil
es relativ effizient ist, zu überprüfen ob sie erfüllbar sind. Dafür gibt es den sogenannten
Markierungsalgorithmus. Dieser Algorithmus funktioniert, indem er die atomaren Aussagen
markiert, die auf jedem Fall wahr sein müssen. Durch das Markieren können wieder neue atomare
Aussagen markiert werden. Wenn am End eine atomare Aussage markiert ist, von der bekannt
ist, dass sie nicht wahr ist, ist die Formel unerfüllbar, sonst ist sie erfüllbar. Formal dargestellt
(in Pseudocode):
Eingabe: Eine Hornformel F .
Ausgabe: Erfüllbar“, falls F erfüllbar ist, sonst Unerfüllbar“.
”
”
markiere jedes Vorkommen einer atomaren Formel A von F , falls F eine
Faktklausel A enthält.
while (es gibt eine Klausel G in F der Form A1 ∧ · · · ∧ An → B,
wobei A1 , . . . , An markiert sind, aber B noch nicht)
do markiere jedes Vorkommen von B
if (es gibt eine Zielklausel ¬A1 ∨ · · · ∨ ¬An in F , wobei A1 , . . . , An markiert sind)
then print Unerfüllbar“
”
else print Erfüllbar“
”
(a) Wenden Sie den Markierungsalgorithmus an, um zu entscheiden, ob die folgenden Hornformeln erfüllbar sind:
(6 p)
F = A ∧ E ∧ (A → D) ∧ (A ∧ B ∧ D → C) ∧ (E ∧ D → B) ∧ (¬C ∨ ¬B)
G = D ∧ (D ∧ E → A) ∧ (D → E) ∧ (A ∧ B → C) ∧ (¬A ∨ ¬C)
(b) Argumentieren Sie, wie man mit Hilfe des Markierungsalgorithmus ein Modell für eine
erfüllbare Hornformel finden kann.
(1 p)
Der Markierungsalgorithmus ist zwar ziemlich effizient, kann aber nur auf Hornformeln angewendet werden. Das heißt, dass wir den Markierungsalgorithmus nicht immer benutzen können,
wie Sie in der nächsten Teilaufgabe zeigen werden:
(c) Zeigen Sie, dass es Formeln gibt, die keine äquivalente Hornformel besitzen. Das heißt,
suchen Sie eine Formel F , für die es keine Hornformel H gibt, so dass F ≡ H, und
begründen Sie warum es so eine Hornformel nicht gibt.
(3 p)
Hinweis. Sie können davon ausgehen, dass eine Hornformel H, die zu F äquivalent ist,
keine atomaren Aussagen enthält, die nicht in F vorkommen.
(Insgesamt werden für diese Übungsaufgaben 20 Punkte vergeben.)
2
Herunterladen