18.09.2013 Aufrufe

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

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.

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.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!