Einführung in die Methoden der Künstlichen Intelligenz. Aussagenlogik

Ähnliche Dokumente
Überblick. Einführung in die Methoden der Künstlichen Intelligenz. Aussagenlogik (1) Wissenrepräsentations- und inferenzsysteme (2)

Aussagenlogik: Syntax von Aussagen

Überblick. Einführung in die Methoden der Künstlichen Intelligenz. Aussagenlogik. Wissenrepräsentations- und inferenzsysteme (2)

Wissensrepräsentation und Schlussfolgern

Resolutionsverfahren für die Aussagenlogik. Einführung in die Methoden der Künstlichen Intelligenz. Aussagenlogik (2) Resolutionsregel

Logikbasierte Systeme der Wissensverarbeitung

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

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Logik für Informatiker

Logik für Informatiker

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

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

Tableaukalkül für Aussagenlogik

Logik Vorlesung 3: Äquivalenz und Normalformen

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

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

Logik für Informatiker

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Logik Vorlesung 5: Grundlagen Resolution

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Jeder Aussage p kann ein Wahrheitswert W(p) {0, 1} zugeordnet werden. Beispiele: W(Es regnet.) =? (je nach Lage der Dinge) W(Die Straße ist naß.) =?

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

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Logik für Informatiker

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

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

Logik für Informatiker

Logik Vorlesung 4: Horn-Logik und Kompaktheit

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

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

Kapitel L:II. II. Aussagenlogik

3.1 Aussagenlogik (propositional calculus)

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

1.1 Wissensrepräsentation und Schlussfolgern

Logik für Informatiker

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

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

Was bisher geschah: klassische Aussagenlogik

Logik für Informatiker

Theoretische Informatik: Logik

Logik für Informatiker

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

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

Klauselmengen. Definition Sei

Logik für Informatiker

Ersetzbarkeitstheorem

Logik für Informatiker

FORMALE SYSTEME. 22. Vorlesung: Äquivalenzen und Normalformen. TU Dresden, 11. Januar Markus Krötzsch Professur für Wissensbasierte Systeme

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

Formale Systeme. Aussagenlogik: Resolutionskalku l. Prof. Dr. Bernhard Beckert, WS 2018/2019

Logische Äquivalenz. Definition Beispiel 2.23

TU9 Aussagenlogik. Daniela Andrade

Semantik der Aussagenlogik (Kurzform)

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

Resolutionsalgorithmus

Logik für Informatiker

Deduktion in der Aussagenlogik

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

4. Logik und ihre Bedeutung für WBS

Was bisher geschah: klassische Aussagenlogik

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

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Übung 4: Aussagenlogik II

FORMALE SYSTEME. 10. Januar Aussagenlogik. Logische Schlussfolgerung. Happy 80th Birthday, Don Knuth!

Prädikatenlogik: Syntax

3. Logik 3.1 Aussagenlogik

Kapitel L:II. II. Aussagenlogik

TU5 Aussagenlogik II

Was bisher geschah. wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min Disjunktion 2 max Negation 1 x 1 x Implikation 2 Äquivalenz 2 =

Kapitel 1. Aussagenlogik

Grundlagen der Logik

2.3 Deduktiver Aufbau der Aussagenlogik

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

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

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

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

1 Aussagenlogik AL: Verknüpfung von Aussagen

Algorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen

Logische und funktionale Programmierung

Definition (Modus Ponens) Wenn A, dann B. A gilt Also, gilt B

wenn es regnet ist die Straße nass:

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Einige Grundlagen der Komplexitätstheorie

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

Logik für Informatiker

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

Grundbegriffe für dreiwertige Logik

Aussagenlogik. Aussagen und Aussagenverknüpfungen

Logische und funktionale Programmierung

Logik Teil 1: Aussagenlogik

Einführung in die Logik

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

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

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

Allgemeingültige Aussagen

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Logik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14

Transkript:

Einführung in die Methoden der Künstlichen Intelligenz Aussagenlogik PD Dr. David Sabel SoSe 2014 Stand der Folien: 23. Mai 2014

Überblick Grober Inhalt des Kapitels Aussagenlogik allgemein Darstellung von Wissen in der Aussagenlogik Entscheidungs- und Deduktionsverfahren KI-Ansatz der Verwendung einer Logik basiert auf der Wissenrepräsentationshypothese (Brian Smith) Die Verarbeitung von Wissen lässt sich trennen in: Repräsentation von Wissen, wobei dieses Wissen eine Entsprechung in der realen Welt hat; und in einen Inferenzmechanismus, der Schlüsse daraus zieht. D. Sabel KI SoSe 2014 Aussagenlogik 2/123

Wissenrepräsentations- und inferenzsysteme (1) Allgemein: Programme bauen auf modellierten Fakten, Wissen, Beziehungen auf führen Operationen darauf durch, um neue Schlüsse zu ziehen D. Sabel KI SoSe 2014 Aussagenlogik 3/123

Wissenrepräsentations- und inferenzsysteme (2) Komponenten: Formale Sprache zur Festlegung der Syntax (von Wissen und Regeln) Festlegung der Semantik (Bedeutung) Inferenzprozedur (operationale Semantik), z.b. Syntaktische Manipulation von Formeln Korrektheit: Inferenzprozedur erhält die Semantik Nachweis der Korrektheit: Untersuche Implementierung bzgl. der Semantik Implementierung: Parser und Implementierung der Inferenzprozedur D. Sabel KI SoSe 2014 Aussagenlogik 4/123

Syntax Sei X ein Nichtterminal für aussagenlogische Variablen Syntax aussagenlogischer Formeln Dabei entspricht A ::= X 0 1 (A A) (A A) ( A) (A A) (A A) 0 = falsche Aussage 1 = wahre Aussage Eigentlich: 0 und 1 nicht nötig, man könnte auch A A und A A stattdessen verwenden D. Sabel KI SoSe 2014 Aussagenlogik 5/123

Syntaktische Konventionen Variablennamen sollten aussagekräftig gewählt werden. Wenn es heute nicht regnet, werde ich Fahrradfahren heuteregnetes fahrradfahren Klammerregeln: Wir lassen Klammern oft weg Da, assoziativ: links- / rechts-klammerung egal Prioritätsregeln:,,,,. Auch andere Operatoren werden manchmal verwendet:, NAND, NOR, XOR D. Sabel KI SoSe 2014 Aussagenlogik 6/123

Sprechweisen,,,, nennt man Junktoren Bezeichnung der einzelnen Junktoren: A B: A B: A B: A B: A: Konjunktion (Verundung) Disjunktion (Veroderung) Implikation Äquivalenz (Biimplikation) negierte Formel (Negation). D. Sabel KI SoSe 2014 Aussagenlogik 7/123

Sprechweisen (2) Atom = Aussagenlogische Variable, 0, oder 1 Literal = Atom oder A, wobei A ein Atom ist Beispiele: X ist ein Atom X, X und 0 sind Literale ( X) ist weder Atom noch Literal D. Sabel KI SoSe 2014 Aussagenlogik 8/123

Semantik der Junktoren Definiere f op für jeden Junktor f : {0, 1} {0, 1} mit f (0) = 1 und f (1) = 0 Für op {,,,,, NOR, NAND, XOR}: f op : {0, 1} 2 {0, 1} mit a b f (a, b) f (a, b) f (a, b) f (a, b) f NOR (a, b) f NAND (a, b) f (a, b) f XOR (a, b) 1 1 1 1 1 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 D. Sabel KI SoSe 2014 Aussagenlogik 9/123

Interpretation Definition: Eine Interpretation (Variablenbelegung) I ist eine Funktion: I : {aussagenlogische Variablen} {0, 1}. Fortsetzung von I auf Aussagen: I(0) := 0, I(1) := 1 I( A) := f (I(A)) I(A op B) := f op (I(A), I(B)), wobei op {,,,...} D. Sabel KI SoSe 2014 Aussagenlogik 10/123

Beispiel I(X) = 0, I(Y ) = 1, I(Z) = 1 I( (X Z) (Y Z)) D. Sabel KI SoSe 2014 Aussagenlogik 11/123

Beispiel I(X) = 0, I(Y ) = 1, I(Z) = 1 I( (X Z) (Y Z)) = f (I( (X Z)), I(Y Z)) D. Sabel KI SoSe 2014 Aussagenlogik 11/123

