Logik. c Javier Esparza und Michael Luttenberger 2018/02/06

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

WS 2009/10. Diskrete Strukturen

Übung 4: Aussagenlogik II

Logik für Informatiker

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

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

TU5 Aussagenlogik II

Beispiel Aussagenlogik nach Schöning: Logik...

Resolutionsalgorithmus

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Ersetzbarkeitstheorem

Logik für Informatiker

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

Vorsemesterkurs Informatik

Logic in a Nutshell. Christian Liguda

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

Aussagenlogik. Aussagen und Aussagenverknüpfungen

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

Hilbert-Kalkül (Einführung)

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

Teil 7. Grundlagen Logik

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

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

Informationsverarbeitung auf Bitebene

Grundlagen der Theoretischen Informatik

Logik (Teschl/Teschl 1.1 und 1.3)

Mathematik für Informatiker I

Normalformen boolescher Funktionen

Einführung in die Logik. Sommersemester Juli 2010 Institut für Theoretische Informatik

Mathematik-Vorkurs für Informatiker Aussagenlogik 1

Binary Decision Diagrams (Einführung)

Informatik A (Autor: Max Willert)

3.0 VU Formale Modellierung

Logische und funktionale Programmierung

Brückenkurs Mathematik

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Kapitel L:II. II. Aussagenlogik

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1

Mathematik-Vorkurs für Informatiker Aussagenlogik 1

Logik. Markus Lohrey. Wintersemester 2012/2013. Universität Leipzig. Markus Lohrey (Universität Leipzig) Logik Wintersem.

Erfüllbarkeit und Allgemeingültigkeit

Logik-Grundlagen. Syntax der Prädikatenlogik

Bisher. minimale DNF. logischen Formeln Booleschen Funktionen Schaltungen

Grundlagen der Künstlichen Intelligenz

Logik. Markus Lohrey. Sommersemester Universität Siegen. Markus Lohrey (Universität Siegen) Logik Sommersem / 299

Logik Teil 1: Aussagenlogik. Vorlesung im Wintersemester 2010

Logik Teil 1: Aussagenlogik

5. Aussagenlogik und Schaltalgebra

Logik für Informatiker

Klassische Aussagenlogik

Zusammenfassung des Stoffes zur Vorlesung Formale Systeme

Binäre Suchbäume (binary search trees, kurz: bst)

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Grundlagen der diskreten Mathematik

Mathematische Logik. Grundlagen, Aussagenlogik, Semantische Äquivalenz. Felix Hensel. February 21, 2012

Boolesche Algebra. Hans Joachim Oberle. Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2

Grundlagen der Informationverarbeitung

Musterbeispiele: Aussagenlogik (Lösung)

SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4. R. C. Ladiges, D. Fast 10. Juni 2010

Semantic Web Technologies I!

II. Grundlagen der Programmierung

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

Algorithmen für Hornlogik

Klausur zur Vorlesung Mathematische Logik

Einiges zu Resolutionen anhand der Aufgaben 6 und 7

Grundlagen der Kognitiven Informatik

Konjunktive und disjunktive Normalformen

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

Der Sequenzenkalkül. Charakterisierung der logischen Schlussfolgerung: Sequenzenkalkül für die Prädikatenlogik

Weitere Beweistechniken und aussagenlogische Modellierung

Vorlesung. Logik und Diskrete Mathematik

Mengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit

Die Folgerungsbeziehung

Kapitel 1. Grundlagen Mengen

Einführung Grundbegriffe

mathe plus Aussagenlogik Seite 1

Was bisher geschah: klassische Aussagenlogik

Kapitel 1. Grundlagen

SS April Übungen zur Vorlesung Logik Blatt 1. Prof. Dr. Klaus Madlener Abgabe bis 27. April :00h

Aussagen (und damit indirekt auch Aussagesätze) können wahr oder falsch sein. Wahr und falsch sind Wahrheitswerte von Aussagen.

1 Einführung Aussagenlogik

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls

Grundkurs Logik - 2. Einheit

Sudoku. Warum 6? Warum 6?

Logik: aussagenlogische Formeln und Wahrheitstafeln

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

3.0 VU Formale Modellierung

SE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER

Brückenkurs Mathematik. Dienstag Freitag

Vorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen. Wer sind wir? Barbara König Übungsleitung: Dennis Nolte, Dr.

Logik Vorlesung 6: Resolution

Theoretische Grundlagen des Software Engineering

Zusammenfassung der Vorlesung. Mathematische Logik. Bodo von der Heiden Letzte Aktualisierung: 2. Februar 2005

TU8 Beweismethoden. Daniela Andrade

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Paradoxien der Replikation

Vorkurs Mathematik für Informatiker Aussagenlogik -- Thomas Huckle Stefan Zimmer Matous Sedlacek,

Transkript:

Logik c Javier Esparza und Michael Luttenberger Chair for Foundations of Software Reliability and Theoretical Computer Science Technische Universität München 2018/02/06

Logik und Inferenzen 2 Logik ist die Wissenschaft des Schließens. Sie untersucht, welche Inferenzen korrekt sind. Unter Inferenz (oder logischer Schluss) verstehen wir (informell) eine Aussage der Form: Wenn A wahr ist, dann ist auch B wahr. Umgangssprachlich sagen wir auch: Wenn A gilt, dann gilt B Wenn A, dann B A impliziert B A ist die Annahme (Prämisse, Antezedens, Hypothese). B die Konklusion (Konsequenz).

Inferenzen 3 Eine korrekte Inferenz, ca. 2400 Jahre alt: Wenn alle Menschen sterblich sind und Sokrates ein Mensch ist, dann ist Sokrates sterblich Aus der Korrektheit von wenn A, dann B folgt nicht, dass A wahr ist! Wenn die Inferenz korrekt ist, und A wahr ist, dann ist B wahr, mehr wissen wir nicht! Wenn bestochene Ministerpräsidenten ins Gefängnis müssen und Herr Seehofer bestochen wurde, dann muss er ins Gefängnis ist eine korrekte Inferenz.

Inferenzen 4 Eine inkorrekte Inferenz: Wenn einige Männer klug sind und alle Fußballer Männer sind, dann sind alle Fußballer klug. Derselbe Fehler, aber versteckt : Wenn einige vererbte Variationen dem Gesetz der Selektion unterliegen und alle menschlichen Unterschiede vererbte Variationen sind, dann unterliegen alle menschlichen Unterschiede dem Gesetz der Selektion.

Noch zwei korrekte Inferenzen... 5 Wenn alle Guldräber untreßig und alle Untreßigen filzig sind dann sind alle Guldräber filzig. Diese Inferenz erkennen wir als korrekt, auch wenn wir nicht wissen, was Guldräber, untreßig, oder filzig bedeutet!! Die Inferenz ist eine Instanz von: Wenn (alle X sind Y und alle Y sind Z) dann (alle X sind Z)

Noch zwei korrekte Inferenzen... 6 Wenn Anna ein Enkelkind hat dann ist Anna eine Mutter. Die Inferenz kann nur als korrekt erkannt werden, wenn man Wissen über die Bedeutung von Anna, Mutter und Enkelkind hat.

Logische Inferenzen 7 Eine logische Inferenz ist eine Inferenz mit Variablen (Platzhalter für Aussagen oder Objekte). Eine logische Inferenz ist korrekt, wenn alle ihre Instanzen korrekt sind. Logiker sagen: die Inferenz ist (allgemein)gültig oder eine Tautologie. Beispiele: Wenn (alle X sind Y und alle Y sind Z) dann (alle X sind Z) ist gültig. Wenn (alle X sind Y) dann (alle Y sind X) ist nicht gültig. Wenn (A und B und (wenn A dann C)) dann (B und C) ist gültig. Die Logik untersucht die gültigen Inferenzen Wie kann man sie (automatisch) erkennen? Welche sind die nützlichsten?

