@ TECHNISCHE UNIVERSITÄT CAROLO-WILHELMINA ZU BRAUNSCHWEIG Institut für Theoretische Informatik Dr. S. Milius Braunschweig, 1. Juli 2009 Theoretische Informatik 2, SS 2009 Aufgabenblatt Nr. 13 – Abgabetermin: Keiner! Hinweis für Diplomstudenten: Bitte melden Sie sich bis zum 9. Juli 2009 zur Teilnahme an der Abschlussklausur an indem Sie sich in die vor Raum IZ 342 ausgehängten Listen eintragen. Aufgabe 41 (Übung) (a) Beweisen Sie, dass die Klasse PSPACE unter Durchschnitt abgeschlossen ist. (b) Beweisen Sie, dass das folgende Problem PSPACE-vollständig ist: In-Place Acceptance Eingabe: deterministische TM M , w ∈ Σ∗ Aufgabe: entscheiden, ob M das Wort w im Raum |w| akzeptiert (d.h., ohne zusätzliche Felder zu beschreiben) Aufgabe 42 (Hausaufgabe) Beweisen Sie, dass PSPACE unter den folgenden Operationen abgeschlossen ist: 1. Vereinigung 2. Konkatenation 3. Komplement 4. Kleene’scher Stern (falls L in PSPACE liegt, dann auch L∗ ) Aufgabe 43 (Hausaufgabe) Die Komplexitätsklasse EXPTIME besteht aus allen formalen Sprachen, die von einer deterministischen TM in exponentieller Laufzeit akzeptiert werden können (also so dass die TM nach O(C n ) Schritten, woebi C eine Konstante ist, hält. Beweisen Sie, dass PSPACE ⊆ EXPTIME gilt. Aufgabe 44 (Hausaufgabe) Beweisen Sie, dass das folgende Problem In-Place Divergence PSPACE-vollständig ist: Eingabe: deterministische TM M Aufgabe: entscheiden, ob M eine nicht haltende Berechnung hat, die höchstens |c(M )| Bandfelder benutzt. Aufgabe 45 (Hausaufgabe) Für das Problem MIN TSP existiert bekanntlich kein Approximationsalgorithmus. Betrachten Sie nun das Problem ∆-TSP: Eingabe: Distanzmatrix (dij )i,j=1,...,n (von n Städten), wobei die Distanzen die Dreiecksungleichungen erfüllen: dij ≤ dik + dkj , für alle k. Aufgabe: berechnen der kürzesten Rundreise. Entwicklen Sie einen 1-approximierenden Algorithmus basierend auf folgender Idee (die dij werden jetzt als Kantengewichte eines vollständigen Graphen betrachtet): 1. man berechnet einen minimalen aufspannenden Baum des Graphen; 2. eine Rundreise wird durch Umlauf des Baumes bestimmt; 3. die Rundreise wird iterativ durch Wegstreichen von doppelt vorkommenden Knoten verbessert. (a) Überprüfen Sie die Kriterien für ein Optimierungsproblem gemäß der Definition der Vorlesung. (b) Arbeiten Sie die obige Idee aus und implementieren Sie Ihren Algorithmus in Pseudocode. (c) Argumentieren Sie, warum Ihr Algorithmus korrekt ist und machen Sie eine Laufzeitanalyse (d) Beweisen Sie, dass es sich bei dem Algorithmus um einen 1-approximierenden Algorithmus handelt. (Zeigen Sie zuerst, dass die Kosten eines minimalen aufspannenden Baumes immer kleiner als die der optimalen Rundreise sind.) Literatur: C. H. Papadimitriou: Computational Complexity, Addison-Wesley 1994. 1 Letzte Änderung: 26. Juni 2009 Theoretische Informatik 2, SS 2009 Aufgabe 46 (Klausurvorbereitung) Geben Sie detailiert (mit allen Zustandsübergängen) eine Turingmaschine an, die die folgende formale Sprache L = { w | w ∈ { a, b, c }∗ , |w|a = |w|b = |w|c } akzeptiert. Aufgabe 47 (Klausurvorbereitung) Beweisen Sie mit einem Diagonalargument, dass die Menge P(N) aller Teilmengen der Menge der natürlichen Zahlen überabzählbar ist. Was lässt sich über die Mächtigkeit der Potenzmenge P(M ) einer endlichen Menge M sagen? Aufgabe 48 (Klausurvorbereitung) Beweisen Sie, dass die folgenden Sprachen nicht entscheidbar sind: (a) [10 Punkte] L1 = { c(M ) | M ist eine TM, die unendlich viele Wörter akzeptiert und auch unendlich viele Wörter nicht akzeptiert } (b) [20 Punkte] L2 = { c(M1 )c(M2 ) | M1 und M2 sind TM und die Sprachen L(M1 ) ∪ L(M2 ) und L(M1 ) ∩ L(M2 ) sind beide unendlich } Aufgabe 49 (Klausurvorbereitung) Betrachten Sie die folgenden Probleme: 1. Inzidenz-System Eingabe: Menge S mit endlicher Familie von Teilmengen Sj ⊆ S, j = 1, . . . , n und ganze Zahl k ≤ |S|; Aufgabe: Entscheiden, ob es eine Teilmenge T ⊆ S mit höchstens k Elementen gibt, die jede Teilmenge Sj nichtleer schneidet: T ∩ Sj 6= ∅ für jedes j = 1, . . . , n. 2. Zyklenüberdeckung Eingabe: gerichteter Graph G = (V, E); positive Zahl k Aufgabe: entscheiden ob es eine Teilmenge U ⊆ V gibt mit |U | ≤ k und aus jedem gerichteten Zyklus liegt mindestens ein Knoten in U . 3. Bottleneck-TSP Eingabe: Distanzmatrix (dij )i,j=1,...,n , Zahl k ∈ N Aufgabe: entscheiden, ob eine Rundreise i1 , i2 , . . . , in existiert, so dass dij ij+1 ≤ k, j = 1, . . . , n − 1 und din i1 ≤ k gelten (d.h. kein Weg zwischen zwei Städten auf der Rundreise ist länger als k). (a) Geben Sie jeweils eine vernünftige binäre Kodierung von Instanzen der Probleme als Eingaben für eine Turing-Maschine an. (b) Beweisen Sie detailiert, dass die Probleme NP-vollständig ist. Hinweis: Für die Reduktionen könnte man die Probleme Vertex Cover und Hamilton’scher Kreis benutzen. 2