Beispiel I(X) = 0, I(Y ) = 1, I(Z) = 1 I( (X Z) (Y Z)) = f (I( (X Z)), I(Y Z)) = f (f (I(X Z)), f (I(Y ), I( Z))) D. Sabel KI SoSe 2014 Aussagenlogik 11/123

Beispiel I(X) = 0, I(Y ) = 1, I(Z) = 1 I( (X Z) (Y Z)) = f (I( (X Z)), I(Y Z)) = f (f (I(X Z)), f (I(Y ), I( Z))) = f (f (f (I(X), I(Z))), f (I(Y ), f (I(Z)))) D. Sabel KI SoSe 2014 Aussagenlogik 11/123

Beispiel I(X) = 0, I(Y ) = 1, I(Z) = 1 I( (X Z) (Y Z)) = f (I( (X Z)), I(Y Z)) = f (f (I(X Z)), f (I(Y ), I( Z))) = f (f (f (I(X), I(Z))), f (I(Y ), f (I(Z)))) = f (f (f (0, 1)), f (1, f (1))) D. Sabel KI SoSe 2014 Aussagenlogik 11/123

Beispiel I(X) = 0, I(Y ) = 1, I(Z) = 1 I( (X Z) (Y Z)) = f (I( (X Z)), I(Y Z)) = f (f (I(X Z)), f (I(Y ), I( Z))) = f (f (f (I(X), I(Z))), f (I(Y ), f (I(Z)))) = f (f (f (0, 1)), f (1, f (1))) = f (f (1), f (1, 0)) D. Sabel KI SoSe 2014 Aussagenlogik 11/123

Beispiel I(X) = 0, I(Y ) = 1, I(Z) = 1 I( (X Z) (Y Z)) = f (I( (X Z)), I(Y Z)) = f (f (I(X Z)), f (I(Y ), I( Z))) = f (f (f (I(X), I(Z))), f (I(Y ), f (I(Z)))) = f (f (f (0, 1)), f (1, f (1))) = f (f (1), f (1, 0)) = f (0, 1) D. Sabel KI SoSe 2014 Aussagenlogik 11/123

Beispiel I(X) = 0, I(Y ) = 1, I(Z) = 1 I( (X Z) (Y Z)) = f (I( (X Z)), I(Y Z)) = f (f (I(X Z)), f (I(Y ), I( Z))) = f (f (f (I(X), I(Z))), f (I(Y ), f (I(Z)))) = f (f (f (0, 1)), f (1, f (1))) = f (f (1), f (1, 0)) = f (0, 1) = 1 D. Sabel KI SoSe 2014 Aussagenlogik 11/123

Modell Definition Eine Interpretation I ist genau dann ein Modell für die Aussage F, wenn I(F ) = 1 gilt. Wir schreiben in diesem Fall: I = F Alternative Sprechweisen: F gilt in I I macht F wahr D. Sabel KI SoSe 2014 Aussagenlogik 12/123

Eigenschaften von Formeln Sei A ein Aussage. A ist eine Tautologie (Satz, allgemeingültig), gdw. für alle Interpretationen I gilt: I = A. A ist ein Widerspruch (widersprüchlich, unerfüllbar), gdw. für alle Interpretationen I gilt: I(A) = 0. A ist erfüllbar (konsistent), gdw. eine Interpretation I existiert mit: I = A A ist falsifizierbar, gdw. eine Interpretation I existiert mit I(A) = 0. D. Sabel KI SoSe 2014 Aussagenlogik 13/123

Beispiele (1) X X ist eine Tautologie, denn für jede Interpretation I gilt: I(X X) = f (f (I(X)), I(X)) = 1, da f (I(X)) oder I(X) gleich zu 1 sein muss. ist erfüllbar (jede Interpretation ist ein Modell) ist nicht falsifizierbar ist kein Widerspruch D. Sabel KI SoSe 2014 Aussagenlogik 14/123

Beispiele (2) X X ist ein Widerspruch, denn für jede Interpretation I gilt: I(X X) = f (f (I(X)), I(X)) = 0, da f (I(X)) oder I(X) gleich zu 0 sein muss. ist falsifizierbar (für jede Interpretation I gilt I(X X) = 0) ist nicht erfüllbar ist keine Tautologie D. Sabel KI SoSe 2014 Aussagenlogik 15/123

Beispiele (3) (X Y ) ((Y Z) (X Z)) ist eine Tautologie. ist erfüllbar ist nicht falsifizierbar ist kein Widerspruch D. Sabel KI SoSe 2014 Aussagenlogik 16/123

Beispiele (4) X Y ist erfüllbar. Z.B. ist I mit I(X) = 1, I(Y ) = 1 ein Modell für X Y : I(X Y ) = f (I(X), I(Y )) = f (1, 1) = 1. ist falsifizierbar, denn mit I(X) = 0, I(Y ) = 0 gilt I(X Y ) = 0 ist keine Tautologie ist kein Widerspruch D. Sabel KI SoSe 2014 Aussagenlogik 17/123

Beispiele (5) Abendrot Schlechtwetterbot Formel dazu: Abendrot Schlechtes Wetter Erfüllbar und Falsifizierbar Weder Tautologie noch Widerspruch D. Sabel KI SoSe 2014 Aussagenlogik 18/123

Beispiele (6) Wenn der Hahn kräht auf dem Mist, ändert sich das Wetter oder es bleibt wie es ist. Formel dazu: Hahn kraeht auf Mist (Wetteraenderung Wetteraenderung) ist eine Tautologie ist erfüllbar ist weder widersprüchlich noch falsifizierbar D. Sabel KI SoSe 2014 Aussagenlogik 19/123

Komplexitäten Theorem Es ist entscheidbar, ob eine Aussage eine Tautologie (Widerspruch, erfüllbar,falsifizierbar) ist. Einfachstes Verfahren: Wahrheitstabelle Die Frage Ist A erfüllbar? ist N P-vollständig. Die Frage Ist A falsifizierbar? ist ebenso N P-vollständig. Die Frage Ist A Tautologie? ist CoN P-vollständig. Die Frage Ist A ein Widerspruch? ist CoN P-vollständig. D. Sabel KI SoSe 2014 Aussagenlogik 20/123

Exkurs: Komplexitätsklassen (zur Erinnerung) Problemklasse = Wortproblem über einer formalen Sprache SAT := {F F ist erfüllbare aussagenlogische Formel }. Wortproblem: Liegt eine gegebene Formel in der Sprache SAT Antwort: Ja oder Nein D. Sabel KI SoSe 2014 Aussagenlogik 21/123

Exkurs: Komplexitätsklassen (2) N P = Alle Sprachen, deren Wortproblem auf einer nichtdeterministischen Turingmaschine in polynomieller Zeit lösbar ist. CoN P = {L L C N P} wobei L C das Komplement der Sprache L ist. Offensichtlich: L N P L C CoN P Beispiel: UNSAT := {F F ist Widerspruch} UNSAT CoN P, denn: UNSAT C = Alle Formeln \UNSAT = SAT, und SAT N P. D. Sabel KI SoSe 2014 Aussagenlogik 22/123

Exkurs: Komplexitätsklassen (3) L N P ist N P-vollständig gdw. für jede Sprache L N P gibt es eine Polynomialzeit-Kodierung R : L L mit x L gdw. R(x) L L CoN P ist CoN P-vollständig gdw. für jede Sprache L CoN P gibt es eine Polynomialzeit-Kodierung R : L L mit x L gdw. R(x) L D. Sabel KI SoSe 2014 Aussagenlogik 23/123

Exkurs: Komplexitätsklassen (4) Theorem L ist CoN P-vollständig gdw. L C ist N P-vollständig D. Sabel KI SoSe 2014 Aussagenlogik 24/123

Komplexitäten (nochmal) Theorem Es ist entscheidbar, ob eine Aussage eine Tautologie (Widerspruch, erfüllbar,falsifizierbar) ist. Die Frage Ist A erfüllbar? ist N P-vollständig. Die Frage Ist A falsifizierbar? ist ebenso N P-vollständig. Die Frage Ist A Tautologie? ist CoN P-vollständig. Die Frage Ist A ein Widerspruch? ist CoN P-vollständig. D. Sabel KI SoSe 2014 Aussagenlogik 25/123

