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.

6 CONP 61<br />

Definition 6.1 Sei R ⊆ Σ ∗ × Σ ∗ eine binäre Relation auf Wörtern.<br />

R heißt polynomiell entscheidbar ⇔ ∃ deterministische Turing-Maschine,<br />

die die Sprache {x; y|(x, y) ∈ R} in polynomieller Zeit entscheidet.<br />

R heißt polynomiell balanciert ⇔ ∃k ∀(x, y) ∈ R gilt |y| ≤ |x| k .<br />

Theorem 6.1 Sei L ⊆ Σ ∗ . L ∈ NP ⇔ Es gibt eine polynomiell entscheidbare<br />

und polynomiell balancierte Relation R derart, daß<br />

L = {x|∃y ∈ Σ ∗ mit (x, y) ∈ R}<br />

Beweis:<br />

” ⇐“: Falls R existiert, dann wird L von folgender nichtdeterministischer<br />

Turing-Maschine M entschieden:<br />

Für Eingabe x rät M ein y (erzeugt nichtdeterministisch ein y) mit |y| ≤ |x| k .<br />

Für das Wort x; y wird dann die deterministische Turing-Maschine für R benutzt,<br />

um zu testen, ob (x, y) ∈ R. M akzeptiert, falls (x, y) ∈ R, und weist<br />

<strong>zur</strong>ück, falls (x, y) ∈ R. Das heißt, M akzeptiert x in nichtdeterministisch<br />

polynomieller Zeit genau dann, wenn x ∈ L.<br />

” ⇒“: Sei L ∈ NP. Das heißt, es existiert eine nichtdeterministische Turing-<br />

Maschine N, die L in Zeit |x| k für ein k entscheidet. Definiere R wie folgt:<br />

(x, y) ∈ R ⇔ y ist eine Kodierung einer akzeptierenden Berechnung von N<br />

bei Eingabe x. (Dies kann z. B. die Aneinanderreihung aller Konfigurationen<br />

y = C0, C1, . . . , C” yes“<br />

für ein i ≤ |x| k einer akzeptierenden Berechnung sein.<br />

i<br />

Jedes |Ci| ∈ O(|x| k ), also y ∈ O(|x| k · |x| k ) = O(|x| 2k )).<br />

R ist polynomiell balanciert, da y ≤ c|x| 2k . R ist auch polynomiell entscheidbar,<br />

da in linearer Zeit (in Bezug auf das Wort x; y) getestet werden kann,<br />

ob y tatsächlich eine akzeptierende Berechnung von x beschreibt. Da N L<br />

entscheidet, gilt L = {x|(x, y) ∈ R} q.e.d.<br />

Bemerkung: y wird dabei auch Zertifikat, Zeuge oder auch Testwort genannt.<br />

Es gibt <strong>im</strong>mer einen derartigen Zeugen, falls x ∈ L, d. h., falls die<br />

Antwort für unser Entscheidungsproblem ” yes“ lautet.<br />

In coNP sind gerade die Probleme, für die es negative Zertifikate gibt, die<br />

bezeugen, daß ein Fall nicht dazugehört bzw. die Antwort ” no“ hat. Das<br />

heißt, <strong>im</strong> Fall der negativen Antwort gibt es <strong>im</strong>mer ein kurzes (polynomielles)<br />

Zertifikat.<br />

Beispiele:<br />

1. co-HAMILTON PATH (coHP): Sei G = (V, E) ein Graph. Frage: Hat<br />

G keinen Hamilton’schen Weg?<br />

Für G ∈ LcoHP ist es schwierig, ein Zertifikat zu finden. Aber für<br />

G ∈ LcoHP (d. h. G ∈ LHP) hat man ein Zertifikat, das leicht zu testen<br />

ist: rate Pfad v1, . . . , vn und teste.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!