Logiken 8 Es gibt zahlreiche Logiken Aussagenlogik, Prädikatenlogik, Temporallogik, deontische Logik... Verschiedene Logiken studieren die gültigen Inferenzen in verschiedenen Sprachfragmenten. Aussagenlogik: und, oder, nicht, wenn... dann Wenn (X und Y) dann Y Syllogistische Logik: und, alle, einige, kein Wenn (alle A sind B und kein B ist ein C ) dann (ist kein A ein C) Temporallogik: und, oder, nicht, heute, morgen, irgendwann, nie,... Wenn (heute A gilt), dann (es war gestern wahr, dass morgen A gelten wird)

Logiken 9 In DS zwei Logiken: Aussagenlogik und Prädikatenlogik (erster Stufe) Englisch: propositional logic bzw. first-order logic (FOL) Basis für viele andere Logiken. Aussagenlogik recht erfolgreich, z.b.: Rechnerarchitektur (Boolesche Funktionen), Programmiersprachen (Verzweigungs-,Schleifenbedingungen), Beschreibungssprache (Datenbanken, KI, Verfikation, Synthese)

Überblick 10 1 Logik, formale Logik im Allgemeinen 2 Einführung in die Aussagenlogik Syntax Semantik Syntaktischer Zucker Beispiel

1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik

Syntax und Semantik

Aussagenlogik: Formale Einführung 13 Die Aussagenlogik (wie jede Logik) verwendet eine künstliche Sprache, definiert durch ihre Syntax und ihre Semantik. Die Syntax der Sprache legt durch Regeln fest, welche Zeichenketten wohlgeformte Ausdrücke sind. Die wohlgeformten Ausdrücke einer Logik heißen Formeln. Die Semantik legt die Bedeutung der Formeln fest. Eine formale Semantik ordnet jeden Ausdruck einem mathematischen Objekt zu, welchem als Bedeutung des Ausdrucks interpretiert wird.

Aussagenlogik: Syntax 14 Eine formale Syntax besteht aus einem Vokabular und einer Menge von Formationsregeln. Das Vokabular legt fest, welche Zeichen in Ausdrücken vorkommen dürfen Die Formationsregeln legen fest, welche Zeichenketten über dem Vokabular zulässig oder wohlgeformt sind und welche nicht.

Syntax: Vokabular und Formationsregeln 15 Das Vokabular setzt sich aus folgenden Zeichenklassen zusammen: Wahrheitskonstanten: true, false Unendliche Menge V von Aussagenvariablen: p, q, r, s, t,... Logische Operatoren:,,, Hilfssymbolen: (, ) Die Formationsregeln sind: Regel 0: true und false sind Formeln. Regel 1: Eine Aussagenvariable ist eine Formel. Regel 2: Ist F eine Formel, dann ist auch F eine Formel. Regel 3: Sind F und G Formeln, dann sind (F G), (F G) und (F G) ebenfalls Formeln. (Regel 4: Ein Ausdruck ist nur dann eine Formel, wenn er durch Anwendung der obenstehenden Regeln konstruiert werden kann. )

Syntax: Formationsregeln 16 Die Definitionen kann man kurz schreiben als F ::= true false p F (F F ) (F F ) mit p V was man als Konstruktionvorschrift bzw. rekursives Programm liest. In null Schritten (bzw. Rekursionstiefe 0) lassen sich true und false und alle atomaren Formeln p, q, r,... konstruieren. In einem Schritt konstruiert man z.b.: In zwei Schritten z.b.: Weitere Formeln: p q r (p q) (q p) (p q) (q p)... p (p q) ((p p) r) ( p q)... ((p q) r) ((p (false q)) r) (( p q) (q p))

Syntax: Ableitungsbeispiel 17 (1) p Regel 1 (2) q Regel 1 (3) (p q) Regel 3a, (1), (2) (4) (p q) Regel 2, (3) (5) q Regel 2, (2) (6) (q q) Regel 3b, (2), (5) (7) ( (p q) (q q)) Regel 3c, (4), (6)

Syntax: Syntaxbaum 18 Die Konstruktion einer Formel stellt man als Syntaxbaum dar. Der Syntaxbaum von true, false und einer atomaren Formel p ist einfach: true false p Der Syntaxbaum einer Formel G ergibt sich aus dem Syntaxbaum T G von G: Der Syntaxbaum einer Formel F = (G H) bzw. F = (G H) bzw. F = (G H) ergibt sich aus den Syntaxbäumen T G, T H von G, H: T G T G T H T G T H T G T H

Syntax: Syntaxbaum 19 Bsp.: Syntaxbaum zu (( (p q)) (q r)) q p q r Strikte Klammerung gibt bereits Konstruktion vollständig vor.

Syntax: Teilformel 20 Sind F, G aussagenlogische Formeln, so bezeichnet man G als Teilformel von F, wenn G als Zeichenkette vollständig und zusammenhängend in F vorkommt. Alternativ: Der Syntaxbaum zu G ist (isomorph zu) einem Teilbaum von F. Die in F vorkommenden Variablen sind gerade alle atomaren Teilformeln von F. V F bezeichnet die Menge aller in F vorkommenden Variablen. Beispiel: Alle Teilformeln zu F = ((p q) (q r)) p q q (p q) r r r (q r) (q r) ((p q) (q r))

Syntax: Bindungsregeln 21 Formeln, die strikt nach der Syntax gebaut sind, können für Menschen schwer zu parsen sein: Zu viele Klammern. Bindungsregeln zur Vereinfachung von Klammerausdrücken Beispiele: bindet stärker als bindet stärker als bindet stärker als p q steht für ( p q), nicht für (p q) p q r steht für ((p q) r), nicht für (p (q r)) p q r s steht für ((p q) (r s)) In den Folien: Weder p q r s noch ((p q) (r s)), sondern (p q) (r s)

Aussagenlogik: Semantik (Intuition) 22 Was ist die Bedeutung einer Formel? Die Formel F = (p q) kann in vier Welten ausgewertet werden Welt 1: p und q sind beide wahr. F ist wahr. Welt 2: p ist wahr, q ist falsch. F ist falsch. Welt 3: p ist falsch, q ist wahr. F ist falsch. Welt 4: p ist falsch, q ist falsch. F ist falsch. Die Bedeutung einer Formel ist die Funktion, die jede mögliche Welt dem Wahrheitswert der Formel in dieser Welt zuordnet: 1 (die Formel ist wahr), oder 0 (die Formel ist falsch). Man nennt 1, 0 die Booleschen Werte.

Belegungen 23 Def.: Eine Belegung ist eine Funktion β : V {0, 1} mit v V. Die Belegung β : V {0, 1} passt zu einer aussagenlogischen Formel F, falls jede in F vorkommende Variable in V enthalten ist. Eine zu F passende Belegung β : V {0, 1} heißt minimal, falls V = V F gerade die Menge aller in F vorkommenden Variablen ist Def.: Sei F eine aussagenlogische Formel, β eine zu F passende Belegung. Der Wahrheitswert [F ](β) von F unter β ist definiert durch: 1 falls F = true 0 falls F = false β(p) falls F = p für p V [F ](β) := 1 [G](β) falls F = G max{[g](β), [H](β)} falls F = (G H) min{[g](β), [H](β)} falls F = (G H) max{1 [G](β), [H](β)} falls F = (G H)

