14
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

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

Embed Size (px)

Citation preview

Page 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

Algorithmen für das Erfüllbarkeitsproblem SAT

teilweise aus einem Vortrag vonMelanie Schmidt (Uni Dortmund)

mit Ergänzungen aus einer Präsentation von Carsten Sinz

(Uni Tübingen)

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

2/11

Variablen x1,x2,x3,x4,x5,x6

x3 ¬x2 x5( ) ( ¬x1 ) ( x1 ¬x2 x3 ¬x4 x6 )

Problem für 5-SAT

Klausel

n = Anzahl der Variablen = 6

Das Erfüllbarkeitsproblem K-KNF-SAT

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

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 (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.

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

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

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

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

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

6/11

• (¬x3) (x2 x3) (¬x1 ¬x2) (x3 x1)

• (a b) = (¬a b)

2-SAT Algorithmus

• (¬x3 ¬x3) (x2 x3) (¬x1 ¬x2) (x3 x1 )

• (a) = (a a)• (a b) = (¬a b)

(a b) = (¬b a)

X1

¬X2¬X1

X2 X3

¬X3¬X1

X2 X3

¬X3

X3

¬X3

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

7/11

2-SAT Algorithmus

• Eine 2-KNF-Formel ist unerfüllbar

im Graphen GF existiert ein Zyklus der Form xi … ¬xi … xi

gdw.

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

8/11

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.

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

9/11

F unerfüllbardann 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-1n. - 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

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

10/11

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 gibtund dann existiert ein Zyklus mit x und ¬x

y

¬y¬x ¬y

x y

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

11/11

Pfade 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

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

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(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

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

2-SAT: Aspvall Algorithmus

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

2-SAT: Aspvall Algorithmus