¨Ubungen zur Vorlesung Grundbegriffe der Theoretischen Informatik

Werbung
Ü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
Herunterladen