Übungen zur Vorlesung Grundbegriffe der Theoretischen Informatik Thomas Schwentick, Daniela Huvermann und Thomas Zeume SoSe 2011 Übungsblatt 11 28.06.2011 Abgabe am 05.07.2011. Es gelten die Bedingungen von Blatt 1 und Blatt 2. Quizfragen: Welche der folgenden Aussagen sind richtig, welche sind falsch? Und warum? keine Punkte 1. Die Relation ≤p ist eine Äquivalenzrelation. Eine Äquivalenzklasse von ≤p ist die Menge P. 2. Nichtdeterminismus kann für Turing-Maschinen ebenso definiert werden wie für endliche Automaten. Für eine Konfiguration der TM werden dabei mehrere mögliche Übergänge erlaubt. Nichtdeterministische TM mit polynomieller Laufzeit entscheiden genau die Sprachen aus NP. 3. Zu Überprüfen, ob eine aussagenlogische Formel keine Tautologie ist, ist NP-vollständig. 4. 1978 wurde gezeigt, dass es einen Polynomialzeitalgorithmus für das Cliquen-Problem gibt. 5. Wenn P = NP ist, dann lässt sich das Rucksackproblem polynomiell auf das Erreichbarkeitsproblem in Graphen reduzieren. Aufgabe 11.1 [Die Klasse NP] 4 Punkte In dieser Aufgabe betrachten wir weitere Probleme für Graphen. Dazu benötigen wir zunächst ein paar Begriffe. Ein Graph G′ = (V ′ , E ′ ) ist ein Teilgraph eines Graphen G = (V, E), falls V ′ ⊆ V und E ′ ⊆ E. Zwei Graphen G = (V, E) und G′ = (V ′ , E ′ ) sind isomorph, falls es eine Bijektion f : V → V ′ gibt, so dass für alle Knoten u, v ∈ V gilt: (u, v) ∈ E genau dann wenn (f (u), f (v)) ∈ E ′ Ein Graph G = (V, E) wird von einer Menge U ⊆ V dominiert, falls es für jeden Knoten v ∈ V einen Knoten u in U und eine Kante (u, v) ∈ E gibt oder v ∈ U gilt. Zeigen Sie, dass die folgenden Probleme in NP liegen: a) Problem: Gegeben: Frage: SubgraphIsomorphie Zwei Graphen G, H Gibt es einen Teilgraphen von G der isomorph zu H ist? (2 Punkte) b) Problem: Gegeben: Frage: DominatingSet Ein Graph G, eine natürliche Zahl k Gibt es eine dominierende Menge U von G mit |U | ≤ k? (2 Punkte) Übungsblatt 11 Übungen zur GTI Seite 2 Aufgabe 11.2 [Reduktionen und ganzzahlige Programmierung] 8 Punkte In dieser Aufgabe betrachten wir das Problem ein System linearer Ungleichungen zu lösen. Eine ganzzahlige lineare Ungleichung U ist eine Ungleichung der Form c1 x1 + . . . ck xk ≤ c, wobei k eine beliebige natürliche Zahl, x1 , . . . xk Variablen, und c1 , . . . , ck , c ganze Zahlen sind. Das Problem IntegerProgramming ist nun wie folgt definiert: Problem: Gegeben: Frage: IntegerProgramming Eine Menge {U1 , . . . , Um } von ganzzahligen linearen Ungleichungen Lassen sich die Variablen der Ungleichungen U1 , . . . , Um so mit ganzen Zahlen belegen, dass alle Ungleichungen erfüllt werden? Beispielsweise wird die IntegerProgramming-Instanz x1 + 2x3 − 3x4 ≤ 1 10x2 + x4 ≥ 21 x1 + x2 + x3 ≤ 4 durch die Variablenbelegung x1 = x3 = x4 = 1 und x2 = 2 erfüllt. Die Antwort für diese Menge von Ungleichungen ist also ja. a) Wir betrachten das folgende Problem Problem: Gegeben: Frage: SetCover Eine endliche Menge S und Mengen S1 , . . . , Sn ⊆ S sowie k∈ N Gibt es i1 , . . . , ik so dass Si1 ∪ . . . ∪ Sik = S? Wir definieren eine Funktion f , die jeder Eingabe für das Problem SetCover eine Eingabe für das Problem IntegerProgramming zuweist. Für eine Eingabe I = (S, S1 , . . . , Sn , k) für SetCover enthalte f (I) die folgenden Ungleichungen: • Für jede Menge Sj enthält f (I) die Ungleichungen 0 ≤ xj und xj ≤ 1. • Für jedes Element s ∈ S: Sind Sl1 , . . . , Slm genau die Mengen in denen s vorkommt, so enthält f (I) die Ungleichung xl1 + . . . + xlm ≥ 1 • f (I) enthält zusätzlich eine Ungleichung x1 + . . . + xn ≤ k. (5 Punkte) (i) Ist I = (S, S1 , . . . , S6 , 3) mit S = {1, 2, 3, 4, 5, 6}, S1 = {2, 5}, S2 = {1, 2}, S3 = {1, 3}, S4 = {1, 4}, S5 = {1, 4, 5} und S6 = {3, 6} in SetCover? Geben Sie f (I) an. Ist f (I) in IntegerProgramming? [2 Punkte] (ii) Zeigen Sie, dass f eine polynomielle Reduktionsfunktion von SetCover auf IntegerProgramming ist. [3 Punkte] b) Zeigen Sie, dass sich das aus Aufgabe 1 bekannte Problem DominatingSet polynomiell auf IntegerProgramming reduzieren lässt. (3 Punkte) Bemerkung: Das Problem IntegerProgramming ist in NP, der Beweis ist aber nicht ganz einfach. Übungsblatt 11 Übungen zur GTI Seite 3 Aufgabe 11.3 [Reduktion von HamiltonPfad auf Sat] 4 Punkte Nach dem Satz von Cook lässt sich jedes Problem aus NP auf das Problem Sat reduzieren. Insbesondere lässt sich also das aus Aufgabe 10.3 bekannte Problem Problem: Gegeben: Frage: HamiltonPfad Ein Graph G = (V, E), zwei Knoten v1 , vn aus V Gibt es einen Hamiltonpfad von v1 nach vn in G? auf Sat reduzieren. Leider ist die Reduktion aus dem Satz von Cook eher kompliziert. Im Folgenden wollen wir eine einfachere Reduktion von HamltonPfad auf Sat erarbeiten. Für einen gegebenen Graphen G = (V, E) mit n Knoten soll eine Formel ϕ konstruiert werden, so dass jeder Hamiltonpfad durch G genau einer erfüllenden Belegung entspricht. Die Formel ϕ hat für jeden Knoten v und jedes i ∈ {1, . . . , n} eine Variable xiv mit der folgenden intuitiven Bedeutung: • In einer erfüllenden Belegung α ist xiv genau dann wahr, wenn v der ite Knoten auf dem α entsprechenden Hamiltonpfad ist. Geben Sie eine polynomielle Reduktion von HamiltonPfad auf Sat an. Beweisen Sie die Korrektheit der polynomiellen Reduktion! Übungsblatt 11 Übungen zur GTI Seite 4 Aufgabe 11.4 [Satz von Cook] 4 Punkte Im Beweis des Satzes von Cook (Satz 22.7) wird gezeigt, wie jede beliebige Sprache L ∈ NP auf SAT reduziert werden kann. Dabei wird für eine Turing-Maschine M , die L mit Zeitschranke nk nichtdeterministisch entscheidet, und eine beliebige Eingabe w = w1 . . . wn eine Formel F in KNF konstruiert, so dass gilt: M akzeptiert w nichtdeterministisch ⇐⇒ F ist erfüllbar. Analog kann man nun für eine Turing-Maschine M , die die Sprache L mit Zeitschranke nk deterministisch entscheidet, und eine beliebige Eingabe w = w1 . . . wn eine Formel F ′ in KNF konstruieren, so dass gilt: M akzeptiert w deterministisch ⇐⇒ F ′ ist erfüllbar Die Formel F ′ unterscheidet sich von F nur in der Komponente FA , die die Anfangsbedingungen der Turing-Maschine beschreibt. Die Teilformel FA′ kann wie folgt definiert werden: FA′ = Z0,q1 ∧ P0,0 ∧ B0,0,⊲ ∧ n ^ n ^ k B0,i,wi ∧ i=1 B0,i,⊔ i=n+1 wobei q1 den Startzustand der Turing-Maschine repräsentiert. Am Anfang steht also das Eingabewort w auf den ersten n Positionen nach dem Startsymbol ⊲. Danach folgt keine Zusatzeingabe, sondern nur ⊔’s. a) Wie in der Vorlesung (Kapitel 22, Folie 16) betrachten wir die Berechnung der TuringMaschine aus Kapitel 16, Folie 12, die die Menge aller Palindrome gerader Länge deterministisch entscheidet. Das Eingabewort sei wieder w = 011110. Wir betrachten die aus dieser Turing-Maschine und dem Wort w konstruierte Formel F ′ . Berechnen Sie die Werte der folgenden Variablen in der einzigen Wahrheitsbelegung, die die Formel F ′ wahr macht: Z13,a , Z14,a , P22,2 , P22,3 , P17,5 , B0,0, , B29,0, , B17,3,1 (2 Punkte) b) Geben Sie die Teilformel der Formel FD′ an, der sich auf den Übergang vom Zeitpunkt t = 8 zum Zeitpunkt t = 9 bezieht, falls der Turing-Maschinenkopf zum Zeitpunkt t = 8 an Position 6 steht. (2 Punkte) Zusatzaufgabe [Nochmal endliche Automaten...] Zeigen Sie, dass das folgende Problem NP-vollständig ist: Problem: Gegeben: Frage: AllSymbolsFSA Ein Alphabet Σ und ein endlicher Automat A über Σ Gibt es ein Wort w ∈ L(A), das jedes Symbol aus Σ enthält? 4 Punkte