Wahrheitstabellen 24 Die Definition der Funktion [F ] kann mit Hilfe von Wahrheitstabellen visualisiert werden. Die Tabelle gibt den Wahrheitswert der Formel für jede Kombination von Wahrheitswerten der Operanden an. Wahrheitstabellen der Grundoperatoren Negation, Konjuktion, Disjunktion, Implikation: Negation G G 1 0 0 1 Konjunktion G H G H 0 0 0 0 1 0 1 0 0 1 1 1 Disjunktion G H G H 0 0 0 0 1 1 1 0 1 1 1 1 Implikation G H G H 0 0 1 0 1 1 1 0 0 1 1 1

Semantik einer Formel 25 Die Funktion [F ]( ): {0, 1} V {0, 1} ist die Semantik von F. Gilt [F ](β) = 1, so sagt man: F wertet sich unter β zu wahr aus, oder kurz F ist unter β wahr. Gilt [F ](β) = 0, so sagt man: F wertet sich unter β zu falsch aus, oder kurz F ist unter β falsch.

Semantik der Implikation 26 Die formale Semantik der Implikation ist sehr unterschiedlich von dem Gebrauch von wenn... dann in der Alltagssprache. p q sagt nicht, dass p eine Ursache für q ist. Pinguine schwimmen Pferde wiehern ist wahr in unserer Welt. p q sagt nichts darüber, ob p wahr oder falsch ist. Frau Merkel wurde bestochen Frau Merkel gehört hinter Gitter ist wahr in unserer Welt. Wenn in einer Welt p falsch ist, dann ist in dieser Welt p q wahr, unabhängig davon, was q sagt. Pinguine fliegen Pferde sprechen ist wahr in unserer Welt. p q sagt nichts darüber, ob p q wahr ist. In der Alltagssprache aus Wenn du brav bist, dann bekommst Du ein Bonbon folgt implizit Wenn Du nicht brav bist, dann bekommst Du kein Bonbon.

Implikation: Wahr oder falsch in unserer Welt? 27 1+1=6 Merkel ist Kanzlerin Deutschland ist größer als Spanien die Sonne ist heute aufgegangen Dienstag ist ein Tag der Woche Trump ist ein Pinguin. Der Mond ist aus grünem Käse Frankreich hat einen König

Syntaktischer Zucker 28 In der Praxis macht man die Aussagenlogik benutzerfreundlich: Üblicherweise gibt man einfach explizit an, welche Zeichen(ketten) als Variablen im Weitern aufzufassen sind. (Vgl. Variablendeklaration.) Zusätzlich erweitert man die Syntax um weitere Operatorsymbole z.b.: Ausschließendes-Oder:, XOR. Entspricht dem sprachlichen Konstrukt entweder... oder genau einer der beiden Operanden muss wahr sein, die Möglichkeit, dass beide Operanden wahr sind, wird ausgeschlossen. Bikonditional. Entspricht dem sprachlichen Konstrukt genau dann... wenn If-Then-Else-Operator ITE(F, G, H) (der Arität 3). Entspricht dem sprachlichen Konstrukt wenn F, dann G, sonst H

Syntaktischer Zucker 29 Und erweitert die Semantik entsprechend für diese neuen Operatoren, hier mittels Warheitstabellen: F G F G 0 0 0 0 1 1 1 0 1 1 1 0 F G F G 0 0 1 0 1 0 1 0 0 1 1 1 F G H ITE(F, G, H) 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 Allgemein kann jede Wahrheitstabelle als Definition eines Operators aufgefasst werden. Aufgabe: Wieviele mögliche binäre Operatoren gibt es? Und wie viele der Arität n?

Berechnung von [F ] für eine gegebene Formel F 30 p q r ((p q) r) r 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0

Berechnung von [F ] für eine gegebene Formel F 31 p q r ((p q) r) r 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Berechnung von [F ] für eine gegebene Formel F 32 p q r ((p q) r) r 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 0 1

Berechnung von [F ] mit KV-Diagrammen 33 Sei F eine Formel. Sei B F die Menge aller minimalen Belegungen β : V F {0, 1} von F. Wir nehmen B F als Universum, d.h. X = B F \ X. Für jede Teilformel G von F sei Erf G = {β B F β(g) = 1} (Menge der minimalen Belegungen, die G erfüllen). Für jede Teilformel G von F gilt: Wenn G = G 1 G 2 dann Erf G = Erf G1 Erf G2. Wenn G = G 1 G 2 dann Erf G = Erf G1 Erf G2. Wenn G = H dann Erf G = Erf H. Wenn G = G 1 G 2 dann Erf G = Erf G1 Erf G2. Wenn G = G 1 G 2 dann Erf G = (Erf G1 Erf G2 ) (Erf G1 Erf G2 ). Damit kann die Menge Erf F mit Hilfe eines KV-Diagramms berechnet werden

Berechnung von [F ] mit KV-Diagrammen 34 p p q p r p q r q r q r r p p q p (p q) r p q r q r q r ((p q) r) r p q r

1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik

Gültige, widersprüchliche, und erfüllbare Formeln

Gültige Formeln 37 Eine Formel F ist (allgemein)gültig wenn für jede Belegung β, die zu F passt, gilt: [F ](β) = 1. Intuitiv: eine Formel ist gültig, wenn sie überall ( in allen Welten ) wahr ist. Wir sagen auch: F ist eine Tautologie. Achtung!: Eine Formel ist gültig ist nicht dasselbe wie Eine Formel ist wahr. Lemma: Eine Formel F ist gültig genau dann, wenn für jede minimale Belegung β, die zu F passt, gilt: [F ](β) = 1. Tautologietest: berechne die Wahrheitstabelle und prüfe, ob die Spalte für F ausschließlich Einsen enthält. Beispiele von Tautologien: p p (p q) p (p (q r)) ((p q) (p r)) p (p q) p (q p)

Widersprüchliche Formeln 38 Eine Formel F ist widersprüchlich, wenn für jede Belegung β, die zu F passt, gilt: [F ](β) = 0. Intuitiv: eine Formel ist widersprüchlich, wenn sie überall ( in allen Welten ) falsch ist. Wir sagen auch: F ist ein Widerspruch. Achtung!: Eine Formel ist widersprüchlich ist nicht dasselbe wie Eine Formel ist falsch. Lemma: Eine Formel F ist widersprüchlich, wenn für jede minimale Belegung β, die zu F passt, gilt: [F ](β) = 0. Widerspruchstest: berechne die Wahrheitstabelle und prüfe, ob die Spalte für F ausschließlich Nullen enthält. Beispiele von Widersprüchen: p p p (p p) p p

Erfüllbare Formeln 39 Eine Formel F ist erfüllbar, wenn es eine Belegung β gibt, die zu F passt, und [F ](β) = 1 erfüllt. Intuitiv: eine Formel ist erfüllbar, wenn sie in mindestens einer Welt wahr ist. Erfüllbarkeitsstest: berechne die Wahrheitstabelle und prüfe, ob die Spalte für F mindestens eine Eins enthält. Beispiele von erfüllbaren, aber nicht gültigen Formeln: p p q p p

Aufgabe 40 gültig erfüllbar unerfüllbar p p q p p p p p p p q p (q p) p (p q)

Gültige, erfüllbare, und unerfüllbare Formeln 41 Aussagenlogische Formeln teilen sich auf in gültige, unerfüllbare und erfüllbare, aber nicht gültige Formeln. G gültig F F erfüllbar, aber nicht gültig G unerfüllbar F gültig gdw. F unerfüllbar bzw. F unerfüllbar gdw. F gültig F nicht gültig gdw. F erfüllbar bzw. F erfüllbar gdw. F nicht gültig F nicht gültig, aber erfüllbar gdw. F nicht gültig, aber erfüllbar F G gdw. (F G) gültig