Fazit Sequentielle Algorithmen zur Lösung beide Problemklassen: nur Exponential-Zeit Algorithmen (solange P N P) N P? = CoN P unbekannt, allgemeine Vermutung: Nein Probleme aus N P kann man mit Glück (Raten) schnell lösen (Lösungen sind polynomiell verifizierbar) Probleme aus CoN P scheinen schwieriger z.b. Tautologie: man muss alle Interpretation durchprobieren D. Sabel KI SoSe 2014 Aussagenlogik 26/123

Folgerungsbegriffe Unterscheide zwischen Semantische Folgerung direkt innerhalb der Semantik Syntaktische Folgerung (Herleitung, Ableitung) Verfahren mit einer prozeduralen Vorschrift, oft: nicht-deterministischer Kalkül. D. Sabel KI SoSe 2014 Aussagenlogik 27/123

Semantische Folgerung F eine Menge von (aussagenlogischen) Formeln G eine weitere Formel. G folgt semantisch aus F gdw. Für alle Interpretationen I: wenn für alle F F gilt I(F ) = 1, dann auch I(G) = 1. Schreibweise: F = G D. Sabel KI SoSe 2014 Aussagenlogik 28/123

Einfache Resulate Betrachte {F 1,..., F n } = G 1 Wenn ein F i widersprüchlich, dann kann man alles folgern: Es gilt dann für jede Formel G: {F 1,..., F n } = G. 2 Wenn ein F i eine Tautologie ist, dann kann man F i weglassen: {F 1,..., F n } = G ist dasselbe wie {F 1,..., F i 1, F i+1,..., F n } = G D. Sabel KI SoSe 2014 Aussagenlogik 29/123

Deduktionstheorem der Aussagenlogik Deduktionstheorem {F 1,..., F n } = G gdw. F 1... F n G ist Tautologie. Aussagen F, G nennt man äquivalent (F G), gdw. F G eine Tautologie ist. Beobachtungen: F G gdw. für alle I: I = F gdw. I = G X Y nicht äquivalent zu X Y (Variablenbelegung spielen eine Rolle!) D. Sabel KI SoSe 2014 Aussagenlogik 30/123

Syntaktische Folgerung A: (nichtdeterministischer) Algorithmus (Kalkül), der aus einer Menge von Formeln H eine neue Formel H berechnet H folgt syntaktisch aus H Schreibweisen H A H oder auch H A H Definition Der Algorithmus A ist korrekt (sound), gdw. aus H A H stets H = H folgt. Der Algorithmus A ist vollständig (complete), gdw. H = H impliziert, dass H A H D. Sabel KI SoSe 2014 Aussagenlogik 31/123

Korrekter & Vollständiger Algorithmus (naiv) Gegeben: {F 1,..., F n } und Tautologiechecker Verfahren: Zähle alle Formeln F auf Prüfe ob F 1... F n = F Tautologie Wenn ja: {F 1,..., F n } = F (wegen Deduktionstheorem) Problem: Immer unendlich viele F, da alle Tautologien aus {F 1,..., F n } folgen ({F 1,..., F n } = G für alle Tautologien G) D. Sabel KI SoSe 2014 Aussagenlogik 32/123

Methoden zur Tautologie-Erkennung (auch Erfüllbarkeit) Wahrheitstabelle BDDs (binary decision diagrams): Aussagen als boolesche Funktionen, kompakte Darstellung Genetische Algorithmen (Erfüllbarkeit) Suchverfahren mit zufälliger Suche Davis-Putnam-Verfahren (später): Fallunterscheidung mit Simplifikationen Tableaukalkül (später): Syntaktische Analyse der Formeln D. Sabel KI SoSe 2014 Aussagenlogik 33/123

Substitution Wir schreiben A[B/x] für die Ersetzung aller Vorkommen von Variable x in Formel A durch Formel B Beispiel: (x y) = ( (x z))[(z = (w u))/x] D. Sabel KI SoSe 2014 Aussagenlogik 34/123

Substitution Wir schreiben A[B/x] für die Ersetzung aller Vorkommen von Variable x in Formel A durch Formel B Beispiel: (x y) = ( (x z))[(z = (w u))/x] D. Sabel KI SoSe 2014 Aussagenlogik 34/123

Substitution Wir schreiben A[B/x] für die Ersetzung aller Vorkommen von Variable x in Formel A durch Formel B Beispiel: (x y) = ( (x z))[(z = (w u))/x] = ((z = (w u)) y) = ( ((z = (w u)) z)) D. Sabel KI SoSe 2014 Aussagenlogik 34/123

Substitution Wir schreiben A[B/x] für die Ersetzung aller Vorkommen von Variable x in Formel A durch Formel B Beispiel: (x y) = ( (x z))[(z = (w u))/x] = ((z = (w u)) y) = ( ((z = (w u)) z)) Verallgemeinerung: A[B 1 /x 1,..., B n /x n ] ist die parallele Ersetzung aller x i durch B i Beispiel: (x y) = ( (x z))[(z = (w u))/x, (a b)/z] D. Sabel KI SoSe 2014 Aussagenlogik 34/123

Substitution Wir schreiben A[B/x] für die Ersetzung aller Vorkommen von Variable x in Formel A durch Formel B Beispiel: (x y) = ( (x z))[(z = (w u))/x] = ((z = (w u)) y) = ( ((z = (w u)) z)) Verallgemeinerung: A[B 1 /x 1,..., B n /x n ] ist die parallele Ersetzung aller x i durch B i Beispiel: (x y) = ( (x z))[(z = (w u))/x, (a b)/z] D. Sabel KI SoSe 2014 Aussagenlogik 34/123

