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