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

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

iti.cs.tu.bs.de
von iti.cs.tu.bs.de Mehr von diesem Publisher
18.09.2013 Aufrufe

188 KAPITEL 6. KOMPLEXITÄT VON ALGORITHMEN Im allgemeinen definieren wir die Menge V ar(E) aller freien Variablen einer QBF wie folgt: V ar(xi) = {xi} V ar(true) = V ar(false) = ∅ V ar(E1 ∨ E2) = V ar(E1) ∪ V ar(E2), analog mit ∧, → V ar(¬E) = V ar(E) V ar((∀x)E) = V ar((∃x)E) = V ar(E) − {x} Eine QBF heißt geschlossen, falls sie keine freien Variablen hat, falls also V ar(E) = ∅. Den Wert WERT(E) einer geschlossenen QBF definieren wir wie folgt: Hier ist WERT(true) = true WERT(false) = false WERT(E1 ∨ E2) = WERT(E1) ∨ WERT(E2), analog mit ∧, → WERT(¬E) = ¬WERT(E) WERT((∀x)E) = WERT(E(true/x)) ∧ WERT(E(false/x)) WERT((∃x)E) = WERT(E(true/x)) ∨ WERT(E(false/x)) E(true/x) die QBF, die wir aus E bekommen, indem alle freien Vorkommen der Variablen x durch true ersetzt werden, analog E(false/x). Bemerkung 3. Das Problem QBF gehört zur Klasse PSPACE. In der Tat existiert ein Algorithmus mit Raumkomplexität O(n 2 ), wobei n die Länge des Wortes E ist, der entscheidet, ob E true ist. Hier bezeichnet E eine geschlossene Boolesche Formel. Den Wert berechnen wir rekursiv wie folgt WERT(E) = true oder false • falls E = true, ist WERT(E) = true • falls E = false, ist WERT(E) = false • falls E = ∀xi(E ′ ) oder E = ∃xi(E ′ ), berechnen wir erst (rekursiv) den Wert von E(true/xi) Dann speichern wir das Ergebnis (in 1 Bit) und auf demselben Raum (!) berechnen wir E(false/xi), speichern das Ergebnis (wieder 1 Bit) und entscheiden, ohne zusätzlichen Raum, den Wert von E aufgrund dieser zwei Werte. Algorithmus für QBF Eingabe: E, eine QBF ohne freie Variablen. Ausgabe: der Wert von E, WERT(E), rekursiv berechnet: WERT(true) := true; WERT(false) := false; WERT(∀xi(E)) := WERT(E(true/xi)) ∧ WERT(E(false/xi)); WERT(∃xi(E)) := WERT(E(true/xi)) ∨ WERT(E(false/xi));

6.12. RAUMKOMPLEXITÄT 189 Korrektheit: Jede QBF kann in die Form mit Quantoren nach außen gebracht werden. Falls die Formel in dieser Form keine freien Variablen besitzt, muß sie eine der 4 Typen oben sein. Die Rekursion erfolgt nach der Zahl k aller Quantoren von E. Für k = 0 ist E = true oder E = false, falls k > 0 ist, gilt E = ∀xi(E) oder E = ∃xi(E), wobei für E die Zahl aller Quantoren k − 1 ist. Nach k Rekursionsschritten wird also WERT(E) berechnet sein. Raumkomplexität: Sei E eine QBF der Länge n. Die Zahl k aller Quantoren in E erfüllt k < n. Die Rekursion hat also Tiefe n und in jedem rekursiven Schritt brauchen wir, wie oben erklärt wurde, nur Raum um 2 Bit größer als der Raum des nächsten Schrittes. Das Wort E hat Länge n, also haben die in der Rekursion gespeicherten Wörter Länge O(n), was mit n rekursiven Schritten Raum O(n 2 ) verlangt. Offenes Problem: Liegt QBF in N PT IME? In der Tat scheint dies unwahrscheinlich, denn QBF ist PSPACE-vollständig, das heißt für jedes Problem der Klasse PSPACE gibt es eine Reduktion auf QBF in polynomialer Zeit (!). Falls also QBF ∈ N PT IME ist, folgt N PT IME = PSPACE.

6.12. RAUMKOMPLEXITÄT 189<br />

Korrektheit: Jede QBF kann <strong>in</strong> die Form mit Quantoren nach außen gebracht werden.<br />

Falls die Formel <strong>in</strong> dieser Form ke<strong>in</strong>e freien Variablen besitzt, muß sie e<strong>in</strong>e der<br />

4 Typen oben se<strong>in</strong>. Die Rekursion erfolgt nach der Zahl k aller Quantoren von E.<br />

Für k = 0 ist E = true oder E = false, falls k > 0 ist, gilt E = ∀xi(E) oder<br />

E = ∃xi(E), wobei für E die Zahl aller Quantoren k − 1 ist. Nach k Rekursionsschritten<br />

wird also WERT(E) berechnet se<strong>in</strong>.<br />

Raumkomplexität: Sei E e<strong>in</strong>e QBF der Länge n. Die Zahl k aller Quantoren <strong>in</strong><br />

E erfüllt k < n. Die Rekursion hat also Tiefe n und <strong>in</strong> jedem rekursiven Schritt<br />

brauchen wir, wie oben erklärt wurde, nur Raum um 2 Bit größer als der Raum<br />

des nächsten Schrittes. Das Wort E hat Länge n, also haben die <strong>in</strong> der Rekursion<br />

gespeicherten Wörter Länge O(n), was mit n rekursiven Schritten Raum O(n 2 )<br />

verlangt.<br />

Offenes Problem: Liegt QBF <strong>in</strong> N PT IME?<br />

In der Tat sche<strong>in</strong>t dies unwahrsche<strong>in</strong>lich, denn QBF ist PSPACE-vollständig,<br />

das heißt für jedes Problem der Klasse PSPACE gibt es e<strong>in</strong>e Reduktion auf QBF<br />

<strong>in</strong> polynomialer Zeit (!). Falls also QBF ∈ N PT IME ist, folgt N PT IME =<br />

PSPACE.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!