Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
168 KAPITEL 6. KOMPLEXITÄT VON ALGORITHMEN<br />
ii. falls ja, ob φ = φw die Formel aus dem Beweis des Cookschen Satzes<br />
ist.<br />
Das kann <strong>in</strong> l<strong>in</strong>earer Zeit O(m) überprüft werden.<br />
(b) w ∈ L ⇐⇒ es gibt e<strong>in</strong> Wort wφ ∈ Lcheck, so dass φ die Länge ≤ Kp 2 (n)<br />
hat, wobei n die Länge von w ist.<br />
Das folgt aus der Konstruktion von Lcheck.<br />
6.8 Weitere N P-vollständige Probleme<br />
Satz 1. Sei L e<strong>in</strong>e N P-vollständige Sprache. Dann ist jede Sprache <strong>in</strong> N P, auf<br />
die L <strong>in</strong> polynomialer Zeit reduziert werden kann, auch N P-vollständig.<br />
Beweis. Sei L0 ⊆ Γ ∗ e<strong>in</strong>e Sprache der Klasse N P, und sei f : Σ ∗ → Γ ∗ e<strong>in</strong>e<br />
Reduktion von L ⊆ Σ ∗ auf L0 <strong>in</strong> polynomialer Zeit. Wir beweisen, dass L0 N Pvollständig<br />
ist.<br />
Für jede Sprache L ′ ⊆ (Σ ′ ) ∗ der Klasse N P gibt es e<strong>in</strong>e Reduktion g : (Σ ′ ) ∗ → Σ ∗<br />
von L ′ nach L <strong>in</strong> polynomialer Zeit. Es genügt zu zeigen, dass die zusammengesetzte<br />
Abbildung f(g(x)) von (Σ ′ ) ∗ nach Γ ∗ e<strong>in</strong>e Reduktion <strong>in</strong> polynomialer Zeit von L ′<br />
nach L0 ist. Damit ist die N P-Vollständigkeit von L0 bewiesen.<br />
Für jedes Wort x über Σ gilt<br />
x ∈ L ′ ⇐⇒ g(x) ∈ L ⇐⇒ f(g(x)) ∈ L0,<br />
also müssen wir nur zeigen, dass f(g(x)) e<strong>in</strong>e Funktion der Klasse FP ist. Sei M<br />
e<strong>in</strong>e TM, die f berechnet und die polynomiale Zeitkomplexität p(n) hat, und sei<br />
M e<strong>in</strong>e TM, die g berechnet und die polynomiale Zeitkomplexität q(n) hat. Dann<br />
haben wir e<strong>in</strong>e 2-Band Masch<strong>in</strong>e M ∗ , die auf Band 1 die Masch<strong>in</strong>e M simuliert<br />
(<strong>in</strong> q(n) Schritten) und das Ergebnis auf Band 2 kopiert, wo sie die Masch<strong>in</strong>e M<br />
simuliert (<strong>in</strong> p(q(n)) Schritten). Das Ergebnis von M ∗ auf Band 2 ist das Wort<br />
f(g(x)), das <strong>in</strong> O(p(q(n))) Schritten berechnet wurde.<br />
Beispiel 1 (3-ERFÜLLBARKEIT). Wir wissen, dass 2-ERFÜLLBARKEIT zu P<br />
gehört. Trotzdem ist 3-ERFÜLLBARKEIT, d.h., das Problem der Erfüllbarkeit für<br />
Formeln, die <strong>in</strong> KNF höchstens drei Literale je Klausel enthalten, NP-vollständig:<br />
1. 3-ERFÜLLBARKEIT gehört zu N P – klar.<br />
2. Für ERFÜLLBARKEIT existiert e<strong>in</strong>e Reduktion <strong>in</strong> polynomialer Zeit auf<br />
3-ERFÜLLBARKEIT:<br />
In der Tat kann jede Klausel aus vier Literalen<br />
mit zwei Klauseln aus je drei Literalen<br />
a1 ∨ a2 ∨ a3 ∨ a4<br />
(a1 ∨ a2 ∨ b) ∧ (¬b ∨ a3 ∨ a4)<br />
ersetzt werden. Es ist klar, dass a1 ∨ a2 ∨ a3 ∨ a4 genau dann erfüllt ist, wenn die<br />
letzte Formel mit b = true oder b = false erfüllt. Analog wird<br />
mit drei Klauseln ersetzt:<br />
a1 ∨ a2 ∨ a3 ∨ a4 ∨ a5<br />
(a1 ∨ a2 ∨ b) ∧ (¬b ∨ a3 ∨ c) ∧ (¬c ∨ a4 ∨ a5)<br />
usw. Diese Übersetzung dauert l<strong>in</strong>eare Zeit O(n), denn für jede Klausel der Länge<br />
n benötigen wir n − 2 Klauseln der Länge 3.