Skript zur Vorlesung Komplexitätstheorie im SS 1996
Skript zur Vorlesung Komplexitätstheorie im SS 1996
Skript zur Vorlesung Komplexitätstheorie im SS 1996
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5 NP-VOLLSTÄNDIGE PROBLEME 52<br />
MAX2SAT : Sei Φ Boole’scher Ausdruck, wobei alle Klauseln höchstens<br />
zwei Literale enthalten, und k eine ganze Zahl. Gibt es eine Belegung T<br />
derart, daß mindestens k Klauseln erfüllt werden?<br />
Theorem 5.1 MAX2SAT ist NP-vollständig.<br />
Beweis:<br />
1. MAX2SAT ∈ NP: Rate Belegung und teste!<br />
2. 3SAT ≤ MAX2SAT:<br />
Betrachte zunächst für eine Klausel (x ∨ y ∨ z) folgendes Produkt von<br />
zehn Klauseln ( ” ∧“ wird als Produkt interpretiert): (*)<br />
(x)(y)(z)(w)<br />
(¬x ∨ ¬y)(¬y ∨ ¬z)(¬z ∨ ¬x)<br />
(x ∨ ¬w)(y ∨ ¬w)(z ∨ ¬w)<br />
Wieviele Klauseln können in diesem Ausdruck erfüllt werden?<br />
Beachte: (*) ist symmetrisch bezüglich x, y, z, aber nicht bezüglich w.<br />
Somit müssen nur die Fälle<br />
(a) 3 Variablen aus {x, y, z} sind true<br />
(b) 2 Variablen aus {x, y, z} sind true<br />
(c) 1 Variable aus {x, y, z} ist true<br />
(d) Keine Variable aus {x, y, z} ist true<br />
betrachtet werden.<br />
(a) T (x) = T (y) = T (z) = true, T (w) = true oder = false. Dann<br />
können max<strong>im</strong>al sieben Klauseln erfüllt werden.<br />
T (w) = true: Zeile 1: 4, Zeile 2: 0, Zeile 3: 3<br />
T (w) = false: Zeile 1: 3, Zeile 2: 0, Zeile 3: 3<br />
(b) T (x) = false, T (y) = T (z) = true, T (w) = true oder = false. Es<br />
können wiederum max<strong>im</strong>al sieben Klauseln erfüllt werden:<br />
• T (w) = true: Zeile 1: 3, Zeile 2: 2, Zeile 3: 2<br />
• T (w) = false: Zeile 1: 2, Zeile 2: 2, Zeile 3: 3<br />
(c) Nur eines, etwa T (x) = true, T (y) = T (z) = false, T (w) = true<br />
oder false: Sieben Klauseln erfüllbar.<br />
(d) T (x) = T (y) = T (z) = false, T (w) = false oder = true ⇒ sechs<br />
Klauseln erfüllbar.