Aufgabe 13 (Markierungsalgorithmus). Gegeben ist die Formel F = (A D C) (E A) ( ( B D) E) A B (B D)

Ähnliche Dokumente
Hat KAI also die Uhr gestohlen oder nicht? (Mit Begründung, natürlich!) 1

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Einiges zu Resolutionen anhand der Aufgaben 6 und 7

Resolution (Idee) Aus der Herleitung der leeren Disjunktion (= leere Klausel) folgt Unerfüllbarkeit.

Deduktion in der Aussagenlogik

Theoretische Informatik: Logik

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl.

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

Logik für Informatiker

TU9 Aussagenlogik. Daniela Andrade

Ersetzbarkeitstheorem

Zusammenfassung Syntax: Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln. Zusammenfassung

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Resolutionsalgorithmus

Logik für Informatiker

1 Aussagenlogik AL: Verknüpfung von Aussagen

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Aussagenlogik. Formale Methoden der Informatik WiSe 2012/2013 teil 6, folie 1

FORMALE SYSTEME. 23. Vorlesung: Logisches Schließen. TU Dresden, 16. Januar Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Beispiel Aussagenlogik nach Schöning: Logik...

Logik für Informatiker

Klauselmengen. Definition Sei

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen

23. Vorlesung: Logisches Schließen Markus Kr otzsch Professur f ur Wissensbasierte Systeme Normalformen

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

Logik für Informatiker

Logik für Informatiker

TU5 Aussagenlogik II

DisMod-Repetitorium Tag 1

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

HA-Lösung TA-Lösung Diskrete Strukturen Tutoraufgabenblatt 10. Besprechung in KW02/2019

Übung 4: Aussagenlogik II

Einführung in die Logik, Übungsklausur 2016/07/11

Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

Logik Vorlesung 5: Grundlagen Resolution

Logische Äquivalenz. Definition Beispiel 2.23

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Aussagenlogik: Syntax von Aussagen

Motivation. Formale Grundlagen der Informatik 1 Kapitel 16. Resolution. Motivation. Beispiel

Künstliche Intelligenz Logische Agenten & Resolution

Resolution (Motivation) Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Resolution (Idee) Resolution (Idee)

Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

Logik Vorlesung 3: Äquivalenz und Normalformen

Resolution für die Aussagenlogik

Logische und funktionale Programmierung

5.1 Inferenz. Theorie der Informatik. Theorie der Informatik. 5.1 Inferenz. 5.2 Resolutionskalkül. 5.3 Zusammenfassung. Inferenz: Motivation

Aussagenlogik. (MAF2) MAF(I, t) = t und MAF(I, f ) = f. Die Semantik aussagenlogischer Formeln ist durch die Funktion

Logik für Informatiker

Übung 15. Zeige, dass man jede Formel äquivalent in eine neue Formel umwandeln kann, die nur die Operatoren und! verwendet.

Grundlagen der Logik

Logik für Informatiker

1 Aussagenlogischer Kalkül

Grundlagen der Programmierung

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Tableaukalkül für Aussagenlogik

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Diskrete Strukturen Nachholklausur

Einführung in die Logik (Vorkurs)

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Problem der Resolution: Kombinatorische Explosion Ziel: Einschränkung der Möglichkeiten

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen

Wozu formale Logik? Programmiersprachen Logik im Fingerhut. Formeln. Logik im Fingerhut (24. Januar 2005) Belegung und Interpretation

Logik für Informatiker

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

Hochschule Darmstadt Alte Logik-Klausur

Formale Systeme, WS 2015/2016. Lösungen zu Übungsblatt 7

Formale Systeme, WS 2008/2009 Lösungen zum Übungsblatt 2

Logic in a Nutshell. Christian Liguda

Logische und funktionale Programmierung

Allgemeingültige Aussagen

Logik Grundvorlesung WS 17/18 Ergänzende Folien Teil 1

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Aussagenlogik. Formale Methoden der Informatik WiSe 2010/2011 teil 7, folie 1 (von 50)

b= NaN

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Logik für Informatiker

Grundlagen der Theoretischen Informatik

3. Logik 3.1 Aussagenlogik

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0

Algorithmischer Aufbau der Aussagenlogik

Logik für Informatiker Logic for computer scientists

Klausur zur Vorlesung Logik für Informatiker Sommersemester 2017

ÜBUNGSKLAUSUR Studienhalbjahr: 1. Semester. Modul: TINF1002 Dozent: Stephan Schulz. Zwei Texte, z.b. Vorlesungsskript, eigene Notizen

Normalformen. Aussagenlogik. Aussagenlogik

