update
This commit is contained in:
@@ -12,12 +12,12 @@
|
||||
Definition 1 (Vertex Cover (VC)). Für einen (ungerichteten) Graphen G = (V, E) ist ein Vertex
|
||||
Cover eine Menge von Knoten C ⊆ V , sodass u ∈ C oder v ∈ C für alle { u, v } ∈ E gilt, also ist
|
||||
für alle Kanten mindestens ein Endpunkt in C.
|
||||
Für das V ERTEX C OVER Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gegeben und
|
||||
Für das VERTEX COVER Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gegeben und
|
||||
es wird gefragt, ob ein Vertex Cover mit Größe (Anzahl der Knoten) höchstens k in G existiert.
|
||||
|
||||
Definition 2 (Feedback Vertex Set (FVS)). Für einen gerichteten Graphen G = (V, E) ist ein
|
||||
Feedback Vertex Set eine Menge von Knoten X ⊆ V , sodass G \ X kreisfrei ist.
|
||||
Für das F EEDBACK V ERTEX S ET Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gege-
|
||||
Für das FEEDBACK VERTEX SET Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gege-
|
||||
ben und es wird gefragt, ob ein Feedback Vertex Set mit Größe (Anzahl der Knoten) höchstens
|
||||
k in G existiert.
|
||||
|
||||
@@ -33,13 +33,13 @@ k in G existiert.
|
||||
Hausaufgabe 9.1 (Nichtdeterministischer Algorithmus für VC) (5 Punkte)
|
||||
1. Finden Sie ein minimales Vertex Cover in Abbildung 1. Für ein Vertex Cover ist die
|
||||
Orientierung der Kanten nicht relevant.
|
||||
2. Zeigen Sie V ERTEX C OVER ∈ NP, indem Sie einen nichtdeterministischen Algorithmus
|
||||
angeben, der V ERTEX C OVER in Polynomialzeit löst. Begründen Sie die Korrektheit und
|
||||
2. Zeigen Sie VERTEX COVER ∈ NP, indem Sie einen nichtdeterministischen Algorithmus
|
||||
angeben, der VERTEX COVER in Polynomialzeit löst. Begründen Sie die Korrektheit und
|
||||
die Laufzeit von Ihrem Algorithmus.
|
||||
Hausaufgabe 9.2 (Polynomieller Verifizierer für FVS) (5 Punkte)
|
||||
1. Finden Sie ein minimales Feedback Vertex Set in Abbildung 1.
|
||||
2. Zeigen Sie F EEDBACK V ERTEX S ET ∈ NP, indem Sie einen polynomiellen Verifizierer
|
||||
für F EEDBACK V ERTEX S ET angeben. Begründen Sie die Korrektheit und die Laufzeit
|
||||
2. Zeigen Sie FEEDBACK VERTEX SET ∈ NP, indem Sie einen polynomiellen Verifizierer
|
||||
für FEEDBACK VERTEX SET angeben. Begründen Sie die Korrektheit und die Laufzeit
|
||||
von Ihrem Verifizierer.
|
||||
Abgabe: 15.06.2026, 10:00 Uhr in Moodle.
|
||||
CHRISTIAN-ALBRECHTS-UNIVERSITÄT ZU KIEL
|
||||
@@ -55,23 +55,23 @@ Abgabe: 15.06.2026, 10:00 Uhr in Moodle.
|
||||
|
||||
Definition 1 (Feedback Vertex Set (FVS)). Für einen gerichteten Graphen G = (V, E) ist ein
|
||||
Feedback Vertex Set eine Menge von Knoten X ⊆ V , sodass G \ X kreisfrei ist.
|
||||
Für das F EEDBACK V ERTEX S ET Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gege-
|
||||
Für das FEEDBACK VERTEX SET Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gege-
|
||||
ben und es wird gefragt, ob ein Feedback Vertex Set mit Größe (Anzahl der Knoten) höchstens
|
||||
k in G existiert.
|
||||
|
||||
Hausaufgabe 10.1 (F EEDBACK V ERTEX S ET ist NP-vollständig) (5 Punkte)
|
||||
Zeigen Sie, dass F EEDBACK V ERTEX S ET NP-vollständig ist.
|
||||
Hinweis: Reduzieren Sie V ERTEX C OVER auf F EEDBACK V ERTEX S ET. Wenn ein Vertex Cover
|
||||
Hausaufgabe 10.1 (FEEDBACK VERTEX SET ist NP-vollständig) (5 Punkte)
|
||||
Zeigen Sie, dass FEEDBACK VERTEX SET NP-vollständig ist.
|
||||
Hinweis: Reduzieren Sie VERTEX COVER auf FEEDBACK VERTEX SET. Wenn ein Vertex Cover
|
||||
aus einem Graphen entfernt wird, hat dieser keine Kanten mehr.
|
||||
Hausaufgabe 10.2 (k-C LIQUE mit universellem Knoten) (5 Punkte)
|
||||
Hausaufgabe 10.2 (k-CLIQUE mit universellem Knoten) (5 Punkte)
|
||||
Die folgende Aufgabe ist eine klassische Klausuraufgabe (da sie ein Problem, dessen NP-
|
||||
Vollständigkeit bereits bekannt ist, mit einer Zusatzeigenschaft versieht - und erneut nach NP-
|
||||
Vollständigkeit fragt).
|
||||
Wir definieren das Problem k-C LIQUE U NIVERSAL wie folgt:
|
||||
Wir definieren das Problem k-CLIQUE UNIVERSAL wie folgt:
|
||||
Gegeben: Ein ungerichteter Graph G = (V, E) sowie eine Zahl k ∈ Z≥1 , wobei ein u ∈ V so
|
||||
existiert, dass u mit allen anderen Knoten verbunden ist, i.e. { {u, v} | v ∈ V \ {u} } ⊆ E
|
||||
Entscheide: Existiert eine Clique C ⊆ V von G mit |C| ≥ k?
|
||||
Zeigen Sie, dass k-C LIQUE U NIVERSAL NP-vollständig ist.
|
||||
Zeigen Sie, dass k-CLIQUE UNIVERSAL NP-vollständig ist.
|
||||
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ Abgabe: 22.06.2026, 10:00 Uhr in Moodle.
|
||||
Blatt 11
|
||||
|
||||
|
||||
Definition 1 (Dreiecksüberdeckung eines Graphen (∆ C OVER)).
|
||||
Definition 1 (Dreiecksüberdeckung eines Graphen (∆ COVER)).
|
||||
|
||||
Gegeben Ein ungerichteter Graph G = (V, E) und eine Zahl k ∈ Z≥0 .
|
||||
Entscheide Besitzt G eine Dreiecksüberdeckung C∆ ⊆ V mit |C∆ | ≤ k,
|
||||
@@ -102,7 +102,7 @@ Entscheide Besitzt G eine Dreiecksüberdeckung C∆ ⊆ V mit |C∆ | ≤ k,
|
||||
Abbildung 1: Zwei Beispielgraphen
|
||||
|
||||
Hausaufgabe 11.1 (5 Punkte)
|
||||
Zeigen Sie: ∆ C OVER ist NP-vollständig.
|
||||
Zeigen Sie: ∆ COVER ist NP-vollständig.
|
||||
|
||||
Definition 2 (Halteproblem auf DTMs). Eine DTM M hält auf dem Wort w, wenn die Be-
|
||||
rechnung von M auf w eine Stopkonfiguration erreicht. Für eine geeignete Kodierung ⟨•, •⟩
|
||||
@@ -125,11 +125,11 @@ Abgabe: 30.06.2026, 10:00 Uhr in Moodle.
|
||||
Blatt 12
|
||||
|
||||
|
||||
Definition 1 (M AX -3-S AT). Bei dem Problem M AX -3-S AT ist eine Formel φ in konjunktiver
|
||||
Definition 1 (MAX -3-SAT). Bei dem Problem MAX -3-SAT ist eine Formel φ in konjunktiver
|
||||
Normalform gegeben, wobei jede Klausel 3 Literale enthält. Gesucht ist eine Belegung β der
|
||||
Variablen, die die Anzahl v(β ) der erfüllten Klauseln maximiert.
|
||||
|
||||
Hausaufgabe 12.1 (M AX -3-S AT, K LAUSURAUFGABE AUS S O S E 23, PZ1) (10 Punkte)
|
||||
Hausaufgabe 12.1 (MAX -3-SAT, KLAUSURAUFGABE AUS S O S E 23, PZ1) (10 Punkte)
|
||||
Betrachten Sie folgenden Algorithmus A:
|
||||
• Sei β0 die Belegung, die alle Variablen auf false setzt.
|
||||
• Sei β1 die Belegung, die alle Variablen auf true setzt.
|
||||
@@ -158,33 +158,33 @@ Abgabe: 06.07.2026, 10:00 Uhr in Moodle.
|
||||
Blatt 13
|
||||
|
||||
|
||||
Hausaufgabe 13.1 (Lower Bound: V ERTEX C OVER) (5 Punkte)
|
||||
Betrachten Sie die Reduktion aus der Musterlösung zu Präsenzserie 10 von C LIQUE auf V ER -
|
||||
TEX C OVER .
|
||||
Hausaufgabe 13.1 (Lower Bound: VERTEX COVER) (5 Punkte)
|
||||
Betrachten Sie die Reduktion aus der Musterlösung zu Präsenzserie 10 von CLIQUE auf VER -
|
||||
TEX COVER .
|
||||
|
||||
1. Geben Sie die Anzahl der Knoten, die Anzahl der Kanten und den Wert k für die re-
|
||||
sultierende V ERTEX C OVER Instanz in Abhängigkeit von der originalen C LIQUE Instanz
|
||||
sultierende VERTEX COVER Instanz in Abhängigkeit von der originalen CLIQUE Instanz
|
||||
an.
|
||||
2. Zeigen Sie Lower Bounds für V ERTEX C OVER bezüglich Anzahl der Knoten, Anzahl
|
||||
2. Zeigen Sie Lower Bounds für VERTEX COVER bezüglich Anzahl der Knoten, Anzahl
|
||||
der Kanten und k basierend auf der ETH und der Reduktion aus der Musterlösung zu
|
||||
Präsenzserie 10.
|
||||
|
||||
Definition 1 (H ITTING S ET). Bei diesem Problem ist ein Universum U, Teilmengen des Uni-
|
||||
Definition 1 (HITTING SET). Bei diesem Problem ist ein Universum U, Teilmengen des Uni-
|
||||
versums F1 , . . . , Fr ⊆ U und eine Zahl k ∈ Z≥0 gegeben. Gibt es eine Menge S ⊆ U mit |U| ≤ k
|
||||
und S ∩ Fi ̸= 0/ für alle i ∈ [r]?
|
||||
Anschaulicher wird bei diesem Problem nach maximal k Elementen aus dem Universum ge-
|
||||
fragt, sodass diese Elemente alle gegebenen Mengen Fi „treffen“.
|
||||
|
||||
Hausaufgabe 13.2 (Lower Bound: H ITTING S ET) (5 Punkte)
|
||||
Betrachten Sie folgende Reduktion von 3-SAT auf H ITTING S ET.
|
||||
Hausaufgabe 13.2 (Lower Bound: HITTING SET) (5 Punkte)
|
||||
Betrachten Sie folgende Reduktion von 3-SAT auf HITTING SET.
|
||||
Für eine gegebene 3-SAT Instanz I mit n Variablen x1 , . . . , xn und m Klauseln C1 , . . . ,Cm : Als
|
||||
Universum wählen wir U = { x1 , x̄1 , . . . , xn , x̄n }. Für jede Variable xi fügen wir die Menge Fi :=
|
||||
{ xi , x̄i } hinzu. Für jede Klausel C j fügen wir die Menge Fn+ j := C j hinzu. Wir setzen k := n
|
||||
und erhalten damit eine H ITTING S ET Instanz I.
|
||||
und erhalten damit eine HITTING SET Instanz I.
|
||||
1. Geben Sie die Größe des Universums, die Anzahl der Mengen und die Zahl k aus der
|
||||
resultierenden H ITTING S ET Instanz in Abhängigkeit von der Anzahl der Variablen n und
|
||||
resultierenden HITTING SET Instanz in Abhängigkeit von der Anzahl der Variablen n und
|
||||
der Anzahl der Klauseln m aus der originalen 3-SAT Instanz an.
|
||||
2. Beweisen Sie Lower Bounds für H ITTING S ET bezüglich Universumsgröße, Anzahl der
|
||||
2. Beweisen Sie Lower Bounds für HITTING SET bezüglich Universumsgröße, Anzahl der
|
||||
Mengen und der Zahl k basierend auf der obigen Reduktion und der ETH.
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ Abgabe: 13.07.2026, 10:00 Uhr in Moodle.
|
||||
|
||||
Definition 1 (Knapsack (Entscheidungsvariante)). Gegeben ist eine Menge mit n Gegenstän-
|
||||
den mit Gewichten w1 , . . . , wn ∈ Z≥0 und Profiten p1 , . . . , pn ∈ Z≥0 . Weiter sind eine Kapazität
|
||||
K ∈ Z≥0 und ein Zielprofit P ∈ Z≥0 gegeben. Bei dem K NAPSACK Problem muss entschieden
|
||||
K ∈ Z≥0 und ein Zielprofit P ∈ Z≥0 gegeben. Bei dem KNAPSACK Problem muss entschieden
|
||||
werden, ob eine Teilmenge S ⊆ [n] existiert, sodass
|
||||
|
||||
∑ wi ≤ K und ∑ pi ≥ P
|
||||
@@ -212,8 +212,8 @@ werden, ob eine Teilmenge S ⊆ [n] existiert, sodass
|
||||
|
||||
gilt.
|
||||
|
||||
Präsenzaufgabe 9.1 (K NAPSACK in NP)
|
||||
Zeigen Sie K NAPSACK ∈ NP auf zwei verschiedene Wege.
|
||||
Präsenzaufgabe 9.1 (KNAPSACK in NP)
|
||||
Zeigen Sie KNAPSACK ∈ NP auf zwei verschiedene Wege.
|
||||
1. Geben Sie einen nicht deterministischen Algorithmus an, der das Problem in polynomi-
|
||||
eller Zeit löst.
|
||||
2. Geben Sie einen polynomiellen Verifizierer für das Problem an.
|
||||
@@ -244,12 +244,12 @@ unter bestimmten Bedingungen? Welche?):
|
||||
Definition 1 (Vertex Cover (VC)). Für einen (ungerichteten) Graphen G = (V, E) ist ein Vertex
|
||||
Cover eine Menge von Knoten C ⊆ V , sodass u ∈ C oder v ∈ C für alle { u, v } ∈ E gilt, also ist
|
||||
für alle Kanten mindestens ein Endpunkt in C.
|
||||
Für das V ERTEX C OVER Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gegeben und
|
||||
Für das VERTEX COVER Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gegeben und
|
||||
es wird gefragt, ob ein Vertex Cover mit Größe (Anzahl der Knoten) höchstens k in G existiert.
|
||||
|
||||
Präsenzaufgabe 10.2 (V ERTEX C OVER ist NP-vollständig)
|
||||
Zeigen Sie, dass V ERTEX C OVER NP-vollständig ist.
|
||||
Hinweis: Reduzieren Sie C LIQUE auf V ERTEX C OVER.
|
||||
Präsenzaufgabe 10.2 (VERTEX COVER ist NP-vollständig)
|
||||
Zeigen Sie, dass VERTEX COVER NP-vollständig ist.
|
||||
Hinweis: Reduzieren Sie CLIQUE auf VERTEX COVER.
|
||||
Präsenzaufgabe 10.3 (Turingmaschinen)
|
||||
n
|
||||
Entwerfen Sie eine Turingmaschine, welche die Sprache L = { 02 | n ∈ Z≥0 } über dem Al-
|
||||
@@ -272,21 +272,21 @@ Diskutieren Sie nachfolgende Aussagen. Sind diese wahr oder falsch?
|
||||
(a) Für L ∈ NP gilt, aus L ≤ 3-SAT folgt, dass L NP-vollständig ist.
|
||||
(b) Gilt für eine Sprache L, dass sowohl L ≤ 3-SAT als auch 3-SAT ≤ L, dann ist L NP-vollständig.
|
||||
(c) Sei L NP-vollständig. Dann gilt L ∈ P genau dann, wenn P = NP.
|
||||
(d) Es ist möglich, dass 3-SAT ∈ P und C LIQUE ∈
|
||||
(d) Es ist möglich, dass 3-SAT ∈ P und CLIQUE ∈
|
||||
/ P.
|
||||
Präsenzaufgabe 11.2 (NP-Vollständigkeit)
|
||||
In dem Problem C LIQUE -N OMEMBER ist ein Graph G = (V, E), ein Knoten v ∈ V sowie eine
|
||||
In dem Problem CLIQUE -NOMEMBER ist ein Graph G = (V, E), ein Knoten v ∈ V sowie eine
|
||||
Zahl k ∈ Z≥0 gegeben und es soll entschieden werden, ob es eine Clique mit k Knoten gibt, die
|
||||
den Knoten v nicht enthält.
|
||||
Zeigen Sie, dass C LIQUE -N OMEMBER NP-vollständig ist, indem Sie eine Reduktion von C LI -
|
||||
QUE auf C LIQUE -N OMEMBER angeben. Sie können davon ausgehen, dass C LIQUE -N OMEMBER ∈
|
||||
Zeigen Sie, dass CLIQUE -NOMEMBER NP-vollständig ist, indem Sie eine Reduktion von CLI -
|
||||
QUE auf CLIQUE -NOMEMBER angeben. Sie können davon ausgehen, dass CLIQUE -NOMEMBER ∈
|
||||
NP ist.
|
||||
Präsenzaufgabe 11.3 (NP-Vollständigkeit)
|
||||
Für das Problem S UBSET S UM C ARDINALITY seien n ganze Zahlen c1 , . . . , cn ∈ Z>0 (wobei n
|
||||
Für das Problem SUBSET SUM CARDINALITY seien n ganze Zahlen c1 , . . . , cn ∈ Z>0 (wobei n
|
||||
gerade sei) sowie eine Zahl K ∈ Z≥0 gegeben. Es soll entschieden werden, ob es eine Teilmenge
|
||||
S ⊂ {1, . . . , n} gibt mit |S| = n/2 und ∑i∈S ci = K.
|
||||
Zeigen Sie, dass das Problem S UBSET S UM C ARDINALITY NP-vollständig ist. Sie können
|
||||
davon ausgehen, dass S UBSET S UM C ARDINALITY ∈ NP ist.
|
||||
Zeigen Sie, dass das Problem SUBSET SUM CARDINALITY NP-vollständig ist. Sie können
|
||||
davon ausgehen, dass SUBSET SUM CARDINALITY ∈ NP ist.
|
||||
CHRISTIAN-ALBRECHTS-UNIVERSITÄT ZU KIEL
|
||||
Institut für Informatik, Arbeitsgruppe Theoretische Informatik
|
||||
Dr. Max A. Deppert, Janina Reuter, Annika Huch
|
||||
@@ -307,7 +307,7 @@ Gegeben ist der folgende approximative Algorithmus mit Güte 2 für VertexCover:
|
||||
Idee: Wähle eine beliebige Kante. Wenn einer der beiden Endknoten bereits in C ist, verwirf
|
||||
diese Kante. Sonst, füge beide Endknoten zur Menge C hinzu. Mache dies für jede Kante.
|
||||
|
||||
Algorithmus 2A PPROX VC(G = (V, E))
|
||||
Algorithmus 2APPROX VC(G = (V, E))
|
||||
|
||||
1 C = {}
|
||||
2 foreach {u, v} ∈ E do
|
||||
@@ -320,8 +320,8 @@ Algorithmus 2A PPROX VC(G = (V, E))
|
||||
Beweisen Sie die Güte.
|
||||
Präsenzaufgabe 12.2 (TSP)
|
||||
In der Vorlesung haben Sie zwei approximative Algorithmen für das TSP-Problem kennen ge-
|
||||
lernt. Der erste Algorithmus ∆T SP1 hat eine Approximationsrate von 2, während der zweite
|
||||
Algorithmus ∆T SP2 von Christofides eine Approximationsrate von 3/2 besitzt. In dieser Übung
|
||||
lernt. Der erste Algorithmus ∆TSP1 hat eine Approximationsrate von 2, während der zweite
|
||||
Algorithmus ∆TSP2 von Christofides eine Approximationsrate von 3/2 besitzt. In dieser Übung
|
||||
soll gezeigt werden, dass die zweite Rate scharf ist. D.h., dass es eine Folge von Instanzen gibt,
|
||||
auf denen der Algorithmus immer näher an diese Rate heran kommt.
|
||||
Wir betrachten den vollständigen Graphen Kn = (V, E) für ein n ∈ Z≥6 mit n mod 4 = 2 und die
|
||||
@@ -368,12 +368,12 @@ Vorlesung bekannten) Reduktionen (Laufzeitfaktoren, die polynomiell in der Einga
|
||||
sind, dürfen vernachlässigt werden)?
|
||||
Schätzen Sie dazu zunächst die verschiedenen Parameter der resultierenden Instanz mithilfe der
|
||||
Parameter der eingegebenen Instanz geeignet ab.
|
||||
1. 3-SAT ≤ k-C LIQUE
|
||||
2. k-C LIQUE ≤ k-I NDEPENDENT S ET (Problemdefinition für die Antwort nicht relevant; in
|
||||
1. 3-SAT ≤ k-CLIQUE
|
||||
2. k-CLIQUE ≤ k-INDEPENDENT SET (Problemdefinition für die Antwort nicht relevant; in
|
||||
der Reduktion wird der Graph G = (V, E) auf den Komplementgraph (V, E) abgebildet)
|
||||
3. SAT ≤ 3-D IMENSIONAL M ATCHING (Hinweis: 3-SAT ⊆ SAT)
|
||||
4. 3-D IMENSIONAL M ATCHING ≤ 3-E XACT C OVER
|
||||
5. 3-E XACT C OVER ≤ S UBSET S UM
|
||||
3. SAT ≤ 3-DIMENSIONAL MATCHING (Hinweis: 3-SAT ⊆ SAT)
|
||||
4. 3-DIMENSIONAL MATCHING ≤ 3-EXACT COVER
|
||||
5. 3-EXACT COVER ≤ SUBSET SUM
|
||||
CHRISTIAN-ALBRECHTS-UNIVERSITÄT ZU KIEL
|
||||
Institut für Informatik, Arbeitsgruppe Theoretische Informatik
|
||||
Dr. Max A. Deppert, Janina Reuter, Annika Huch
|
||||
@@ -387,7 +387,7 @@ Parameter der eingegebenen Instanz geeignet ab.
|
||||
|
||||
Definition 1 (Knapsack (Entscheidungsvariante)). Gegeben ist eine Menge mit n Gegenstän-
|
||||
den mit Gewichten w1 , . . . , wn ∈ Z≥0 und Profiten p1 , . . . , pn ∈ Z≥0 . Weiter sind eine Kapazität
|
||||
K ∈ Z≥0 und ein Zielprofit P ∈ Z≥0 gegeben. Bei dem K NAPSACK Problem muss entschieden
|
||||
K ∈ Z≥0 und ein Zielprofit P ∈ Z≥0 gegeben. Bei dem KNAPSACK Problem muss entschieden
|
||||
werden, ob eine Teilmenge S ⊆ [n] existiert, sodass
|
||||
|
||||
∑ wi ≤ K und ∑ pi ≥ P
|
||||
@@ -395,8 +395,8 @@ werden, ob eine Teilmenge S ⊆ [n] existiert, sodass
|
||||
|
||||
gilt.
|
||||
|
||||
Präsenzaufgabe 9.1 (K NAPSACK in NP)
|
||||
Zeigen Sie K NAPSACK ∈ NP auf zwei verschiedene Wege.
|
||||
Präsenzaufgabe 9.1 (KNAPSACK in NP)
|
||||
Zeigen Sie KNAPSACK ∈ NP auf zwei verschiedene Wege.
|
||||
1. Geben Sie einen nicht deterministischen Algorithmus an, der das Problem in polynomi-
|
||||
eller Zeit löst.
|
||||
2. Geben Sie einen polynomiellen Verifizierer für das Problem an.
|
||||
@@ -410,7 +410,7 @@ Lösung. 1. Der Algorithmus arbeitet wie folgt: Für jeden Gegenstand entsche
|
||||
auch vom Algorithmus akzeptiert.
|
||||
Der Algorithmus macht polynomiell viele nichtdeterministische Entscheidungen und die
|
||||
Überprüfung der Eigenschaften ist ebenfalls in Polynomialzeit möglich, also ist dies ein
|
||||
polynomieller, nichtdeterministischer Algorithmus, der K NAPSACK löst.
|
||||
polynomieller, nichtdeterministischer Algorithmus, der KNAPSACK löst.
|
||||
2. Unser Zertifikat ist eine Teilmenge S ⊆ [n], die die Auswahl für den Rucksack darstellen
|
||||
soll. Dies kann zum Beispiel über ein Bit pro Gegenstand realisiert werden. Um dieses
|
||||
Zertifikat zu verifizieren, berechnen wir ∑i∈S wi und ∑i∈S pi und vergleichen die Werte
|
||||
@@ -464,7 +464,7 @@ Lösung. (i) Die Aussage gilt nur, wenn P = NP. Dann liegen alle Probleme in NP
|
||||
Falls P ̸= NP, dann nein, weil sonst folgender Widerspruch auftritt: ein Problem in NP \ P
|
||||
ist von einer NDTM, nicht aber von einer DTM in polynomieller Zeit lösbar. Könnte eine
|
||||
DTM die NDTM in polynomieller Zeit simulieren, wäre das Problem auch in P.
|
||||
(ii) Falsch. Es gibt NP-schwere Probleme, die nicht in NP liegen, z.B. das H ALTE-Problem.
|
||||
(ii) Falsch. Es gibt NP-schwere Probleme, die nicht in NP liegen, z.B. das HALTE-Problem.
|
||||
Diese liegen folglich auch definitiv nicht in P. NP-schwer ist eine untere Schranke, ∈ NP
|
||||
eine obere, und wenn beide erfüllt sind, ist ein Problem NP-vollständig.
|
||||
|
||||
@@ -473,27 +473,27 @@ Lösung. (i) Die Aussage gilt nur, wenn P = NP. Dann liegen alle Probleme in NP
|
||||
Definition 1 (Vertex Cover (VC)). Für einen (ungerichteten) Graphen G = (V, E) ist ein Vertex
|
||||
Cover eine Menge von Knoten C ⊆ V , sodass u ∈ C oder v ∈ C für alle { u, v } ∈ E gilt, also ist
|
||||
für alle Kanten mindestens ein Endpunkt in C.
|
||||
Für das V ERTEX C OVER Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gegeben und
|
||||
Für das VERTEX COVER Problem ist neben einem Graphen G eine Zahl k ∈ Z≥0 gegeben und
|
||||
es wird gefragt, ob ein Vertex Cover mit Größe (Anzahl der Knoten) höchstens k in G existiert.
|
||||
|
||||
Präsenzaufgabe 10.2 (V ERTEX C OVER ist NP-vollständig)
|
||||
Zeigen Sie, dass V ERTEX C OVER NP-vollständig ist.
|
||||
Hinweis: Reduzieren Sie C LIQUE auf V ERTEX C OVER.
|
||||
Präsenzaufgabe 10.2 (VERTEX COVER ist NP-vollständig)
|
||||
Zeigen Sie, dass VERTEX COVER NP-vollständig ist.
|
||||
Hinweis: Reduzieren Sie CLIQUE auf VERTEX COVER.
|
||||
|
||||
Lösung. V ERTEX C OVER ∈ NP ist bekannt aus der letzten Hausaufgabe.
|
||||
Vorüberlegung zur Reduktion von C LIQUE auf V ERTEX C OVER: Sei eine Instanz mit G =
|
||||
(V, E) und k ∈ Z≥0 von C LIQUE gegeben. Wir invertieren zunächst den Graphen G und erhal-
|
||||
Lösung. VERTEX COVER ∈ NP ist bekannt aus der letzten Hausaufgabe.
|
||||
Vorüberlegung zur Reduktion von CLIQUE auf VERTEX COVER: Sei eine Instanz mit G =
|
||||
(V, E) und k ∈ Z≥0 von CLIQUE gegeben. Wir invertieren zunächst den Graphen G und erhal-
|
||||
ten damit G′ . Nun enthält G′ genau dann eine unabhängige Menge der Größe ℓ, wenn G eine
|
||||
Clique der Größe ℓ enthält. Wenn ein Graph mit n Knoten eine unabhängige Menge mit min-
|
||||
destens k Knoten hat, dann hat der Graph auch ein Vertex Cover mit maximal n − k Knoten
|
||||
(das Komplement zur unabhängigen Menge). Unsere Instanz für V ERTEX C OVER ist also G′
|
||||
(das Komplement zur unabhängigen Menge). Unsere Instanz für VERTEX COVER ist also G′
|
||||
und n − k. (k ≤ n können wir annehmen)
|
||||
Betrachte nun folgende Reduktion:
|
||||
Sei eine Instanz mit G = (V, E) und k ∈ Z≥0 von C LIQUE gegeben. Invertiere den Graphen G
|
||||
und erhalte damit G′ . Gebe nun G′ und n − k als Instanz von V ERTEX C OVER zurück.
|
||||
Sei eine Instanz mit G = (V, E) und k ∈ Z≥0 von CLIQUE gegeben. Invertiere den Graphen G
|
||||
und erhalte damit G′ . Gebe nun G′ und n − k als Instanz von VERTEX COVER zurück.
|
||||
Korrektheit:
|
||||
⇒ (Falls (G, k) eine Ja-Instanz von C LIQUE ist, dann ist (G′ , n − k) eine Ja-Instanz von V ER -
|
||||
TEX C OVER .):
|
||||
⇒ (Falls (G, k) eine Ja-Instanz von CLIQUE ist, dann ist (G′ , n − k) eine Ja-Instanz von VER -
|
||||
TEX COVER .):
|
||||
|
||||
G enthalte eine Clique C der Größe ≥ k. Dann ist V ′ := V \C ein Vertex Cover von G′ der Größe
|
||||
≤ n − k. Da |C| ≥ k, gilt |V ′ | ≤ n − k. Da C eine Clique ist, also alle Knoten aus C mit allen
|
||||
@@ -501,8 +501,8 @@ anderen Knoten aus C verbunden sind, gibt es im invertierten Graphen G′ keine
|
||||
Knoten aus C. Also gilt für jede Kante {u, v} ∈ E ′ , dass u ∈ / C und somit u ∈ V ′ oder
|
||||
/ C oder v ∈
|
||||
v ∈ V ′.
|
||||
⇐ (Falls (G′ , n − k) eine Ja-Instanz von V ERTEX C OVER ist, dann ist (G, k) eine Ja-Instanz von
|
||||
C LIQUE.):
|
||||
⇐ (Falls (G′ , n − k) eine Ja-Instanz von VERTEX COVER ist, dann ist (G, k) eine Ja-Instanz von
|
||||
CLIQUE.):
|
||||
G′ enthalte ein Vertex Cover V ′ der Größe ≤ n−k. Dann ist C := V \V ′ eine Clique der Größe ≥
|
||||
k in G. Da |V ′ | ≤ n − k, gilt |C| ≥ k. Für jede Menge {u, v} ⊆ C gilt, dass {u, v} ∈
|
||||
/ E ′ . Ansonsten
|
||||
@@ -510,8 +510,8 @@ wäre V ′ kein korrektes Vertex Cover. Da G′ der invertierte Graph von G ist
|
||||
für jede Menge {u, v} ⊆ C.
|
||||
Laufzeit: Das Invertieren des Graphen kann naiv in O(|V |2 · |E|) Zeit, also in polynomieller
|
||||
Zeit, erledigt werden.
|
||||
Also existiert eine polynomielle Reduktion von C LIQUE auf V ERTEX C OVER. Da C LIQUE
|
||||
NP-vollständig ist und V ERTEX C OVER ∈ NP gilt, ist somit V ERTEX C OVER NP-vollständig.
|
||||
Also existiert eine polynomielle Reduktion von CLIQUE auf VERTEX COVER. Da CLIQUE
|
||||
NP-vollständig ist und VERTEX COVER ∈ NP gilt, ist somit VERTEX COVER NP-vollständig.
|
||||
|
||||
|
||||
Präsenzaufgabe 10.3 (Turingmaschinen)
|
||||
@@ -563,7 +563,7 @@ Diskutieren Sie nachfolgende Aussagen. Sind diese wahr oder falsch?
|
||||
(a) Für L ∈ NP gilt, aus L ≤ 3-SAT folgt, dass L NP-vollständig ist.
|
||||
(b) Gilt für eine Sprache L, dass sowohl L ≤ 3-SAT als auch 3-SAT ≤ L, dann ist L NP-vollständig.
|
||||
(c) Sei L NP-vollständig. Dann gilt L ∈ P genau dann, wenn P = NP.
|
||||
(d) Es ist möglich, dass 3-SAT ∈ P und C LIQUE ∈
|
||||
(d) Es ist möglich, dass 3-SAT ∈ P und CLIQUE ∈
|
||||
/ P.
|
||||
Lösung.
|
||||
/ Offensichtlich gilt L ∈ NP. Aus L ≤ 3-SAT folgt nur,
|
||||
@@ -572,51 +572,51 @@ Lösung.
|
||||
(b) Das ist die Definition von NP-vollständig.
|
||||
(c) Korrekt, da sich jedes Problem auf L reduzieren lässt nach Def. NP-vollständig (und offen-
|
||||
sichtlich P ⊆ NP).
|
||||
(d) Nein, weil 3-SAT NP-vollständig ist, lässt sich C LIQUE (liegt bekannterweise in NP, ist
|
||||
(d) Nein, weil 3-SAT NP-vollständig ist, lässt sich CLIQUE (liegt bekannterweise in NP, ist
|
||||
sogar NP-vollständig) auf 3-SAT reduzieren.
|
||||
Präsenzaufgabe 11.2 (NP-Vollständigkeit)
|
||||
In dem Problem C LIQUE -N OMEMBER ist ein Graph G = (V, E), ein Knoten v ∈ V sowie eine
|
||||
In dem Problem CLIQUE -NOMEMBER ist ein Graph G = (V, E), ein Knoten v ∈ V sowie eine
|
||||
Zahl k ∈ Z≥0 gegeben und es soll entschieden werden, ob es eine Clique mit k Knoten gibt, die
|
||||
den Knoten v nicht enthält.
|
||||
Zeigen Sie, dass C LIQUE -N OMEMBER NP-vollständig ist, indem Sie eine Reduktion von C LI -
|
||||
QUE auf C LIQUE -N OMEMBER angeben. Sie können davon ausgehen, dass C LIQUE -N OMEMBER ∈
|
||||
Zeigen Sie, dass CLIQUE -NOMEMBER NP-vollständig ist, indem Sie eine Reduktion von CLI -
|
||||
QUE auf CLIQUE -NOMEMBER angeben. Sie können davon ausgehen, dass CLIQUE -NOMEMBER ∈
|
||||
NP ist.
|
||||
Lösung. Clique-Nomember ist NP-schwer:
|
||||
Sei (G = (V, E), k) eine Eingabe für das Clique Problem.
|
||||
Idee: Füge einen neuen isolierten Knoten v zu G hinzu.
|
||||
Wir geben zuerst die Abbildung an: Sei v ̸∈ V . Wir definieren die Eingabe für das Problem
|
||||
C LIQUE -N OMEMBER als den Graphen G′ := (V ∪ {v}, E), den Knoten v als Knoten, der nicht
|
||||
CLIQUE -NOMEMBER als den Graphen G′ := (V ∪ {v}, E), den Knoten v als Knoten, der nicht
|
||||
benutzt werden darf, und k als gesuchte Cliquengröße. (G′ , v, k) ist eine gültige Eingabe für
|
||||
C LIQUE -N OMEMBER und in polynomieller Zeit berechenbar.
|
||||
CLIQUE -NOMEMBER und in polynomieller Zeit berechenbar.
|
||||
Wir zeigen nun: G hat eine k-Clique genau dann, wenn G′ eine k-Clique ohne v beinhaltet.
|
||||
⇒:
|
||||
Sei (G, k) eine Ja-Instanz des C LIQUE Problems. Dann enthält G eine k-Clique C. Dann ist C
|
||||
Sei (G, k) eine Ja-Instanz des CLIQUE Problems. Dann enthält G eine k-Clique C. Dann ist C
|
||||
auch eine k-Clique in G′ , da bei der Abbildung keine Kanten entfernt wurden. Da v ̸∈ V , enthält
|
||||
C den Knoten v nicht. Damit ist C eine k-Clique in G ohne den Knoten v. (G′ , v, k) ist also eine
|
||||
Ja-Instanz des C LIQUE -N OMEMBER Problems.
|
||||
Ja-Instanz des CLIQUE -NOMEMBER Problems.
|
||||
⇐:
|
||||
Sei (G′ , v, k) eine Ja-Instanz des C LIQUE -N OMEMBER Problems. Dann enthält G′ eine k-Clique
|
||||
Sei (G′ , v, k) eine Ja-Instanz des CLIQUE -NOMEMBER Problems. Dann enthält G′ eine k-Clique
|
||||
C mit v ̸∈ C. Da bei der Abbildung an dem Graphen nichts geändert wurde, außer der Knoten v
|
||||
hinzugefügt, muss C auch eine k-Clique in G sein. Damit ist (G, k) eine Ja-Instanz des C LIQUE
|
||||
hinzugefügt, muss C auch eine k-Clique in G sein. Damit ist (G, k) eine Ja-Instanz des CLIQUE
|
||||
Problems.
|
||||
Also existiert eine polynomielle Reduktion von C LIQUE auf C LIQUE -N OMEMBER. Da C LI -
|
||||
QUE NP-vollständig ist und C LIQUE -N OMEMBER ∈ NP nach Aufgabenstellung gilt, ist somit
|
||||
C LIQUE -N OMEMBER NP-vollständig.
|
||||
Also existiert eine polynomielle Reduktion von CLIQUE auf CLIQUE -NOMEMBER. Da CLI -
|
||||
QUE NP-vollständig ist und CLIQUE -NOMEMBER ∈ NP nach Aufgabenstellung gilt, ist somit
|
||||
CLIQUE -NOMEMBER NP-vollständig.
|
||||
Präsenzaufgabe 11.3 (NP-Vollständigkeit)
|
||||
Für das Problem S UBSET S UM C ARDINALITY seien n ganze Zahlen c1 , . . . , cn ∈ Z>0 (wobei n
|
||||
Für das Problem SUBSET SUM CARDINALITY seien n ganze Zahlen c1 , . . . , cn ∈ Z>0 (wobei n
|
||||
gerade sei) sowie eine Zahl K ∈ Z≥0 gegeben. Es soll entschieden werden, ob es eine Teilmenge
|
||||
S ⊂ {1, . . . , n} gibt mit |S| = n/2 und ∑i∈S ci = K.
|
||||
Zeigen Sie, dass das Problem S UBSET S UM C ARDINALITY NP-vollständig ist. Sie können
|
||||
davon ausgehen, dass S UBSET S UM C ARDINALITY ∈ NP ist.
|
||||
Zeigen Sie, dass das Problem SUBSET SUM CARDINALITY NP-vollständig ist. Sie können
|
||||
davon ausgehen, dass SUBSET SUM CARDINALITY ∈ NP ist.
|
||||
Lösung. Subset Sum Cardinality ist NP-schwer:
|
||||
S UBSET S UM Problem: Gegeben: n ganze Zahlen c1 , . . . , cn ∈ Z>0 und Zahl K ∈ Z≥0 . Frage:
|
||||
SUBSET SUM Problem: Gegeben: n ganze Zahlen c1 , . . . , cn ∈ Z>0 und Zahl K ∈ Z≥0 . Frage:
|
||||
Gibt es eine Teilmenge S ⊆ {0, . . . , n} mit ∑i∈S ci = K?
|
||||
Reduktion: Sei I = (c1 , . . . , cn , K) eine Eingabe für das S UBSET S UM Problem. Definiere c′i :=
|
||||
Reduktion: Sei I = (c1 , . . . , cn , K) eine Eingabe für das SUBSET SUM Problem. Definiere c′i :=
|
||||
ci + 1 für i ≤ n und c′i := 1 für i ∈ {n + 1, . . . , 2n}. Wir definieren die Eingabe für das Problem
|
||||
S UBSET S UM C ARDINALITY als I ′ = (c′1 , . . . , c′2n , K + n).
|
||||
SUBSET SUM CARDINALITY als I ′ = (c′1 , . . . , c′2n , K + n).
|
||||
Wir zeigen nun: Es gibt eine Lösung für I genau dann, wenn es eine Lösung für I ′ gibt.
|
||||
⇒:
|
||||
Sei I eine Ja-Instanz des S UBSET S UM Problems. Dann gibt es eine Menge S ⊆ {1, . . . , n} mit
|
||||
Sei I eine Ja-Instanz des SUBSET SUM Problems. Dann gibt es eine Menge S ⊆ {1, . . . , n} mit
|
||||
∑i∈S ci = K. Es gilt also ∑i∈S c′i = ∑i∈S (ci + 1) = K + |S|. Sei nun S′ = {n + 1, . . . , 2n − |S|}. Es
|
||||
gilt |S ∪ S′ | = n und ∑i∈S∪S′ c′i = ∑i∈S c′i + ∑i∈S′ c′i = ∑i∈S (ci + 1) + ∑i∈S′ 1 = K + |S| + (n − |S|) =
|
||||
K + n. S ∪ S′ ist also eine Lösung für I ′ und I ′ damit eine Ja-Instanz.
|
||||
@@ -628,9 +628,9 @@ K + n − (n − |S|) = K + |S|, woraus folgt, dass ∑i∈S ci = K. Damit ist S
|
||||
somit I eine Ja-Instanz.
|
||||
Laufzeit: Die Reduktion kann naiv in einer Zeit von O(n) implementiert werden. Das ist eine
|
||||
polynomielle Laufzeit.
|
||||
Also existiert eine polynomielle Reduktion von S UBSET S UM auf S UBSET S UM C ARDINALI -
|
||||
TY . Da nach Skript S UBSET S UM NP-vollständig ist und S UBSET S UM C ARDINALITY ∈ NP
|
||||
nach Aufgabenstellung gilt, ist somit S UBSET S UM C ARDINALITY NP-vollständig.
|
||||
Also existiert eine polynomielle Reduktion von SUBSET SUM auf SUBSET SUM CARDINALI -
|
||||
TY . Da nach Skript SUBSET SUM NP-vollständig ist und SUBSET SUM CARDINALITY ∈ NP
|
||||
nach Aufgabenstellung gilt, ist somit SUBSET SUM CARDINALITY NP-vollständig.
|
||||
CHRISTIAN-ALBRECHTS-UNIVERSITÄT ZU KIEL
|
||||
Institut für Informatik, Arbeitsgruppe Theoretische Informatik
|
||||
Dr. Max A. Deppert, Janina Reuter, Annika Huch
|
||||
@@ -651,7 +651,7 @@ Gegeben ist der folgende approximative Algorithmus mit Güte 2 für VertexCover:
|
||||
Idee: Wähle eine beliebige Kante. Wenn einer der beiden Endknoten bereits in C ist, verwirf
|
||||
diese Kante. Sonst, füge beide Endknoten zur Menge C hinzu. Mache dies für jede Kante.
|
||||
|
||||
Algorithmus 2A PPROX VC(G = (V, E))
|
||||
Algorithmus 2APPROX VC(G = (V, E))
|
||||
|
||||
1 C = {}
|
||||
2 foreach {u, v} ∈ E do
|
||||
@@ -674,8 +674,8 @@ aus A. Da keine zwei Kanten aus A vom gleichen Knoten aus C∗ überdeckt werden
|
||||
so groß wie die optimale Lösung C∗ . Damit berechnet der Algorithmus eine 2-Approximation.
|
||||
Präsenzaufgabe 12.2 (TSP)
|
||||
In der Vorlesung haben Sie zwei approximative Algorithmen für das TSP-Problem kennen ge-
|
||||
lernt. Der erste Algorithmus ∆T SP1 hat eine Approximationsrate von 2, während der zweite
|
||||
Algorithmus ∆T SP2 von Christofides eine Approximationsrate von 3/2 besitzt. In dieser Übung
|
||||
lernt. Der erste Algorithmus ∆TSP1 hat eine Approximationsrate von 2, während der zweite
|
||||
Algorithmus ∆TSP2 von Christofides eine Approximationsrate von 3/2 besitzt. In dieser Übung
|
||||
soll gezeigt werden, dass die zweite Rate scharf ist. D.h., dass es eine Folge von Instanzen gibt,
|
||||
auf denen der Algorithmus immer näher an diese Rate heran kommt.
|
||||
Wir betrachten den vollständigen Graphen Kn = (V, E) für ein n ∈ Z≥6 mit n mod 4 = 2 und die
|
||||
@@ -736,7 +736,7 @@ Knoten 3 gehen, dann zu Knoten 5 und so weiter, bis Knoten n − 1 erreicht wurd
|
||||
folgen Knoten n, n − 2, n − 4 und so weiter. Diese Tour hat offensichtlich Kosten n, da wir n
|
||||
Kanten mit Gewicht 1 nutzen. Somit gilt OPT((Kn , d2 )) = n und wir haben eine Rate von
|
||||
|
||||
∆T SP2 ((Kn , d2 )) n − 1 + n/2 1
|
||||
∆TSP2 ((Kn , d2 )) n − 1 + n/2 1
|
||||
= = 3/2 − ≤ 3/2.
|
||||
OPT((Kn , d2 )) n n
|
||||
|
||||
@@ -764,12 +764,12 @@ Vorlesung bekannten) Reduktionen (Laufzeitfaktoren, die polynomiell in der Einga
|
||||
sind, dürfen vernachlässigt werden)?
|
||||
Schätzen Sie dazu zunächst die verschiedenen Parameter der resultierenden Instanz mithilfe der
|
||||
Parameter der eingegebenen Instanz geeignet ab.
|
||||
1. 3-SAT ≤ k-C LIQUE
|
||||
2. k-C LIQUE ≤ k-I NDEPENDENT S ET (Problemdefinition für die Antwort nicht relevant; in
|
||||
1. 3-SAT ≤ k-CLIQUE
|
||||
2. k-CLIQUE ≤ k-INDEPENDENT SET (Problemdefinition für die Antwort nicht relevant; in
|
||||
der Reduktion wird der Graph G = (V, E) auf den Komplementgraph (V, E) abgebildet)
|
||||
3. SAT ≤ 3-D IMENSIONAL M ATCHING (Hinweis: 3-SAT ⊆ SAT)
|
||||
4. 3-D IMENSIONAL M ATCHING ≤ 3-E XACT C OVER
|
||||
5. 3-E XACT C OVER ≤ S UBSET S UM
|
||||
3. SAT ≤ 3-DIMENSIONAL MATCHING (Hinweis: 3-SAT ⊆ SAT)
|
||||
4. 3-DIMENSIONAL MATCHING ≤ 3-EXACT COVER
|
||||
5. 3-EXACT COVER ≤ SUBSET SUM
|
||||
|
||||
Lösung. Angenommen ETH gilt. Das Sparsification Lemma impliziert, dass man 3-SAT nicht
|
||||
in 2o(m) · |I|O(1) lösen kann.
|
||||
|
||||
Reference in New Issue
Block a user