Das Erfüllbarkeitsproblem SAT 42 Das Erfüllbarkeitsproblem (satisfiability problem, SAT) ist eines der am meisten untersuchten Problemen der ganzen Informatik: Gegeben: Entscheiden: eine aussagenlogische Formel F ob F erfüllbar ist (und, wenn ja, eine erfüllende Belegung finden). Viele Probleme lassen sich auf SAT reduzieren: Äquivalenz von Schaltkreisen, Korrektheit von Programmen, Plannungsprobleme, automatisches Beweisen u.v.m. Auch ein NP-vollständiges Problem. Trotzdem enorme Fortschritte im Bereich der SAT-Solver seit 2000.

Modellierung des Sudoku-Problems mit SAT 43 Problem: Gegeben ein Sudoku S, konstruiere eine Formel F S, die folgende (noch nicht formal definierte) Eigenschaft erfüllt: Eine minimale, zu F S passender Belegung, macht F S wahr, genau dann, wenn sie die Lösung des Sudokus entspricht 4 4 4 4 4 1 1 1 1 2 2 3 3 5 5 5 5 5 5 6 6 6 7 7 8 8 9 9 9 9 9 8 6

Modellierung des Sudoku-Problems mit SAT 44 Aussagenlogische Variablen: {X Y Z X, Z, S [9]} Bedeutung von X Z,S ( intended meaning ): Auf dem Feld Z, S liegt die Zahl X. Anforderungen: Jede Zahl kommt in jeder Zeile vor. Jede Zahl kommt in jeder Spalte vor. Jede Zahl kommt im jedem Quadrat vor. Jedes Feld enthält höchstens eine Zahl (!)

Modellierung des Sudoku-Problems mit SAT 45 Jede Zahl kommt in jeder Zeile vor Formel für Zahl X kommt in Zeile Z vor : (X 1,Z X 2,Z X 9,Z ) Formel für Zahl X kommt in jede Zeile vor : 9 (X 1,Z X 2,Z X 9,Z ) Z=1 Formel für Jede Zahl kommt in jede Zeile vor : 9 9 (X 1,Z X 2,Z X 9,Z ) X=1 Z=1

Modellierung des Sudoku-Problems mit SAT 46 Jede Zahl kommt in jeder Spalte vor 9 9 (X Z,1 X Z,2 X Z,9 ) X=1 Z=1 Jede Zahl kommt im jedem Quadrat vor ( ( 9 3 ) ( 3 3 ) ( 6 3 ) 9 X Z,S X Z,S X Z,S X=1 ( Z=1 S=1 Z=1 S=4 Z=1 S=7 6 ) ( 3 6 ) ( 6 6 ) 9 X Z,S X Z,S X Z,S ( Z=4 S=1 Z=4 S=4 Z=4 S=7 9 ) ( 3 9 ) ( 6 9 ) ) 9 X Z,S X Z,S X Z,S Z=7 S=1 Z=7 S=4 Z=9 S=7

Modellierung des Sudoku-Problems mit SAT 47 Jedes Feld enthält höchstens eine Zahl Formel für Feld Z, S enthält nicht X und Y : (X Z,S Y Z,S ) Formel für Feld Z, S enthält höchstens eine Zahl : 9 X=1 9 Y = 1 Y X (X Z,S Y Z,S ) Formel für Jedes Feld enthält höchstens eine Zahl : 9 9 9 Z=1 S=1 X=1 Formel für die Anfangskonfiguration: 9 Y = 1 Y X 4 1,1 9 1,5... 4 9,9 (X Z,S Y Z,S )

Modellierung des Sudoku-Problems mit SAT 48 Sei F S die Formel, die aus der Konjuktion der Formeln für die Anforderungen und für die Anfangskonfiguration. In F S kommen 729 (9 3 ) Variablen vor. Eine Belegung β dieser Variablen entspricht eine Lösung des Sudokus genau dann, wenn [F S ](β) = 1. Wenn das Sudoku wohlformuliert ist, dann hat F S genau eine erfüllende Belegung. SAT-Solver benutzen, um eine erfüllende Belegung (und damit Zuteilung) zu finden.

Noch ein Beispiel... 49 Gegeben Stud Menge von Studierenden VL Menge der Vorlesungen Grp v Menge der Übungsgruppen zu Vorlesung v Start Menge der Startzeiten für Übungsgruppen Ziel: Ordne jedem Studenten eine Übungsgruppe jeder der VL zu, ohne dass es zu einem Terminkonflikt kommt (wenn denn möglich). Anforderungen: Jeder Student wird für jede VL einer Gruppe zugeordnet. Kein Student hat einen Terminkonflikt

Aussagenlogik: Modellierung mit SAT 50 Aussagenvariablen: Variable Bedeutung ( intended meaning ) Z s,v,g B v,g,t Student s wird für die VL v der Gruppe g zugeordnet Gruppe g zu VL v beginnt um t Anforderung: Jeder Student wird für jede VL einer Gruppe zugeordnet. Anforderung: Kein Student hat einen Terminkonflikt.

Logische Äquivalenz 51 Zwei Formeln F und G sind logisch äquivalent (symbolisch: F G) genau dann, wenn für jede Belegung β, die zu F und zu G passt, gilt: [F ](β) = [G](β). Intuitiv: wenn F und G äquivalent sind, dann sind sie zwei verschiedene Schreibweisen der selben Aussage. Lemma: Sei V F,G die Menge der Variablen, die in F oder G vorkommen. F und G sind äquivalent genau dann, wenn für jede Belegung β : V F,G {0, 1} gilt: [F ](β) = [G](β). Äquivalenztest: Konstruiere die Wahrheitstabelle von F G und prüfe, ob die Spalte für F G ausschliesschlich Einsen enthält.

Aufgabe 52 F G Gilt F G? p (p q) p Ja (p q) ( p q) p Nein p (q r) (p q) r Nein p (q r) (p q) (p r) Ja

Aussagenlogik: Logische Inferenzen 53 Eine logische Inferenz ist eine Formel der Gestalt F G. Dabei ist F die Annahme und G die Konklusion. Eine logische Inferenz ist korrekt wenn sie gültig ist. Notation: F = G (in Worten: G folgt aus F ) bezeichnet, dass F G gültig ist. Oft schreibt man F 1,..., F n = G statt F 1 F n = G. Achtung! In der Alltagssprache haben G folgt aus F und F impliziert G oft dieselbe Bedeutung. In dieser Vorlesung F impliziert G bezeichnet die Formel F G. G folgt aus F bezeichnet, dass die Formel F G gültig ist.

Aufgabe 54 F G F = G? p p q Ja p p q Nein p, q p q Ja p, q p q Ja p q p Ja p q p Nein p (p q) q Ja

Einige Beziehungen 55 F ist gültig (eine Tautologie) genau dann, wenn F ist ein Widerspruch. F true true = F (Notation: = F ) F ist ein Widerspruch genau dann, wenn F ist gültig. F false F = false F G gilt, genau dann, wenn F G ist eine Tautologie

1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik

Semantische Äquivalenzumformungen

Äquivalenzumformungen 58 Bereits bekannt: Umformen von arithmetischen oder mengentheoretischen Termen (Ausdrücken) unter Verwendung von Assoziativität, Kommutativität, Distributivität,... Beispiel: Für x, y R: ( Schul )Beweis: (x 3 + x 2 y + xy 2 + y 3 )(x y) = (x 4 y 4 ) (x 3 + x 2 y + xy 2 + y 3 )(x y) = x 4 + x 3 y + x 2 y 2 + xy 3 x 3 y x 2 y 2 xy 3 y 4 = x 4 y 4 Verwendet ein Distributivgesetz: für beliebige Ausdrücke e, f, g gilt e(f g) = ef eg.

