update
This commit is contained in:
1
uni/aak/.pdf-txt-norm
Normal file
1
uni/aak/.pdf-txt-norm
Normal file
@@ -0,0 +1 @@
|
||||
2
|
||||
@@ -6,9 +6,9 @@ man schnell den Mut verliert, eine exakte Lösung in Polynomialzeit zu berechnen
|
||||
Probleme scheinen schwerer zu sein als andere. Was ist die Schwere eines Problems? Die
|
||||
Komplexitätstheorie befasst sich noch weitergehend mit der Frage nach der Komplexität
|
||||
von Problemen, dh. man versucht zu klassifizieren wie schwer Probleme sind.
|
||||
In diesem Kapitel werden wir die Komplexitätsklassen P und N P einführen und wol-
|
||||
len dann die Begriffe der N P -schwere und N P -vollständigkeit verstehen. Im Anschluss
|
||||
werden wir einige Beispiele N P -vollständiger Probleme studieren.
|
||||
In diesem Kapitel werden wir die Komplexitätsklassen P und NP einführen und wol-
|
||||
len dann die Begriffe der NP-schwere und NP-vollständigkeit verstehen. Im Anschluss
|
||||
werden wir einige Beispiele NP-vollständiger Probleme studieren.
|
||||
|
||||
|
||||
6.1 Einleitung: Cliquenproblem
|
||||
@@ -97,14 +97,14 @@ über dem Alphabet Σ = {0, 1}.
|
||||
Bemerkung 6.6. u ist ein Wort der Länge O(|V |2 ), v ist ein Wort der Länge O(log |V |).
|
||||
|
||||
|
||||
6.2 Komplexitätsklassen P, N P
|
||||
6.2 Komplexitätsklassen P, NP
|
||||
Definition 6.7. Die Menge aller polynomiell entscheidbaren Sprachen bzw. Entschei-
|
||||
dungsproblemen wird mit P bezeichnet:
|
||||
|
||||
P = {L ⊆ Σ∗ | es existiert ein Algorithmus A, der L in Laufzeit
|
||||
TA (n) = O(nd ) mit d = O(1) entscheidet}.
|
||||
|
||||
Neben P gibt es unter anderem auch die Klasse N P . Diese wird häufig über nicht-
|
||||
Neben P gibt es unter anderem auch die Klasse NP . Diese wird häufig über nicht-
|
||||
deterministische Algorithmen eingeführt (bei denen es zu jeder Eingabe eine endliche
|
||||
Menge von Rechenwegen gibt).
|
||||
|
||||
@@ -118,9 +118,9 @@ Definition 6.8. Ein nicht-deterministischer Algorithmus entscheidet eine Sprache
|
||||
|
||||
Die Anzahl der Rechenwege kann dabei exponentiell von der Eingabe abhängen.
|
||||
|
||||
Die Klasse N P ist nun genau die Menge aller Sprachen, die durch einen nicht-deterministischen
|
||||
Die Klasse NP ist nun genau die Menge aller Sprachen, die durch einen nicht-deterministischen
|
||||
Algorithmus in Polynomialzeit entschieden werden können. Wir bedienen uns hier aller-
|
||||
dings einer alternativen Definition der Klasse N P über polynomielle Verifizier. Die so
|
||||
dings einer alternativen Definition der Klasse NP über polynomielle Verifizier. Die so
|
||||
definierte Klassen von Problemen sind aber gleich.
|
||||
|
||||
Definition 6.9. Es sei L ⊆ Σ∗ . Ein (deterministischer) Algorithmus, der auf Σ∗ × Σ∗
|
||||
@@ -135,27 +135,27 @@ Definition 6.10. Ein Algorithmus A ist ein polynomieller Verifizierer für eine
|
||||
L, wenn eine Konstante d existiert, so dass es für jedes x ∈ L ein Zertifikat c gibt mit
|
||||
TA (x, c) = O(|x|d ).
|
||||
|
||||
Definition 6.11. Die Klasse aller polynomiell verifizierbaren Sprachen wird mit N P
|
||||
Definition 6.11. Die Klasse aller polynomiell verifizierbaren Sprachen wird mit NP
|
||||
bezeichnet; d.h.
|
||||
|
||||
N P = {L ⊆ Σ∗ | es existiert ein polynomieller Verifizierer für L}.
|
||||
NP = {L ⊆ Σ∗ | es existiert ein polynomieller Verifizierer für L}.
|
||||
|
||||
|
||||
|
||||
202
|
||||
6.2 Komplexitätsklassen P, N P
|
||||
6.2 Komplexitätsklassen P, NP
|
||||
|
||||
|
||||
Satz 6.12. Es gilt P ⊆ N P .
|
||||
Satz 6.12. Es gilt P ⊆ NP .
|
||||
|
||||
Beweis. Zu einem Entscheidungsproblem L aus P gibt es einen Algorithmus A, der
|
||||
L entscheidet. Diesen Algorithmus kann man als Verifizierer auffassen, der die zweite
|
||||
Eingabe c einfach ignoriert. Damit ist L auch in N P .
|
||||
Eingabe c einfach ignoriert. Damit ist L auch in NP .
|
||||
|
||||
Nun können wir auf das Cliquenproblem zurückkommen und die folgende Aussage
|
||||
beweisen.
|
||||
|
||||
Lemma 6.13. Das Entscheidungsproblem k-Clique ist in N P .
|
||||
Lemma 6.13. Das Entscheidungsproblem k-Clique ist in NP .
|
||||
|
||||
Beweis. Durch Angabe eines polynomiellen Verifizieres für k-Clique. Der Algorithmus
|
||||
bekommt neben der Eingabe (einen Graph G = (V, E) und eine Zahl k) ein Zertifikat
|
||||
@@ -171,7 +171,7 @@ bekommt neben der Eingabe (einen Graph G = (V, E) und eine Zahl k) ein Zertifika
|
||||
O(|C|) = O(|V |) Zeit. Da die Eingabelänge Ω(|V | + |E|) ist, ist die Laufzeit des Algo-
|
||||
rithmus polynomiell.
|
||||
|
||||
Nachdem wir nun gesehen haben, wie die Klassen P und N P definiert haben, können
|
||||
Nachdem wir nun gesehen haben, wie die Klassen P und NP definiert haben, können
|
||||
wir den Begriff der Schwere genauer beleuchten. Dafür ist es notwendig zu verstehen,
|
||||
wann ein Problem auf ein anderes Problem reduziert werden kann. Wir benötigen die
|
||||
folgende Definition.
|
||||
@@ -190,11 +190,11 @@ Definition 6.14. Es seien L1 ⊆ Σ∗1 , L2 ⊆ Σ∗2 zwei Sprachen.
|
||||
|
||||
Dann heißt L1 polynomiell reduzierbar auf L2 . Als Notation verwenden wir L1 ≤ L2 .
|
||||
|
||||
Endlich können wir den Begriff der N P -Schwere bzw. N P -Vollständigkeit formal fassen:
|
||||
Endlich können wir den Begriff der NP -Schwere bzw. NP -Vollständigkeit formal fassen:
|
||||
|
||||
Definition 6.15. (i) Eine Sprache L0 heißt N P -schwer, g.d.w. ∀L ∈ N P : L ≤ L0 .
|
||||
Definition 6.15. (i) Eine Sprache L0 heißt NP-schwer, g.d.w. ∀L ∈ NP : L ≤ L0 .
|
||||
|
||||
(ii) Eine Sprache L0 heißt N P -vollständig, g.d.w. L0 ∈ N P und ∀L ∈ N P gilt: L ≤ L0 .
|
||||
(ii) Eine Sprache L0 heißt NP-vollständig, g.d.w. L0 ∈ NP und ∀L ∈ NP gilt: L ≤ L0 .
|
||||
|
||||
|
||||
|
||||
@@ -202,17 +202,17 @@ Definition 6.15. (i) Eine Sprache L0 heißt N P -schwer, g.d.w. ∀L ∈ N P
|
||||
6 Einführung in die Komplexitätstheorie
|
||||
|
||||
|
||||
Eine fundamentale Eigenschaft der N P -vollständigkeit ist die folgende:
|
||||
Eine fundamentale Eigenschaft der NP-vollständigkeit ist die folgende:
|
||||
|
||||
Satz 6.16. Es sei L0 N P -vollständig. Dann gilt P = N P , g.d.w. L0 ∈ P .
|
||||
Satz 6.16. Es sei L0 NP-vollständig. Dann gilt P = NP , g.d.w. L0 ∈ P .
|
||||
|
||||
Beweis. ⇒: Es sei P = N P . Zeige dann, dass L0 ∈ P .
|
||||
L0 ist NP-vollständig. Dann gilt insbesondere L0 ∈ N P . Wegen P = N P gilt dann
|
||||
Beweis. ⇒: Es sei P = NP . Zeige dann, dass L0 ∈ P .
|
||||
L0 ist NP-vollständig. Dann gilt insbesondere L0 ∈ NP . Wegen P = NP gilt dann
|
||||
L0 ∈ P .
|
||||
⇐: Es sei L0 ∈ P . Zeige hier, dass P = N P .
|
||||
⇐: Es sei L0 ∈ P . Zeige hier, dass P = NP .
|
||||
Da L0 ∈ P ist, gibt es einen Algorithmus A0 , der L0 in Polynomzeit T0 entscheidet.
|
||||
Es sei nun L ∈ N P beliebig gewählt. Zeige: L ∈ P .
|
||||
Da L0 N P -vollständig ist und L ∈ N P , gilt L ≤ L0 . Sei also Af ein Algorithmus,
|
||||
Es sei nun L ∈ NP beliebig gewählt. Zeige: L ∈ P .
|
||||
Da L0 NP-vollständig ist und L ∈ NP , gilt L ≤ L0 . Sei also Af ein Algorithmus,
|
||||
der die polynomielle Transformation f von L auf L0 in Polynomzeit Tf berechnet mit
|
||||
u ∈ L ⇔ f (u) ∈ L0 .
|
||||
Wir konstruieren A aus A0 und Af durch Hintereinanderschalten; siehe folgendes Bild:
|
||||
@@ -229,12 +229,12 @@ zu f (u) ∈ L0 bzw. u ∈ L. D.h. Algorithmus A entscheidet L mit Gesamtlaufzei
|
||||
Tf (|u|)+T0 (|f (u)|) ≤ T (|u|) für ein Polynom T . Hierbei verwende, dass |f (u)| ≤ poly(|u|)
|
||||
und dass die Komposition von Polynomen wieder ein Polynom ergibt.
|
||||
|
||||
Konsequenz von Satz 6.16: Wenn ein N P -vollständiges Entscheidungsproblem in P
|
||||
liegt, dann sind alle N P Entscheidungsprobleme in P .
|
||||
Konsequenz von Satz 6.16: Wenn ein NP-vollständiges Entscheidungsproblem in P
|
||||
liegt, dann sind alle NP Entscheidungsprobleme in P .
|
||||
|
||||
Die gleiche Aussage gilt auch für ein N P -schweres Problem.
|
||||
Die gleiche Aussage gilt auch für ein NP-schweres Problem.
|
||||
Offenes Problem der Komplexitätstheorie:
|
||||
Gilt P = N P oder P 6= N P ?
|
||||
Gilt P = NP oder P 6= NP ?
|
||||
|
||||
Dies ist eines der wichtigsten offenen Probleme der Informatik. Es wurde vom Clay
|
||||
Mathematics Institute in die Liste der Millennium-Probleme aufgenommen; mit einem
|
||||
@@ -244,29 +244,29 @@ Bemerkung 6.17. Wenn L1 ≤ L2 und L2 ≤ L3 , dann gilt auch L1 ≤ L3 .
|
||||
|
||||
Beweis. siehe Übung.
|
||||
|
||||
Korollar 6.18. Ist L0 N P -vollständig, L0 ≤ L1 und L1 ∈ N P , so ist auch L1 N P -
|
||||
Korollar 6.18. Ist L0 NP-vollständig, L0 ≤ L1 und L1 ∈ NP , so ist auch L1 NP -
|
||||
vollständig.
|
||||
|
||||
|
||||
|
||||
204
|
||||
6.3 Definition von P und N P per Turingmaschine
|
||||
6.3 Definition von P und NP per Turingmaschine
|
||||
|
||||
|
||||
Beweis. Zeige die folgende Behauptung: ∀L ∈ N P gilt L ≤ L1 .
|
||||
Sei dazu L ∈ N P beliebig gewählt. Zeige dann die Aussage L ≤ L1 . Wegen der N P -
|
||||
vollständigkeit von L0 und da L ∈ N P ist, gilt L ≤ L0 . Nach Voraussetzung gilt
|
||||
Beweis. Zeige die folgende Behauptung: ∀L ∈ NP gilt L ≤ L1 .
|
||||
Sei dazu L ∈ NP beliebig gewählt. Zeige dann die Aussage L ≤ L1 . Wegen der NP -
|
||||
vollständigkeit von L0 und da L ∈ NP ist, gilt L ≤ L0 . Nach Voraussetzung gilt
|
||||
zusätzlich L0 ≤ L1 . Da die Relation ≤ transitiv ist (siehe Bemerkung 6.17), gilt dann:
|
||||
L ≤ L1 .
|
||||
Da L1 ∈ N P wegen der Voraussetzung, ist daher L1 auch N P -vollständig.
|
||||
Da L1 ∈ NP wegen der Voraussetzung, ist daher L1 auch NP-vollständig.
|
||||
|
||||
Das obige Ergebnis in Korollar 6.18 ermöglicht uns, N P -vollständige Probleme aus
|
||||
bekannten N P -vollständigen Problemen zu konstruieren (bzw. deren N P -vollständigkeit
|
||||
Das obige Ergebnis in Korollar 6.18 ermöglicht uns, NP-vollständige Probleme aus
|
||||
bekannten NP-vollständigen Problemen zu konstruieren (bzw. deren NP-vollständigkeit
|
||||
zu beweisen). Für diese Entscheidungsprobleme gibt es keine polynomiellen Algorithmen,
|
||||
außer P = N P .
|
||||
außer P = NP .
|
||||
|
||||
|
||||
6.3 Definition von P und N P per Turingmaschine
|
||||
6.3 Definition von P und NP per Turingmaschine
|
||||
Eine nicht-deterministische Turingmaschine (NDTM) hat die Form:
|
||||
|
||||
M = (Q, Γ, q0 , δ, F ).
|
||||
@@ -344,11 +344,11 @@ w in L liegt.
|
||||
Definition 6.20. L ⊂ Σ∗ ∈ P ⇐⇒ ∃ eine DTM M über Alphabet Γ ⊃ Σ und ein Poly-
|
||||
nom T , so dass M die Sprache L in Zeit T entscheidet.
|
||||
|
||||
Nun bleibt zu zeigen, dass beide gezeigten Definitionen der Komplexitätsklasse N P
|
||||
Nun bleibt zu zeigen, dass beide gezeigten Definitionen der Komplexitätsklasse NP
|
||||
äquivalent sind, sie also die gleiche Klasse beschreiben.
|
||||
|
||||
Satz 6.21. Die Klassen der Sprachen bezüglich Verifizierer und NDTM sind äquivalent
|
||||
und beschreiben beide die gleiche Klasse N P .
|
||||
und beschreiben beide die gleiche Klasse NP .
|
||||
|
||||
Beweis. ” ⊃ ” : Sei N eine NDTM, die eine Sprache L in Zeit nc für eine Konstante
|
||||
c entscheidet. Für jedes x ∈ L gibt es eine Folge nicht-deterministischer Übergänge,
|
||||
@@ -377,8 +377,8 @@ entscheidet, da M diese Eingabe in Polynomzeit verifizieren kann.
|
||||
|
||||
|
||||
6.4 Satisfiability Problem (SAT)
|
||||
Der Kanadier Stephen A. Cook begründete 1971 die Klasse der N P -vollständigen Proble-
|
||||
me in N P , indem er zeigte, dass ein N P -vollständiges Problem existiert. Dieses Problem
|
||||
Der Kanadier Stephen A. Cook begründete 1971 die Klasse der NP-vollständigen Proble-
|
||||
me in NP , indem er zeigte, dass ein NP-vollständiges Problem existiert. Dieses Problem
|
||||
ist das sogenannte Satisfiability Problem (SAT). Leonid Levin hatte einen vergleichbaren
|
||||
Satz 1973 veröffentlicht.
|
||||
|
||||
@@ -417,7 +417,7 @@ Wahrheitstabelle:
|
||||
|
||||
Die Belegung ψ(x1) = ψ(x10) = true ist eine erfüllende Belegung.
|
||||
|
||||
Satz 6.24. (Cook, 1971/Levin, 1973): SAT ist N P -vollständig.
|
||||
Satz 6.24. (Cook, 1971/Levin, 1973): SAT ist NP-vollständig.
|
||||
|
||||
Beweis. SAT ∈ NP Wir skizzieren dies für eine entsprechende nichtdeterministische Tu-
|
||||
ringmaschine mit den Zwischenergebnissen auf dem Turingband in Abb. 6.1. Salopp
|
||||
@@ -576,8 +576,8 @@ Hierbei ist 0 ≤ t, i ≤ T (|u|), 0 ≤ k ≤ S, 1 ≤ l ≤ %, 0 ≤ j ≤ m.
|
||||
wahr geschieht der Übergang Ct → Ct+1 gemäß Zeile zl(t) . Insgesamt
|
||||
erhalten wir eine akzeptierende Berechnung von M auf u.
|
||||
|
||||
Im Folgenden werden wir nun einige N P -vollständige Probleme betrachten und ihre
|
||||
Schwere insbesondere beweisen. Es zeigt sich etwa, dass SAT sogar dann N P -vollständig
|
||||
Im Folgenden werden wir nun einige NP-vollständige Probleme betrachten und ihre
|
||||
Schwere insbesondere beweisen. Es zeigt sich etwa, dass SAT sogar dann NP-vollständig
|
||||
bleibt, wenn man pro Klausel nur maximal 3 Literale erlaubt. Dieses Problem nennen
|
||||
wir 3-SAT.
|
||||
|
||||
@@ -585,7 +585,7 @@ wir 3-SAT.
|
||||
6.5 SAT mit kleinen Klauseln (3-SAT)
|
||||
3-SAT = {α | α Boolescher Ausdruck in KNF mit ≤ 3 Literalen pro Klausel, α erfüllbar}.
|
||||
|
||||
Satz 6.25. 3-SAT ist N P -vollständig.
|
||||
Satz 6.25. 3-SAT ist NP-vollständig.
|
||||
|
||||
Beweis. Es reicht zu zeigen: SAT ≤ 3-SAT. Gesucht ist eine polynomzeit-berechenbare
|
||||
Transformation φ : α → ᾱ mit
|
||||
@@ -629,9 +629,9 @@ Gegeben: Ein ungerichteter Graph G = (V, E) und eine Zahl k ≥ 1.
|
||||
Entscheide: Hat der gegebene Graph G eine Clique C ⊆ V mit mindestens k Knoten
|
||||
(d.h. mit |C| ≥ k)?
|
||||
|
||||
Satz 6.26. Das Problem k-Clique ist N P -vollständig.
|
||||
Satz 6.26. Das Problem k-Clique ist NP-vollständig.
|
||||
|
||||
Beweis. (a) k-Clique ∈ N P : siehe Lemma 6.13 (b) Zeige: SAT ≤ k-Clique.
|
||||
Beweis. (a) k-Clique ∈ NP : siehe Lemma 6.13 (b) Zeige: SAT ≤ k-Clique.
|
||||
Es sei F ein Boolscher Ausdruck in KNF, wobei F = F1 ∧. . .∧Fm und Fi = (yi1 ∨. . .∨yi`i )
|
||||
eine Klausel mit `i Literalen ist. Konstruktion von G = (V, E) (dies geht in poly. Zeit):
|
||||
|
||||
@@ -691,10 +691,10 @@ Gegeben: Ein ungerichteter Graph G = (V, E) und eine Zahl k ≥ 1.
|
||||
Entscheide: Hat der gegebene Graph G eine k-Färbung?
|
||||
|
||||
|
||||
Satz 6.28. Das Färbungsproblem k-Color ist N P -vollständig.
|
||||
Satz 6.28. Das Färbungsproblem k-Color ist NP-vollständig.
|
||||
|
||||
|
||||
Beweis. (a) k-Color ∈ N P : Wähle als Zertifikat eine Abbildung f : V → {1, . . . , k} und
|
||||
Beweis. (a) k-Color ∈ NP : Wähle als Zertifikat eine Abbildung f : V → {1, . . . , k} und
|
||||
teste, ob f eine k-Färbung ist. Der Testschritt geht in Zeit O(|V | + |E|).
|
||||
(b) zeige: 3-SAT ≤ k-Color. Es sei F Boolescher Ausdruck in KNF mit F = F1 ∧. . .∧Fm
|
||||
und Fi Klausel der Länge ≤ 3 und ohne Paare xj ∨ ¬xj in einer Klausel (diese Klauseln
|
||||
@@ -786,8 +786,8 @@ Gegeben: Mengen U, V, W mit |U | = |V | = |W | und Teilmenge T ⊆ V × W × U .
|
||||
Entscheide: Gibt es eine Teilmenge M ⊆ T mit |M | = |U | mit der Eigenschaft: Für jede
|
||||
zwei unterschiedliche (v, w, u), (v 0 , w0 , u0 ) ∈ M gilt: u 6= u0 , v 6= v 0 und w 6= w0 ?
|
||||
|
||||
Satz 6.30. Das 3-dimensionale Matchingproblem (3-dim. Matching) ist N P -vollständig.
|
||||
Beweis. (a) 3-dim. Matching ist in N P . Wähle als Zertifikat eine entsprechende Teil-
|
||||
Satz 6.30. Das 3-dimensionale Matchingproblem (3-dim. Matching) ist NP-vollständig.
|
||||
Beweis. (a) 3-dim. Matching ist in NP . Wähle als Zertifikat eine entsprechende Teil-
|
||||
menge M ⊆ T und teste die obigen Bedingungen.
|
||||
(b) SAT ≤ 3-dim. Matching. Es sei F ein Boolescher Ausdruck mit Variablen x1 , . . . , xn
|
||||
und Klauseln C1 , . . . , Cm . Konstruiere Instanz (V, W, U, T ) mit:
|
||||
@@ -895,7 +895,7 @@ Entscheide:
|
||||
j=1,...,m Sij =
|
||||
S.
|
||||
|
||||
Satz 6.31. Das Problem 3-Exact Cover ist N P -vollständig.
|
||||
Satz 6.31. Das Problem 3-Exact Cover ist NP-vollständig.
|
||||
|
||||
Beweis. Dies folgt, da jede Instanz von 3-dim Matching als eine Instanz von 3-Exact
|
||||
Cover aufgefasst werden kann.
|
||||
@@ -909,9 +909,9 @@ Entscheide: Gibt es eine Teilmenge S ⊆ {1, . . . , n} mit
|
||||
j∈S cj = K?
|
||||
|
||||
|
||||
Satz 6.32. Das Problem SubSet Sum ist N P -vollständig.
|
||||
Satz 6.32. Das Problem SubSet Sum ist NP-vollständig.
|
||||
|
||||
Beweis. (a) SubSet Sum ∈ N P : Wähle als Zertifikat eine Teilmenge und teste ob Summe
|
||||
Beweis. (a) SubSet Sum ∈ NP : Wähle als Zertifikat eine Teilmenge und teste ob Summe
|
||||
gleich K ist.
|
||||
(b) 3-Exact Cover ≤ SubSet Sum. Gegeben sei eine Familie von n Mengen der Kardi-
|
||||
nalität 3 und Grundmenge U = {u1 , . . . , u3m }. Konstruiere Zahlen c1 , . . . , cn .
|
||||
@@ -955,8 +955,8 @@ Entscheide: Gibt es eine Teilmenge S ⊆ {1, . . . , n} mit
|
||||
P Pn
|
||||
j∈S cj = 1/2
|
||||
|
||||
Satz 6.33. Das Problem Partition ist N P -vollständig.
|
||||
Beweis. (a) Partition ∈ N P (klar).
|
||||
Satz 6.33. Das Problem Partition ist NP-vollständig.
|
||||
Beweis. (a) Partition ∈ NP (klar).
|
||||
(b) SubSet Sum ≤ Partition. Gegeben seien Zahlen c1 , . . . , cn , K. Setze N = nj=1 cj +
|
||||
P
|
||||
1 und konstruiere die folgende Menge von (n + 2) Gegenständen: {1, . . . , P n} ∪ {b, c}
|
||||
@@ -1000,7 +1000,7 @@ Entscheide: Gibt es eine Teilmenge S ⊆
|
||||
j∈S cj ≤ K und Gesamtprofit j∈S pj ≥ P ?
|
||||
P
|
||||
|
||||
Satz 6.34. Das Rucksackproblem ist N P -vollständig.
|
||||
Satz 6.34. Das Rucksackproblem ist NP-vollständig.
|
||||
Beweis. Spezialfall mit cj = pj für alle Gegenstände und P = K entspricht dem SubSet
|
||||
Sum Problem.
|
||||
|
||||
@@ -1327,7 +1327,7 @@ einen Hamiltonkreis besitzt.
|
||||
Übung 6.45. Die Eingabe des Problems SAT3 ist ein boolscher Ausdruck in KNF, für
|
||||
den entschieden werden soll, ob es mindestens 3 erfüllende Belegungen für diese Formel
|
||||
gibt.
|
||||
Zeigen Sie, dass SAT3 N P -vollständig ist.
|
||||
Zeigen Sie, dass SAT3 NP-vollständig ist.
|
||||
Übung 6.46. Eine NAE-k-SAT (Not-All-Equal) Formel hat folgende Form m i i
|
||||
V
|
||||
i=1 (z1 , . . . , zk ),
|
||||
@@ -1342,25 +1342,25 @@ Übung 6.47. Ein Independent Set in einem Graphen G = (V, E) ist eine Menge von
|
||||
Knoten I, so dass für je zwei Knoten i, j ∈ I gilt, dass {i, j} 6∈ E. Für das Problem
|
||||
Independent Set ist ein Graph G = (V, E) sowie eine Zahl k ∈ N gegeben und es soll
|
||||
entschieden werden, ob es in G ein Independent Set mit k Knoten gibt.
|
||||
Zeigen Sie, dass das Problem Independent Set N P -vollständig ist.
|
||||
Zeigen Sie, dass das Problem Independent Set NP-vollständig ist.
|
||||
Übung 6.48. Ein Vertex Cover in einem Graphen G = (V, E) ist eine Menge von
|
||||
Knoten C ⊆ V so dass für jede Kante {v, w} ∈ E gilt das v ∈ C oder w ∈ C. Für das
|
||||
Problem Vertex Cover ist ein Graph G = (V, E) sowie eine Zahl k ∈ N gegeben und
|
||||
es soll entschieden werden, ob es in G ein Vertex Cover mit k Knoten gibt.
|
||||
Zeigen Sie, dass das Problem Vertex Cover N P -vollständig ist.
|
||||
Zeigen Sie, dass das Problem Vertex Cover NP-vollständig ist.
|
||||
Übung 6.49. In dem Problem Clique-Member ist ein Graph G = (V, E), ein Knoten
|
||||
v ∈ V sowie eine Zahl k ∈ N gegeben und es soll entschieden werden, ob es eine Clique
|
||||
mit k Knoten gibt, die den Knoten v enthält.
|
||||
Zeigen Sie, dass Clique-Member N P -vollständig ist.
|
||||
Zeigen Sie, dass Clique-Member NP-vollständig ist.
|
||||
Übung 6.50. In dem Problem Clique-Nomember ist ein Graph G = (V, E), ein
|
||||
Knoten v ∈ V sowie eine Zahl k ∈ N gegeben und es soll entschieden werden, ob es eine
|
||||
Clique mit k Knoten gibt, die den Knoten v nicht enthält.
|
||||
Zeigen Sie, dass Clique-Nomember N P -vollständig ist, indem Sie eine Reduktion
|
||||
Zeigen Sie, dass Clique-Nomember NP-vollständig ist, indem Sie eine Reduktion
|
||||
von Clique auf Clique-Nomember angeben.
|
||||
Übung 6.51. In dem Problem Z-Clique ist ein zusammenhängender Graph G =
|
||||
(V, E) und eine Zahl k ∈ N gegeben und es soll entschieden werden, ob G eine Clique
|
||||
mit k Knoten enthält.
|
||||
Zeigen Sie, dass Z-Clique N P -vollständig ist.
|
||||
Zeigen Sie, dass Z-Clique NP-vollständig ist.
|
||||
Übung 6.52. Zeigen Sie, dass das Partition Problem ebenfalls NP-schwer ist, wenn
|
||||
eine Teilmenge A00 ⊆ A gesucht ist mit
|
||||
X X
|
||||
@@ -1378,7 +1378,7 @@ Übung 6.53. Für das Problem Subset Sum Cardinality seien n ganze Zahlen
|
||||
c1 , . . . , cn ∈ N>0 (wobei n gerade sei) sowie eine Zahl K ∈ N gegeben. Es
|
||||
P 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 Subset Sum Cardinality N P -vollständig ist.
|
||||
Zeigen Sie, dass das Problem Subset Sum Cardinality NP-vollständig ist.
|
||||
|
||||
Übung 6.54. Eine Eingabe des Problems Even-Knapsack ist eine Menge von Items
|
||||
I, sowie ein Rucksack mit gerader Größe B (d.h es gibt b ∈ N mit B = 2b), sowie
|
||||
@@ -1387,7 +1387,7 @@ Das Entscheidungsproblem ist eine Teilmenge I 0 ⊆ I zu finden mit
|
||||
i∈I 0 si ≤ B und
|
||||
i∈I 0 pi ≥ P .
|
||||
P
|
||||
Zeigen Sie, dass Even-Knapsack N P -vollständig ist.
|
||||
Zeigen Sie, dass Even-Knapsack NP-vollständig ist.
|
||||
|
||||
Übung 6.55. Die Probleme Multiple-Choice-Knapsack (kurz MC-Knapsack) ist wie folgt
|
||||
definiert: Gegeben sind endliche Mengen C1 , . . . Ck ⊆ N × N von Items, eine Kapazität
|
||||
@@ -1398,7 +1398,7 @@ gewählten Items gemeinsam
|
||||
P den Zielprofit erfüllen ohne die Kapazität zu überschreiten,
|
||||
d.h. i∈[k] pi ≥ P und i∈[k] wi ≤ B.
|
||||
P
|
||||
Das Problem ist in N P . Zeigen Sie: MC-Knapsack ist N P -vollständig
|
||||
Das Problem ist in NP . Zeigen Sie: MC-Knapsack ist NP-vollständig
|
||||
|
||||
|
||||
|
||||
@@ -1407,8 +1407,8 @@ d.h. i∈[k] pi ≥ P und i∈[k] wi ≤ B.
|
||||
7 Approximative Algorithmen
|
||||
Das letzte Kapitel hat uns Einblicke in die Schwierigkeit der polynomiellen Berechen-
|
||||
barkeit gegeben. Wir wissen nun insbesondere, dass es viele Probleme gibt, deren exakte
|
||||
Lösung eine große, nicht-polynomielle Laufzeit benötigt - es sei denn, es gilt P = N P .
|
||||
In Ermangelung einer Eingebung zu der Frage, ob P = N P oder P 6= N P gilt, hat sich
|
||||
Lösung eine große, nicht-polynomielle Laufzeit benötigt - es sei denn, es gilt P = NP .
|
||||
In Ermangelung einer Eingebung zu der Frage, ob P = NP oder P 6= NP gilt, hat sich
|
||||
die Disziplin der Approximativen Algorithmen entwickelt; anstatt eine exakte Lösung zu
|
||||
verlangen, lässt man die Berechnung geringfügig schlechterer Lösungen zu, welche sich
|
||||
aber deutlich schneller berechnen lassen. Die exakte Lösung wird in diesem Sinne nur
|
||||
@@ -1509,7 +1509,7 @@ Königsberger Brückenproblem Knoten mit ungeradem Grad besitzt und es daher k
|
||||
entsprechenden Rundweg gibt.
|
||||
Wir betrachten nun den folgenden Algorithmus:
|
||||
|
||||
Algorithmus ∆T SP1 (V = {1,...,n}, D = (d(i,j)) )
|
||||
Algorithmus ∆TSP1 (V = {1,...,n}, D = (d(i,j)) )
|
||||
1 Berechne einen minimalen spannenden Baum T des Graphen
|
||||
2 Kn mit Distanzen d(i, j);
|
||||
3 Konstruiere einen Multigraphen G aus T durch Verdoppeln
|
||||
@@ -1568,7 +1568,7 @@ G durch Verdopplung der Kanten mit w(G) = 12; siehe folgendes Bild:
|
||||
12; und durch die Abkürzungen (d.h. Überspringen der schon vorher besuchten Knoten)
|
||||
erhalten wir die Rundreise R = [C, A, E, B, D, C] mit Länge d(R) = 10.
|
||||
|
||||
Satz 7.8. Der Algorithmus ∆T SP1 hat eine multiplikative Güte 2; d.h. d(R) ≤ 2OP T (I),
|
||||
Satz 7.8. Der Algorithmus ∆TSP1 hat eine multiplikative Güte 2; d.h. d(R) ≤ 2OP T (I),
|
||||
wobei OP T (I) die Länge einer minimalen Rundreise zu der Eingabe I mit V = {1, . . . , n}
|
||||
und Distanzen D = (d(i, j)) ist.
|
||||
|
||||
@@ -1599,7 +1599,7 @@ Beweis. Die Behauptung folgt aus den folgenden Ungleichungen:
|
||||
Formal zeigt man die obige Ungleichung per Induktion nach t ≥ 1.
|
||||
|
||||
Bemerkung 7.9. Es gibt Beispiele für Eingaben I zu dem Traveling Salesman Problem
|
||||
mit OP T (I) = n, bei denen der Algorithmus ∆T SP1 eine Rundreise der Länge 2n − 2
|
||||
mit OP T (I) = n, bei denen der Algorithmus ∆TSP1 eine Rundreise der Länge 2n − 2
|
||||
berechnet.
|
||||
|
||||
Beweis. Zur Beweisidee geben wir hier ein Beispiel mit n = 8 Knoten. Betrachte ei-
|
||||
@@ -1663,7 +1663,7 @@ Grad optimaler durch Kanten augmentieren. Hier hilft uns ein Matching mit minima
|
||||
Gewicht. Man beachte, dass die Anzahl der Knoten mit ungeradem Grad gerade ist;
|
||||
siehe auch Lemma 5.4.
|
||||
|
||||
Algorithmus ∆T SP2 (V = {1,...,n}, D = (d(i,j)) )
|
||||
Algorithmus ∆TSP2 (V = {1,...,n}, D = (d(i,j)) )
|
||||
1 Berechne einen minimalen spannenden Baum T des
|
||||
2 Graphen Kn mit Gewichten d(i, j);
|
||||
3 Bestimme die Menge X der Knoten in T,
|
||||
@@ -1685,7 +1685,7 @@ Algorithmus ∆T SP2 (V = {1,...,n}, D = (d(i,j)) )
|
||||
12 Bestimme eine Rundreise R aus C durch Abkürzungen;
|
||||
13 return Rundreise R.
|
||||
|
||||
Satz 7.13. (Christofides): Der Algorithmus ∆T SP2 hat eine multiplikative Güte 1.5;
|
||||
Satz 7.13. (Christofides): Der Algorithmus ∆TSP2 hat eine multiplikative Güte 1.5;
|
||||
d.h. d(R) ≤ 1.5OP T (I).
|
||||
|
||||
Beweis. Es gilt d(C) = w(T ) + d(K) ≤ OP T (I) + d(K). Man zeige nun, dass d(K) ≤
|
||||
@@ -1787,13 +1787,13 @@ induzierten Graphen H rechts mit einem perfektem Matching K und Gewicht w(K) = 3
|
||||
Ein Eulerkreis in G ist C = [C, B, C, A, E, D, C] und nach den Abkürzungen erhalten
|
||||
wir R = [C, B, A, E, D, C] mit Länge d(R) = 9.
|
||||
Lemma 7.15. Es gibt Beispiele für Eingaben I zu dem Traveling Salesman Problem mit
|
||||
OP T (I) = n, bei denen der Algorithmus ∆T SP2 von Christofides eine Rundreise der
|
||||
OP T (I) = n, bei denen der Algorithmus ∆TSP2 von Christofides eine Rundreise der
|
||||
Länge (n − 1) + bn/2c berechnet.
|
||||
Beweis. zur Übung.
|
||||
|
||||
|
||||
7.2 Rucksackproblem
|
||||
Dass das Rucksackproblem N P -vollständig ist, haben wir schon am Ende des letzten Ka-
|
||||
Dass das Rucksackproblem NP-vollständig ist, haben wir schon am Ende des letzten Ka-
|
||||
pitels gesehen. Hier wollen wir nun einige einfache Approximationsalgorithmen studieren.
|
||||
|
||||
Gegeben:
|
||||
@@ -1866,11 +1866,11 @@ Algorithmus MGA(I = ((w0 , p0 ), . . . , (wn−1 , pn−1 ), B))
|
||||
7 Approximative Algorithmen
|
||||
|
||||
|
||||
Es sei M GA(I) der Gesamtgewinn der durch Algorithmus M GA berechneten Lösung
|
||||
Es sei MGA(I) der Gesamtgewinn der durch Algorithmus MGA berechneten Lösung
|
||||
S ⊆ {0, . . . , n − 1} und OP T (I) der Gesamtgewinn einer optimalen Lösung zur Eingabe
|
||||
I.
|
||||
|
||||
Satz 7.18. Die Worst-Case Güte von Algorithmus M GA ist 2 (d.h. OP T (I)/M GA(I) ≤
|
||||
Satz 7.18. Die Worst-Case Güte von Algorithmus MGA ist 2 (d.h. OP T (I)/MGA(I) ≤
|
||||
2 für alle Eingaben I).
|
||||
|
||||
Beweis. Betrachte relaxierte Version des Rucksackproblems, bei dem Gegenstände frak-
|
||||
@@ -1938,18 +1938,18 @@ ist, dass der Algorithmus GA nicht nimmt, gilt
|
||||
|
||||
OP Tf (I) ≤ GA(I) + pk+1 .
|
||||
|
||||
Der Algorithmus M GA berechnet Lösung mit Wert GA(I) oder pmax ≥ pk+1 (bzw. sogar
|
||||
Der Algorithmus MGA berechnet Lösung mit Wert GA(I) oder pmax ≥ pk+1 (bzw. sogar
|
||||
genauer mit Wert max{GA(I), pmax }). Daher gilt
|
||||
|
||||
OP T (I) ≤ OP Tf (I) ≤ GA(I) + pk+1
|
||||
≤ GA(I) + pmax ≤ 2 max{GA(I), pmax }
|
||||
= 2 · M GA(I)
|
||||
= 2 · MGA(I)
|
||||
|
||||
|
||||
|
||||
Bemerkung 7.19. (a) Der Algorithmus M GA läuft in Zeit O(n log n).
|
||||
Bemerkung 7.19. (a) Der Algorithmus MGA läuft in Zeit O(n log n).
|
||||
|
||||
(b) Durch eine Modifikation von M GA können wir auch einen approximativen Algo-
|
||||
(b) Durch eine Modifikation von MGA können wir auch einen approximativen Algo-
|
||||
rithmus angeben mit Worst Case Güte 2, der in O(n) Zeit läuft.
|
||||
|
||||
Beweis. Wir verwenden als Idee zur Laufzeitverbesserung (b) hierzu den Median-Algorithmus
|
||||
|
||||
@@ -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 ∈ N≥0 gegeben und
|
||||
Für das VERTEX COVER Problem ist neben einem Graphen G eine Zahl k ∈ N≥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 ∈ N≥0 gege-
|
||||
Für das FEEDBACK VERTEX SET Problem ist neben einem Graphen G eine Zahl k ∈ N≥0 gege-
|
||||
ben und es wird gefragt, ob ein Feedback Vertex Set mit Größe (Anzahl der Knoten) höchstens
|
||||
k in G existiert.
|
||||
|
||||
@@ -34,8 +34,8 @@ 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.
|
||||
|
||||
Lösung. 1. Ein minimales Vertex Cover ist zum Beispiel { 3, 5, 6, 7, 8 }.
|
||||
@@ -55,8 +55,8 @@ die Beschreibung und jeweils 1 Punkt für Korrektheit und Laufzeit.
|
||||
|
||||
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.
|
||||
|
||||
Lösung. 1. Ein minimales FVS ist zum Beispiel { 5, 6 }.
|
||||
@@ -110,7 +110,7 @@ der Algorithmus akzeptiert. Falls es kein Vertex Cover gibt, dann lehnt der Algo
|
||||
|
||||
Die Auswahl der Knoten und die Prüfung der Kanten läuft in polynomieller Zeit, also ist dies
|
||||
ein polynomieller nichtdeterministischer Algorithmus, der VERTEX COVER löst und damit ist
|
||||
V ERT EXCOV ER ∈ N P .
|
||||
VERT EXCOV ER ∈ NP .
|
||||
|
||||
|
||||
Hausaufgabe 9.2
|
||||
@@ -144,7 +144,7 @@ von dem Verifizierer akzeptiert und sonst abgelehnt.
|
||||
Die Prüfung der übergebenen Teilmenge und die Konstruktion des Graphen laufen in polyno-
|
||||
mieller Zeit. Ebenfalls die Tiefensuche läuft in polynomieller Zeit, somit ist auch der Verifizierer
|
||||
polynomiell und verifiziert die Lösung für das FEEDBACK VERTEX SET in polynomieller
|
||||
Zeit. Also gilt F EEDBACKV ERT EXSET ∈ N P .
|
||||
Zeit. Also gilt FEEDBACKV ERT EXSET ∈ NP .
|
||||
|
||||
|
||||
|
||||
@@ -163,27 +163,27 @@ Zeit. Also gilt F EEDBACKV ERT EXSET ∈ N P .
|
||||
|
||||
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 ∈ N≥0 gege-
|
||||
Für das FEEDBACK VERTEX SET Problem ist neben einem Graphen G eine Zahl k ∈ N≥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.
|
||||
|
||||
Lösung. F EEDBACK V ERTEX S ET ∈ NP ist bekannt aus der letzten Hausaufgabe. Nun zeigen
|
||||
wir eine Reduktion von V ERTEX C OVER auf F EEDBACK V ERTEX S ET. Betrachte die folgende
|
||||
Lösung. FEEDBACK VERTEX SET ∈ NP ist bekannt aus der letzten Hausaufgabe. Nun zeigen
|
||||
wir eine Reduktion von VERTEX COVER auf FEEDBACK VERTEX SET. Betrachte die folgende
|
||||
Reduktion:
|
||||
Für eine gegebene V ERTEX C OVER Instanz (G = (V, E), k) erzeuge den Graphen G′ = (V, E ′ )
|
||||
mit E ′ := { (u, v), (v, u) | {u, v} ∈ E }. Gebe (G′ , k) als F EEDBACK V ERTEX S ET Instanz aus.
|
||||
Für eine gegebene VERTEX COVER Instanz (G = (V, E), k) erzeuge den Graphen G′ = (V, E ′ )
|
||||
mit E ′ := { (u, v), (v, u) | {u, v} ∈ E }. Gebe (G′ , k) als FEEDBACK VERTEX SET Instanz aus.
|
||||
Korrektheit:
|
||||
⇒ (Falls (G, k) eine Ja-Instanz von V ERTEX C OVER ist, dann ist (G′ , k) eine Ja-Instanz von
|
||||
F EEDBACK V ERTEX S ET.):
|
||||
⇒ (Falls (G, k) eine Ja-Instanz von VERTEX COVER ist, dann ist (G′ , k) eine Ja-Instanz von
|
||||
FEEDBACK VERTEX SET.):
|
||||
Sei C ⊆ V ein Vertex Cover mit Größe kleiner oder gleich k. Dann enthält G \C keine Kanten.
|
||||
Damit hat G′ \C ebenfalls keine Kanten und somit keine Kreise.
|
||||
⇐ (Falls (G′ , k) eine Ja-Instanz von F EEDBACK V ERTEX S ET ist, dann ist (G, k) eine Ja-Instanz
|
||||
von V ERTEX C OVER.):
|
||||
⇐ (Falls (G′ , k) eine Ja-Instanz von FEEDBACK VERTEX SET ist, dann ist (G, k) eine Ja-Instanz
|
||||
von VERTEX COVER.):
|
||||
Sei X ⊆ V ′ ein Feedback Vertex Set mit Größe kleiner oder gleich k. Dann ist X ein Vertex
|
||||
Cover in G, da ansonsten eine Kante {u, v} ∈ E existiert, für die u ∈
|
||||
/ X ∧v ∈
|
||||
@@ -191,9 +191,9 @@ Cover in G, da ansonsten eine Kante {u, v} ∈ E existiert, für die u ∈
|
||||
aber (u, v, u) ein Kreis in G′ und X somit kein Feedback Vertex Set.
|
||||
Laufzeit: Das Erzeugen der Menge E ′ geht in Zeit O(|E|). Insgesamt ist die Reduktion dem-
|
||||
nach in Laufzeit O(|E|), also in polynomieller Laufzeit, durchführbar.
|
||||
Also existiert eine polynomielle Reduktion von V ERTEX C OVER auf F EEDBACK V ERTEX S ET.
|
||||
Da V ERTEX C OVER nach den aktuellen Präsenzaufgaben NP-vollständig ist und
|
||||
F EEDBACK V ERTEX S ET ∈ NP gilt, ist somit F EEDBACK V ERTEX S ET NP-vollständig.
|
||||
Also existiert eine polynomielle Reduktion von VERTEX COVER auf FEEDBACK VERTEX SET.
|
||||
Da VERTEX COVER nach den aktuellen Präsenzaufgaben NP-vollständig ist und
|
||||
FEEDBACK VERTEX SET ∈ NP gilt, ist somit FEEDBACK VERTEX SET NP-vollständig.
|
||||
Bewertung 2 Punkte für die Konstruktion, 1 Punkt für den 1. Fall, 1 Punkt für den 2. Fall,
|
||||
0.5 Punkte für die Laufzeit, 0.5 Punkte für die Beweisführung im Ganzen
|
||||
|
||||
@@ -256,11 +256,11 @@ Teil 1: FeedbackVertexSet ∈ NP
|
||||
• Akzeptieren, wenn die Tiefensuche nichts findet
|
||||
|
||||
Die Schritte 1-4 laufen in polynomieller Zeit, somit läuft der Verifizierer in polynomieller
|
||||
Zeit. Damit ist F eedbackV ertexSet ∈ N P .
|
||||
Zeit. Damit ist F eedbackV ertexSet ∈ NP .
|
||||
|
||||
Teil 2: FeedbackVertexSet ist NP-schwer
|
||||
Jetzt brauchen wir eine Reduktion von VertexCover auf FeedbackVertexSet, um zu zeigen,
|
||||
dass F eedbackV ertexSet N P − Schwer ist.
|
||||
dass F eedbackV ertexSet NP − Schwer ist.
|
||||
|
||||
Konstruktion: Sei dafür ein VertexCover gegeben mit einem Graphen G und einer Zahl k.
|
||||
Aus G wird ein G′ , wobei jede ungerichtete Kante {u, v} ∈ E durch zwei gerichteten Kanten
|
||||
@@ -297,7 +297,7 @@ Aus G wird ein G′ , wobei jede ungerichtete Kante {u, v} ∈ E durch zwei geri
|
||||
|
||||
• Das ist ein Widerspruch, somit ist G′ \ X kreisfrei und X ist ein VertexCover
|
||||
|
||||
Da F eedbackV ertexSet ∈ N P und N P − schwer ist, folgt dass F eedbackV ertexSet NP-
|
||||
Da F eedbackV ertexSet ∈ NP und NP − schwer ist, folgt dass F eedbackV ertexSet NP-
|
||||
Vollständig ist. □
|
||||
|
||||
|
||||
@@ -339,7 +339,7 @@ O(n) Schritte und das mit O(n) Durchläufen.
|
||||
Blatt 11
|
||||
|
||||
|
||||
Definition 1 (Dreiecksüberdeckung eines Graphen (∆ C OVER)). Gegeben ist ein endlicher un-
|
||||
Definition 1 (Dreiecksüberdeckung eines Graphen (∆ COVER)). Gegeben ist ein endlicher un-
|
||||
gerichteter Graph G = (V, E) und eine Zahl k ∈ N. Dieser Graph hat eine Dreiecksüberdeckung,
|
||||
wenn eine Menge von Knoten C∆ ⊆ V mit |C∆ | ≤ k existiert, so dass zu jedem Teilgraphen (Drei-
|
||||
eck) D = (VD , ED ) ⊆ (V, E) mit |VD | = 3 und ED = { {v1 , v2 } ∈ VD ×VD | v1 ̸= v2 } von G gilt,
|
||||
@@ -348,11 +348,11 @@ v ∈ C∆ für mindestens ein v ∈ VD .
|
||||
Hausaufgabe 11.1 (10 Punkte)
|
||||
|
||||
|
||||
(a) (1 Punkt) Markieren Sie im folgenden Graphen (Abbildung 1 (a)) ein V ERTEX C OVER
|
||||
(a) (1 Punkt) Markieren Sie im folgenden Graphen (Abbildung 1 (a)) ein VERTEX COVER
|
||||
der Größe 5.
|
||||
(b) (1 Punkt) Markieren Sie im folgenden Graphen (Abbildung 1 (b)) eine Dreiecksüberde-
|
||||
ckung der Größe 5.
|
||||
(c) (8 Punkte) Zeigen Sie, dass ∆ C OVER NP-vollständig ist.
|
||||
(c) (8 Punkte) Zeigen Sie, dass ∆ COVER NP-vollständig ist.
|
||||
|
||||
|
||||
|
||||
@@ -368,7 +368,7 @@ Lösung.
|
||||
Abbildung 2: Beispielgraph Lösung
|
||||
|
||||
|
||||
(c) Wir zeigen zunächst, ∆ C OVER ∈ NP mittels eines polynomiellen Verifizierers.
|
||||
(c) Wir zeigen zunächst, ∆ COVER ∈ NP mittels eines polynomiellen Verifizierers.
|
||||
Der polynomielle Verifizierer erhält als Zertifikat eine Menge von Knoten C∆ ⊆ V . Zunächst
|
||||
überprüft er, ob |C∆ | ≤ k. Falls dies nicht der Fall ist, verwerfe die Instanz. Ansonsten überprüfe
|
||||
für alle Teilgraphen D = (VD , ED ) ⊆ (V, E) mit |VD | = 3 und ED = { {v1 , v2 } ∈ VD ×VD | v1 ̸= v2 }
|
||||
@@ -382,14 +382,14 @@ Lösung.
|
||||
daher überprüft werden müssen. Die Überprüfung geht in O(|V |) Zeit. Da alle anderen Schritte
|
||||
des Verifizierers in O(1) Zeit erledigt werden können, ergibt sich somit insgesamt eine Laufzeit
|
||||
von O(|V |4 ), was einer polynomiellen Laufzeit entspricht.
|
||||
Also gilt ∆ C OVER ∈ NP.
|
||||
Nun reduzieren wir V ERTEX C OVER auf ∆ C OVER. Betrachte folgende Reduktion:
|
||||
Sei I = (G = (V, E), k) eine Instanz von V ERTEX C OVER. Bilde den Graphen G′ = (V ′ , E ′ ) mit
|
||||
Also gilt ∆ COVER ∈ NP.
|
||||
Nun reduzieren wir VERTEX COVER auf ∆ COVER. Betrachte folgende Reduktion:
|
||||
Sei I = (G = (V, E), k) eine Instanz von VERTEX COVER. Bilde den Graphen G′ = (V ′ , E ′ ) mit
|
||||
V ′ = V ∪ { ve | e ∈ E } und E ′ = E ∪ { {ve , e1 }, {ve , e2 } | e = {e1 , e2 } ∈ E }. Gebe I ′ = (G′ , k)
|
||||
als ∆ C OVER Instanz aus.
|
||||
als ∆ COVER Instanz aus.
|
||||
Korrektheit:
|
||||
⇒ (Falls (G, k) eine Ja-Instanz von V ERTEX C OVER ist, dann ist (G′ , k) eine Ja-Instanz von ∆
|
||||
C OVER.):
|
||||
⇒ (Falls (G, k) eine Ja-Instanz von VERTEX COVER ist, dann ist (G′ , k) eine Ja-Instanz von ∆
|
||||
COVER.):
|
||||
Sei C ein Vertex Cover mit Größe kleiner oder gleich k von G. Dann ist C ebenfalls eine Drei-
|
||||
ecksüberdeckung mit Größe kleiner oder gleich k. Offensichtlich gilt |C| ≤ k. Da C ein Vertex
|
||||
Cover von G ist, gilt für jede Kante {u, v} ∈ E, dass u ∈ C oder v ∈ C. Für alle Teilgraphen
|
||||
@@ -399,8 +399,8 @@ Lösung.
|
||||
{ ve | e ∈ E } und die entsprechenden Kanten { e, {ve , e1 }, {ve , e2 } | e = {e1 , e2 } ∈ E } entste-
|
||||
hen. Für diese Dreiecke gilt aber auch, dass mindestens ein Knoten, nämlich e1 oder e2 , in C
|
||||
enthalten sein muss, da C ein Vertex Cover ist.
|
||||
⇐ (Falls (G′ , k) eine Ja-Instanz von ∆ C OVER ist, dann ist (G, k) eine Ja-Instanz von V ERTEX -
|
||||
C OVER.):
|
||||
⇐ (Falls (G′ , k) eine Ja-Instanz von ∆ COVER ist, dann ist (G, k) eine Ja-Instanz von VERTEX -
|
||||
COVER.):
|
||||
Sei C∆ eine Dreiecksüberdeckung von G′ der Größe |C∆ | ≤ k. Ohne Beschränkung der All-
|
||||
gemeinheit können wir davon ausgehen, dass C∆ ⊆ V gilt: Falls für einen Knoten ve ∈ C∆ gilt,
|
||||
können wir e1 zu C∆ hinzufügen und ve aus C∆ löschen. Dadurch bleibt die Überdeckungseigen-
|
||||
@@ -412,9 +412,9 @@ auch für die Dreiecke {ve , e1 , e2 }. Da außerdem C∆ ⊆ V gilt, gilt e1
|
||||
Kanten e ∈ E.
|
||||
Laufzeit: Das Hinzufügen von einem neuen Knoten und zwei neuen Kanten pro Kante geht in
|
||||
O(|E|). Damit geht die gesamte Reduktion in O(|E|), also in polynomieller Zeit.
|
||||
Also existiert eine polynomielle Reduktion von V ERTEX C OVER auf ∆ C OVER. Da V ERTEX -
|
||||
C OVER NP-vollständig aus den Präsenzaufgaben bekannt ist und ∆ C OVER ∈ NP gilt, ist somit
|
||||
∆ C OVER NP-vollständig.
|
||||
Also existiert eine polynomielle Reduktion von VERTEX COVER auf ∆ COVER. Da VERTEX -
|
||||
COVER NP-vollständig aus den Präsenzaufgaben bekannt ist und ∆ COVER ∈ NP gilt, ist somit
|
||||
∆ COVER NP-vollständig.
|
||||
|
||||
|
||||
Bewertung (a) und (b) jeweils 1 Punkt, (c) gibt 8 Punkte: 1 Punkt Angabe Verifizierer/NDTM,
|
||||
@@ -534,85 +534,85 @@ Kanten Dreiecke.
|
||||
Blatt 12
|
||||
|
||||
|
||||
Hausaufgabe 12.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 12.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.
|
||||
|
||||
Lösung. 1. Sei I = (G = (V, E), k) eine Instanz von C LIQUE und I ′ = (G′ = (V ′ , E ′ ), k′ ) die
|
||||
aus der Reduktion resultierende Instanz von V ERTEX C OVER. Es gilt |V ′ | = |V |, |E ′ | =
|
||||
Lösung. 1. Sei I = (G = (V, E), k) eine Instanz von CLIQUE und I ′ = (G′ = (V ′ , E ′ ), k′ ) die
|
||||
aus der Reduktion resultierende Instanz von VERTEX COVER. Es gilt |V ′ | = |V |, |E ′ | =
|
||||
1 2 ′
|
||||
2 |V |(|V | − 1) − |E| ≤ |V | und k = |V | − k ≤ |V |.
|
||||
′
|
||||
2. • Angenommen es gäbe einen Algorithmus, der V ERTEX C OVER in 2o(|V |) · |I|O(1)
|
||||
löst. Durch die Kombination der Reduktion von C LIQUE auf V ERTEX C OVER und
|
||||
diesem Algorithmus, existiert dann auch ein 2o(|V |) ·|I|O(1) Algorithmus für C LIQUE,
|
||||
2. • Angenommen es gäbe einen Algorithmus, der VERTEX COVER in 2o(|V |) · |I|O(1)
|
||||
löst. Durch die Kombination der Reduktion von CLIQUE auf VERTEX COVER und
|
||||
diesem Algorithmus, existiert dann auch ein 2o(|V |) ·|I|O(1) Algorithmus für CLIQUE,
|
||||
da |V ′ | = |V | nach Aufgabenteil 1. Aus der Musterlösung der Präsenzserie 12 folgt
|
||||
somit, dass die ETH falsch ist.
|
||||
Damit kann es so einen Algorithmus für V ERTEX C OVER nur geben, wenn die ETH
|
||||
Damit kann es so einen Algorithmus für VERTEX COVER nur geben, wenn die ETH
|
||||
falsch ist.
|
||||
√ ′
|
||||
• Angenommen es gäbe einen Algorithmus, der V ERTEX C OVER in 2o( |E |) · |I|O(1)
|
||||
löst. Durch die Kombination der Reduktion von C LIQUE auf V ERTEX C OVER und
|
||||
diesem Algorithmus, existiert dann auch ein 2o(|V |) ·|I|O(1) Algorithmus für C LIQUE,
|
||||
• Angenommen es gäbe einen Algorithmus, der VERTEX COVER in 2o( |E |) · |I|O(1)
|
||||
löst. Durch die Kombination der Reduktion von CLIQUE auf VERTEX COVER und
|
||||
diesem Algorithmus, existiert dann auch ein 2o(|V |) ·|I|O(1) Algorithmus für CLIQUE,
|
||||
da |E ′ | ≤ |V |2 nach Aufgabenteil 1. Aus der Musterlösung der Präsenzserie 12 folgt
|
||||
somit, dass die ETH falsch ist.
|
||||
Damit kann es so einen Algorithmus für V ERTEX C OVER nur geben, wenn die ETH
|
||||
Damit kann es so einen Algorithmus für VERTEX COVER nur geben, wenn die ETH
|
||||
falsch ist.
|
||||
′
|
||||
• Angenommen es gäbe einen Algorithmus, der V ERTEX C OVER in 2o(k ) · |I|O(1) löst.
|
||||
Durch die Kombination der Reduktion von C LIQUE auf V ERTEX C OVER und die-
|
||||
sem Algorithmus, existiert dann auch ein 2o(|V |) · |I|O(1) Algorithmus für C LIQUE,
|
||||
• Angenommen es gäbe einen Algorithmus, der VERTEX COVER in 2o(k ) · |I|O(1) löst.
|
||||
Durch die Kombination der Reduktion von CLIQUE auf VERTEX COVER und die-
|
||||
sem Algorithmus, existiert dann auch ein 2o(|V |) · |I|O(1) Algorithmus für CLIQUE,
|
||||
da k′ ≤ |V | nach Aufgabenteil 1. Aus der Musterlösung der Präsenzserie 12 folgt
|
||||
somit, dass die ETH falsch ist.
|
||||
Damit kann es so einen Algorithmus für V ERTEX C OVER nur geben, wenn die ETH
|
||||
Damit kann es so einen Algorithmus für VERTEX COVER nur geben, wenn die ETH
|
||||
falsch ist.
|
||||
Bewertung 1 Punkt für den ersten Teil und 1.5 + 1.5 + 1 für den zweiten.
|
||||
|
||||
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 ∈ N≥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 12.2 (Lower Bound: H ITTING S ET) (5 Punkte)
|
||||
Betrachten Sie folgende Reduktion von 3-SAT auf H ITTING S ET.
|
||||
Hausaufgabe 12.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.
|
||||
|
||||
Lösung. 1. Für die Universumsgröße gilt |U| = 2n, für die Anzahl der Mengen gilt r =
|
||||
n + m und es gilt k = n.
|
||||
2. • Angenommen es gäbe einen Algorithmus, der H ITTING S ET in 2o(|U|) · |I|O(1) löst.
|
||||
Durch die Kombination der Reduktion von 3-SAT auf H ITTING S ET und diesem
|
||||
2. • Angenommen es gäbe einen Algorithmus, der HITTING SET in 2o(|U|) · |I|O(1) löst.
|
||||
Durch die Kombination der Reduktion von 3-SAT auf HITTING SET und diesem
|
||||
Algorithmus, existiert dann auch ein 2o(n) · |I|O(1) Algorithmus für 3-SAT, da |U| =
|
||||
2n nach Aufgabenteil 1. Damit ist die ETH falsch.
|
||||
Damit kann es so einen Algorithmus für H ITTING S ET nur geben, wenn die ETH
|
||||
Damit kann es so einen Algorithmus für HITTING SET nur geben, wenn die ETH
|
||||
falsch ist.
|
||||
• Angenommen es gäbe einen Algorithmus, der H ITTING S ET in 2o(r) · |I|O(1) löst.
|
||||
Durch die Kombination der Reduktion von 3-SAT auf H ITTING S ET und diesem
|
||||
• Angenommen es gäbe einen Algorithmus, der HITTING SET in 2o(r) · |I|O(1) löst.
|
||||
Durch die Kombination der Reduktion von 3-SAT auf HITTING SET und diesem
|
||||
Algorithmus, existiert dann auch ein 2o(m) · |I|O(1) Algorithmus für 3-SAT, da r =
|
||||
n + m nach Aufgabenteil 1 und n ≤ 3m für 3-SAT gilt. Aus dem Sparsification
|
||||
Lemma folgt damit, dass die ETH falsch ist.
|
||||
Damit kann es so einen Algorithmus für H ITTING S ET nur geben, wenn die ETH
|
||||
Damit kann es so einen Algorithmus für HITTING SET nur geben, wenn die ETH
|
||||
falsch ist.
|
||||
• Angenommen es gäbe einen Algorithmus, der H ITTING S ET in 2o(k) · |I|O(1) löst.
|
||||
Durch die Kombination der Reduktion von 3-SAT auf H ITTING S ET und diesem
|
||||
• Angenommen es gäbe einen Algorithmus, der HITTING SET in 2o(k) · |I|O(1) löst.
|
||||
Durch die Kombination der Reduktion von 3-SAT auf HITTING SET und diesem
|
||||
Algorithmus, existiert dann auch ein 2o(n) · |I|O(1) Algorithmus für 3-SAT, da k = n
|
||||
nach Aufgabenteil 1. Damit ist die ETH falsch.
|
||||
Damit kann es so einen Algorithmus für H ITTING S ET nur geben, wenn die ETH
|
||||
Damit kann es so einen Algorithmus für HITTING SET nur geben, wenn die ETH
|
||||
falsch ist.
|
||||
|
||||
|
||||
@@ -695,11 +695,11 @@ blen steht. Somit kann HittingSet nicht schneller sein.
|
||||
Blatt 13
|
||||
|
||||
|
||||
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 13.1 (M AX -3-S AT) (10 Punkte)
|
||||
Hausaufgabe 13.1 (MAX -3-SAT) (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.
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 1 von 12
|
||||
Aufgabe 1 KOMPLEXITÄT: A NWENDUNG LPT (4+2+2+2 Punkte)
|
||||
Aufgabe 1 KOMPLEXITÄT: ANWENDUNG LPT (4+2+2+2 Punkte)
|
||||
Gegeben ist folgende Scheduling Instanz:
|
||||
Jj J1 J2 J3 J4 J5 J6 J7
|
||||
m=3
|
||||
@@ -68,7 +68,7 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 3 von 12
|
||||
Aufgabe 2 KOMPLEXITÄT: B EWEIS : K -C LIQUE (10 Punkte)
|
||||
Aufgabe 2 KOMPLEXITÄT: BEWEIS : K -CLIQUE (10 Punkte)
|
||||
Beweisen Sie folgende Aussage aus der Vorlesung:
|
||||
SAT ≤ k-Clique.
|
||||
Hinweis: NICHT 3-SAT, sondern allgemeines SAT!
|
||||
@@ -103,9 +103,9 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 6 von 12
|
||||
Aufgabe 4 KOMPLEXITÄT: A PPROXIMATIVE A LGORITHMEN (3+7 Punkte)
|
||||
Aufgabe 4 KOMPLEXITÄT: APPROXIMATIVE ALGORITHMEN (3+7 Punkte)
|
||||
Wir betrachten folgendes Problem:
|
||||
Problem: A PPROXIMATE S UBSET S UM
|
||||
Problem: APPROXIMATE SUBSET SUM
|
||||
Eingabe: n ganze Zahlen a1 , . . . an und ein Zielwert T . Es gilt ai ≤ T ∀i ∈ [n] sowie ∑i∈[n] ai >
|
||||
T.
|
||||
Ziel: Wähle Zahlenmenge S ⊆ {1, . . . n} mit ∑ j∈S a j ≤ T und maximiere ∑ j∈S a j .
|
||||
@@ -214,7 +214,7 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 10 von 12
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 11 von 12
|
||||
Aufgabe 6 B ONUSAUFGABE (10 Punkte)
|
||||
Aufgabe 6 BONUSAUFGABE (10 Punkte)
|
||||
Beweisen oder widerlegen Sie folgende Aussage:
|
||||
Wenn die ETH fehlschlägt gilt P = NP.
|
||||
|
||||
@@ -251,7 +251,7 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 1 von 16
|
||||
Aufgabe 1 ∆T SP1 (6+2+2 Punkte)
|
||||
Aufgabe 1 ∆TSP1 (6+2+2 Punkte)
|
||||
Gegeben sei folgender Graph G = (V, E), bei dem die Kantengewichte jeweils an der nach außen
|
||||
gerichteten Seite der Kante stehen:
|
||||
|
||||
@@ -268,20 +268,20 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
d c
|
||||
2
|
||||
|
||||
a) Wenden Sie den Algorithmus ∆T SP1 auf den Graphen G beginnend bei a an. Geben Sie dabei
|
||||
a) Wenden Sie den Algorithmus ∆TSP1 auf den Graphen G beginnend bei a an. Geben Sie dabei
|
||||
die Ergebnisse jedes Zwischenschrittes des Algorithmus an.
|
||||
|
||||
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 2 von 16
|
||||
b) Beschreiben Sie, was der Algorithmus ∆T SP1 berechnet und geben Sie die Bedingungen an,
|
||||
b) Beschreiben Sie, was der Algorithmus ∆TSP1 berechnet und geben Sie die Bedingungen an,
|
||||
die an den Graphen gestellt sind, damit der Algorithmus eine korrekte Lösung berechnet.
|
||||
|
||||
|
||||
|
||||
|
||||
c) Begründen Sie, warum der Algorithmus ∆T SP1 eine approximative Güte von 2 besitzt.
|
||||
c) Begründen Sie, warum der Algorithmus ∆TSP1 eine approximative Güte von 2 besitzt.
|
||||
|
||||
|
||||
|
||||
@@ -326,11 +326,11 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 7 von 16
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 8 von 16
|
||||
Aufgabe 4 KOMPLEXITÄT: A PPROXIMATIVE A LGORITHMEN (10+(10) Punkte)
|
||||
Aufgabe 4 KOMPLEXITÄT: APPROXIMATIVE ALGORITHMEN (10+(10) Punkte)
|
||||
Wir betrachten das aus der Vorlesung bekannte Makespan Scheduling Problem P||Cmax . Dazu ist
|
||||
folgender Algorithmus gegeben:
|
||||
|
||||
Algorithmus ROUND ROBIN S CHEDULING(I=(J,m))
|
||||
Algorithmus ROUND ROBIN SCHEDULING(I=(J,m))
|
||||
|
||||
1 sortiere die Jobs in J so, dass p1 ≥ p2 ≥ · · · ≥ pn gilt;
|
||||
2 setze B1 = · · · = Bm = 0;
|
||||
@@ -509,27 +509,27 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 3 von 11
|
||||
Aufgabe 2 L ONGEST PATH (3+3+4 Punkte)
|
||||
Aufgabe 2 LONGEST PATH (3+3+4 Punkte)
|
||||
Betrachten Sie das folgende Problem:
|
||||
Problem: L ONGEST PATH
|
||||
Problem: LONGEST PATH
|
||||
Eingabe: Eine ungerichteter Graph G = (V, E) und eine Zahl k.
|
||||
Entscheide: Gibt es einen Pfad in G, der mindestens Länge k hat?
|
||||
|
||||
Zeigen Sie auf verschiedene Weisen, dass das Problem in NP liegt:
|
||||
|
||||
a) Geben Sie ein Zertifikat für L ONGEST PATH an.
|
||||
b) Beschreiben Sie einen Verifizierer für L ONGEST PATH und geben Sie dessen Laufzeit konkret
|
||||
a) Geben Sie ein Zertifikat für LONGEST PATH an.
|
||||
b) Beschreiben Sie einen Verifizierer für LONGEST PATH und geben Sie dessen Laufzeit konkret
|
||||
an.
|
||||
c) Beschreiben Sie eine nicht-deterministische Turing-Maschine (in Worten), die L ONGEST PATH
|
||||
c) Beschreiben Sie eine nicht-deterministische Turing-Maschine (in Worten), die LONGEST PATH
|
||||
löst. Geben Sie auch hier die Laufzeit konkret an.
|
||||
|
||||
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 4 von 11
|
||||
Aufgabe 3 A PPROXIMATIVE A LGORITHMEN (6+4 Punkte)
|
||||
Das Problem M AX -3-S AT sei folgendermaßen definiert:
|
||||
Problem: M AX -3-S AT
|
||||
Aufgabe 3 APPROXIMATIVE ALGORITHMEN (6+4 Punkte)
|
||||
Das Problem MAX -3-SAT sei folgendermaßen definiert:
|
||||
Problem: MAX -3-SAT
|
||||
Eingabe: Eine Formel φ in konjunktiver Normalform, wobei jede Klausel drei Literale enthält.
|
||||
Ausgabe: Eine Belegung β der Variablen, die die Anzahl v(β ) der erfüllten Klauseln maximiert.
|
||||
|
||||
@@ -550,16 +550,16 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 5 von 11
|
||||
Aufgabe 4 B EWEIS ZUR VORLESUNG (10 Punkte)
|
||||
Aufgabe 4 BEWEIS ZUR VORLESUNG (10 Punkte)
|
||||
Betrachten Sie folgendes Problem aus der Vorlesung:
|
||||
|
||||
Problem: k-C LIQUE
|
||||
Problem: k-CLIQUE
|
||||
Eingabe: Ein ungerichteter Graph G = (V, E) und eine Zahl k ≥ 1. Eine Clique ist eine Teil-
|
||||
menge C ⊆ V mit {u, v} ∈ E für alle u, v ∈ C mit u ̸= v.
|
||||
Entscheide: Hat der gegebene Graph G eine Clique C ⊆ V mit mindestens k Knoten (d.h. mit
|
||||
|C| ≥ k)?
|
||||
|
||||
Beweisen Sie: Das Problem k-C LIQUE ist NP-vollständig.
|
||||
Beweisen Sie: Das Problem k-CLIQUE ist NP-vollständig.
|
||||
|
||||
|
||||
|
||||
@@ -568,9 +568,9 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
Aufgabe 5 NP UND NP-VOLLSTÄNDIGKEIT (4+4+7 Punkte)
|
||||
|
||||
|
||||
a) Beweisen Sie die NP-Vollständigkeit von S UBSET S UM, bei der jede Itemgröße jeweils durch
|
||||
a) Beweisen Sie die NP-Vollständigkeit von SUBSET SUM, bei der jede Itemgröße jeweils durch
|
||||
3 oder durch 7 teilbar ist.
|
||||
b) Beweisen Sie die NP-Vollständigkeit von 3-C OLOR, wobei jeder Knoten im Graph mindes-
|
||||
b) Beweisen Sie die NP-Vollständigkeit von 3-COLOR, wobei jeder Knoten im Graph mindes-
|
||||
tens Grad 3 hat.
|
||||
c) Zeigen Sie: Für kein α > 1 gibt es einen approximativen Algorithmus mit Güte α (d.h. mit
|
||||
Zielfunktionswert ≤ α · OPT) für TSP, außer P = NP (Denken Sie an Wiliam Rowan Hamil-
|
||||
@@ -581,23 +581,23 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 7 von 11
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 8 von 11
|
||||
Aufgabe 6 U NTERE S CHRANKEN UND ETH (7+8 Punkte)
|
||||
Aufgabe 6 UNTERE SCHRANKEN UND ETH (7+8 Punkte)
|
||||
Betrachten Sie folgende Reduktionen:
|
||||
Problem: H ITTING S ET
|
||||
Problem: HITTING SET
|
||||
Eingabe: Eine Menge U sowie r Teilmengen F1 , . . . , Fr ⊆ U und eine Zahl k.
|
||||
Entscheide: Gibt es eine Menge S ⊆ U mit |S| ≤ k und S ∩ Fi ̸= 0/ für alle i ∈ [r]?
|
||||
|
||||
a) 3-SAT ⪯ H ITTING S ET: Seien v1 , . . . , vn die Variablen der Formel und C1 , . . . ,Cm die Klau-
|
||||
a) 3-SAT ⪯ HITTING SET: Seien v1 , . . . , vn die Variablen der Formel und C1 , . . . ,Cm die Klau-
|
||||
seln. Setze U = { v1 , v1 , . . . , vn , vn } und k = n. Für jede Variable vi definiere eine Menge
|
||||
Fi = {vi , vi } und für jede Klausel C j definiere eine Menge Fn+ j = C j
|
||||
Welche unteren Schranken ergeben sich durch obige Reduktion für die Laufzeit von Algorith-
|
||||
men für H ITTING S ET unter Annahme der ETH in Abhängigkeit von
|
||||
men für HITTING SET unter Annahme der ETH in Abhängigkeit von
|
||||
(i) r?
|
||||
(ii) |U|?
|
||||
Beweisen Sie die entsprechenden unteren Schranken!
|
||||
Hinweis: Sie dürfen – wie in den Hausaufgaben zur ETH – Faktoren, die polynomiell in der
|
||||
Eingabekodierung sind, vernachlässigen.
|
||||
b) 3-S AT ⪯ S UBSET S UM: Seien v1 , . . . , vn die Variablen der Formel und C1 , . . . ,Cm die Klauseln.
|
||||
b) 3-SAT ⪯ SUBSET SUM: Seien v1 , . . . , vn die Variablen der Formel und C1 , . . . ,Cm die Klauseln.
|
||||
Für jede Variable vi erzeuge zwei Items ai und bi , mit den Größen
|
||||
|
||||
s(ai ) = 10i−1 + ∑ 10n+ j−1 und s(bi ) = 10i−1 + ∑ 10n+ j−1 .
|
||||
@@ -614,7 +614,7 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
j∈[m] i∈[n]
|
||||
|
||||
Welche unteren Schranken ergeben sich durch obige Reduktion für die Laufzeit von Algorith-
|
||||
men für S UBSET S UM unter Annahme der ETH in Abhängigkeit von
|
||||
men für SUBSET SUM unter Annahme der ETH in Abhängigkeit von
|
||||
(i) der Anzahl der unterschiedlichen Itemgrößen d?
|
||||
(ii) der binären Kodierungslänge L der größten Itemgröße ∆ (d.h. L = log(∆))?
|
||||
Beweisen Sie die entsprechenden unteren Schranken!
|
||||
@@ -654,7 +654,7 @@ Hinweise:
|
||||
• Einsichtnahme: 2.11.23, 13:30-14:30 Uhr.
|
||||
• Die Klausur hat 6 Aufgaben auf 13 Seiten – überprüfen Sie bitte vor der Bearbeitung, dass Ihre Klausur
|
||||
vollständig ist.
|
||||
Aufgabe 1 C HRISTOFIDES ’ A LGORITHMUS (3+7 Punkte)
|
||||
Aufgabe 1 CHRISTOFIDES ’ ALGORITHMUS (3+7 Punkte)
|
||||
Gegeben sei folgender Graph G = (V, E) :
|
||||
|
||||
d
|
||||
@@ -688,29 +688,29 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 2 von 19
|
||||
Aufgabe 2 D OMINATING S ET (3+3+4 Punkte)
|
||||
Aufgabe 2 DOMINATING SET (3+3+4 Punkte)
|
||||
Betrachten Sie das folgende Problem:
|
||||
Problem: D OMINATING S ET
|
||||
Problem: DOMINATING SET
|
||||
Eingabe: Ein ungerichteter Graph G = (V, E) (wobei V = {1, . . . , n} für eine Zahl n ∈ N≥1 )
|
||||
und eine Zahl k ∈ N0 .
|
||||
Entscheide: Gibt es eine Teilmenge D ⊆ V der Knoten mit |D| ≤ k, sodass jeder Knoten v ∈ V
|
||||
in D enthalten ist oder benachbart zu mindestens einem der Knoten in D ist?
|
||||
|
||||
Zeigen Sie auf verschiedene Weisen, dass das Problem in NP liegt:
|
||||
a) Geben Sie ein Zertifikat für D OMINATING S ET an.
|
||||
b) Beschreiben Sie einen polynomiellen Verifizierer für D OMINATING S ET und schätzen Sie die
|
||||
a) Geben Sie ein Zertifikat für DOMINATING SET an.
|
||||
b) Beschreiben Sie einen polynomiellen Verifizierer für DOMINATING SET und schätzen Sie die
|
||||
Laufzeit in O-Notation konkret ab.
|
||||
c) Beschreiben Sie (in Worten) eine polynomielle, nicht-deterministische Turing-Maschine, die
|
||||
D OMINATING S ET löst. Schätzen Sie auch hier die Laufzeit in O-Notation konkret ab.
|
||||
DOMINATING SET löst. Schätzen Sie auch hier die Laufzeit in O-Notation konkret ab.
|
||||
|
||||
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 3 von 19
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 4 von 19
|
||||
Aufgabe 3 A PPROXIMATIVE A LGORITHMEN (6+4 Punkte)
|
||||
Das Problem M IN -E DGE -C OVER sei folgendermaßen definiert:
|
||||
Problem: M IN -E DGE -C OVER
|
||||
Aufgabe 3 APPROXIMATIVE ALGORITHMEN (6+4 Punkte)
|
||||
Das Problem MIN -EDGE -COVER sei folgendermaßen definiert:
|
||||
Problem: MIN -EDGE -COVER
|
||||
Eingabe: Ein zusammenhängender, ungerichteter Graph G = (V, E).
|
||||
Ausgabe: Eine Teilmenge der Kanten C ⊆ E mit minimaler Kardinalität, sodass jeder Knoten
|
||||
v ∈ V zu mindestens einer Kante aus C inzident ist.
|
||||
@@ -731,7 +731,7 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 5 von 19
|
||||
b) Sei n ∈ N≥4 gerade. Betrachten Sie den Graphen Gn , der genau n Knoten und n Kanten hat und
|
||||
einen Kreis beschreibt. D.h. Gn = ({1, . . . , n}, {{i, i+1} | i ∈ {1, . . . , n−1}}∪{{n, 1}}). Wie viele
|
||||
Kanten hat ein M IN -E DGE -C OVER des Graphen Gn ? Wie schlecht ist die Approximationsrate
|
||||
Kanten hat ein MIN -EDGE -COVER des Graphen Gn ? Wie schlecht ist die Approximationsrate
|
||||
des Algorithmus A für Gn im schlimmsten Fall? Geben Sie eine Reihenfolge der Knoten (für
|
||||
Schritt 1) und eine Auswahl der Kanten (für Schritt 2) an, die zu einer möglichst schlechten
|
||||
Approximationsrate führen.
|
||||
@@ -740,7 +740,7 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
|
||||
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 6 von 19
|
||||
Aufgabe 4 B EWEIS – S CHEDULING AUF IDENTISCHEN M ASCHINEN (10 Punkte)
|
||||
Aufgabe 4 BEWEIS – SCHEDULING AUF IDENTISCHEN MASCHINEN (10 Punkte)
|
||||
Betrachten Sie das Scheduling-Problem P||Cmax :
|
||||
Problem: P||Cmax
|
||||
Eingabe: Eine Liste L = (J1 , . . . , Jn ) von n Jobs mit Ausführungszeiten p1 , . . . , pn ∈ N, und m
|
||||
@@ -755,7 +755,7 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
LS(I) die Last Cmax eines Schedules des Algorithmus, und OPT(I) die Last Cmax eines optimalen
|
||||
Schedules zur Eingabe I. Zeigen Sie: Für alle Eingaben I = (L, m) gilt LS(I)/OPT(I) ≤ 2 − 1/m.
|
||||
|
||||
Algorithmus L IST S CHEDULING(L = (J1 , . . . , Jn ), m)
|
||||
Algorithmus LIST SCHEDULING(L = (J1 , . . . , Jn ), m)
|
||||
|
||||
1 for i = 1 to m do
|
||||
2 Ei = 0; Bi = 0/ ;
|
||||
@@ -774,19 +774,19 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 8 von 19
|
||||
Aufgabe 5 NP UND NP-VOLLSTÄNDIGKEIT (4+5+6 Punkte)
|
||||
|
||||
Problem: H AMILTONIAN PATH
|
||||
Problem: HAMILTONIAN PATH
|
||||
Eingabe: Ein ungerichteter Graph G = (V, E)
|
||||
Entscheide: Existiert ein Pfad in G, der jeden Knoten genau einmal besucht?
|
||||
Problem: H AMILTONIAN C YCLE
|
||||
Problem: HAMILTONIAN CYCLE
|
||||
Eingabe: Ein ungerichteter Graph G = (V, E)
|
||||
Entscheide: Existiert ein Kreis in G, der jeden Knoten genau einmal besucht?
|
||||
|
||||
(a) Sei L ⊆ S UBSET S UM die Menge der (positiven) SubsetSum-Instanzen, bei denen keine der
|
||||
(a) Sei L ⊆ SUBSET SUM die Menge der (positiven) SubsetSum-Instanzen, bei denen keine der
|
||||
Itemgrößen eine Zweierpotenz ist. Zeigen Sie, dass L NP-vollständig ist.
|
||||
(b) Geben Sie eine polynomielle Reduktion von H AMILTONIAN PATH auf H AMILTONIAN C Y-
|
||||
(b) Geben Sie eine polynomielle Reduktion von HAMILTONIAN PATH auf HAMILTONIAN C Y-
|
||||
CLE an.
|
||||
|
||||
(c) Geben Sie eine polynomielle Reduktion von H AMILTONIAN C YCLE auf H AMILTONIAN -
|
||||
(c) Geben Sie eine polynomielle Reduktion von HAMILTONIAN CYCLE auf HAMILTONIAN -
|
||||
PATH an.
|
||||
|
||||
|
||||
@@ -795,14 +795,14 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 9 von 19
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 10 von 19
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 11 von 19
|
||||
Aufgabe 6 U NTERE S CHRANKEN UND ETH (5+5 Punkte)
|
||||
Aufgabe 6 UNTERE SCHRANKEN UND ETH (5+5 Punkte)
|
||||
Im Folgenden bezeichne ⟨I⟩ die Kodierungslänge der Instanz.
|
||||
(a) Wir betrachten folgendes Problem:
|
||||
Problem: H ITTING S ET
|
||||
Problem: HITTING SET
|
||||
Eingabe: Eine Menge U ′ sowie r′ Teilmengen F1′ , . . . , Fr′′ ⊆ U ′ und eine Zahl k′ .
|
||||
Entscheide: Gibt es eine Menge S′ ⊆ U ′ mit |S′ | ≤ k′ und S′ ∩ Fi′ ̸= 0/ für alle i′ ∈ {1, . . . , r′ }?
|
||||
|
||||
Sie dürfen nutzen, dass sich H ITTING S ET unter Annahme der ETH nicht in Zeit 2o(r ) ⟨I⟩O(1)
|
||||
Sie dürfen nutzen, dass sich HITTING SET unter Annahme der ETH nicht in Zeit 2o(r ) ⟨I⟩O(1)
|
||||
′
|
||||
|
||||
|
||||
@@ -810,7 +810,7 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
′
|
||||
|
||||
|
||||
Problem: S ET C OVER
|
||||
Problem: SET COVER
|
||||
Eingabe: Eine Menge U sowie r Teilmengen F1 , . . . , Fr ⊆ U und eine Zahl k.
|
||||
Entscheide: Gibt es eine Menge S ⊆ {1, . . . , r} mit |S| ≤ k und i∈S Fi = U?
|
||||
S
|
||||
@@ -819,9 +819,9 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
Welche unteren Schranken ergeben sich
|
||||
(i) in Hinblick auf |U| sowie
|
||||
(ii) in Hinblick auf r
|
||||
für S ET C OVER unter Annahme der ETH aus den unteren Schranken für H ITTING S ET, wenn
|
||||
für SET COVER unter Annahme der ETH aus den unteren Schranken für HITTING SET, wenn
|
||||
man folgende Reduktion von SetCover auf HittingSet verwendet?
|
||||
Sei (F ,U, k) eine S ET C OVER-Instanz. Setze V1 := U und V2 := {1, . . . , r}. Sei V := V1 ∪V˙ 2.
|
||||
Sei (F ,U, k) eine SET COVER-Instanz. Setze V1 := U und V2 := {1, . . . , r}. Sei V := V1 ∪V˙ 2.
|
||||
Weiter sei E = { {v, w} | v ∈ V1 , w ∈ V2 , v ∈ Fw }. Damit ist G = (V, E) ein bipartiter Graph
|
||||
mit Partitionen V1 ,V2 . Setze U ′ := {1, . . . , r}. Erzeuge nun eine Menge Fw′ für jeden Knoten
|
||||
w ∈ V1 , indem Fw′ := { v ∈ V2 | {v, w} ∈ E } gesetzt wird. Sei F ′ := { Fw′ | w ∈ V1 }. Mit k′ = k
|
||||
@@ -833,14 +833,14 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)« Seite 12 von 19
|
||||
(b) Wir wollen uns mit einem Problem beschäftigen, das ein mächtiges Werkzeug im Bereich
|
||||
der Optimierung ist: Integrale Lineare Programme (ILPs).
|
||||
Problem: ILP-F EASIBILITY
|
||||
Problem: ILP-FEASIBILITY
|
||||
Eingabe: Eine Matrix A ∈ ZM×N , eine rechte Seite b ∈ ZM .
|
||||
Entscheide: Gibt es einen Vektor x ∈ ZN≥0 mit Ax ≤ b, d.h. Ai xi ≤ bi für alle i ∈ {1, . . . , M}?
|
||||
Welche unteren Schranken ergeben sich
|
||||
(i) in Hinblick auf M sowie
|
||||
(ii) im Hinblick auf N
|
||||
für ILP-F EASIBILITY unter Annahme der ETH, wenn man folgende Reduktion von 3-SAT
|
||||
auf ILP-F EASIBILITY verwendet?
|
||||
für ILP-FEASIBILITY unter Annahme der ETH, wenn man folgende Reduktion von 3-SAT
|
||||
auf ILP-FEASIBILITY verwendet?
|
||||
Sei φ eine 3-SAT Instanz mit m Klauseln (Ci )i∈m und n Variablen. Analog zu linearen Glei-
|
||||
chungssystemen (Ax = b), die aus M Gleichungen bestehen, haben wir bei Ax ≤ b einen
|
||||
Satz von M linearen Ungleichungen. Wir konstruieren diese wie folgt: Wir nutzen N := 2n
|
||||
@@ -850,7 +850,7 @@ Klausur »Analyse von Algorithmen und Komplexität (Komplexitätsteil)«
|
||||
chung − ∑ℓ∈Ci xℓ ≤ −1. Weiter erzeugen wir für jede SAT-Variable v zwei Ungleichungen:
|
||||
xv +xv̄ ≤ 1 und −xv −xv̄ ≤ −1. Durch das Eintragen der entsprechenden Koeffizienten in eine
|
||||
erweiterte Koeffizientenmatrix (bestehend aus Matrix A und rechter Seite b) erhalten wir die
|
||||
ILP-F EASIBILITY Instanz.
|
||||
ILP-FEASIBILITY Instanz.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
Definition 1 (Knapsack (Entscheidungsvariante)). Gegeben ist eine Menge mit n Gegenständen
|
||||
mit Gewichten w1 , . . . , wn ∈ N≥0 und Profiten p1 , . . . , pn ∈ N≥0 . Weiter sind eine Kapazität
|
||||
K ∈ N≥0 und ein Zielprofit P ∈ N≥0 gegeben. Bei dem K NAPSACK Problem muss entschieden
|
||||
K ∈ N≥0 und ein Zielprofit P ∈ N≥0 gegeben. Bei dem KNAPSACK Problem muss entschieden
|
||||
werden, ob eine Teilmenge S ⊆ [n] existiert, sodass
|
||||
|
||||
∑ wi ≤ K und ∑ pi ≥ P
|
||||
@@ -19,8 +19,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.
|
||||
@@ -34,7 +34,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
|
||||
@@ -88,7 +88,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.
|
||||
|
||||
@@ -97,27 +97,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 ∈ N≥0 gegeben und
|
||||
Für das VERTEX COVER Problem ist neben einem Graphen G eine Zahl k ∈ N≥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 ∈ N≥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 ∈ N≥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 ∈ N≥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 ∈ N≥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
|
||||
@@ -125,8 +125,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
|
||||
@@ -134,8 +134,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)
|
||||
@@ -187,7 +187,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.
|
||||
@@ -197,59 +197,59 @@ 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 ∈ N 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 ∈ N>0 (wobei n
|
||||
Für das Problem SUBSET SUM CARDINALITY seien n ganze Zahlen c1 , . . . , cn ∈ N>0 (wobei n
|
||||
gerade sei) sowie eine Zahl K ∈ N 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 ∈ N>0 und Zahl K ∈ N. Frage: Gibt
|
||||
SUBSET SUM Problem: Gegeben: n ganze Zahlen c1 , . . . , cn ∈ N>0 und Zahl K ∈ N. 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.
|
||||
@@ -261,9 +261,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 Algorithmen und Komplexität
|
||||
Prof. Dr. K. Jansen, B. Schumacher, C. Wambsganz
|
||||
@@ -287,12 +287,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.
|
||||
@@ -388,7 +388,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 CV(G = (V, E))
|
||||
Algorithmus 2APPROX CV(G = (V, E))
|
||||
|
||||
1 C = {}
|
||||
2 foreach {u, v} ∈ E do
|
||||
@@ -411,8 +411,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 13.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 ∈ N≥6 mit n mod 4 = 2 und
|
||||
@@ -472,7 +472,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
|
||||
|
||||
|
||||
@@ -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