Aufgabe 11.1 - Webseite von Michael Rennecke

Werbung
Michael Rennecke
Stephan Präsch
Yu Ai
[email protected]
11. Übung zur Vorlesung Komplexitästheorie“
”
Aufgabe 11.1
Beweisen Sie, dass P RIM E 1 := {I k : k ist P rimzahl} ∈ L gilt.
Abbildung 1: Skizze der DTM
1. DTM liest vom Eingabeband, speichert binär die Anzahl Striche auf Langzeitspeicherband
(Platzverbrauch: maximal log(n)+1)
2. Langzeitspeicherband wird auf Arbeitsband 1 kopiert. (Platzverbrauch: maximal log(n)+1)
3. Arbeitsband 2 wird mit 2 (binär 10) initialisiert, wir gehen hier o.B.d.A. davon aus, dass unsere
Eingabe > 2 ist, und verzichten auch auf die Tests, ob die Eingabe syntaktisch korrekt ist.
4. Es wird fortlaufend das Arbeitsband 2 vom Arbeitsband 1 subtrahiert solange das Ergebnis der
Subtraktion einen positiven Wert aufweist. Falls die Subtraktion < 0 ausfällt, so kopiere auf
Arbeitsband 1 wieder Inhalt von Langzeitspeicherband und inkrementiere Arbeitsband 2.
5. Besitzt das Arbeitsband 1 dann den Wert 0, handelt es sich um keine Primzahl, Wort wird verworfen. Ist der Wert > 0, dann inkrementiere den Wert von Arbeitsband 2. Hat das Arbeitsband
2 den selben Wert wie das Langzeitspeicherband, dann akzeptiere das Wort, ansonsten beginne
wieder beim Schritt mit dem Subtrahieren.
Für das ”Raufzählen” auf Arbeitsband 2 benötigen wir ebenfalls maximal log(n)+1 Platz. Auf allen
Bändern also insgesamt maximal 3*(log(n)+1), im Grunde irgendein c*log(n).
1 von 3
Aufgabe 11.2
1. UGAP
Beweis: Harry R. Lewis and Christos H. Papadimitriou. Symmetric space-bounded computation.
Theor. Comput. Sci., 19:161 - 187, 1982 und O. Reingold, Undirected ST-Connectivity in LogSpace (Theorem 4.1 und Theorem 4.2) folgt sofort, dass UGAP L-vollständig ist
2. Baumisomorphie
Aufgabe 11.3 a)
Konstruktion einer nichtdeterminitischen Turingmaschine M, die UGAP in logarithmischen Platz löst.
M bekommt als Eingabe die beiden Bezeichnungen der Knoten, die auf einen Pfad liegen sollen
(Weg von a nach b). Danach ist ein Trennzeichen, nun folgen die Knoten des Graphen. Nach einen
weiteren Trennzeichen, werden die Kanten aufgezählt. Die verschiedenen Kanten bzw. Knoten kann
mit einem anderen Trennzeichen voneinander trennen.
Die Idee ist nun, das man den Weg von a nach b rät und jeden geratenen Schritt durch die Eingabe
verifiziert. Der Algorithmus terminiert, wenn er als Knoten b geraten hat.
Bezeichnungen
• e = (ei , ei+1 ) ist eine beliebige Kante im Graph
• ei und ei+1 seien beliebige Knoten im Graph
Algorithmus
1. rate eine Kante (a, e1 )
2. schreibe (a, e1 ) auf das Arbeitsband
3. schaue auf den Eingabeband ob die Kante (a, e1 ) existiert (durch Vergleich mit Arbeitsband)
4. ja: mache weiter, nein: bleibe stehen
5. i = 1
6. rate Kante (ei , ei+1 )
7. schreibe (ei , ei+1 ) auf das Arbeitsband
8. schaue auf den Eingabeband ob die Kante (ei , ei+1 existiert (durch Vergleich mit Arbeitsband)
9. ja: mache weiter, nein: bleibe stehen
10. i := i + 1
11. wiederhole die Schritte 5 bis 10 solange ei+1 nicht gleich b ist
12. akzeptiere die Eingabe
Aufgabe 11.3 b)
siehe 11.2 wenn UGAP NL-Vollständing, dann währe L = NL.
2 von 3
Aufgabe 11.4
Zeigen Sie, dass 2SAT ⊆ NL gilt.
Hinweis: NL ist abgeschlossen unter Komplement.
Da NL unter Komplement abgeschlossen ist, genügt es also die Unerfüllbarkeit jeder 2KNF zeigen
zu können:
Sei nun G(φ) ein Graph mit allen Variablen des Ausdrucks und deren Negationen. Eine Kante von
x nach y existiere genau falls eine Klausel ¬x ∨ y ⇔ x ⇒ y in der Eingabe existiert. Beachte, dass
x ⇒ y ⇔ ¬y ⇒ ¬x.
Theorem: φ ist unerfüllbar genau dann, wenn für eine Variable x in G(φ) ein Weg von x nach
¬x und ein Weg von ¬x nach x geht.
Beweis:
(⇐): (¬x ⇒ · · · ⇒ x) ∧ (x ⇒ · · · ⇒ ¬x) ⇔ (¬x ⇔ x) Für x gibt es keine erfüllende Belegung.
(⇒): Wähle einen bisher undefinierten Knoten x für die kein Weg x → ¬x im Graphen existiert. (Dies
muss jeweils für Variable v oder ¬v gelten) Setze alle von x erreichbaren Variablen auf 1 und ihre
Negation auf 0. Dieser Schritt funktioniert, weil
1.) (x → y) ∧ (y → ¬y) ⇒ (y → ¬x) ⇒ (x → ¬x) was ein Widerspruch zur Annahme ist.
2.) Jeder Nachfolger von x ist noch undefiniert. Denn falls (x → 0 ⇒ 1 → ¬x) und x wäre bereits
definiert worden.
Algorithmus:
Wir raten nichtdeterministisch eine Variable x aus dem Eingabe Term und rate einen Weg durch den
Graphen von x nach ¬x. Dies ist mit logarithmischem Platz möglich. Damit ist das Komplement von
2-SAT entschieden.
3 von 3
Herunterladen