Universität Potsdam Seminar: Automatic Problem Solving. SAT und DPLL. Falko Zander

Ähnliche Dokumente
Logik für Informatiker

Resolutionsalgorithmus

TU5 Aussagenlogik II

Ersetzbarkeitstheorem

Übung 4: Aussagenlogik II

3. Grundlegende Begriffe von Logiken - Aussagenlogik

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

Normalformen boolescher Funktionen

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

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Hilbert-Kalkül (Einführung)

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

Erfüllbarkeit und Allgemeingültigkeit

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

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

Grundlagen der Theoretischen Informatik

Beispiel Aussagenlogik nach Schöning: Logik...

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

Zusammenfassung des Stoffes zur Vorlesung Formale Systeme

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

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

Klausur zur Vorlesung Mathematische Logik

3.2 Prädikatenlogik. WS 06/07 mod 321

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

Logic in a Nutshell. Christian Liguda

Logische und funktionale Programmierung

Normalformen der Prädikatenlogik

Klausur für Studiengänge INF und IST

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

1 Aussagenlogische Formeln

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

Randomisierte Algorithmen

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

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

Grundlagen der Künstlichen Intelligenz

Theoretische Informatik SS 03 Übung 11

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

Aussagenlogische Kalküle

Logik-Grundlagen. Syntax der Prädikatenlogik

Planen als Erfüllbarkeitsproblem

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Logik für Informatiker

Mathematik für Informatiker I

Musterbeispiele: Aussagenlogik (Lösung)

Erfüllbarkeit von Horn-Klauseln und Berechnung des kleinsten Herbrand-Modells

Schlussregeln aus anderen Kalkülen

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

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Einführung in Algorithmen und Komplexität

Seminarvortrag Axiomatische Theorien in der Logik

Teil 7. Grundlagen Logik

Mathematik für Informatiker I Mitschrift zur Vorlesung vom

Vorsemesterkurs Informatik

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln

3. Prädikatenlogik. Im Sinne der Aussagenlogik sind das verschiedene Sätze, repräsentiert etwa durch A, B, C. Natürlich gilt nicht: A B = C

abgeschlossen unter,,,, R,

Prolog basiert auf Prädikatenlogik

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Musterlösung der Klausur zur Vorlesung Logik für Informatiker

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

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

mathe plus Aussagenlogik Seite 1

Logik: aussagenlogische Formeln und Wahrheitstafeln

Kapitel 7: Formaler Datenbankentwurf

Weitere Beweistechniken und aussagenlogische Modellierung

Übersicht. 9. Schließen in der Prädikatenlogik 1. Stufe

Theoretische Informatik SS 03 Übung 3

Grundlagen der Theoretischen Informatik - Sommersemester Übungsblatt 1: Lösungsvorschläge

Logik Teil 1: Aussagenlogik

Grundlagen der Kognitiven Informatik

Rechnerische Komplexität

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Hauptklausur zur Vorlesung Logik für Informatiker im Sommersemester 2012 Lösung

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Logik Teil 1: Aussagenlogik. Vorlesung im Wintersemester 2010

Algorithmen für Hornlogik

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Logik (Teschl/Teschl 1.1 und 1.3)

Mathematik-Vorkurs für Informatiker Aussagenlogik 1

Grundlagen der diskreten Mathematik

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Algorithmen II Vorlesung am

23.1 Constraint-Netze

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

3.1.1 Die Variante T1 und ein Entscheidungsverfahren für die Aussagenlogik

Logik für Informatiker

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

Informatik A (Autor: Max Willert)

Wissensbasierte Systeme

Semantic Web Technologies I!

Logik Vorlesung 6: Resolution

Formale Systeme. Aussagenlogik: Sequenzenkalkül. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni Formale Methoden II p.1/30

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Transkript:

Universität Potsdam Seminar: Automatic Problem Solving SAT und DPLL Falko Zander

Überblick Das SAT Problem: Einführung, Praxisbezug und aktuelle Algorithmen Geschichtlicher Rückblick Davis-Putman-Algorithmus (1960) Davis-Logemann-Loveland-Algorithmus (1962) Der aktuelle DPLL-Algorithmus Beispiel Fragen? 1

