Grundlagen der Logik in der Informatik WS 2015 Übungsblatt 7 Abgabe der Lösungen: Tutorium in der Woche 14.12.-18.12. Aufgabe 1 Verbesserte Resolution I (Präsenzaufgabe) Sei A ein Atom, und sei ϕ eine Menge von Klauseln. Seien ϕ/A und ϕ/¬A die in der Vorlesung definierten Klauselmengen ϕ/A = { C \ {¬A} | A ∈ / C, C ∈ ϕ } ϕ/¬A = { C \ {A} | ¬A ∈ / C, C ∈ ϕ }. 1. Pure Literal Elimination (PLE): Zeigen Sie, dass das Resolutionsverfahren angewendet auf ϕ dieselbe Antwort liefert wie für ϕ/A (ϕ/¬A), wenn ¬A ∈ / C (A ∈ / C) für alle C ∈ ϕ. 2. Unit Propagation (UP): Zeigen Sie, dass das Resolutionsverfahren angewendet auf ϕ dieselbe Antwort liefert wie für ϕ/A (ϕ/¬A), wenn {A} ∈ ϕ ({¬A} ∈ ϕ). Lösen Sie erneut Aufgabe 3 von Übungsblatt 6 und verwenden Sie dabei die obigen Prinzipien. Aufgabe 2 Ermittlungsverfahren effektiv gemacht (3 Punkte) Führen Sie erneut die Aufgabe 6 von Übungsblatt 6 aus und vereinfachen Sie dabei Ihre Resolutionsbeweise indem Sie die Ergebnisse der Aufgabe 1 verwenden. Verwenden Sie dabei (PLE) mindestens einmal. Aufgabe 3 (Dame ∨ Tiger) ∧ Resolution (6 Punkte) Der Gefangene von Aufgabe 2, Übungsblatt 1 ist jetzt mit dem Resolutionsverfahren bzw. mit den Ergebnissen der Aufgabe 1 bewaffnet. Kann er damit bestimmen, in welchem Raum sich die Dame befindet und in welchem der Tiger? Verwenden Sie Ihre aussagenlogische Formalisierung aus Aufgabe 3, Übungsblatt 3. Achtung: Bei der Berechnung der Klauselmengen aus den gegebenen Formeln dürfen Sie zur Vereinfachung Klauseln, die zwei entgegengesetzte Literale enthalten (z.B. A und ¬A), löschen. Aufgabe 4 Verbesserte Resolution II (7 Punkte) Beweisen Sie, dass das Resolutionsverfahren, wie es in der Vorlesung eingeführt wurde, zur effizienteren Implementierung dahingehend geändert werden kann, dass am Anfang jede Klausel der gegebenen CNF, die eine andere Klausel der CNF als Teilmenge enthält, entfernt wird. So kann man beispielsweise {{¬A, B, C}, {B}, {B, ¬C}, {A, C}} zu {{B}, {A, C}} komprimieren. GLoIn, WS 2015 Genauer gesagt ist zu beweisen, dass das neue Verfahren immer die gleiche Antwort liefert wie das ursprüngliche. Achtung: Die Semantik von Formeln und die Vollständigkeit des Resolutionsverfahrens sollen nicht verwendet werden. Hinweis: Verwenden Sie vollständige Induktion über die zur Herleitung einer bestimmten Klausel benötigten Anzahl Schritte im Resolutionsverfahren. Beweisen Sie damit, dass es für jede Klausel C, die mittels Resolution in n Schritten aus der ursprünglichen Klauselmenge abgeleitet werden kann, ein entsprechendes C 0 gibt, so dass C 0 ⊆ C und C 0 aus der komprimierten Klauselmenge mittels Resolution ableitbar ist. Zeigen Sie, dass mit dieser Aussage folgt, dass der modifizierte Algorithmus nicht erfüllbar“ antwortet, wenn der ursprüngliche Algorithmus ” dies tut. Die umgekehrte Implikation ist trivial — warum? Aufgabe 5 Formalisierung in Prädikatenlogik (4 Punkte) Wählen Sie Ihre Seite der Macht und formalisieren Sie die entsprechenden Aussagen in Prädikatenlogik erster Stufe. Achten Sie darauf, dass logische Sprach-Konstruktionen (wie im nachstehenden Beispiel) in entsprechende prädikatenlogische Operatoren übersetzt werden sollen, z.B. entsprechen Präpositionen wie und, oder, wenn den Operatoren ∧, ∨, →; Konstruktionen wie es gibt und alle entsprechen natürlicherweise Existenz- und Allquantoren. Helle Seite: 1. “Der Imperator hat nicht alles, was gut war in dir, zerstört.” 2. “Meine Freunde sind da unten; die deaktivieren den Schutzschild, oder das wird die kürzeste Offensive aller Zeiten.” 3. “Tu es oder tu es nicht, Luke. Es gibt kein Versuchen.” 4. “Luke, es gibt noch einen Skywalker∗ .” Dunkle Seite: 1. “Alles entwickelt sich so, wie ich es vorausgesehen habe.” 2. “Wir haben einen neuen Feind, den jungen Rebellen, der den Todesstern zerstört hat.” 3. “Doch bei allem was er angestrebt, hat er nun eine endgültige Niederlage erlitten.” 4. “Das Gute ist Ansichtssache, Anakin. Und das Jedi-Konzept des Guten ist nicht das einzig zulässige.” Beispiel: “Luke, wenn diese Welt ich verlassen habe, der letzte der Jedi wirst du sein” wird in Verlassen(ich, welt) → (Jedi(luke) ∧ (∀x. Jedi(x) → x = luke)) übersetzt. ∗ 2 Man beachte: Luke ist ein Skywalker.