Äquivalenzumformungen 59 Beispiel: Für x, y R (x 3 + x 2 y + xy 2 + y 3 )(x y) = (x 4 y 4 ) Wenn = nur für dieselbe Zeichenkette verwendet werden dürfte, dann wäre die Behauptung falsch. Die Bedeutung von = ist jedoch: Egal mit welchen reellen Zahlen man x und y ersetzt (belegt), die so gewonnen arithmetischen Ausdrücke werten sich (unter der üblichen Interpretation von + und ) zu derselben reellen Zahl aus. Vergleiche mit F G für aussagenlogische Formeln F, G: Unter jeder zu F und G passenden Belegung β werten sich beide Formeln zum selben Wahrheitswert aus, kurz [F ](β) = [G](β).

Äquivalenzen 60 Standardäquivalenzen I: Für beliebige aussagenlogische Formeln F, G, H gilt: (F F ) F (Idempotenz) (F F ) F (F G) (G F ) (Kommutativität) (F G) (G F ) ((F G) H) (F (G H)) (Assoziativität) ((F G) H) (F (G H)) (F (F G)) F (Absorption) (F (F G)) F (F (G H)) ((F G) (F H)) (Distributivität) (F (G H)) ((F G) (F H))

Äquivalenzen 61 Standardäquivalenzen II: Für beliebige aussagenlogische Formeln F, G, H gilt: F F (Doppelnegation) (F G) ( F G) (demorgan) (F G) ( F G) (F F ) false (Triviale Kontradiktion) (F F ) true (Triviale Tautologie) (F false) false (Dominanz) (F true) true (F true) F (Identität) (F false) F

Äquivalenzen 62 Standardäquivalenzen III: Für beliebige aussagenlogische Formeln F, G, H gilt: (F G) ( F G) (Implikation) (F G) ((F G) (G F )) (Bikonditional) (F G) (F G) ((F G) ( F G)) (XOR) ((F G) ( F G)) Bemerkung: Häufig verwendet man diese Äquivalenzen auch, um direkt Implikation, Bikonditional und XOR zu definieren. Die Äquivalenz für die Implikation ist extrem nützlich!