Das Erfüllbarkeitesproblem (Satisfiability: SAT) Fragestellung: Ist eine aussagenlogische Formel erfüllbar? Testen, ob gegebene Variablenbelegung die Formel erfüllt, ist in polynomieller Zeit möglich. Finden einer Variablenbelegung ist nicht in polynomieller Zeit möglich. 2 n Belegungen mit n Variablen Satz von Cook: SAT ist NP-vollständig k-sat: SAT-Problem mit max. k Literalen pro Klausel alle NP-vollständigen Probleme sind auf SAT reduzierbar 2

SAT Praxisbezug In der Praxis: Aktuell verfügbare SAT-Solver sind hoch optimiert und damit sehr effizient. Schreibe einen Compiler, der ein beliebiges NP-vollständiges Problem nach SAT compiliert. Löse das Problem mit einem SAT-Solver. 3

SAT Algorithmen (1) Laufzeit für k-sat: O(2 n ): Durchlaufe alle 2 n möglichen Belegungen der n Variablen Teste für jede Belegung, ob die Formel erfüllt ist Ziel: Finde Algorithmus mit Laufzeit O(a k n ) mit minimalem a k 4

SAT Algorithmen (2) Einige Algorithmen: Monien-Speckenmeyer-Algorithmus (1985) a 3 = 1, 6180; a 8 = 1, 9920 Paturi-Pudlak-Zane-Algorithmus (1997) a 3 = 1, 5875; a 8 = 1, 8341 Random-Walk: Schöning (1999) a 3 = 1, 3333; a 8 = 1, 75 Random-Walk: Hofmeister, Schöning, Schuler, Watanabe (2001) a 3 = 1, 3302 Random-Walk und Paturi-Pudlak-Zane: Iwama, Tamaki (2003) a 3 = 1, 324 5

Ein geschichtlicher Rückblick Leibnitz, Peano (um 1900): Mathematische Theoreme können computerisiert bewiesen werden. Hilbert (um 1920): Das Finden eines Algorithmus, der entscheidet, ob eine gegebene Formel gültig ist oder nicht ist das zentrale Problem der mathematischen Logik. Church, Turing: Dieser Algorithmus kann nicht existieren. Später: Es gibt keine Entscheidungsprozedur aber Beweisprozeduren: Wenn eine Lösung existiert wird sie gefunden, andernfalls kommt der Algorithmus nicht zum Ende. Wang, Gilmore: Erste lauffähige Programme. Exponentielle Laufzeit bezüglich der logischen Verknüpfungen/Klauseln. Nur für einfache Formeln. 6

Davis-Putman-Algorithmus (1960) Für kompliziertere Formeln, normalerweise nicht exponentiell. Gültige Formeln: Algorithmus terminiert und liefert einen Beweis für die Gültigkeit der Formel. Nicht-gültige Formeln: Der Algorithmus läuft undefiniert ohne Ergebnis. Der DP-Algorithmus war allen vorherigen Algorithmen überlegen. Der Algorithmus von Gilmore rechnete 21 Minuten auf einer IBM 704 ohne ein Ergebnis zu finden. Mit DP hatte man die Lösung nach 30 Minuten Handarbeit. 7

Definitionen X = {x 1, x 2,..., x n } Variablen x i {0, 1} X = {x 1, x 2,..., x n } negierte Variablen U = X X {, } Literale u = u P = {p 1, p 2,..., p n } F = {f 1, f 2,..., f n } Prädikate Funktionen Term: u i, f i i = 1, 2, 3,... t 1, t 2,..., t n Terme f i (t 1, t 2,..., t n ) ist Term atomare Formel p i (t 1, t 2,..., t n ) wohlgeformte Formel (w.f.f.): Atomare Formeln sind w.f.f. R w.f.f. R, u i.r, u i.r sind w.f.f. R, S w.f.f. R S, R S, R S, R S sind w.f.f. Klausel: C = R 1 R 2... R r = [R 1, R 2,..., R r ] [] = Konjunktive Normalform (KNF): F = C 1 C 2... C s = C 1, C 2,..., C s = 8

