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.
186 KAPITEL 6. KOMPLEXITÄT VON ALGORITHMEN<br />
falls <strong>in</strong> höchstens 2 i Berechnungsschritten aus der Konfiguration K die Konfiguration<br />
K ′ erreicht werden kann. (Z.B. bedeutet REACH(K, K ′ , 0), dass die Konfiguration<br />
K ′ <strong>in</strong> höchstens e<strong>in</strong>em Schritt aus Konfiguration K erreicht werden kann –<br />
d.h., entweder K = K ′ oder K ′ ist e<strong>in</strong>e Folgekonfiguration von K.). Es gilt<br />
M akzeptiert s1 . . . sn genau dann,<br />
wenn REACH(K, K ′ , Cp(n)) = true für K = (q0, s1 . . .sn), K ′ = (qF , #)<br />
Es genügt also, e<strong>in</strong>en Algorithmus zu f<strong>in</strong>den, der die Antwort REACH(K, K ′ , i)<br />
mit polynomialer Raumkomplexität für alle Paare K, K ′ von Konfigurationen und<br />
alle Zahlen i = 0, . . .,Cp(n) berechnet. Die Idee ist, dass es für i = 0 nur die<br />
Überprüfung ist, ob K ′ e<strong>in</strong>e der Folgekonfigurationen ist, die <strong>in</strong> O(1) Zeite<strong>in</strong>heiten<br />
berechnet wird, und aus dem Fall REACH(−, −, i) können wir REACH(−, −, i +<br />
1) wie folgt berechnen: Seien K, K ′ Konfigurationen, für die REACH(K, K ′ , i +<br />
1) = true ist. Also gibt es e<strong>in</strong>e Berechnung <strong>in</strong> 2 i+1 = 2 · 2 i Schritten; sei K die<br />
Konfiguration, die aus K <strong>in</strong> dieser Berechnung <strong>in</strong> 2 i Schritten erreicht wird – dann<br />
gilt REACH(K, K, i) = true und REACH(K, K ′ , i) = true. Umgekehrt: falls es<br />
e<strong>in</strong>e Konfiguration K gibt mit<br />
REACH(K, K, i) = true = REACH(K, K ′ , i),<br />
gilt bestimmt REACH(K, K ′ , i + 1).<br />
Die Antwort REACH(K, K ′ , i) kann für i = 0, . . .,Cp(n) also rekursiv durch den<br />
folgenden determ<strong>in</strong>istischen Algorithmus berechnet werden:<br />
i = 0 : Antwort true genau dann, wenn K = K ′ oder K ⊢ K ′ .<br />
i + 1 : Antwort true genau dann, wenn es e<strong>in</strong>e Konfiguration K gibt mit<br />
REACH(K, K, i) ∧ REACH(K, K ′ , i) = true.<br />
Für i = 0 muß dieser Algorithmus nur die zwei Konfigurationen K, K ′ (Wörter<br />
der Länge p(n) + 1) speichern, also ist der Raumbedarf O(p(n)). Für i + 1 müssen<br />
wir, für den rekursiven Ablauf, i speichern, und neben den E<strong>in</strong>gaben K und K ′<br />
wird die lokale Variable K gespeichert. Dann wird REACH(K, K, i) überprüft.<br />
Falls die Antwort true ist, können wir denselben Raum (!) wieder benutzen, um<br />
REACH(K, K ′ , i) zu überprüfen. Da i ≤ Cp(n) und K, K ′ , K Wörter der Länge<br />
p(n) + 1 s<strong>in</strong>d, wird <strong>in</strong> e<strong>in</strong>em Schritt der Rekursion Raum O(p(n)) genügen. Die<br />
Rekursion hat Cp(n) Schritte, also brauchen wir <strong>in</strong>sgesamt Raum O(Cp 2 (n)).<br />
Korollar 1. N PT IME ⊆ PSPACE<br />
Beweis. In der Tat sagt uns der Savitch-Satz, dass PSPACE = N PSPACE. Und<br />
N PT IME ⊆ N PSPACE ist analog zur Bemerkung 1 Nr. 2 oben.<br />
Bemerkung 2. Die Klasse PSPACE enthält also alle Probleme, für die es (Zeit-)<br />
effizient entscheidbar ist, ob e<strong>in</strong>e angebotene Lösung wirklich das Problem löst. Z.<br />
B. TSP, 3-FÄRBBARKEIT usw. Es ist nicht bekannt, ob N PT IME = PSPACE<br />
gilt.<br />
Wir zeigen jetzt e<strong>in</strong> <strong>in</strong>teressantes Beispiel e<strong>in</strong>es Prolems, für das nicht klar ist, ob es<br />
zu N PT IME gehört, da es ke<strong>in</strong>en vernünftigen Begriff von ” angebotener Lösung“<br />
gibt, das aber zu PSPACE gehört.<br />
Beispiel 1 (QUANTIFIZIERTE BOOLESCHE FORMELN).<br />
E<strong>in</strong>gabe: E<strong>in</strong>e quantifizierte Boolesche Formel φ ohne freie Variablen.