wenn es regnet ist die Straße nass:

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Systeme. Das Erfu llbarkeitsproblem. Prof. Dr. Bernhard Beckert, WS 2017/2018

Logik für Informatiker Logic for Computer Scientists

1.1 Grundbegriffe. Logik und Diskrete Strukturen (Sommer 2018) Prof. Dr. Ulrich Hertrampf

Mathematische Grundlagen

Transkript:

INTA - Lösungshinweise zum Übungsblatt 4, Version 1.0α. Wenn sie Fehler finden oder Ihnen etwas auch nach dem Gespräch mit ihren Kommilitonen noch unklar ist, dann schicken sie mir bitte eine Email! Aufgabe 13 (Markierungsalgorithmus). Gegeben ist die Formel F = (A D C) (E A) ( ( B D) E) A B (B D) Wenden Sie den Markierungsalgorithmus an und bestimmen Sie ein minimales Modell für F (sofern eines existiert). Hinweis: Negieren Sie F und bestimmen Sie die KNF. Bringen Sie diese in Implikationsform und wenden Sie den Markierungsalgo an. Vergessen Sie nicht, anschließend ein minimales Modell anzugeben (wenn eines existiert) oder klar zu sagen, dass es keines gibt! Lösungshinweis: KNF: F = ((A D C) (E A) ( ( B D) E) A B (B D)) (A D C) (E A) ( ( B D) E) A B (B D) ( A D C) ( E A) ( B D E) A B ( B D) Implikationsform: F = (A D C) (E A 0) (B D E) (A 0) (1 B) (B D) Markieren: (1.1) Alle Vorkommen von B markieren (wg. (1 B)) (2.1) Alle Vorkommen von D markieren (weil B markiert und wg. (B D)) (2.2) Alle Vorkommen von E markieren (weil B, D markiert und wg. (B D E)) Weitere Markierungen sind nicht möglich. F ist also erfüllbar. Das minimale Modell A ist A(B) = A(D) = A(E) = 1, A(A) = A(C) = 0. Hinweis: Das Markieren können sie auch in der Kurzform B, D; E angeben sie sollten aber zu ihrer eigenen Sicherheit in der Formel die Vorkommen der Variablen auch wirklich graphisch markieren (damit sie nichts übersehen!). Aufgabe 14. Bringen Sie die folgende Formel in Klauselform: F = (A B C) (A B C). Beachten Sie: Es gibt hier viele mögliche Lösungen, die alle semantisch äquivalent sind. Lösungshinweis: Das ist die DNF zu der DNF/KNF-Aufgabe von Blatt 3 oben, also kann man unmittelbar die dort gefundene KNF in Klauselform bringen und die Aufgabe ist gelöst sie sollten aber die Umformungsmethode ruhig nochmal üben, um Fehler in der Klausur zu vermeiden! {{A, B, C}, {A, B, C}, {A, B, C}, {A, B, C}, { A, B, C}, { A, B, C}}. Aufgabe 15. Bestimmen Sie für die folgende Formel F die Mengen Res 0 (F ), Res 1 (F ) und Res 2 (F ): F = (A B C) (B C) ( A C) (B C) C Übrigens: Ist F unerfüllbar? Lösungshinweise: F kann man direkt in Klauselform bringen: F = { {A, B, C}, {B, C}, { A, C}, {B, C}, { C} }. Dann ergeben sie die Mengen mit den Resolventen wie folgt: 1