Logische Korrektheit Die Überprüfung, welche w.f.f. logisch korrekt sind, kann mittels Interpretationen durchgeführt werden. Eine Interpretation bildet alle Variablen, Funktionen und Prädikatensymbole auf eine bestimmte Umwelt ab. In dieser Umwelt kann dann die logische Korrektheit bestimmt werden. Eine w.f.f. R heißt gültig, wenn sie unter jeder Interpretation und mit allen Mengen von Argumenten aus der Umwelt den Wert 1 ergibt. Eine w.f.f. R heißt konsistent oder erfüllbar, wenn sie für eine Interpretation mit einer Menge von Argumenten den Wert 1 ergibt. R ist inkonsistent, wenn es nicht konsistent ist. R gültig R inkonsistent Um R zu beweisen, kann man also R widerlegen! 9

Normalformen Eine w.f.f. ist in Prenex Normalform (PNF), wenn sie mit einer Sequenz von Quantoren beginnt, in welcher keine Variable mehr als einmal auftritt (genannt das Prefix) und danach eine quantoren-freie w.f.f. folgt (genannt die Matrix). x 1 x 2 x 7 x 2.F (f(x 3 ), f 3 (x 1, x 2 ), x 5 ) Ein System von Formeln kann in KNF transformiert werden, indem alle Teilformeln in KNF transformiert werden. Auf diese Weise kann sukzessive die KNF einer Formel berechnet werden: KNF = KNF KNF... KNF (Vgl.: DNF DNF... DNF KNF ) Zu jeder Formel gibt es eine PNF und eine KNF. Ist die Matrix einer PNF in KNF, sind alle daraus generierten quantor-freien Zeilen in KNF. Um zu zeigen, dass F in KNF inkonsistent ist, muss nur gezeigt werden, dass C = oder A B = A, B, C sind Klauseln in F 10

Quantifizierte Aussagen Der Existenzquantor einer PNF kann durch Funktionssymbole ersetzt werden, ohne die Konsistenz zu beeinträchtigen. x 1 x 2 x 3 x 4 x 5.R(x 1, x 2, x 3, x 4, x 5 ) x 1 x 4.R(x 1, f 2 (x 1 ), f 3 (x 1 ), x 4, f 5 (x 1, x 4 )) x 1 x 2 x 3 x 4.M(x 1, x 2, x 3, x 4 ) x 2 x 4.M(f 1, x 2, f 3 (x 2 ), x 4 ) Durch Entfernen des Allquantors entstehen quantor-freie Zeilen: x 1 x 2 x 3.R(x 1, x 2, x 3 ) x 1 x 3.R(x 1, f(x 1 ), x 3 ) x 2 = f(x 1 ) = fx 1 R(a, fa, a) R(a, fa, fa) R(fa, ffa, a) R(a, fa, fffa)... Alle so erzeugten Zeilen sind in KNF. Die Formel nach n-schritten lautet dann: F n = R(a, fa, a) R(a, fa, ffa)... und ist ebenfalls in KNF. 11

Zusammenfassung Jede quantifizierte Formel kann in PNF und deren Matrix in KNF transformiert werden. Durch Entfernen der Quantoren entstehen quantorfreie Zeilen, die ebenfalls in KNF sind. Die KNF der Gesamtformel ergibt sich durch Konjunktion der quantor-freien Zeilen Quantifizierte Aussagen sind semi-entscheidbar, reine Aussagenlogik ist entscheidbar. Idee des DP-Algorithmus 1. Generiere (weitere) n quantor-freie Zeilen und erzeuge F n durch Konjunktion. 2. Teste F n auf Konsistenz (entscheidbar, da Aussagenlogik!). (a) F n ist konsistent: Schritt 1 (b) F n ist inkonsistent: Algorithmus terminiert und F n = F = F ist gültig. 12

DP: Regeln 1. Regel zum Löschen von 1-Literal Klauseln F, A, B, C: Formeln in KNF, a, b, c, p: Literale (a) F = A p B p C F = (b) F = p (p a) (p b c) F = b c (c) F = p (p a) (p b c) F = a (d) für (b) und (c): F = F = 2. Positiv-Negativ Regel (pure-literal rule) Wenn ein Literal p in einer KNF F nur positiv oder nur negativ auftritt, dürfen alle Klauseln, die p enthalten, gelöscht werden. resultierende KNF F ist inkonsistent, genau dann wenn F inkonsistent ist (F = F = ) (F = F = ) 3. Regel zum Eleminieren von Literalen F = (A p) (B p) C, p / A, B, C F = ((A B) C) = 13

