Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
6.7. N P-VOLLSTÄNDIGKEIT 167<br />
Satz 3. E<strong>in</strong>e Sprache gehört genau dann zur Klasse N P, wenn sie e<strong>in</strong>e Zertifikatensprache<br />
hat.<br />
Beweis. 1. Gegeben e<strong>in</strong>e Zertifikatensprache Lcheck ⊆ Γ ∗ für L ⊆ Σ ∗ *, wir<br />
beweisen, dass L ∈ N P.<br />
Sei M e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e mit polynomialer Zeitkomplexität q(n), die Lcheck<br />
akzeptiert. Dann haben wir die folgende nichtdeterm<strong>in</strong>istische Tur<strong>in</strong>gmasch<strong>in</strong>e<br />
M ∗ , die L akzeptiert:<br />
Band 1<br />
E<strong>in</strong>gabeband<br />
Band 2<br />
Erzeugung von z<br />
Band 3<br />
Simulation von M<br />
. . .<br />
w1 w2 wn<br />
z1 z2 . . . zk für k ≤ p(n)<br />
. . . . . .<br />
w1 w2 wn z1 z2 zk<br />
Auf Band 1 steht die Eigabe w der Länge n. Auf Band 2 wird nichtdeterm<strong>in</strong>istisch<br />
e<strong>in</strong> Wort z über der Länge k ≤ p(n) geschrieben. Dann werden<br />
w und danach z auf Band 3 kopiert, und die Masch<strong>in</strong>e M wird simuliert;<br />
falls M hält und akzeptiert, hält auch M ∗ und akzeptiert. Es folgt also,<br />
dass M ∗ genau die Wörter w akzeptiert, für die es e<strong>in</strong> Wort z der Länge<br />
≤ p(n) mit wz ∈ Lcheck gibt – also akzeptiert M ∗ die Sprache L. Die Erzeugung<br />
von z dauert 2k ∈ O(p(n)) Schritte und die Simulation von M dauert<br />
q(n+k) ∈ O(q(p(n))) Schritte, also hat M ∗ e<strong>in</strong>e polynomiale Zeitkomplexität.<br />
2. Für jede Sprache L ⊆ Σ ∗ der Klasse N P konstruieren wir e<strong>in</strong>e Zertifikatensprache.<br />
Wir haben e<strong>in</strong>e nichtdeterm<strong>in</strong>istische Tur<strong>in</strong>gmasch<strong>in</strong>e M mit polynomialer<br />
Zeitkomplexität p(n), die L akzeptiert. Für jedes Wort w ∈ L der<br />
Länge n gibt es e<strong>in</strong>e Boolesche Formel φw der Länge O(p 2 (n)), die die Berechnung<br />
von w vollständig beschreibt – siehe den obigen Beweis des Cookschen<br />
Satzes. Da φw e<strong>in</strong>e Formel <strong>in</strong> KNF ist, ist sie e<strong>in</strong> Wort aus den Symbolen<br />
∨, ∧, (, ), x0, x1, x10, . . . , xi (i ≤ p(n) 2 )<br />
wobei i b<strong>in</strong>är dargestellt wird, also e<strong>in</strong> Wort über<br />
Γ = {∨, ∧, (, ), x, 0, 1}.<br />
Das Wort w hat die Länge O(p 2 (n)). Genauer gibt es nur e<strong>in</strong>e Konstante<br />
K, so dass für jedes Wort w ∈ L der Länge n die Berechnung von w durch<br />
e<strong>in</strong>e Formel φw der Länge ≤ Kp 2 (n) repräsentiert wird. Nehmen wir der<br />
E<strong>in</strong>fachheit halber an, dass Γ ∩ Σ = ∅. Dann ist die folgende Sprache Lcheck<br />
über Σ ∪ Γ e<strong>in</strong>e Zertifikatensprache für L: Lcheck besteht aus allen Wörtern<br />
wφ, wobei w e<strong>in</strong> Wort über Σ (der Länge n) ist und φ e<strong>in</strong>e Boolesche Formel<br />
der Länge ≤ Kp 2 (n), die e<strong>in</strong>e akzeptierende Berechnung von w beschreibt,<br />
ist.<br />
(a) Lcheck gehört zu P.<br />
In der Tat, für jedes Wort u der Länge m über Σ ∪ Γ überprüfen wir,<br />
i. ob u = wφ für w ∈ Σ ∗ und φ ∈ Γ ∗ , wobei w die Länge n und φ die<br />
Länge ≤ Kp 2 (n) hat und