Äquivalenzen 63 Beachte: Die Äquivalenzen gelten für beliebige aussagenlogische Formeln. Vergleiche: Distributivitätsgesetz auf R x(y + z) = xy + xz gilt natürlich auch noch, wenn man x := (z + 5) 2, y := (u v), z = u + 3 durch beliebige arithmetische Ausdrücke ersetzt: (z + 5) 2 ((u v) + (u + 3)) = (z + 5) 2 (u v) + (z + 5) 2 (u + 3) Ganz analog für aussagenlogische Formeln. Instanziieren von (F F ) F mit F := (p (q r)): ((p (q r)) (p (q r)) ) (p (q r)) }{{}}{{}}{{} =:F =:F =:F

Beweis von Standardäquivalenzen 64 Nach Behauptung muss z.b. (F (F G)) F für beliebige Formeln F, G gelten. Also auch für Instanz mit F := p und G := q, d.h. für (p (p q)) q Überprüft man einfach mittels Wahrheitstafel (oder KV-Diagramm): p q (p (p q)) 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 Alle Standardäquivalenzen lassen sich mittels Wahrheitstafeln sehr einfach überprüfen, da maximal drei aussagenlogische Variablen. Warum reicht es, die Äquivalenzen für atomare Formeln F := p, G := q, H := r zu überprüfen? Deckt bereits alle möglichen Kombinationen von Wahrheitswerten [F ](β), [G](β), [H](β) unter jeder passenden Belegung β ab egal welche Formeln F, G, H konkret sind.

Äquivalenzumformungen 65 Äquivalenzumformung: Ersetzen einer Teilformel F von F durch eine zu F äquivalente Formel G um eine neue Formel G zu gewinnen. Notation: G = F [G /F ]. Äquivalenzumformungen macht man bei arithmetischen Ausdrücken ganz automatisch. Für den Beweis von geht man folgendermaßen vor: (x + (y (z z))) = x 1 Ersetze (z z) durch 0, da (z z) R 0: (x + (y (z z))) R (x + (y 0)) 2 Ersetze (y 0) durch 0, da (y 0) R 0: (x + (y 0)) R (x + 0) 3 Ersetze (x + 0) durch x, da (x + 0) R x: (x + 0) R x

Äquivalenzumformungen 66 Dass man semantisch äquivalente (Teil-)Formeln rein syntaktisch gegeneinander austauschen darf, bezeichnet man in der Aussagenlogik als Ersetzbarkeitstheorem: Seien F, G, H aussagenlogische Formeln mit F G und F eine Teilformel von H. Sei H eine aussagenlogische Formel, welche aus H entsteht, indem man ein beliebiges Vorkommen von F in H durch G ersetzt. Dann gilt H H. ist eine Kongruenz auf den aussagenlogischen Formeln: eine Äquivalenzrelation, für die das Ersetzbarkeitstheorem gilt. Ersetzbarkeitstheorem erlaubt Nebenrechnungen, wie von arithmetischen Ausdrücken gewohnt. Vereinfache in Nebenrechnung erst eine Teilformel mittels Äquivalenzumformungen.

Äquivalenzumformungen: Beispiel 67 (p (p q)) (p ( p q)) mit ((p p) (p q)) mit (false (p q)) mit ((p q) false) mit (p q) mit

Äquivalenzumformungen: Noch ein Beispiel 68 ((p q) ( p r) (s s)) (q r) ((p q) ( p r) true) (q r) mit F F true ((p q) ( p r)) (q r) mit F true F ((p q) ( p r)) (q r) mit F G F G ( (p q) ( p r)) (q r) mit (F G) F G ( p q) ( p r) q r mit (F G) F G ( p q) (p r) q r mit F F ( p q) q (p r) r mit F G G F (( p q) ( q q)) ((p r) ( r r)) mit (F G) H (F H) (G H) (( p q) true) ((p r) true) mit F F true p q p r mit F true F p p q r mit F G G F true q r mit F F true true mit true F true

Äquivalenzumformungen 69 Wann zeigt man F G mittels Wahrheitstafeln, wann mittels Äquivalenzumformungen? Wahrheitstafeln für Menschen bis maximal 5 Variablen noch praktikabel. Wie viele Variablen für Computer möglich? Für V F = n, z.b. V F = {A 1, A 2,..., A n }, muss man 2 n Belegungen auswerten. Annahme: 1ms zum Auswerten von F pro Belegung (Länge egal). In einer Minute 6 10 4 Belegungen; maximal 15 Variablen. In einer Stunde 86, 4 10 6 Belegungen; maximal 26 Variablen. In einem Jahr 31, 536 10 9 Belegungen; maximal 34 Variablen. Äquivalenzumformungen daher ab spätestens 5 Variablen meist der bessere Ansatz, um Äquivalenzen zu zeigen.

1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik

Normalformen

KNF und DNF Normalformen 72 Normalform: Form ( Schablone ) für Formeln mit der Eigenschaft, dass es für jede Formel F eine Formel G F dieser Form gibt,. Notation: Die Menge der Literale ist {p, p p V } Eine Formel F ist in disjunktiver Normalform (DNF), falls F folgende Struktur hat: m m i i=1 j=1 wobei L i,j {p, p p V F } Literale. Eine Formel F ist in konjunktiver Normalform (KNF), falls F folgende Struktur hat: m m i i=1 j=1 wobei L i,j {p, p p V F } Literale. L i,j L i,j

KNF und DNF Normalformen 73 Eine Formel in DNF: (p q) ( p q r) q. Eine Formel in KNF: (p q) ( p q r) q. Eine DNF-Formel ist erfüllbar gdw. mindestens ein Konjunkt erfüllbar ist. Führt zu einem effizienten Algorithmus für Erfüllbarkeit von DNF-Formeln. Eine KNF-Formel ist gültig gdw. alle Disjunkte gültig sind. Führt zu einem effizienten Algorithmus für Gültigkeit von KNF-Formeln.

DNF 74 Satz: Für jede Formel F gibt es eine Formel G in DNF mit F G. Beweis: Folgendes Verfahren berechnet die Formel G: 1,, auflösen, d.h. mittels Äquivalenzen bzw. Definitionen durch,, ausdrücken. 2 mittels demorgan und Doppelnegation im Syntaxbaum soweit nach unten schieben, bis jedes nur noch an eine Variable bindet. 3 Mittels Distributivität von über (F (G H)) ((F G) (F H)) Formeln ausmultiplizieren, bis DNF erreicht. ( wandert im Syntaxbaum nach oben, nach unten.) Liefert Formeln D F F.

DNF Beispiele 75 F = ((p q) r) ((p q) r) (( p q) r) ( ( p q) r) (( p q) r) ((p q) r) G := (p (q r)) (p (q r) (p ( q r)) ( p ( q r)) ( p q r) =: D G =: D F Normalform für eine Äquivalenklasse von Formeln nicht eindeutig, z.b. p (p q) (p q)

Kanonische DNF 76 Brute-force Bestimmung einer kanonischen Formel in DNF für F : Notation: Ist p eine aussagenlogische Variable, so ist p 1 := p das positive Literal von p, und p 0 := p das negative Literal von A. 1 Stelle Wahrheitstafel zu F auf. 2 Bestimme alle minimalen erfüllenden Belegungen von F. 3 Für jede minimale erfüllende Belegung β, bilde die Konjunktion p V F p β (p) Beispiel: (p q r) wenn V F = {p, q, r} und β(p) = 1, β(q) = 0, β(r) = 0. (Die Konjunktion hat genau eine erfüllende minimale Belegung: β.) 4 Bilde die Disjunktion über alle diese Konjunktionen. Meist kürzere DNF mittels Äquivalenzen oder KV-Diagramm.

Kanonische DNF 77 Beispiel: If-Then-Else-Operator Wahrheitstafel: DNF: ITE(p, q, r) := ((p q) ( p r)) p q r ((p q) ( p r)) 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 ITE(p, q, r) D F =

Kanonische DNF 78 Beispiel: If-Then-Else-Operator Wahrheitstafel: ITE(p, q, r) := ((p q) ( p r)) p q r ((p q) ( p r)) 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 DNF: ITE(p, q, r) D F = ( p q r) ( p q r) (p q r) (p q r)

KNF 79 Satz: Für jede Formel F gibt es eine Formel G in KNF mit F G. Beweis: Vertausche und in dem Verfahren für die Berechnung einer Formel in DNF (Schritte 1 und 2 ändern sich nicht). Brute-force Bestimmung von kanonischer KNF : Stelle Wahrheitstafel zu F auf. Bestimme alle minimalen nicht-erfüllenden Belegungen von F. Für jede minimale nicht-erfüllende Belegung β, bilde die Disjunktion p V F p (1 β(p)) Beispiel: ( p q r) wenn V F = {p, q, r} und β(p) = 1, β(q) = 0, β(r) = 0. (Die Disjunktion hat genau eine nicht-erfüllende minimale Belegung: β.) Bilde die Konjunktion über alle diese Disjunktionen. Intuition: die KNF sagt : β 1 ist keine erfüllende Belegung und β 2 ist keine erfüllende Belegung und...

Kanonische DNF 80 Beispiel: If-Then-Else-Operator Wahrheitstafel: ITE(p, q, r) := ((p q) ( p r)) p q r ((p q) ( p r)) 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 KNF: ITE(p, q, r) K F = (p q r) (p q r) ( p q r) ( p q r)

KNF nützlicher als DNF 81 Viele Formeln aus der Praxis sind in KNF (oder fast in KNF): Eine Menge von Anforderungen wird durch eine Konjunktion von Formeln modelliert. Daher in der Praxis KNF häufiger verwendet als DNF. Für jede Formel F gibt es eine zu F erfüllbarkeitsäquivalente Formel G in KNF, die nicht viel länger als F ist. Das ist für viele Anwendungen wichtig. F e G kurz für erfüllbarkeitsäquivalent, d.h. es gibt eine erfüllende Belegung β F für F genau dann, wenn es eine erfüllende Belegung β G für G gibt. Beachte: β F muss nicht zu G passen, und β G nicht zu F! Beispiel: F = (p 1 p 2 ) (p 3 p 4 )... (p 2k 1 p 2k ) KNF zu F besteht aus 2 k verschiedenen Klauseln, ist exponentiell länger als F. Erfüllbarkeitsäquivalente Formel mittels Hilfsvariablen wird nur um konstanten Faktor länger.

Aufstellen einer KNF-Formel erfüllbarkeitsäquivalent zu F 82 Sei T F die Menge aller Teilformeln von F (mit F T F ). Führe für jede Teilformel G T F eine neue Hilfsvariable q G ein. Falls G atomar, setze q G := G, ansonsten sei q G eine noch nicht verwendete Variable. Definiere für jede Teilformel G T F eine Formel K G wie folgt: Wenn G = p, dann sei K G := p Wenn G = H, dann sei K G in KNF mit K G (q G q H). Wenn G = (H op H ), dann sei K G in KNF mit K G (q G (q H op q H )). Definiere E F := q F K G. G T F Es gilt: F e E F. Intuition: E F sagt gerade aus, dass alle Hilfsvariablen q G den Wahrheitswerten der zugeordneten Teilformeln G entsprechen und zusätzlich F selbst erfüllt sein soll (vgl. z = uy u = x 2 mit z = x 2 y).

Aufstellen einer KNF-Formel erfüllbarkeitsäquivalent zu F : Beispiel 83 Gegeben F = (p 1 p 2) (p 3 p 4). Einführen der Hilfsvariablen für die Teilformeln führt auf: q 0 (q 0 (q 1 q 2)) (q 1 (p 1 p 2)) (q 2 (p 3 p 4)) Für KNF müssen nur noch die Formeln (q 0 (q 1 q 2)), (q 1 (p 1 p 2)) und (q 2 (p 3 p 4)) unabhängig von einander in KNF überführt werden. Jede dieser Formeln ist über maximal 3 Variablen, minimale KNF kann maximal 4 Klauseln besitzen. Führt auf: E F := q 0 ( q 0 q 1 q 2) (q 0 q 1) (q 0 q 2) (q 1 p 1 p 2) ( q 1 p 1) ( q 1 p 2) (q 2 p 3 p 4) ( q 2 p 3) ( q 2 p 4) Jede erfüllende Belegung von E F ist erfüllende Belegung von F ; jede erfüllende Belegung von F lässt sich zu erfüllender, aber auch unerfüllender Belegung von E F erweitern: F e E F, F E F!

1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik

Basen

Operator-Basis 86 Konsequenz aus kanonischer DNF: Zu jeder Wahrheitstafel lässt sich eine Formel in DNF konstruieren, d.h. zu jeder beliebigen Booleschen Funktion f : {0, 1} n {0, 1} gibt es eine Formel F in DNF mit V F = {p 1, p 2,..., p n }, so dass ( ) [F ](β) = f β(p 1 ), β(p 2 ),..., β(p n ) für jede zu F passende Belegung β. Mit,, lässt sich jede Boolesche Funktion/jeder beliebige n-stellige Junktor beschreiben. Wir sagen: {,, } bildet eine (Operator-)Basis der Aussagenlogik bzw. {,, } ist eine vollständige Menge von Operatoren.

Operator-Basis 87 Wichtig für Prozessoren: Muss nur {,, } physikalisch realisieren. Noch wichtiger: Die Mengen { } und { } sind vollständig. (F G) := (F G) (NAND) (F G) := (F G) (NOR) Beachte: beide nicht assoziativ. Folgt für { } z.b. aus: F (F F ) (F G) ((F F ) (G G)) (F G) ((F G) (F G)) Damit sind auch {, }, {, }, {, } und {, false} vollständig. { } und {, } sind z.b. nicht vollständig.

1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik

DPLL: Davis-Putnam-Logemann-Loveland

DPLL: Davis-Putnam-Logemann-Loveland 90 Grundlage der meisten aktuell verwendeten Löser für das Erfüllbarkeistproblem der Aussagenlogik (kurz: SAT). Gegeben: eine aussagenlogische Formel F. Entscheide: ob F erfüllbar ist. Anwendungen: Viele Optimierungsproblem, aber auch Programme mit endlichem Variablenbereich, lassen sich sehr einfach mittels Aussagenlogik beschreiben (siehe Übungen). Beschreibungen sind häufig schon in KNF, ansonsten erfüllbarkeitsäquivalente Formel in KNF verwenden. SAT-Solver häufig besser als Neuentwicklungen problemspezifischer Algorithmen.

Klauseldarstellung von KNF-Formeln 91 Eine Klausel ist eine Disjunktion von Literalen. Beispiele: (p q), (p q r), p Eine Klausel wird durch die Menge ihrer Literale dargestellt, z.b. Die Menge {p, q, r} stellt die Klausel (p q r) dar. Die leere Menge von Literalen stellt die Formel false dar. Beachte: p (p p) und (p q) (q p) folgen automatisch aus {p, p} = {p} und {p, q} = {q, p}. Eine KNF-Formel wird durch die Menge ihrer Klauseln (genauer: die Menge der Darstellungen ihrer Klauseln) dargestellt. Die Klauselmenge {{ p}, {p, q, r}} stellt die Formel p (p q r) dar. Die leere Menge von Klauseln stellt die Formel true dar.

DPLL: Davis-Putnam-Logemann-Loveland 92 Basisidee: Fallunterscheidung zzgl. Aufräumen Gegeben F in KNF, fixiere beliebige Variable x in F Für die Übungen wird meistens vorgegeben, in welcher Reihenfolge die Variablen zu überprüfen sind, um Lösung zu vereinheitlichen! Bestimme F 1 := F [x := true], d.h. ersetze jedes Vorkommen von x in F durch true; dann räume auf mittels der Äquivalenzen (links durch rechts ersetzen): true G true true G G true false false G G false G false false true und überprüfe, ob F 1 erfüllbar ist; falls ja, fertig, ansonsten selbes Spiel mit F 0 := F [x := false] Beispiel: F = ((p q r) ( p q s)) F 1 := F [p := true] = (q s) F 0 := F [p := false] = (q r) F 0/1 hat mindestens eine Variable weniger als F ; sobald Formel keine Variablen mehr hat, ist Erfüllbarkeit direkt ablesbar.

DPLL: Davis-Putnam-Logemann-Loveland 93 Klauselmengendarstellung erlaubt sehr einfache Implementierung: Die Klauselmenge zu F [x := true] erhält man, indem man zunächst alle Klauseln verwirft, die x als Element enthalten, und aus den verbleibenden Klauseln jeweils x entfernt: K F [x:=true] = {C \ { x} C K F, x C}. Entsprechend: K F [x:=false] = {C \ {x} C K F, x C}. Beispiel: K F = {{p, q, r}, { p, q, s}} K F [p:=true] = {{q, s}} K F [p:=false] = {{q, r}} In Klauselmengendarstellung sind die einzigen Formeln ohne Variablen gerade {} (leere Klauselmenge, nichts zu erfüllen, trivial erfüllt) und { {} } (Klauselmenge mit leerer Klausel, unerfüllbar).

DPLL: Basisversion 94 Basiversion: Gegeben Klauselmenge K, totale Ordnung auf den Variablen Falls {} K, gib unerfüllbar zurück. Falls K =, gib erfüllbar zurück. Ansonsten fixiere die bzgl. erste in K vorkommende Variable x. Prüfe rekursiv, ob {C \ { x} C K, x C} erfüllbar ist; falls ja, gib erfüllbar zurück; ansonsten gib Ergebnis der Rekursion zu {C \ {x} C K, x C} zurück.

DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.

DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.

DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.

DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.

DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.

DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.

DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.

DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.

DPLL: Davis-Putnam-Logemann-Loveland 96 Sei K Klauselmenge, L Literal. Erweiterungen, um unnötige Fallunterscheidungen zu vermeiden: OLR: one-literal rule Falls {L} K, dann muss L von jeder erfüllenden Belegung von K auf wahr gesetzt werden. Daher reicht es K := {C \ {L} L C C K} weiter zu betrachten. PLR: pure-literal rule Falls nur L in den Klauseln von K auftritt, aber L nicht, dann kann man obda L auf true setzen (Beweis?!), d.h. es reicht K := {C L C C K} weiter zu betrachten. Erweiterter DPLL: Höchste Priorität OLR, dann PLR, dann erst Fallunterscheidung.

DPLL: Algorithmus 97 DPLL: Gegeben Klauselmenge K, totale Ordnung auf den Variablen Falls {} K, gib unerfüllbar zurück. Falls K =, gib erfüllbar zurück. Falls OLR anwendbar, wähle bzgl. erstes Literal L mit {L} K; gib Ergebnis der Rekursion zu {C \ {L} L C, C K} zurück. Falls PLR anwendbar, wähle bzgl. erstes Literal L mit {C K L C} = ; gib Ergebnis der Rekursion zu {C L C, C K} zurück. Ansonsten fixiere die bzgl. erste in K vorkommende Variable x. Prüfe rekursiv, ob {C \ { x} C K, x C} erfüllbar ist; falls ja, gib erfüllbar zurück; ansonsten gib Ergebnis der Rekursion zu {C \ {x} C K, x C} zurück. zzgl. caching, um selbe Klauselmenge nicht mehrmals zu untersuchen.

DPLL: Davis-Putnam-Logemann-Loveland 98 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} OLR r := true {{ p, q, s}, { q, s}, { p, s}} PLR p := false {{ q, s}} PLR q := false {} Mit PLR und OLR lassen sich in diesem Beispiel alle Fallunterscheidungen vermeiden. Alle in der Praxis verwendeten SAT-Solver verwenden weitere Heuristiken, wie conflict-driven clause learning, und effiziente Datenstrukturen für die Operationen auf den Klauselmengen, um so Formeln mit mehreren tausend Variablen verarbeiten zu können.

DPLL: Evaluierung 99 Auf Erfüllbarkeit gerichtet: Wenn die Formel erfüllbar ist, dann kann DPLL früh terminieren. DPLL berechnet eine erfüllende Belegung, wenn es eine gibt. Die erfüllende Belegung kann als Zertifikat von Erfüllbarkeit verwendet werden. Erfüllbare Formel haben kurze Zertifikate: erfüllende Belegung nie länger als die Formel selbst. Wir beschreiben nun ein zweites Verfahren, dass auf Unerfüllbarkeit gerichtet ist: Resolution. Wenn die Formel unerfüllbar ist, dann kann Resolution früh terminieren. Resolution berechnet ein Zertifikat von Unerfüllbarkeit. Für einige Formeln ist der Zertifikat jedoch exponentiell länger als dier Formel selbst. Alle bekannte Verfahren haben dieses Problem.

1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik

Resolution

Wissensrepresentation 102 Wissensrepresentation mit Hilfe von Logik ist eine wichtige Technik der KI. Wissen über die Welt (Beziehungen, Empfehlungen, Anweisungen) werden mit Hilfe von Implikationen F G dargestellt (Regeln). Wenn der Kunde minderjährig ist, dann darf er kein Alkohol kaufen. Wenn der Kunde verheiratet ist und Kinder hat, dann soll eine Lebensversichrung empfohlen werden. Wenn Block A eine Kugel und Block B ein Würfel ist, dann darf Block A nicht auf Block B gestellt werden. Eine Wissenbasis ist eine Konjunktion von Regeln. Frage: Gegeben eine Wissenbasis W, eine Konjunktion von Fakten F, und ein Ziel G, folgt G aus W F, d.h., gilt W F = G? Gilt G in allen Welten, in denen W und F gelten? Äquivalente Frage: Ist die Formel W F G unerfüllbar?

Beispiel Wissenbasis: ( q p) s, r (p s), r s Fakten: p Ziel: q KNF für W F G in Klauselmengendarstellung: {q, p, s} { r, p, s} {r, s} {p} { q}

Resolution 104 Grundidee: füge iterativ neue Klauseln zur Formel hinzu, die logische Konsequenzen der ursprunglichen Klauseln sind. Beispiel: wenn die Formel die Klauseln { p, q, r} und { r, s, t} enthält, dann kann die Klausel { p, q, s, t) hinzugefügt werden. Die Klauseln { p, q, r}, { r, s, t}, und { p, q, s, t) sind äquivalent zu (p q) r r (s t) (p q) (s t) und es gilt (Transitivität der Implikation): oder (p q) r, r (s t) = (p q) (s t) ((p q) r) (r (s t)) ((p q) r) (r (s t)) ((p q) (s t)) Somit: Hinzufügen der neuen Klausel ändert die Formel nicht, macht nur implizites Wissen explizit. (Vgl. transitiver Abschluss für Relationen.)

Resolution 105 Beispiel: wenn die Formel Klauseln {p} und { p} enthält, dann kann die leere Klausel hinzugefügt werden. Die Klauseln sind äquivalent zu p p false false Das Hinzufügen der leeren Klausel zeigt die Unerfüllbarkeit von W F G, denn in diesem Fall (W F G) (W F G) false false

Resolution: Resolvent zweier Klauseln 106 Def.: Resolventenbildung Für L Literal, K 1, K 2 Klauseln mit L K 1, L K 2 gilt: wobei L das Literal mit L L ist. K 1, K 2 = (K 1 \ {L}) (K 2 \ {L}) }{{} Resolvent Graphische Darstellung: (Immer genau ein Literal!) { p, q, r} { r, s, t} { p, q, s, t}

Resolution 107 Die leere Klausel wird bei der Resolution auch mit bezeichnet. Die leere Klausel kann nur durch {p} { p} entstehen, was dem trivialen Widerspruch p p false entspricht. Ziel jeder Resolution: leere Klausel resolvieren aus ursprünglicher Klauselmenge.

Resolution in Klauselmengendarstellung 108 Basisversion der Resolution: Gegeben eine Klauselmenge F, fügt man iterativ (ohne nachzudenken) alle möglichen Resolventen hinzu: Res 0 (F ) := F Res k+1 (F ) := Res k (F ) {(K 1 \ {L}) (K 2 \ {L}) K 1, K 2 Res k (F ), L K 1, L K 2 } Res (F ) := Res k (F ) k N 0 Insbesondere muss man hierfür nicht wissen, was Aussagenlogik ist, sondern nur mit Mengen umgehen können. In der Praxis hört man auf, sobald man resolviert hat. Verschiedene Strategien, um möglichst schnell/intelligent zu resolvieren.

Resolution 109 Resolution in Pseudocode: def Res (F ): # F als Menge von Klauseln todo := F neu := while todo : for K 1 todo: todo := todo - {K 1 } for K 2 F : for L K 1 : if L K 2 : R := (K 1 \ {L}) (K 2 \ {L}) if R F : F := F {R} neu := neu {R} if R = : return F todo := neu neu := return F

Resolution: Suche nach der leeren Klausel 110 { q, s} { p, q, s} {p} {r, s} { p, r, s} { p, s} {q, s} { r, s} { p, s} {s} {q, r} { s} { r, s} {} { r}

Resolution: Eine optimale Suche 111 { q, s} { p, q, s} {p} {r, s} { p, r, s} { p, s} {q, s} { r, s} { p, s} {s} {q, r} { s} { r, s} {} { r}

Resolution: Noch ein Beispiel 112 { q, p, r} {q, p, r} {r, q, p} {q, r, p} {q, p, r} {p, q, r} {p, r, q} {q, p, r} { p, r} {r, p} {p, r} {p, r} { r} {r} {}

Resolution: Eigenschaften 113 Theorem: Sei F eine Formel in Klauselmengendarstellung/KNF. Dann gilt: 1 Res (F ) terminiert immer. 2 Res (F ) F. 3 Res (F ) genau dann, wenn F false. Es folgt: Das Resolutionverfahren entscheidet für jede gegebene Formel F, ob F erfüllbar oder unerfüllbar ist. Beweis des Theorems: 1 Nur Klauseln über den ursprünglichen Variablen erzeugt werden, davon gibt es aber nur endlich viele (2 2 V F ). 2 Nur logische Folgerungen werden hinzugefügt. 3 (a) Wenn Res (F ) dann F false: Folgt aus (G false false). (b) Wenn F false, dann Res (F ): siehe die nächsten Folien.

Resolution: Eigenschaften 114 Wir zeigen: Wenn F false, dann Res (F ). Sei F false. Beweis durch Induktion über die Anzahl n der Variablen von F. Induktionsbasis: n = 0. Es gilt F {}, denn sonst F true. Es folgt F = { } und Res (F ) = { }. Induktionsschritt: Fixiere beliebiges n N 0 : Induktionsannahme: Für alle Formeln G mit n Variablen und G false gilt Res (G). Induktionsbehauptung: Für alle Formeln F mit n + 1 Variablen und F false gilt Res (F ). Beweis der Induktionsbehauptung: Sei F false mit n + 1 Variablen. Aus dem Lemma folgt: F [p := true] und F [p := false] haben n Variablen und erfüllen F [p := true] false und F [p := false] false. Aus der Induktionsannahme mit jeweils G := F [p := true] und G := F [p := false] folgen: Res (F [p := true]) und Res (F [p/false]. Wir zeigen Res (F ) anhand eines Beispiels.

Resolution: Eigenschaften 115 F = { { q, s}, { p, q, s}, {p}, {r, s}, { p, r, s} } Resolutionsgraphen für F [s := true] und F [s := false] induktiv konstruieren. F [s/true] = { {p}, {r}, { p, r} } F [s/false] = { { q}, { p, q}, {p} } {p} {r} { p, r} { q} {q, p} {p} { r} {q} {}

Resolution: Eigenschaften 116 s und s wieder einführen. F = { { q, s}, { p, q, s}, {p}, {r, s}, { p, r, s} } { q} { p, q} {p} {p} {r} { p, r} {q} { r} { q, s} { p, q, s} {p} {p} {r, s} { p, r, s} {q, s} { r, s} {s} { s}