DP: Algorithmus 1. Generiere quantoren-freie Zeilen und teste die Konjunktion aller erzeugten Zeilen wie folgt: 2. Wende Regel 1 an, solange möglich. F = 3. Wende Regel 2 an, wenn möglich. F = (a) Falls im Ergebnis 1-Literal Klauseln auftreten Schritt 2 (b) Regel 2 anwendbar? Schritt 3 4. Wende Regel 3 auf das erste Literal der ersten Klausel mit minimaler Länge an. (a) Wenn F nicht mehr in KNF transformiert werden kann (weil jede Klausel ein negiertes und nicht-negiertes Literal enthalten würde) F = (b) Sonst: Schritt 2 5. Durchlaufe Schritte 2-3-4 bis (a) F = Schritt 1 (b) F = Algorithmus terminiert Inkonsistenz kann ausschließlich in Schritt 2 auftreten. 14

Davis-Logemann-Loveland Algorithmus (1962) Der DP-Algorithmus wurde auf einer IBM 704 umgesetzt und getestet. Aus der gewonnenen Erfahrung konnten zwei Änderungen am ursprünglichen Algorithmus vorgenommen werden: 1. Die Regel 3 wurde durch die Regel 3* ersetzt Teilungsregel, (splitting rule): F = (A p) (B p) R = A R = und B R = Backtracking! 2. Die Prenex Normalform wurde durch andere Umformungen ersetzt. Der DLL-Algorithmus brachte wesentliche Verbesserungen: weniger und kürzere Klauseln im Ausdruck; weniger doppelte oder redudante Klauseln Rule 3* führt zu wesentlich mehr 1-Literal Klauseln (unit clauses) Das Programm, welches Gilmore nicht in 21min lösen konnte, löste DLL in 2min. Kapazität von 1.000 oder 2.000 quantor-freien Zeilen, anstatt 10 oder 20 bei DP. 15

Der heutige DPLL-Algorithmus (Unit Propagation und Backtracking) Es kommen Regel 1 (unit propagation) und Regel 3* (Backtracking) zum Einsatz. unit clause: Ein unit clause ist eine 1-Literal Klausel. F = A, A B F = A F = A, A B F = A, B Auf diesem Weg können neue unit clauses entstehen, die weitere Vereinfachungen ermöglichen. unit propagation Unit Clause Propagation: Γ: Menge von Klauseln, U: Menge von unit clauses L U.L / Γ L / Γ Unit-Propagation(Γ, U) while there is a unit clause {L} in Γ U := U {L}; for every clause C Γ if L C then Γ := Γ\{C}; else if L C then Γ := Γ\{C} {C\{L}}; end for end while Γ wird vereinfacht und U wächst Γ U bleiben äquivalent zum Original 16

(Algorithmus) Γ: Menge von Klauseln, U: Menge von unit clauses L U.L / Γ L / Γ DPLL(Γ, U) Unit-Propagation(Γ, U); if Γ then return; if Γ = then exit with a model of U; A := an atom occuring in Γ; DPLL(Γ {A}, U); DPLL(Γ { A}, U); (Beispiel) Γ = { p q, p r, q r, q r} DPLL liefert 2 Ergebnisse: [siehe: Quelle 6] E 1 = { p, q, r}; E 2 = { p, q, r}. 17

Gibt es Fragen? 18

Quellen 1. http://www8.informatik.uni-erlangen.de/immd8/ Lectures/THINF3/Folien0405/boole4.pdf 2. http://ls2-www.cs.uni-dortmund.de/lehre/ winter200304/dap2ergseminar/vortr/sat.ppt 3. http://www.cs.uni-potsdam.de/ti/lehre/ 05-Theorie-II/slides/ slides-5.1.pdf, slides-5.2.pdf, slides-5.3.pdf 4. http://www.cs.uni-potsdam.de/wv/lehre/ 05SS/05-Wissensrepraesent/slides/logic4.pdf 5. Davis, Putman: A Computing Procedure for Quantification Theory (1959) 6. http://www.cs.uni-potsdam.de/wv/lehre/material/ KI/Folien/dpll4.ps 7. Davis, Logemann, Loveland: A Machine Program for Theorem-Proving (1962) 8. Moskewicz, Madigan, Zhao, Zhang, Malik: Chaff: Engineering an Efficient SAT Solver (2001) 19