Res 0 (F ) = F Res 1 (F ) = Res 0 (F ) {{A, C}, { B, C}, {A, C, C}, {A, B, B}, {A, B}, {B}, { A, B}, { A} } (gehen sie hier einfach stur alle möglichen Paare von Klauseln durch, manchmal führt eine Paarung sogar zu zwei Resolventen: {A, B, C} und {B, C} ergeben {A, C, C} und {A, B, B} vereinfachen sie hier nicht, sondern bilden sie gemäß der Definition zu Resolventen zwei Resolventen.) Res 2 (F ) = Res 1 (F ) { {C}, {A, B}, {A}, {B, B}, {C, C}, { B}, {A, B, C}, {A, B, C}, {A, C}, {B, B, C}, {A, A, C}, {B, C, C}, {A, A, B}, {A, A} } (Hier müssen sie jetzt die neuen Resolventen aus der letzten Runde untereinander und mit den Klauseln der letzten Runde vergleichen. Wenn sie Resolventen hier doppelt auftauchen lassen sollten, ist das kein Problem, die Mengennotation sorgt ja dafür, dass eine eventuelle Unachtsamkeit keine Konsequenzen hat). Zum Überprüfen kann es sinnvoll sein, eine Matrix anzulegen (horizontal die neuen Klauseln eintragen, vertikal die neuen und die alten Klauseln und in die Felder dann die Resolventen können auch mehrere sein. Diese kann man dann in einer zweiten Runde ausstreichen, wenn es sie schon gab, oder hervorheben, wenn sie neu sind. Es ist aber auch nicht falsch, einfach alle, eben auch die doppelten, mit in die nächste Runde zu schreiben). In der nächsten Runde käme die leere Klausel hinzu, z.b. über {A}, { A} oder {B}, { B} oder {C}, { C}. Die Formel ist also unerfüllbar (und ihre Negation ist eine Tautologie). HINWEIS für die Klausur: Denken Sie daran, dass sie z.b. aus {A, A} nicht die leere Klausel ableiten dürfen die Klausel {A, A} steht ja für (A A), und die Formel ist das genaue Gegenteil von unerfüllbar, sie ist natürlich eine Tautologie! Ebenso falsch wäre es, z.b. aus {A, B} und { A, B} die leere Klausel abzuleiten (indem man beide Paare, die man bilden kann, auf einmal streicht auch hier handelt es sich um eine Tautologie! Wir erlauben hingegen das folgende: Wenn eine Klausel für eine Tautologie steht (also ein Paar aus positivem und negativem Literal zur gleichen atomaren Aussage enthält, z.b. {A,..., A}), dann kann sie nicht sinnvoll zur Ableitung der leeren Klausel beitragen, sie brauchen mit dieser Klausel keine weiteren Resolventen bilden. Aufgabe 16. Zeigen Sie mit der Resolutionsmethode, dass A B C eine Folgerung (s. oben) aus der Klauselmenge {{ A, B}, { B, C}, {A, C}, {A, B, C}} ist. Beachten Sie: Sie können den Algorithmus aus der Vorlesung anwenden oder direkt eine Deduktion angeben. Hinweis: Schauen Sie sich die Aufgabe zur Folgerung vom letzten Übungsblatt noch mal genau an (das ist übrigens sogar eine Äquivalenz) dort steht schon sehr schön, welche Formel sie auf Unerfüllbarkeit untersuchen müssen, um die Gültigkeit der obigen Aussage überprüfen zu können. Prägen sie sich dieses Vorgehen ein, es ist wichtig! Lösungshinweis: A B C ist eine Folgerung aus der angegebene Formel, wenn eine Konjunktion aus der angegebenen Formel und der Negation von A B C unerfüllbar ist, zu prüfen ist also {{ A, B}, { B, C}, {A, C}, {A, B, C}, { A, B, C}} Eine Herleitung der leeren Klausel kann man wie folgt finden (und angeben): K 1 = { A, B} K 2 = { B, C} K 3 = { A, C} (Resolvent aus K 1, K 2 ) K 4 = {A, C} K 5 = {A, B} (Resolvent aus K 2, K 4 ) K 6 = {A, B, C} 2

K 7 = {A, C} (Resolvent aus K 5, K 7 ) K 8 = {C} (Resolvent aus K 7, K 4 ) K 9 = { A, B, C} K 10 = { A, C} (Resolvent aus K 9, K 1 ) K 11 = { C} (Resolvent aus K 10, K 4 ) K 12 = (Resolvent aus K 11, K 8 ) HINWEIS für die Klausur: In der Klausur werden sie dies sicher graphisch lösen, das ist überhaupt kein Problem! Aufgabe 17. Zeigen Sie mit der Resolutionsmethode (s. auch vorstehende Erläuterung), dass F = ( B C D) ( B D) (C D) B eine Tautologie ist. Lösungshinweis: Wir testen, ob die Negation der Formel F unerfüllbar ist, also bestimmen wir zunächst die KNF von F : F = (( B C D) ( B D) (C D) B) (B C D) (B D) ( C D) B. Das führt zu der Klauselform: {{B, C, D}, {B, D}, { C, D}, { B}} Eine Herleitung der leeren Klausel lässt sich wie folgt finden (Ziel hier: ein einzelnes B erzeugen, weil wir B schon haben): K 1 = {B, C, D} K 2 = { C, D} K 3 = {B, D} (Resolvent aus K 1, K 2 ) K 4 = {B, D} K 5 = {B} (Resolvent aus K 3, K 4 ) K 6 = { B} K 7 = (Resolvent aus K 5, K 6 ) Sie können das in dieser Form angeben oder auch graphisch wie in der Vorlesung gezeigt (es sollte natürlich trotz aller Striche erkennbar bleiben, welche Klauseln sie in einem Resolutionsschritt paaren). Anmerkung: Wenn etwas erfüllbar ist, aber keine Tautologie, dann können sie natürlich für die Negation keine Herleitung der leeren Klausel finden. Dann hilft aber der Resolutionsalgorithmus weiter: irgendwann kommen keine neuen Klauseln mehr hinzu, dann ist die Formel erfüllbar! Schauen Sie auch, ob sie ev. die Formel in Implikationsform darstellen können und dann mit dem Markierungsalgorithmus Erfüllbarkeit/Unerfüllbarkeit prüfen können, das kann Arbeit sparen. Aufgabe 18. Zeigen oder widerlegen Sie mit der Resolutionsmethode (also mit Algo oder Herleitung/Deduktion), dass die folgende Formel eine Tautologie ist: ( (A B) (B C)) ((C A) (A C) (C A)) Hinweis: Vorsicht, das kann ein bißchen aufwändig werden, ist aber zum Üben nicht verkehrt. Denken Sie daran, dass man den Doppelpfeil auf zwei Arten ersetzen kann (eine ist hier recht gut, eine nicht so toll). Lösungshinweise: Hinweise: Vermuten wir einmal, dass die Formel eine Tautologie ist. Dann muss die Negation der Formel unerfüllbar sein; diese bringen wir in KNF: (( (A B) (B C)) ((C A) (A C) (C A))) 3

( (A B) (B C)) (C A) (A C) (C A) ((A B) ((B C) ( B C))) ( C A) ( A C) ( C A) ((A B) ( (B C) ( B C))) ( C A) ( A C) ( C A) ((A B) (( B C) (B C))) ( C A) ( A C) ( C A) ((A B) ( B C)) ((A B) (B C)) ( C A) ( A C) ( C A) (das ist, von einigen überflüssigen Klammern abgesehen, eine Formel in KNF jetzt könnte man loslegen, allerdings kann man auch noch per Tautologieregel und Idempotenz vereinfachen) (A B C) ( C A) ( A C) ( C A) Daraus ergibt sich die Klauseldarstellung {{A, B, C}, { A, C}, { A, C}, { C, A}}. Man findet insgesamt keine Herleitung, denn die Formel ist erfüllbar! Also muss man die Resolventenmengen bilden, um dies nachzuweisen, wenn man, wie in dieser Aufgabe, auf die Resolution beschränkt ist. Res 0 ( F ) = F. Die Bildung der Resolventen, die in Res 1 ( F ), Res 2 ( F ) und Res 3 ( F ) hinzukommen, ist unten abgebildet. Dort sehen sie auch ein Beispiel für den Einsatz der Matrix zur systematischen Bildung der Resolventen. ABC -A-C -AC -CA ----------------------------------- ABC - BC-C BC AB BA-A -A-C - -A -C -AC - A-A C-C -CA - Resolventen: BC-C, BA-A, BC, AB, -A, -C, A-A, C-C Streichen der Tautologien BC-C, BA-A, A-A, C-C ABC -A-C -AC -CA BC AB -A -C ------------------------------------------------------------------ BC - -AB - AB - - - B AB - B-C BC - - B - -A BC - - -C - - -C AB - -A - - Neue Resolventen: -AB, B, B-C ABC -A-C -AC -CA BC AB -A -C -AB B B-C ------------------------------------------------------------------ -AB BC - - B-C - B - - - - - B - - - - - - - - - - B-C AB - -A - B - - - - Neue Resolventen: Keine! Also fertig -- erfüllbar. In der letzten Runde kam kein neuer Resolvent hinzu, also ist die Klauselmenge, also F, nicht unerfüllbar, d.h., F ist keine Tautologie. Sie wird z.b. durch A(A) = A(C) = 0, A(B) = 1 nicht erfüllt (und F wird natürlich durch diese Belegung erfüllt). Anmerkung: Um eine KNF zu bestimmen, könnte man natürlich auch eine Wahrheitstafel aufstellen und dann 4

die KNF aus dieser ablesen zudem hätte man dann natürlich die Frage der Erfüllbarkeit bereits beantwortet (wie sieht übrigens eine aus einer Wahrheitstafel erzeugte KNF für eine Tautologie aus richtig, es gibt dann gar keine Zeile mit einer 0, dann könnte man z.b. eine kleinere Tautologie, wie etwa (A A), verwenden). Bei Formeln mit 4, 5 oder gar 6 atomaren Formeln wird das aber *sehr* mühsam! Noch eine Anmerkung: Diese Aufgabe sollte vor Augen führen, dass auch das Umformen in eine KNF gehörige Mühe bereiten kann üben Sie das also, bis sie es drauf haben, es kommt recht häufig vor, weil es Voraussetzung für die Anwendung von Markierungsalgorithmus (mit der zusätzlichen Bedingung, dass es nur ein positives Literal pro Disjunktion gibt) und Resolution ist. 5