Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Algorithmen für das Erfüllbarkeitsproblem SAT teilweise aus einem Vortrag von Melanie Schmidt (Uni Dortmund) mit Ergänzungen aus einer Präsentation von."—  Präsentation transkript:

1 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)

2 2/11 Variablen x 1,x 2, x 3, x 4, x 5, x 6 x3x3 ¬x2¬x2   x5 x5 ()( ¬x 1 ) ( x 1  ¬x 2  x 3  ¬x 4  x 6 )  Problem für 5-SAT Klausel n = Anzahl der Variablen = 6 Das Erfüllbarkeitsproblem K-KNF-SAT

3 3/11 Das Erfüllbarkeitsproblem K-KNF-SAT Also: Gegeben ist eine Menge von Klauseln mit jeweils bis zu k Literalen Eine Klausel hat die Form (u 1  u 2  …  u l ), l  k, wobei u i  {x 1,…,x n }  {¬x 1,…,¬x n } Gesucht: Eine Belegung der Variablen x 1,…,x n mit Wahrheitswerten  {0, 1}, so dass die Auswertung der Formel 1 ergibt.

4 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

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

6 6/11 (¬x 3 )  (x 2  x 3 )  (¬x 1  ¬x 2 )  (x 3  x 1 ) (a  b) = (¬a  b) 2-SAT Algorithmus (¬x 3  ¬x 3 )  (x 2  x 3 )  (¬x 1  ¬x 2 )  (x 3  x 1 ) (a) = (a  a) (a  b) = (¬a  b) (a  b) = (¬b  a) X1X1 ¬X2¬X2 ¬X1¬X1 X2X2 X3X3 ¬X3¬X3 ¬X1¬X1 X2X2 X3X3 ¬X3¬X3 X3X3 ¬X3¬X3

7 7/11 2-SAT Algorithmus Eine 2-KNF-Formel ist unerfüllbar im Graphen G F existiert ein Zyklus der Form x i … ¬x i … x i gdw.

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

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

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

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

12 12/11 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(n 3 ) 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

13 2-SAT: Aspvall Algorithmus

14


Herunterladen ppt "Algorithmen für das Erfüllbarkeitsproblem SAT teilweise aus einem Vortrag von Melanie Schmidt (Uni Dortmund) mit Ergänzungen aus einer Präsentation von."

Ähnliche Präsentationen


Google-Anzeigen