29.10.2013 Aufrufe

Skript zur Vorlesung Komplexitätstheorie im SS 1996

Skript zur Vorlesung Komplexitätstheorie im SS 1996

Skript zur Vorlesung Komplexitätstheorie im SS 1996

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!