Algorithmen für das Erfüllbarkeitsproblem SAT

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Freie Universität Berlin Institut für Informatik
Christian Scheideler SS 2009
Christian Scheideler SS 2009
Knapsack & Bin Packing Sebastian Stober
(Zweistufige) Logiksynthese
Berechne den optimalen (kürzesten, schnellsten) Weg
Single-Source Shortest Paths: SSSP
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Prof. Dr. W. Conen 15. November 2004
4. Logik – und ihre Bedeutung für WBS
Planares 3 SAT ist NP-vollständig
Marco Barz Seminar über Algorithmen SoSe2007
Verifizieren versus Berechnen
Algorithmen und Komplexität
Einführung in Algorithmen und Komplexität
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Algorithmen und Komplexität
Christian Schindelhauer
Minimum Spanning Tree: MST
Beweiser für quantifizierte Boolesche Ausdrücke - QUAFFLE
SAT-Engines Seminar WS 2000/2001
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler Institut für Informatik Universität Paderborn
Mehrkriterielle Optimierung mit Metaheuristiken
Institut für Theoretische Informatik
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den Brute Force Search Algorithmus schlagen?
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Analyse der Laufzeit von Algorithmen
7. Formale Sprachen und Grammatiken
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Gliederung der Vorlesung
4. Logik – und ihre Bedeutung für WBS
 Präsentation transkript:

Algorithmen für das Erfüllbarkeitsproblem SAT teilweise aus einem Vortrag von Melanie Schmidt (Uni Dortmund) mit Ergänzungen aus einer Präsentation von Carsten Sinz (Uni Tübingen)

Das Erfüllbarkeitsproblem K-KNF-SAT Variablen x1,x2,x3,x4,x5,x6 n = Anzahl der Variablen = 6 ( x3  ¬x2  x5 ) ( ¬x1 ) ( x1  ¬x2  x3  ¬x4  x6 ) Klausel  Problem für 5-SAT

Das Erfüllbarkeitsproblem K-KNF-SAT Also: Gegeben ist eine Menge von Klauseln mit jeweils bis zu k Literalen Eine Klausel hat die Form (u1  u2  …  ul), l  k, wobei ui {x1,…,xn}  {¬x1,…,¬xn} Gesucht: Eine Belegung der Variablen x1,… ,xn mit Wahrheitswerten  {0, 1}, so dass die Auswertung der Formel 1 ergibt.

Davis Putnam Loveland Logeland-Algorithmus Konstruiere Belegung inkrementell Verwende Backtracking für Wahrheitswertezuweisung im Falle, dass eine nicht erfüllende Belegung konstruiert wird Verwende Propagierung von festgelegten Variablen zur “Verkleinerung” von Disjuntionen (Einer-Klauseln legen Zuweisung fest) Pure-Literal Elimination

2-SAT Beh.: Es existiert ein Algorithmus in polynomieller Zeit. Bew.: Resolution produziert max. O(n2) Klauseln Geht es noch besser? Aspvall et al. 1980

2-SAT Algorithmus (a) = (a  a) (a  b) = (¬a  b) (a  b) = (¬b  a) (¬x3 ¬x3)  (x2  x3)  (¬x1  ¬x2)  (x3  x1 ) (a) = (a  a) (a  b) = (¬a  b) (a  b) = (¬b  a) (¬x3)  (x2  x3)  (¬x1  ¬x2)  (x3  x1) (a  b) = (¬a  b) X1 X2 X2 X3 X3 X3 ¬X1 ¬X1 ¬X2 ¬X3 ¬X3 ¬X3

2-SAT Algorithmus Eine 2-KNF-Formel ist unerfüllbar im Graphen GF existiert ein Zyklus der Form xi … ¬xi … xi gdw.

Zyklus mit xi und ¬xi dann F unerfüllbar Annahme: Es gibt eine erfüllende Belegung a. Dann muss für a gelten, dass xi=1 und xi =0. Das ist ein Widerspruch.

F unerfüllbar dann existiert Zyklus mit xi und ¬ xi Beweis mit Induktion über Anzahl der Variablen n: n=1. F muss die Form (x1)  (¬x1) haben  GF hat einen Zyklus. n-1n. Wähle beliebiges x aus {x1,…,xn}. Bilde Fx=0 und Fx=1  GFx=0 und GFx=1 enthalten Zyklen mit y und ¬y (y aus {x1,…,xn}) Zeige, dass daraus folgt: GF enthält einen Zyklus mit x und ¬x X1 ¬X1

GF enthält einen Zyklus mit x und ¬x Trivial: Einer der Zyklen aus GFx=0 und GFx=1 ist auch in GF enthalten (x=y) Sonst: Zeige, dass es in GF die Verbindungen ¬x  …  x und x  …  ¬x gibt und dann existiert ein Zyklus mit x und ¬x ¬x ¬y x y y ¬y

Pfade in GF Beh.: ¬x  …  x in GF Beh.: x  …  ¬x in GF Fall 1: F enthält (x), also (x  x) und damit ¬x  x Fall 2: F enthält (x  z) GF enthält ¬x  z und ¬z  x Fx=0 enthält nur (z) Ann.: der Zyklus in GFx=0 enthält ¬z  z, dann gilt: GF enthält ¬z  z nicht (denn x kommt hinzu) daraus folgt, in GF gibt es ¬x  z  …  ¬z  x Beh.: x  …  ¬x in GF Analog mit (¬x) sowie Fx=1 und GFx=1

Zyklen mit x und ¬x finden als All-Pair-Shortest-Paths– Problem mit unendlichen Kosten für nichtvorhandene Kanten für alle x überprüfen: (x,¬x) und (¬x,x) < ? Laufzeit O(n3) Besser: mit Tiefensuche (Aspvall et al. 1980) in stark zusammenhängende Komponenten zerlegen (SCC-Algorithmus) Topologisches Sortieren O(m+n), m=Anzahl der Kanten in G(F) = 2x Anzahl der Klauseln in F

2-SAT: Aspvall Algorithmus

2-SAT: Aspvall Algorithmus