Klausur: Berechenbarkeit und Komplexität

Werbung
Technische Universität Berlin, Berlin, 28.07.2016
Name: ........................
Matr.-Nr.: ........................
Klausur: Berechenbarkeit und Komplexität
(Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)
Einlesezeit:
Bearbeitungszeit:
Max. Punktezahl:
1
(12)
2
(10)
3
(8)
15 Minuten
60 Minuten
50 Punkte
4
(12)
5
(8)
Σ
(50)
Allgemeine Hinweise:
• Es sind keinerlei Hilfsmittel erlaubt.
• Benutzen Sie einen dokumentenechten Stift in der Farbe schwarz oder blau. Insbesondere also
keinen Bleistift, sondern einen Kugelschreiber oder einen nicht löschbaren Füller.
• Beschriften Sie jedes Blatt mit ihren Vor- und Nachnamen und ihrer Matrikelnummer.
• Falls es in der Aufgabenstellung nicht explizit ausgeschlossen wird, so sind alle Antworten zu begründen! Antworten ohne Begründung erhalten 0 Punkte.
Viel Erfolg!
Name: ........................
Matr.-Nr.: ........................
Aufgabe 1: Turing-Maschinen
(6 + 6 Punkte)
Betrachten Sie die nichtdeterministische Turing-Maschine
M = ({q0 , q1 , q2 , q3 , q4 }, {0, 1}, {0, 1, #, }, δ, q0 , , {q4 }),
wobei δ wie folgt definiert ist:
#:#,R
#:#,L
0:#,R
q1
q3
:,L
0:#,L
0:#,R
q0
1:#,R
q4
1:#,L
q2
1:#,R
#:#,R
0:0,R
1:1,R
Hinweis: Beispielsweise bedeutet der Pfeil mit Beschriftung „0:#,L“ von q1 zu q3 , dass M im
Zustand q1 beim Lesen von 0 in den Zustand q3 übergeht, die 0 durch # ersetzt, und ihren
Leseschreibkopf nach links bewegt.
a) Finden Sie ein Wort der Länge drei, das nicht von der Turing-Maschine M akzeptiert wird.
Beweisen Sie, dass die Turing-Maschine M ihr Wort nicht akzeptiert.
b) Vervollständigen Sie die Konfigurationsfolge
q0 0110 ` 0q0 110 ` . . .
um zu zeigen, dass die Turing-Maschine M das Wort 0110 akzeptiert (ohne weitere Begründungen).
Lösungsskizze
a) M akzeptiert das Wort 101 nicht. Wir zeigen dies, indem wir alle möglichen Konfigurationsfolgen von M auf der Eingabe 101 untersuchen.
•
•
•
•
q0 101 ` #q2 01
q0 101 ` 1q0 01 ` 1#q1 1
q0 101 ` 1q0 01 ` 10q0 1 ` 10#q2 q0 101 ` 1q0 01 ` 10q0 1 ` 101q0 Für die jeweils letzten Konfigurationen ist kein weiterer Übergang definiert. In keiner der
erreichbaren Konfigurationen ist M im Endzustand q4 . Daher akzeptiert M das Wort 101
nicht.
b) q0 0110 ` 0q0 110 ` 0#q2 10 ` 0q3 ##0 ` q3 0##0 ` #q1 ##0 ` ##q1 #0 ` ###q1 0 `
##q3 ## ` #q3 ### ` q3 #### ` q3 #### ` q4 ####
2
Name: ........................
Matr.-Nr.: ........................
Aufgabe 2: Reduzierbarkeit und (Un-)Entscheidbarkeit
(4 + 6 Punkte)
Gegeben seien zwei endliche Alphabete Σ und Γ. Wir definieren, dass eine Sprache L1 ⊆ Σ∗
doppel-reduzierbar auf eine andere Sprache L2 ⊆ Γ∗ ist, in Zeichen L1 ≤d L2 , falls zwei
totale, berechenbare Funktionen f1 und f2 : Σ∗ → Γ∗ existieren, so dass für alle Wörter x ∈ Σ∗
gilt:
(x ∈ L1 ) ⇔ (f1 (x) ∈ L2 ) und (x ∈ L1 ) ⇔ (f2 (x) ∈
/ L2 ) .
Begründen oder widerlegen Sie die Korrektheit folgender Aussagen.
a) Falls L1 doppel-reduzierbar auf L2 ist und zusätzlich L2 entscheidbar ist, dann ist L1 entscheidbar.
b) Sei H ⊆ Σ∗ das allgemeine Halteproblem und sei L ⊆ Γ∗ eine beliebige Sprache. Falls H
reduzierbar auf L ist, dann ist H auch doppel-reduzierbar auf L. In Zeichen:
(H ≤ L) ⇒ (H ≤d L).
Hinweis: Das allgemeine Halteproblem H ist semi-entscheidbar und Σ∗ \H ist unentscheidbar.
Lösungsskizze
a) Die Aussage ist korrekt. Begründung: Sei L2 entscheidbar und gelte L1 ≤d L2 vermöge f1 , f2 .
Dann ist insbesondere f1 eine Reduktion von L1 auf L2 , also gilt L1 ≤ L2 . Daraus folgt mit
der Entscheidbarkeit von L2 nach einem Satz aus der Vorlesung die Entscheidbarkeit von L1 .
b) Die Aussage ist falsch. Gegenbeispiel: Wähle L := H. Offensichtlich gilt H ≤ H. Angenommen, H ≤d H vermöge f1 , f2 . Das heißt insbesondere, dass für alle x ∈ Σ∗ gilt, dass
x ∈ H ⇔ f2 (x) 6∈ H.
(1)
Schreibe kurz H für Σ∗ \ H. Es gilt für alle x ∈ Σ∗ , dass
(1)
x ∈ H ⇔ x 6∈ H ⇔ f2 (x) ∈ H
und damit H ≤ H vermöge f2 . Nach einem Satz aus der Vorlesung ist dann aber H semientscheidbar da H semi-entscheidbar ist. Das ist ein Widerspruch, denn H ist bekanntermaßen
nicht semi-entscheidbar.
3
Name: ........................
Matr.-Nr.: ........................
Aufgabe 3: Satz von Rice
(4 + 4 Punkte)
Sei Σ ein endliches Alphabet und sei Mw die von w ∈ Σ∗ kodierte Turing-Maschine. Der aus der
Vorlesung bekannte Satz von Rice lautet wie folgt:
Sei R die Menge aller Turing-berechenbaren Funktionen. Sei außerdem S ⊆ R eine
nicht-triviale Teilmenge von R, das heißt, S =
6 ∅ und S =
6 R.
∗
Dann ist die Sprache C(S) := {w ∈ Σ | die von Mw berechnete Funktion liegt in S}
unentscheidbar.
Zeigen Sie für die folgenden beiden Sprachen entweder deren Unentscheidbarkeit mit Hilfe des
Satzes von Rice oder beschreiben Sie die Vorgehensweise einer Turing-Maschine, die die Sprache
entscheidet.
a) L1 := {w ∈ Σ∗ | die von Mw berechnete Funktion ist keine konstante Funktion}
b) L2 := {w ∈ Σ∗ | Mw akzeptiert w in höchstens |w|2 Schritten}
Lösungsskizze
a) L1 ist unentscheidbar. Wir beweisen das durch Anwendung des Satzes von Rice: Definiere S
als die Menge aller nicht konstanten, Turing-berechenbaren Funktionen, das heißt
S := {f ∈ R | ∃x, y ∈ Σ∗ .f (x) 6= f (y)}.
Dann ist Ω ∈
/ S, aber id ∈ S. Also ist ∅ =
6 S=
6 R. Demnach ist S nicht-trivial und nach Satz
von Rice folgt, dass C(S) unentscheidbar ist. Wegen L1 = C(S) ist damit L1 unentscheidbar.
b) L2 ist entscheidbar. Dazu konstruieren wir eine TM M , die beim Eingabe w ∈ Σ∗ , die
kodierte TM Mw auf die selbe Eingabe w für |w|2 viele Schritte simuliert. Wenn Mw das
Wort w innerhalb von |w|2 Schritten akzeptiert, so lassen wir M das Wort w akzeptieren.
Andernfalls lehnt M das Wort w ab. Offensichtlich entscheidet M die Sprache L2 .
4
Name: ........................
Matr.-Nr.: ........................
Aufgabe 4: NP-Vollständigkeit und Polynomzeitreduktion
(2 + 5 + 5 Punkte)
Betrachten Sie die aus der Vorlesung bekannten NP-vollständigen Probleme Dominating Set
und Set Cover:
Dominating Set
Eingabe: Ein ungerichteter Graph G = (V, E) und eine natürliche Zahl k ∈ N.
Frage:
Existiert eine Teilmenge W ⊆ V , sodass |W | ≤ k und jeder Knoten in V \W
mindestens einen Nachbarn in W hat?
Set Cover
Eingabe: Eine Grundmenge X, eine Familie F = {S1 , . . . , Sm }, wobei jedes Si eine
Teilmenge von X ist, und eine natürliche Zahl k ∈ N.
Frage:
Existiert eine Teilfamilie F 0 ⊆ F, sodass |F 0 | ≤ k S
und die Vereinigung der
enthaltenen Mengen die Grundmenge ergibt, also S∈F 0 S = X?
Für einen ungerichteten Graphen G = (V, E) bezeichnen wir mit NG (v) ⊆ V die Menge der
Nachbarn eines Knotens v ∈ V . Beispielsweise sind NG (a) = {b, d} und NG (b) = {a, c, d, e} im
unten abgebildeten Graphen G. Betrachten Sie die polynomzeitberechenbare Funktion f , die für
jeden Graphen G und jede natürliche Zahl k ∈ N wie folgt definiert ist:
f (hG = (V, E), ki) = h{NG (v) | v ∈ V }, ki.
a) Sei hG, 1i eine Eingabeinstanz für Dominating Set, wobei G wie folgt definiert ist:
a
c
b
d
e
Geben Sie f (hG, 1i) an (ohne Begründung).
b) Begründen Sie anhand des Beispiels aus Teilaufgabe a), warum die Funktion f keine Reduktionsfunktion von Dominating Set auf Set Cover ist.
c) Korrigieren Sie die Definition von f , sodass sich eine polynomzeitberechenbare Reduktionsfunktion f 0 von Dominating Set auf Set Cover ergibt. Beweisen Sie anschließend die
Korrektheit der Reduktion vermöge f 0 .
Lösungsskizze
(a) f (hG, 1i) = h{{b, d}, {a, c, d, e}, {b}, {a, b}}, 1i
(b) hG, 1i ist eine Ja-Instanz für Dominating Set, da eine Teilmenge W = {b} ⊆ V existiert,
sodass |W | ≤ 1 und für alle v ∈ V \ W = {a, c, d, e} gilt v ∈ NG (b).
Für f (hG, 1i) = hF, ki gilt für alle Elemente S ∈ F, dass S ( S
X = V = {a, b, c, d, e}.
Deswegen existiert keine Teilfamilie F 0 ⊆ F, sodass |F 0 | ≤ 1 und S∈F 0 S = X = V . Also
ist f (hG, 1i) eine Nein-Instanz für Set Cover.
Hieraus folgt, dass f keine Reduktionsfunktion von Dominating Set auf Set Cover ist,
da wir gerade gezeigt haben, dass hG, 1i ∈ Dominating Set aber f (hG, 1i) 6∈ Set Cover.
Alternative:
Die Funktion f bildet auf keine gültige Eingabeinstanzen von Set Cover ab, da die Grundmenge X nicht definiert wird.
(c) Sei f 0 (hG = (V, E), ki) = hV, {NG (v) ∪ {v} | v ∈ V }, ki.
Wir zeigen, dass f 0 eine polynomielle Reduktion ist, indem wir zuerst die Korrektheit und
dann die Laufzeit beweisen.
5
• Es ist zu zeigen, dass
hG = (V, E), ki ∈ Dominating Set ⇔ f 0 (hG, ki) = hV, F, ki ∈ Set Cover.
„⇒“: Sei hG = (V, E), ki eine Ja-Instanz für Dominating Set. Dann existiert eine
Teilmenge W ⊆ V , sodass |W | ≤ k und jeder Knoten in V \ W mindestens einen
Nachbarn in W hat. Damit gilt
[
NG (v) ∪ W = V .
(2)
v∈W
Setze F 0 := NG (v) ∪ {v} | v ∈ W ⊆ F. Es gilt |F 0 | = |W | ≤ k. Außerdem gilt
S
S
S
(2)
S∈F 0 S =
v∈W NG (v) ∪ {v} =
v∈W NG (v) ∪ W = V . Also ist f (hG, ki)
eine Ja-Instanz für Set Cover.
„⇐“: Sei (V, F, k) eine Ja-Instanz für Set Cover. Dann existiert eine Teilfamilie F 0 ⊆
F, sodass |F 0 | ≤ k und
[
S =V.
(3)
S∈F 0
Ferner hat F 0 die Form F 0 = {NG (v1 ) ∪ {v1 }, NG (v2 ) ∪ {v2 }, . . . , NG (vk0 ) ∪ {vk0 }}
mit k 0 ≤ k.
Setze W := {v | NG (v) ∪ {v} ∈ F 0 } = {v1 , v2 , . . . , vk0 } ⊆ V . Es gilt |W | = |F 0 | ≤ k
und
[
[
(3)
NG (v) ⊇
NG (v) ∪ {v} \ W = V \ W .
v∈W
NG (v)∪{v}∈F 0
Daraus folgt, dass für alle Knoten v ∈ V \ W , dass ein vi ∈ W existiert mit
v ∈ NG (vi ). Folglich ist hG, ki eine Ja-Instanz für Dominating Set.
• Des Weiteren ist die Reduktionsfunktion f 0 polynomzeitberechenbar. Für eine beliebige Eingabeinstanz hG = (V, E), ki für Dominating Set werden folgende Schritte
ausgeführt:
– Für die Grundmenge X wird die gesamte Knotenmenge übernommen.
– Für jeden Knoten in V wird die sogenannte geschlossene Nachbarschaft gebildet
und als Element der Familie F hinzugefügt.
– Der Parameter k wird übernommen.
Hieraus ergibt sich eine Laufzeit in O(|V ||E|) und das ist polynomiell in der Eingabelänge.
6
Name: ........................
Matr.-Nr.: ........................
Aufgabe 5: Vermischtes zu P, NP, und anderen Komplexitätsklassen
(2 + 2 + 4 Punkte)
Im Folgenden sei Σ ein endliches Alphabet.
a) Beweisen oder widerlegen Sie:
Wenn P = NP gilt, dann liegt jede NP-schwere Sprache A ⊆ Σ∗ in P.
b) Für eine monoton wachsende Funktion f : N → N sei DSPACE(f ) die Klasse aller Sprachen L ⊆ Σ∗ , für die eine deterministische Turing-Maschine M mit T (M ) = L existiert,
sodass M für jede Eingabe x ∈ Σ∗ hält und höchstens f (|x|) viele Zellen auf dem Band
modifiziert.
Beweisen oder widerlegen Sie:
Für jede monoton wachsende Funktion f : N → N gilt DTIME(f ) ⊆ DSPACE(f ).
c) Zur Erinnerung: Das Komplement L ⊆ Σ∗ einer Sprache L ⊆ Σ∗ ist definiert als L := Σ∗ \ L.
Die Komplexitätsklasse coNP ist definiert als coNP := {L ⊆ Σ∗ | L ∈ NP}. Eine Sprache A ⊆
Σ∗ heißt coNP-vollständig, falls A ∈ coNP und für alle B ∈ coNP gilt, dass B ≤pm A.
Beweisen oder widerlegen Sie:
Für jede NP-vollständige Sprache A ⊆ Σ∗ gilt, dass A coNP-vollständig ist.
Lösungsskizze
a) Die Aussage gilt nicht. Das allgemeine Halteproblem ist, wie auf dem 12. Aufgabenblatt
gezeigt wurde, NP-schwer. Es liegt aber nicht in P, da es nicht entscheidbar ist, aber alle
Sprachen in P entscheidbar sind.
b) Die Aussage gilt. Sei L ∈ DTIME(f ). Dann existiert eine deterministische Turingmaschine M ,
die L entscheidet und auf jeder Eingabe x ∈ Σ∗ maximal f (|x|) Schritte ausführt. In jedem
Schritt kann M maximal eine neue Bandzelle modifizieren. Daher modifiziert M auf Eingabe
x maximal f (|x|) Bandzellen. Also ist L ∈ DSPACE(f ).
c) Die Aussage gilt. Sei A eine NP-vollständige Sprache. Dann ist insbesondere A ∈ NP und
somit A ∈ coNP laut der Definition von coNP.
Es bleibt noch zu zeigen, dass A coNP-schwer ist. Sei B ∈ coNP. Dann ist B ∈ NP und
folglich existiert eine Polynomzeitreduktion f : Σ∗ → Σ∗ von B auf A. Das heißt, f ist in
Polynomzeit berechenbar und für alle x ∈ Σ∗ gilt x ∈ B ⇐⇒ f (x) ∈ A. Folglich gilt auch
x ∈ B ⇐⇒ f (x) ∈ A. Somit ist f auch eine polynomzeitberechenbare Reduktion von B auf
A. Damit ist gezeigt, dass sich jede beliebige Sprache in coNP in Polynomzeit auf A reduzieren
lässt. Also ist A coNP-schwer.
7
Herunterladen