Universität Duisburg-Essen Ingenieurwissenschaften / Informatik Dozent: Prof. Dr. Barbara König Übungsleitung: Dr. Sander Bruggink WS 2013/14 27. November 2013 Übungsblatt 5 Abgabe: 4. Dezember 2013 Logik Die Hausaufgaben zu diesem Übungsblatt müssen bis spätestens Mittwoch, den 4. Dezember 2013 um 16: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 moodlePlattform. Wenn Sie online abgeben, laden Sie bitte ihre Lösungen in Form einer einzigen pdfDatei hoch. Bitte schreiben Sie auf Ihre Abgabe deutlich Ihren Namen, Ihre Matrikelnummer, die Gruppenummer und die Vorlesung (“Logik”). Aufgabe 13 Resolution (5 Punkte) Beweisen Sie mit Hilfe von Resolution, dass die folgende Formel gültig ist: F = B → ¬ (A ∨ C ∨ D) ∧ ¬(A ∧ B) ∧ (¬B ∨ C ∨ ¬D) ∧ (C → A) Hinweise. 1) Es gibt einen Zusammenhang zwischen Gültigkeit und Unerfüllbarkeit. 2) Um Resolution anzuwenden, braucht man eine äquivalente Formel in konjunktiver Normalform. Aufgabe 14 Quasi-Resolution (7 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 } (a) Zeigen Sie, dass die folgenden zwei Resolutionsschritte“ keine richtige Ergebnisse liefern. ” Begründen Sie Ihre Antworten! (6 p) (1) {L1 , L2 , A1 , . . . An } {L1 , L2 , B1 , . . . , Bm } (2) {L, L, A1 , . . . , An } {A1 , . . . , An , B1 , . . . , Bm } {A1 , . . . , An } (zwei Literale gleichzeitig resolvieren) (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-Resolutionsschritte verwenden würden. (b) Man kann eine Klausel mit sich selbst resolvieren. Allerdings ist das Ergebniss nicht das, das oben in Aufgabe (a) angegeben ist. Geben Sie an, was der Resolvent der Klausel {A, ¬A, B, C} mit sich selbst ist: {A, ¬A, B, C} ? Macht es Sinn, in der Aussagenlogik eine Klausel mit sich selbst zu resolvieren? (1 p) Aufgabe 15 Hornformeln (8 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, sind Hornformeln immer in konjunktiver Normalform. 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 Ende 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: (4 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.)