Substitution Wir schreiben A[B/x] für die Ersetzung aller Vorkommen von Variable x in Formel A durch Formel B Beispiel: (x y) = ( (x z))[(z = (w u))/x] = ((z = (w u)) y) = ( ((z = (w u)) z)) Verallgemeinerung: A[B 1 /x 1,..., B n /x n ] ist die parallele Ersetzung aller x i durch B i Beispiel: (x y) = ( (x z))[(z = (w u))/x, (a b)/z] = ((z = (w u)) y) = ( ((z = (w u)) (a b)) D. Sabel KI SoSe 2014 Aussagenlogik 34/123

Substitution Wir schreiben A[B/x] für die Ersetzung aller Vorkommen von Variable x in Formel A durch Formel B Beispiel: (x y) = ( (x z))[(z = (w u))/x] = ((z = (w u)) y) = ( ((z = (w u)) z)) Verallgemeinerung: A[B 1 /x 1,..., B n /x n ] ist die parallele Ersetzung aller x i durch B i Beispiel: (x y) = ( (x z))[(z = (w u))/x, (a b)/z] = ((z = (w u)) y) = ( ((z = (w u)) (a b)) Nicht: (x y) = ( (x z))[(z = (w u))/x, (a b)/z] = ((z = (w u)) y) = ( (((a b) = (w u)) (a b)) D. Sabel KI SoSe 2014 Aussagenlogik 34/123

Substitution erhält Äquivalenz Satz Gilt A 1 A 2 und B 1,..., B n weitere Aussagen, dann gilt auch A 1 [B 1 /x 1,..., B n /x n ] A 2 [B 1 /x 1,..., B n /x n ]. Beweis: Seien {x 1,..., x m} alle Variablen, die in A i, B i vorkommen D. Sabel KI SoSe 2014 Aussagenlogik 35/123

Substitution erhält Äquivalenz Satz Gilt A 1 A 2 und B 1,..., B n weitere Aussagen, dann gilt auch A 1 [B 1 /x 1,..., B n /x n ] A 2 [B 1 /x 1,..., B n /x n ]. Beweis: Seien {x 1,..., x m} alle Variablen, die in A i, B i vorkommen Wahrheitstafel für A 1, A 2 : x 1... x n x n+1... x m A 1 A 2........................ c j,1... c j,n c j,n+1... c j,m d j d j........................ D. Sabel KI SoSe 2014 Aussagenlogik 35/123

Substitution erhält Äquivalenz Satz Gilt A 1 A 2 und B 1,..., B n weitere Aussagen, dann gilt auch A 1 [B 1 /x 1,..., B n /x n ] A 2 [B 1 /x 1,..., B n /x n ]. Beweis: Seien {x 1,..., x m} alle Variablen, die in A i, B i vorkommen Wahrheitstafel für A 1, A 2 : x 1... x n x n+1... x m A 1 A 2........................ c j,1... c j,n c j,n+1... c j,m d j d j........................ Da A 1 A 2, muss gelten d j = d j für alle j D. Sabel KI SoSe 2014 Aussagenlogik 35/123

Substitution erhält Äquivalenz Satz Gilt A 1 A 2 und B 1,..., B n weitere Aussagen, dann gilt auch A 1 [B 1 /x 1,..., B n /x n ] A 2 [B 1 /x 1,..., B n /x n ]. Beweis: Seien {x 1,..., x m} alle Variablen, die in A i, B i vorkommen Wahrheitstafel für A 1, A 2 : x 1... x n x n+1... x m A 1 A 2........................ c j,1... c j,n c j,n+1... c j,m d j d j........................ Da A 1 A 2, muss gelten d j = d j für alle j Wahrheitstafel für A 1 [B 1 /x 1,..., B n/x n] und A 2 [B 1 /x 1,..., B n/x n]: x 1... x n x n+1... x m B 1... B n A 1 [B 1 /x 1,..., B n/x n] A 2 [B 1 /x 1,..., B n/x n]................................. c i,1... c i,n c i,n+1... c i,m b i,1... b i,n d i d i................................. Zeige d i = d i : D. Sabel KI SoSe 2014 Aussagenlogik 35/123

Substitution erhält Äquivalenz Satz Gilt A 1 A 2 und B 1,..., B n weitere Aussagen, dann gilt auch A 1 [B 1 /x 1,..., B n /x n ] A 2 [B 1 /x 1,..., B n /x n ]. Beweis: Seien {x 1,..., x m} alle Variablen, die in A i, B i vorkommen Wahrheitstafel für A 1, A 2 : x 1... x n x n+1... x m A 1 A 2........................ c j,1... c j,n c j,n+1... c j,m d j d j........................ Da A 1 A 2, muss gelten d j = d j für alle j Wahrheitstafel für A 1 [B 1 /x 1,..., B n/x n] und A 2 [B 1 /x 1,..., B n/x n]: x 1... x n x n+1... x m B 1... B n A 1 [B 1 /x 1,..., B n/x n] A 2 [B 1 /x 1,..., B n/x n]................................. c i,1... c i,n c i,n+1... c i,m b i,1... b i,n d i d i................................. Zeige d i = d i : d i = A 1 [b i,1 /x 1,..., b i,n /x n, c i,n+1 /x n+1,..., c i,m /x m] d i = A 2 [b i,1 /x 1,..., b i,n /x n, c i,n+1 /x n+1,..., c i,m /x m] D. Sabel KI SoSe 2014 Aussagenlogik 35/123

Substitution erhält Äquivalenz Satz Gilt A 1 A 2 und B 1,..., B n weitere Aussagen, dann gilt auch A 1 [B 1 /x 1,..., B n /x n ] A 2 [B 1 /x 1,..., B n /x n ]. Beweis: Seien {x 1,..., x m} alle Variablen, die in A i, B i vorkommen Wahrheitstafel für A 1, A 2 : x 1... x n x n+1... x m A 1 A 2........................ c j,1... c j,n c j,n+1... c j,m d j d j b i,1... b i,n c i,n+1... c i,m d i d i........................ Da A 1 A 2, muss gelten d j = d j für alle j Wahrheitstafel für A 1 [B 1 /x 1,..., B n/x n] und A 2 [B 1 /x 1,..., B n/x n]: x 1... x n x n+1... x m B 1... B n A 1 [B 1 /x 1,..., B n/x n] A 2 [B 1 /x 1,..., B n/x n]................................. c i,1... c i,n c i,n+1... c i,m b i,1... b i,n d i d i................................. Zeige d i = d i : d i = A 1 [b i,1 /x 1,..., b i,n /x n, c i,n+1 /x n+1,..., c i,m /x m] d i = A 2 [b i,1 /x 1,..., b i,n /x n, c i,n+1 /x n+1,..., c i,m /x m] D. Sabel KI SoSe 2014 Aussagenlogik 35/123

Äquivalenz ist kompatibel mit Kontexten Notation: F [A] Formel mit A an einer Stelle (F ist ein Kontext) Satz Sind A, B äquivalente Aussagen, und F [A] eine weitere Aussage, dann sind F [A] und F [B] ebenfalls äquivalent. (Formaler: für alle Kontexte F gilt: Wenn A B, dann auch F [A] F [B]) D. Sabel KI SoSe 2014 Aussagenlogik 36/123

Kommutativität, Assoziativität, Idempotenz und sind kommutativ, assoziativ, und idempotent, d.h.: F G G F F F F F (G H) (F G) H F G G F F (G H) (F G) H F F F D. Sabel KI SoSe 2014 Aussagenlogik 37/123

Weitere Rechenregeln ( A)) A (A B) ( A B) (A B) ((A B) (B A)) (A B) A B (DeMorgansche Gesetze) (A B) A B A (B C) (A B) (A C) Distributivität A (B C) (A B) (A C) Distributivität (A B) ( B A) Kontraposition A (A B) A Absorption A (A B) A Absorption A, B, C beliebige Aussagen! D. Sabel KI SoSe 2014 Aussagenlogik 38/123

Normalformen Disjunktive Normalform (DNF) Disjunktion von Konjunktionen von Literalen (L 1,1... L 1,n1 )... (L m,1... L m,nm ) wobei L i,j Literale sind. Konjunktive Normalform (CNF) Konjunktion von Disjunktionen von Literalen (L 1,1... L 1,n1 )... (L m,1... L m,nm ) wobei L i,j Literale sind. D. Sabel KI SoSe 2014 Aussagenlogik 39/123

Konjunktive Normalform (L 1,1... L 1,n1 )... (L m,1... L m,nm ) }{{}}{{} Klausel Klausel Daher auch: Klauselnormalform D. Sabel KI SoSe 2014 Aussagenlogik 40/123

Konjunktive Normalform (L 1,1... L 1,n1 )... (L m,1... L m,nm ) }{{}}{{} Klausel Klausel Daher auch: Klauselnormalform Mengenschreibweise: { } {L1,1,..., L 1,n1 },..., {L m,1,..., L m,nm } }{{}}{{} Klausel Klausel (gerechtfertigt, da, kommutativ, assoziativ, idempotent) Konjunktive Normalform = Klauselnormalform = Klauselmenge D. Sabel KI SoSe 2014 Aussagenlogik 40/123

Spezielle Klauseln Leere Klausel := 0 = Widerspruch Beachte: enthält die CNF eine leere Klausel, so ist die Formel auch widersprüchlich: {C 1,..., C n, } = C 1... C n 0 0 Einsklausel: {p} mit p Literal (auch Unit-Klausel) Beachte: I({C 1,..., C n, {p}}) = 1 gdw. I(p) = 1 D.h. jedes Modell muss auch p wahr machen D. Sabel KI SoSe 2014 Aussagenlogik 41/123

CNF / DNF Berechnung Es gilt: Satz Zu jeder Aussage kann man eine äquivalente CNF finden und ebenso eine äquivalente DNF. Allerdings nicht in eindeutiger Weise. Verfahren zur Berechnung: später D. Sabel KI SoSe 2014 Aussagenlogik 42/123

CNF/DNF: Tautologie und Widerspruch Für die CNF gilt: Eine Klausel C ist eine Tautologie gdw. C = C {l, l} (d.h. Literal l kommt positiv und negativ vor) Eine Klauselmenge (CNF) ist eine Tautologie gdw. alle Klauseln Tautologien sind D. Sabel KI SoSe 2014 Aussagenlogik 43/123

CNF/DNF: Tautologie und Widerspruch Für die CNF gilt: Eine Klausel C ist eine Tautologie gdw. C = C {l, l} (d.h. Literal l kommt positiv und negativ vor) Eine Klauselmenge (CNF) ist eine Tautologie gdw. alle Klauseln Tautologien sind Dual dazu: Für die DNF gilt: (Monom = {l 1,..., l n } mit (l 1... l n )) Ein Monom D ist widersprüchlich gdw. D = D {l, l} (d.h. Literal l kommt positiv und negativ vor) Eine DNF ist widersprüchlich gdw. alle Monome widersprüchlich sind D. Sabel KI SoSe 2014 Aussagenlogik 43/123

CNF/DNF: Tautologie und Widerspruch (2) Satz Eine Aussage in CNF kann man in Zeit O(n log(n)) auf Tautologieeigenschaft testen. Eine Aussage in DNF kann man in Zeit O(n log(n)) auf Unerfüllbarkeit testen. Dabei ist n die syntaktische Größe der CNF/DNF Beweis: Verwende die Eigenschaften von davor, und sortiere die Klauseln bzw. Monome D. Sabel KI SoSe 2014 Aussagenlogik 44/123

CNF/DNF: Tautologie und Widerspruch (3) Beachte: Die Umkehrungen gelten nicht Test einer CNF auf Un-/Erfüllbarkeit Test einer DNF auf Allgemeingültig- / Falsifizierbarkeit wohl nur exponentiell sequentiell durchführbar (unter der Annahme: P N P) Begründung: später D. Sabel KI SoSe 2014 Aussagenlogik 45/123

CNF/DNF: Tautologie und Widerspruch (4) Nochmal Eine Aussage in CNF kann man in Zeit O(n log(n)) auf Tautologieeigenschaft testen. Impliziert: Transformation einer Formel F in äquivalente CNF geht nicht in Polynomialzeit (Annahme dabei P CoN P) Begründung: anderenfalls könnte man Tautologieeigenschaft in Polynomialzeit entscheiden aber Tautologieeigenschaft ist CoN P-vollständig DNF: Analog D. Sabel KI SoSe 2014 Aussagenlogik 46/123

Dualitätsprinzip Methoden, Kalküle, Algorithmen haben stets eine duale Variante Daher: 0 1 CNF DNF Tautologie Widerspruch Test auf Allgemeingültigkeit Test auf Unerfüllbarkeit. Beweissysteme können Allgemeingültigkeit oder Unerfüllbarkeit testen Geschmacksfrage, keine prinzipielle Frage Satz Sei F eine Formel. Dann ist F allgemeingültig gdw. F ein Widerspruch ist D. Sabel KI SoSe 2014 Aussagenlogik 47/123

Berechnung der Klauselnormalform Algorithmus Transformation in CNF Eingabe: Formel F Algorithmus: Führe nacheinander die folgenden Schritte durch: 1 Elimination von und : F G F G G F F G F G 2 Negation ganz nach innen schieben: F F (F G) F G (F G) F G 3 Distributivität (und Assoziativität, Kommutativität) iterativ anwenden, um nach außen zu schieben ( Ausmultiplikation ). F (G H) (F G) (F H) Ausgabe ist CNF D. Sabel KI SoSe 2014 Aussagenlogik 48/123

Beispiel (X Y ) (Y (X Z)) Schritt 1: Äquivalenz und Implikation entfernen (X Y ) (Y (X Z)) D. Sabel KI SoSe 2014 Aussagenlogik 49/123

Beispiel (X Y ) (Y (X Z)) Schritt 1: Äquivalenz und Implikation entfernen (X Y ) (Y (X Z)) ((X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 49/123

Beispiel (X Y ) (Y (X Z)) Schritt 1: Äquivalenz und Implikation entfernen (X Y ) (Y (X Z)) ((X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 49/123

Beispiel (X Y ) (Y (X Z)) Schritt 1: Äquivalenz und Implikation entfernen (X Y ) (Y (X Z)) ((X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) ((Y (X Z)) (X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 49/123

Beispiel (X Y ) (Y (X Z)) Schritt 1: Äquivalenz und Implikation entfernen (X Y ) (Y (X Z)) ((X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) (( Y (X Z)) (X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 49/123

Beispiel (X Y ) (Y (X Z)) Schritt 1: Äquivalenz und Implikation entfernen (X Y ) (Y (X Z)) ((X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) (( Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) (( Y (X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 49/123

Beispiel (X Y ) (Y (X Z)) Schritt 1: Äquivalenz und Implikation entfernen (X Y ) (Y (X Z)) ((X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) (( Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) (( Y (X Z)) ( X Y )) ( ( X Y ) ( Y (X Z))) (( Y (X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 49/123

Beispiel (X Y ) (Y (X Z)) Schritt 1: Äquivalenz und Implikation entfernen (X Y ) (Y (X Z)) ((X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) (Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) ((Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) (( Y (X Z)) (X Y )) (( X Y ) ( Y (X Z))) (( Y (X Z)) ( X Y )) ( ( X Y ) ( Y (X Z))) (( Y (X Z)) ( X Y )) ( ( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 49/123

Beispiel (2) Schritt 2: Negationen nach innen schieben ( ( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 50/123

Beispiel (2) Schritt 2: Negationen nach innen schieben ( ( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) (( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 50/123

Beispiel (2) Schritt 2: Negationen nach innen schieben ( ( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) (( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 50/123

Beispiel (2) Schritt 2: Negationen nach innen schieben ( ( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) (( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) (( Y (X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 50/123

Beispiel (2) Schritt 2: Negationen nach innen schieben ( ( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) (( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) (( Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) ((Y (X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 50/123

Beispiel (2) Schritt 2: Negationen nach innen schieben ( ( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) (( X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) ( ( Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) (( Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) ((Y (X Z)) ( X Y )) ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 50/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X) (X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X) (X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X) (X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z) (X Y ))) ((Y ( X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X) (X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z) (X Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) ((Y ( X Z)) ( X Y )) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X) (X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z) (X Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) (( X Y ) (Y ( X Z))) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X) (X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z) (X Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) (( X Y ) (Y ( X Z))) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) (( X Y Y ) ( X Y ( X Z))) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X) (X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z) (X Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) (( X Y ) (Y ( X Z))) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) (( X Y Y ) ( X Y ( X Z))) = ( Y X X) ( Y X Y ) ( Y Z X) ( Y Z Y ) ( X Y Y ) ( X Y X Z) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X) (X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z) (X Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) (( X Y ) (Y ( X Z))) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) (( X Y Y ) ( X Y ( X Z))) = ( Y X X) ( Y X Y ) ( Y Z X) ( Y Z Y ) ( X Y Y ) ( X Y X Z) = ( Y X) ( Y X) ( Y Z X) ( Y Z) ( X Y ) ( X Y Z) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (3) Schritt 3: Ausmultiplizieren ((X Y ) ( Y (X Z))) ((Y ( X Z)) ( X Y )) ((X Y ) (( Y X) ( Y Z))) ((Y ( X Z)) ( X Y )) (((X Y ) ( Y X)) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X) (X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) ((X Y ) ( Y Z))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z) (X Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) ((Y ( X Z)) ( X Y )) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) (( X Y ) (Y ( X Z))) ((( Y X X) ( Y X Y )) (( Y Z X) ( Y Z Y ))) (( X Y Y ) ( X Y ( X Z))) = ( Y X X) ( Y X Y ) ( Y Z X) ( Y Z Y ) ( X Y Y ) ( X Y X Z) = ( Y X) ( Y X) ( Y Z X) ( Y Z) ( X Y ) ( X Y Z) = ( Y X) ( Y Z X) ( Y Z) ( X Y ) ( X Y Z) D. Sabel KI SoSe 2014 Aussagenlogik 51/123

Beispiel (4) ( Y X) ( Y Z X) ( Y Z) ( X Y ) ( X Y Z) Klauselmenge dazu: {{ Y, X}, { Y, Z, X}, { Y, Z}, { X, Y }, { X, Y, Z}} D. Sabel KI SoSe 2014 Aussagenlogik 52/123

Transformation in CNF Die erhaltene CNF ist äquivalent zur ursprünglichen Formel Laufzeit: Im Worst-Case exponentiell Grund: CNF kann exponentiell groß werden: die Elimination von verdoppelt die Größe: (A 1 A 2 ) (A 1 A 2 ) (A 2 A 1 ) Ausmultiplikation mittels Distributivgesetz: A 1 (B 1 B 2 ) (A 1 B 1 ) (A 1 B 2 ) verdoppelt A 1 Beachte: Unter Erhaltung der Äquivalenz geht es nicht besser (da sonst Tautologiecheck polynomiell möglich) D. Sabel KI SoSe 2014 Aussagenlogik 53/123

Schnelle CNF-Berechnung Algorithmus zur schnellen CNF-Berechnung in polynomieller Laufzeit Erhält die Tautologieeigenschaft nicht Aber: Erhält die Erfüllbarkeit: F erfüllbar gdw. schnelle CNF zu F erfüllbar D. Sabel KI SoSe 2014 Aussagenlogik 54/123

Schnelle CNF-Berechnung (2) Idee dabei: Exponentielles Anwachsen bei der CNF-Berechnung: ist exponentiell in der Tiefe der Formel (Tiefe: Formel als Baum hingemalt) Daher: Vorverarbeitung: Klopfe die Formel flach Einführen von Abkürzungen: F [G] F [X] (X G), wobei X neue Variable D. Sabel KI SoSe 2014 Aussagenlogik 55/123

Schnelle CNF-Berechnung (3) X X G G D. Sabel KI SoSe 2014 Aussagenlogik 56/123

Erhaltung der Erfüllbarkeit Satz F [G] ist erfüllbar gdw. (G X) F [X] erfüllbar ist. Hierbei muß X eine Variable sein, die nicht in F [G] vorkommt. Wesentlicher Schritt im Beweis: Interpretation I, die bezeugt F [G] ist erfüllbar, d.h. I(F [G]) = 1 Erstelle I mit { I Y, wenn Y X (Y ) = I(G) wenn X = Y D. Sabel KI SoSe 2014 Aussagenlogik 57/123

Nichterhaltung der Tautologieeigenschaft Annahme: F [G] ist allgemeingültig Dann ist (G X) F [X] niemals allgemeingültig: Beweis: Betrachte beliebige Interpretation I mit I(F [G]) = 1 (alle Interpretation erfüllen das) { I Y, wenn Y X (Y ) = f (I(G)) wenn X = Y I ((G X) F [X]) = f (f (I (G), I (X)), I (F [X])) = f (0, I (F [x])) = 0 Daher: ((G X) F [X]) falsifizierbar und keine Tautolgie D. Sabel KI SoSe 2014 Aussagenlogik 58/123

Schnelle CNF-Berechung: Tiefe Subformel in Tiefe: F ist Subformel von F in Tiefe 0 Wenn G Subformel von F in Tiefe n, dann G Subformel von F in Tiefe n + 1 Für {,,, }: Wenn (G 1 G 2 ) Subformel von F in Tiefe n, dann G 1, G 2 Subformeln von F in Tiefe n + 1 Tiefe einer Formel: Tiefe der tiefsten Subformel D. Sabel KI SoSe 2014 Aussagenlogik 59/123

Beispiel A B C E E D F B G D. Sabel KI SoSe 2014 Aussagenlogik 60/123

Beispiel A B C E E D F B G D. Sabel KI SoSe 2014 Aussagenlogik 60/123

Beispiel A B C E E D F B G Subformel in Tiefe 2 D. Sabel KI SoSe 2014 Aussagenlogik 60/123

Beispiel A B C E E D F B G Subformel in Tiefe 2 Tiefe der Subformel selbst: 3 D. Sabel KI SoSe 2014 Aussagenlogik 60/123

Beispiel A B C E E D F B G Subformel in Tiefe 2 Tiefe der Subformel selbst: 3 Tiefe der Gesamtformel: 5 D. Sabel KI SoSe 2014 Aussagenlogik 60/123

Schnelle CNF: Algorithmus Algorithmus Schnelle CNF-Berechnung Eingabe: Aussagenlogische Formel F Verfahren: Sei F von der Form H 1... H n, wobei H i keine Konjunktionen sind. while ein H i Tiefe 4 besitzt do for i {1,..., n} do if H i hat Tiefe 4 then Seien G 1,..., G m alle Subformeln von H i in Tiefe 3, die selbst Tiefe 1 haben Ersetze H i wie folgt: H i[g 1,..., G m] (G 1 X 1)... (G m X m) H i[x 1,..., X m] end if end for Iteriere mit der entstandenen Formeln als neues F end while Wende die (langsame) CNF-Erstellung auf die entstandene Formel an D. Sabel KI SoSe 2014 Aussagenlogik 61/123

Eigenschaften Am Ende: Alle Subformeln H i haben Tiefe 3 = Transformation in konstanter Zeit Anzahl der eingef. Abkürzungen: max. linear in der Größe der Formel H i [G 1,..., G m ] (G 1 X 1 )... (G m X m ) H i [X 1,..., X m ] Wenn H i [G 1,..., G m ] Tiefe n 3 hat H i [X 1,..., X m ] hat Tiefe 3 G j hat Tiefe höchstens n 3 die neuen Formeln (G j X j ) haben Tiefe höchstens n 2 D.h. 1 Formel der Tiefe n wird im worst case ersetzt durch m Formeln der Tiefe n 2 und eine Formel der Tiefe 3 Bei effizienter Implementierung gilt daher: Satz Zu jeder aussagenlogischen Formel kann unter Erhaltung der Erfüllbarkeit eine CNF in Zeit O(n) berechnet werden, wobei n die Größe der aussagenlogischen Formel ist. D. Sabel KI SoSe 2014 Aussagenlogik 62/123

Resolutionsverfahren für die Aussagenlogik Testet Formel auf Widersprüchlichkeit Tautologiecheck für Formel F : Starte mit F Denn es gilt: Satz Eine Formel A 1... A n F ist allgemeingültig gdw. A 1... A n F widersprüchlich ist. Semantisch: Satz {A 1,..., A n } = F gdw. es keine Interpretation I gibt, so dass I = {A 1,..., A n, F } D. Sabel KI SoSe 2014 Aussagenlogik 63/123

Resolutionsregel A B 1... B n Elternklausel 1 A C 1... C m Elternklausel 2 B 1... B n C 1... C m Resolvente D. Sabel KI SoSe 2014 Aussagenlogik 64/123

Resolutionsregel: Graphische Darstellung A B 1... B n A C 1... C m B 1... B n C 1... C m D. Sabel KI SoSe 2014 Aussagenlogik 65/123

Resolutionsverfahren 1 Starte mit Klauselmenge C 2 Wähle Elternklauseln E 1, E 2 aus C 3 Füge Resolvente R zur Klauselmenge C hinzu: C := C {R} Iteriere die obigen Schritte solange bis: Keine neue Resolvente mehr herleitbar, oder C enthält die leere Klausel. D. Sabel KI SoSe 2014 Aussagenlogik 66/123

Beispiel Zeige (A (A B) (B C)) = C allgemeingültig. Starte mit negierter Formel (Test auf Widersprüchlichkeit) ((A (A B) (B C)) = C) CNF-Berechnung ergibt die Klauselmenge: {{A}, { A, B}, { B, C}, { C}} D. Sabel KI SoSe 2014 Aussagenlogik 67/123

Beispiel (2) {A} { A, B} { B, C} { C} D. Sabel KI SoSe 2014 Aussagenlogik 68/123

Beispiel (2) {A} { A, B} { B, C} { C} {B} D. Sabel KI SoSe 2014 Aussagenlogik 68/123

Beispiel (2) {A} { A, B} { B, C} { C} {B} { B} D. Sabel KI SoSe 2014 Aussagenlogik 68/123

Beispiel (2) {A} { A, B} { B, C} { C} {B} { B} D. Sabel KI SoSe 2014 Aussagenlogik 68/123

Korrektheit Satz Wenn C C mit Resolution, dann ist C äquivalent zu C. D. Sabel KI SoSe 2014 Aussagenlogik 69/123

Korrektheit Satz Wenn C C mit Resolution, dann ist C äquivalent zu C. Beweis: Betrachte C = {D 1,..., D n, E 1, E 2} und C = {D 1,..., D n, E 1, E 2, R} E 1 = {A, B 1,..., B m} und E 2 = { A, C 1,..., C m } R = {B 1,..., B m, C 1,..., C m } Zeige: Für jede Interpretation I gilt: I(C) = I(C ). D. Sabel KI SoSe 2014 Aussagenlogik 69/123

Korrektheit Satz Wenn C C mit Resolution, dann ist C äquivalent zu C. Beweis: Betrachte C = {D 1,..., D n, E 1, E 2} und C = {D 1,..., D n, E 1, E 2, R} E 1 = {A, B 1,..., B m} und E 2 = { A, C 1,..., C m } R = {B 1,..., B m, C 1,..., C m } Zeige: Für jede Interpretation I gilt: I(C) = I(C ). Fallunterscheidung: I(C ) = 1: Dann gilt für alle i: I(D i) = 1, I(E i) = 1 und I(R) = 1 und daher auch I(C) = 1 D. Sabel KI SoSe 2014 Aussagenlogik 69/123

Korrektheit Satz Wenn C C mit Resolution, dann ist C äquivalent zu C. Beweis: Betrachte C = {D 1,..., D n, E 1, E 2} und C = {D 1,..., D n, E 1, E 2, R} E 1 = {A, B 1,..., B m} und E 2 = { A, C 1,..., C m } R = {B 1,..., B m, C 1,..., C m } Zeige: Für jede Interpretation I gilt: I(C) = I(C ). Fallunterscheidung: I(C ) = 1: Dann gilt für alle i: I(D i) = 1, I(E i) = 1 und I(R) = 1 und daher auch I(C) = 1 I(C ) = 0: Wenn es eine Klausel D i oder E i gibt mit I(D i) = 0, dann auch I(C) = 0. Sonst: nur I(R) = 0, d.h. I(B i) = I(C j) = 0 für alle i, j Betrachte I(A): Wenn I(A) = 0 kann I(E 1) = 1 nicht gelten Wenn I(A) = 1 kann I(E 2) = 1 nicht gelten Widerspruch. D. Sabel KI SoSe 2014 Aussagenlogik 69/123

Vollständigkeit (1) Satz Die Resolution auf einer aussagenlogischen Klauselmenge terminiert, wenn man einen Resolutionsschritt nur ausführen darf, wenn sich die Klauselmenge vergrößert. Beweis: Es gibt nur endlich viele verschiedene Klauseln, da Resolution keine neuen Variablen einführt. D. Sabel KI SoSe 2014 Aussagenlogik 70/123

Vollständigkeit (2) Theorem Für eine unerfüllbare Klauselmenge findet Resolution nach endlich vielen Schritten die leere Klausel. Beweis: Siehe Skript / Bücher... D.h.: Für jede Klauselmenge C kann Resolution entscheiden: C widersprüchlich? ja (Klausel wird hergeleitet) oder nein (Terminierung ohne ). D. Sabel KI SoSe 2014 Aussagenlogik 71/123

Tautologie-Test Sei F beliebige Formel 1 Starte mit F 2 Transformiere F in CNF C (auch schnelle CNF erhält Erfüllbarkeit & Widersprüchlichkeit) 3 Verwende Resolution beginnend mit C 4 wenn C widersprüchlich, dann F widersprüchlich, und daher F Tautologie 5 wenn C erfüllbar, dann F erfüllbar, und daher F keine Tautologie D. Sabel KI SoSe 2014 Aussagenlogik 72/123

Herleitung Zeige {F 1,..., F n } = G: 1 Zeige dass (F 1... F n ) = G allgemeingültig (Deduktionstheorem) 2 ((F 1... F n ) = G) ist äquivalent zu (F 1... F n G) 3 Verwende CNF-Algorithmus und anschließend Resolution Durch Aufzählen kann man alle semantischen Folgerungen auch syntaktisch damit durchführen. Daher: Verfahren ist vollständig. D. Sabel KI SoSe 2014 Aussagenlogik 73/123

Komplexität Es gibt Formeln, so dass exponentiell viele Resolutionen nötig sind, um die leere Klausel herzuleiten (Armin Haken 1985) Die sogenannten Taubenschlagformeln TSF n+1 : n + 1 Tauben sitzen in n Löchern, wobei in jedem Loch höchstens eine Taube sitzt TSF n+1 = S T L n+1 n S T L T =1 L=1 n+1 n T =1 X=T +1 L=1 ( n+1 n S T L T =1 L=1 ) ( n n+1 T =1 X=T +1 L=1 ) n (S T L SX L ) = Taube T sitzt in Loch L = jede Taube T sitzt in einem der n Löcher n (S T L SX L ) = Jedes Loch einzeln besetzt D. Sabel KI SoSe 2014 Aussagenlogik 74/123

Resolutionsverfahren Ein Nachteil: Modelle bei erfüllbaren Formeln nicht immer ablesbar Beispiel: {A, B} { A, B} {B, B} {A, A} D. Sabel KI SoSe 2014 Aussagenlogik 75/123

Beispiel: Warum will man Modelle finden? Die Frage nach dem Pfefferdieb 3 Verdächtige: Hutmacher, Schnapphase, Hasel-Maus Genau einer von ihnen ist der Dieb. Unschuldige sagen immer die Wahrheit Schnapphase: Der Hutmacher ist unschuldig. Hutmacher: Die Hasel-Maus ist unschuldig Wer ist der Dieb? Kodierung: H, S, M, für ist schuldig, Modell liefert Lösung D. Sabel KI SoSe 2014 Aussagenlogik 76/123

Beispiel: Warum will man Modelle finden? Die Frage nach dem Pfefferdieb 3 Verdächtige: Hutmacher, Schnapphase, Hasel-Maus Genau einer von ihnen ist der Dieb. (H S M) (H (S M)) (S (H M)) (M (H S)) Unschuldige sagen immer die Wahrheit Schnapphase: Der Hutmacher ist unschuldig. Hutmacher: Die Hasel-Maus ist unschuldig Wer ist der Dieb? Kodierung: H, S, M, für ist schuldig, Modell liefert Lösung D. Sabel KI SoSe 2014 Aussagenlogik 76/123

Beispiel: Warum will man Modelle finden? Die Frage nach dem Pfefferdieb 3 Verdächtige: Hutmacher, Schnapphase, Hasel-Maus Genau einer von ihnen ist der Dieb. (H S M) (H (S M)) (S (H M)) (M (H S)) Unschuldige sagen immer die Wahrheit Schnapphase: Der Hutmacher ist unschuldig. S H Hutmacher: Die Hasel-Maus ist unschuldig Wer ist der Dieb? Kodierung: H, S, M, für ist schuldig, Modell liefert Lösung D. Sabel KI SoSe 2014 Aussagenlogik 76/123

Beispiel: Warum will man Modelle finden? Die Frage nach dem Pfefferdieb 3 Verdächtige: Hutmacher, Schnapphase, Hasel-Maus Genau einer von ihnen ist der Dieb. (H S M) (H (S M)) (S (H M)) (M (H S)) Unschuldige sagen immer die Wahrheit Schnapphase: Der Hutmacher ist unschuldig. S H Hutmacher: Die Hasel-Maus ist unschuldig H M Wer ist der Dieb? Kodierung: H, S, M, für ist schuldig, Modell liefert Lösung D. Sabel KI SoSe 2014 Aussagenlogik 76/123

Beispiel (Forts.) Wissen: Klauselmenge dazu: H S M {H, S, M} H (S M) { H, S} S (H M) { H, M} M (H S) { S, M} S H {S, H} H M {H, M} D. Sabel KI SoSe 2014 Aussagenlogik 77/123

Resolution dazu {H, S, M} { H, S} { H, M} { S, M} {S, H} {H, M} D. Sabel KI SoSe 2014 Aussagenlogik 78/123

Resolution dazu {H, S, M} { H, S} { H, M} { S, M} {S, H} {H, M} { H} D. Sabel KI SoSe 2014 Aussagenlogik 78/123

Resolution dazu {H, S, M} { H, S} { H, M} { S, M} {S, H} {H, M} { H} { M} D. Sabel KI SoSe 2014 Aussagenlogik 78/123

Resolution dazu {H, S, M} { H, S} { H, M} { S, M} {S, H} {H, M} { H} { M} {S, M} D. Sabel KI SoSe 2014 Aussagenlogik 78/123

Resolution dazu {H, S, M} { H, S} { H, M} { S, M} {S, H} {H, M} { H} { M} {S, M} {S} D. Sabel KI SoSe 2014 Aussagenlogik 78/123

Resolution dazu {H, S, M} { H, S} { H, M} { S, M} {S, H} {H, M} { H} { M} {S, M} {S} Klauselmenge nur erfüllbar, wenn die 1-Klauseln wahr sind. Mögliches Modell daher S, M, H Prüfung ergibt: Ja ist Modell Also ist der Schnapphase schuldig D. Sabel KI SoSe 2014 Aussagenlogik 78/123

Optimierungen des Resolutionsverfahrens Bestimmte Klauseln brauchen nicht zu betrachtet werden diese können gelöscht, bzw. brauchen erst gar nicht erzeugt werden Optimierung, da weniger Klauseln betrachet werden müssen D. Sabel KI SoSe 2014 Aussagenlogik 79/123

Optimierungen des Resolutionsverfahrens (2) Tautologische Klauseln = Klauseln die A und A enthalten Satz Sei K tautologische Klausel, C Klauselmenge: C ist äquivalent zu C {K} Beweis: Klar, da jede Interpretation K wahr macht Im Resolutionsverfahren: Lösche tautologische Klauseln D. Sabel KI SoSe 2014 Aussagenlogik 80/123

Optimierungen des Resolutionsverfahrens (3) Ein Literal L i ist isoliertes Literal{ in Klauselmenge C gdw. L i Xi, falls L nicht in C vorkommt, wobei L i := i = X i X i, falls L i = X i Satz Sei C Klauselmenge, C Klauselmenge in der alle Klauseln gelöscht sind, die isolierte Literale enthalten. C ist erfüllbarkeitsäquivalent zu C, d.h. C ist erfüllbar gdw. C ist erfüllbar. : Jede Interpretation die C erfüllt, erfüllt auch C (weniger Klauseln). : Wenn I Klauselmenge C erfüllt, dann erfüllt I Klauselmenge C, wobei 1, für isolierte Literale L i = X I (X) = 0, für isolierte Literale L i = X I(X), sonst Im Resolutionsverfahren: Lösche Klauseln mit isolierten Literalen D. Sabel KI SoSe 2014 Aussagenlogik 81/123

Beachte... Löschen von isolierten Literalen ist keine Äquivalenzumformung Beispiel: {{A, A}, {B}} ist nicht äquivalent zu {{A, A}} {{A, A}} ist Tautologie {{A, A}, {B}} ist falsifizierbar (mit I(B) = 0) Da Resolution nach (Un-)erfüllbarkeit sucht, reicht aber Erfüllbarkeitsäquivalenz aus. D. Sabel KI SoSe 2014 Aussagenlogik 82/123

Optimierungen des Resolutionsverfahrens (4) Eine Klausel K 1 subsumiert Klausel K 2 gdw. K 1 K 2. Sprechweise auch: K 2 wird subsumiert von K 1 Satz Die Klauselmenge C {K 1 } {K 2 } ist äquivalent zu C {K 1 }, wenn K 1 die Klausel K 2 subsumiert. Sei I Interpretation. Zwei Fälle: I(C {K 1} {K 2}) = 1. Dann macht I alle Klauseln wahr, also gilt I(C {K 1}) = 1 I(C {K 1} {K 2}) = 0. Wenn I(C {K 1}) = 0, dann klar. Sonst nehme an I(K 2) = 0, aber I(C {K 1}) = 1. Da K 2 K 1 muss aber gelten I(K 1) = 0. Widerspruch, daher I(C {K 1}) = 0 Im Resolutionsverfahren: Lösche subsumierte Klauseln D. Sabel KI SoSe 2014 Aussagenlogik 83/123

Optimierungen des Resolutionsverfahrens (5) Zusammenfassend Tautologische Klauseln Klauseln die isolierte Literale enthalten Subsumierte Klauseln können im Resolutionsverfahren gelöscht werden, da das Finden der leeren Klausel (ja/nein) dadurch nicht verändert wird. (Erfüllbarkeit, Widersprüchlichkeit bleibt gleich) D. Sabel KI SoSe 2014 Aussagenlogik 84/123

Das DPLL-Verfahren Namensgebung Martin Davis und Hilary Putnam, 1960: Resolution-basiertes Verfahren Martin Davis, Hilary Putnam, George Logemann und Donald W. Loveland, 1962: Verbesserung des Verfahres (insbes. Platz) Oft DPLL-Verfahren, aber auch DP-Verfahren, Davis-Putnam-Prozedur Grobe Eigenschaften Grundlage vieler moderner SAT-Solver Kombination aus: Resolution mit Subsumtion und Fallunterscheidung Verwendet Backtracking Kann Modelle für erfüllbare Klauseln einfach erzeugen D. Sabel KI SoSe 2014 Aussagenlogik 85/123

DPLL-Algorithmus (1) Eingabe: Klauselmenge C Annahme: Tautologische Klauseln bereits entfernt Ausgabe: true, wenn C unerfüllbar false, wenn C erfüllbar Erweiterung: auch ein Modell wenn erfüllbar DPLL beantwortet daher die Frage: Ist C widersprüchlich? D. Sabel KI SoSe 2014 Aussagenlogik 86/123

DPLL-Algorithmus (2) Algorithmus DPLL-Prozedur Funktion DPLL(C): if C then return true; // unerfüllbar if C = then return false; // erfüllbar if C enthält 1-Klausel {L} then Sei C die Klauselmenge, die aus C entsteht, indem (1) alle Klauseln, die L enthalten, entfernt werden und (2) in den verbleibenden Klausel alle Literale L entfernt werden (wobei L = X, wenn L = X und L = X, wenn L = X) DPLL(C ); // rekursiver Aufruf if C enthält isoliertes Literal L then Sei C die Klauselmenge, die aus C entsteht, indem alle Klauseln, die L enthalten, entfernt werden. DPLL(C ); // rekursiver Aufruf // Nur wenn keiner der obigen Fälle zutraf: Wähle Atom A, dass in C vorkommt; return DPLL(C {{A}}) DPLL(C {{ A}}) // Fallunterscheidung D. Sabel KI SoSe 2014 Aussagenlogik 87/123

DPLL-Prozedur: Erläuterungen if C enthält 1-Klausel {L} then Sei C die Klauselmenge, die aus C entsteht, indem (1) alle Klauseln, die L enthalten, entfernt werden und (2) in den verbleibenden Klausel alle Literale L entfernt werden (wobei L = X, wenn L = X und L = X, wenn L = X) (1) entspricht der Subsumtion: {A},..., {A, B, C},... entferne {A, B, C}, da {A} die Klausel {A, B, C} subsumiert. (2) entspricht der Resolution mit anschließender Subsumtion {L} {L, L 1,..., L n} {L 1,..., L n} Entfernen von {A}: Setze I(A) = 1, sonst sowieso nicht erfüllbar D. Sabel KI SoSe 2014 Aussagenlogik 88/123

DPLL-Prozedur: Erläuterungen (2) if C enthält isoliertes Literal L then Sei C die Klauselmenge, die aus C entsteht, indem alle Klauseln, die L enthalten, entfernt werden. DPLL(C ); // rekursiver Aufruf Entspricht der Löschregel für isolierte Literale // Nur wenn keiner der obigen Fälle zutraf: Wähle Atom A, dass in C vorkommt; return DPLL(C {{A}}) DPLL(C {{ A}}) // Fallunterscheidung Fallunterscheidung, ob A wahr oder falsch ist. D. Sabel KI SoSe 2014 Aussagenlogik 89/123

DPLL in Haskell dpll :: [[Int]] -> Bool dpll [] = False dpll cnf [] elem cnf = True otherwise = case getunit cnf of Just [x] -> dpll [delete (negate x) clause clause <- cnf, not (x elem clause)] Nothing -> if not (null isolated) then dpll [clause clause <- cnf, let (isolit:_)=isolated, not (isolit elem clause)] else (dpll ([lit]:cnf)) && (dpll ([negate lit]:cnf)) where literals = (nub. sort. concat) cnf isolated = [lit lit <- literals, not ((negate lit) elem literals)] ((lit:clause):_) = cnf getunit [] = Nothing getunit ([x]:_) = Just [x] getunit (_:xxs) = getunit xxs D. Sabel KI SoSe 2014 Aussagenlogik 90/123