This commit is contained in:
team3
2026-07-08 23:46:35 +02:00
parent f9d77a113b
commit 2178c6faf4
15 changed files with 557 additions and 379 deletions

View File

@@ -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 ≤ nk. 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 ci :=
Reduktion: Sei I = (c1 , . . . , cn , K) eine Eingabe für das SUBSET SUM Problem. Definiere ci :=
ci + 1 für i ≤ n und ci := 1 für i ∈ {n + 1, . . . , 2n}. Wir definieren die Eingabe für das Problem
S UBSET S UM C ARDINALITY als I = (c1 , . . . , c2n , K + n).
SUBSET SUM CARDINALITY als I = (c1 , . . . , c2n , 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 ci = ∑i∈S (ci + 1) = K + |S|. Sei nun S = {n + 1, . . . , 2n |S|}. Es
gilt |S S | = n und ∑i∈SS ci = ∑i∈S ci + ∑i∈S ci = ∑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.