VL-14: Reduzierbarkeit
(Berechenbarkeit und Komplexit¨ at, WS 2017) Gerhard Woeginger
WS 2017, RWTH
BuK/WS 2017 VL-14: Reduzierbarkeit 1/42
Organisatorisches
I N¨achste Vorlesung:
Donnerstag, Dezember 14, 12:15–13:45 Uhr, Aula
I Webseite:
http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php
BuK/WS 2017 VL-14: Reduzierbarkeit 2/42
Wiederholung
Korrektur: Vorlesung VL-09, Folie 6
Satz (alte Version; v¨ ollig falsch)
FallsL1≤L2und fallsL2nicht entscheidbarist, so istL1nicht entscheidbar.
Satz (korrekt)
FallsL1≤L2und fallsL1nicht entscheidbarist, so istL2nicht entscheidbar.
Wdh.: Nichtdeterministische Turingmaschine (NTM)
0 1 1 0 1 1 0 0 1 1 0 1 0 · · ·
· · ·
δ 0 1 B
q0 {(q0,B,R),(q1,B,R)} {reject} {reject}
q1 {reject} {(q1,B,R),(q2,B,R)} {reject}
q2 {reject} {reject} {accept}
BuK/WS 2017 VL-14: Reduzierbarkeit 5/42
Wdh.: P und NP
Komplexit¨ atsklassen P und NP
Pist die Klasse aller Entscheidungsprobleme, f¨ur die es einen polynomiellen Algorithmus gibt.
NPist die Klasse aller Entscheidungsprobleme, die durch eine NTMM erkannt werden,
deren Worst Case LaufzeittM(n)polynomiell beschr¨ankt ist.
Satz (Zertifikat Charakterisierung von NP)
Eine SpracheL⊆Σ∗ liegt genau dann in NP,
wenn es einen polynomiellen (deterministischen) AlgorithmusV und ein Polynomp mit der folgenden Eigenschaft gibt:
x ∈L ⇐⇒ ∃y ∈ {0,1}∗, |y| ≤p(|x|) : V akzeptierty#x
BuK/WS 2017 VL-14: Reduzierbarkeit 6/42
Vorlesung VL-14 Reduzierbarkeit
IDie Komplexit¨atsklasse EXPTIME
IOptimierungsprobleme versus Entscheidungsprobleme IPolynomielle Reduktionen
Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primes
SAT
Clique Ind-Set VC
Ham-Cycle TSP Partition
Subset-Sum
Ex-Cover
Warnung: Dieser Abbildung liegt die AnnahmeP6=NPzu Grunde.
Die Komplexit¨ atsklasse EXPTIME
BuK/WS 2017 VL-14: Reduzierbarkeit 9/42
EXPTIME (1): Definition
Definition: Komplexit¨ atsklasse EXPTIME
EXPTIMEist die Klasse aller Entscheidungsprobleme,
die durch eine DTMM entschieden werden, deren Worst Case Laufzeit durch2q(n) mit einem Polynomqbeschr¨ankt ist, Laufzeit-Beispiele:2
√n, 2n, 3n, n!, nn. Aber nicht:22n
Wie verhalten sich die KlassenPundNPzuEXPTIME?
BuK/WS 2017 VL-14: Reduzierbarkeit 10/42
EXPTIME (2): NP ⊆ EXPTIME
Satz
NP⊆EXPTIME
I Es seiL∈NP
I Dann gibt es ein Polynompund einen polynomiellen AlgorithmusV x∈L ⇐⇒ ∃y ∈ {0,1}∗, |y| ≤p(|x|) : V akzeptierty#x
I Wir enummerieren alle Kandidateny ∈ {0,1}∗ mit|y| ≤p(|x|) Wir testen jeden Kandidaten mit dem VerifiziererV
Wir akzeptieren, fallsV einen der Kandidaten akzeptiert
I Anzahl der Kandidaten≈ 2p(|x|)
Zeit pro Kandidat≈polynomiell in |x|plus |y|
⇒ Gesamtzeit≈ 2p(|x|)+const·log|x|
EXPTIME (3): Zwei Beispiele
Problem: Satisfiability (SAT)
Eingabe:Eine Boole’sche Formelϕin CNF ¨uber der Boole’schen VariablenmengeX ={x1, . . . ,xn}
Frage: Existiert eine Wahrheitsbelegung vonX, dieϕerf¨ullt?
Problem: Hamiltonkreis (HAM-CYCLE)
Eingabe:Ein ungerichteter GraphG = (V,E)mit|V|=n Frage: BesitztG einen Hamiltonkreis?
Frage:
Welche exponentielle Zeitkomplexit¨at ergibt sich aus dem vorangehenden Beweis f¨ur die beiden Probleme SAT und HAM-CYCLE?
Optimierungsprobleme versus Entscheidungsprobleme
BuK/WS 2017 VL-14: Reduzierbarkeit 13/42
Optimierungsprobleme
Definition: Optimierungsproblem
Die Eingabe eines Optimierungsproblems spezifiziert (zumeist implizit) eine MengeLvonzul¨assigen L¨osungenzusammen mit einerZielfunktion f :L →N(die Kosten, Gewicht, oder Profit misst).
Das Ziel ist es, eine optimale L¨osung inLzu berechnen. In Minimierungsproblemensollen die Kosten minimiert werden, und in Maximierungsproblemensoll der Profit maximiert werden.
Dilemma:
I Die Klassen P und NP enthalten ausschliesslichEntscheidungsprobleme I Aber: Viele praxis-relevante Probleme sindOptimierungsprobleme
Ausweg:
I Wir formulieren das Optimierungsprobleme in ein “sehr ¨ahnliches”
Entscheidungsproblem um.
BuK/WS 2017 VL-14: Reduzierbarkeit 14/42
Beispiel: Rucksackproblem (1)
Maximal 10 kg
p1=20 w1=6.5 kg
p6=30 w6=1 kg
p3=0.01 w3=0.1 kg
p4=5 w4=1 kg
p5=0.1 w5=0.1 kg
p2=200 w2=3 kg
Beispiel: Rucksackproblem (2)
I Beim Rucksackproblem (Knapsack problem, KP) sindnObjekte mit Gewichtenw1, . . . ,wn und Profiten p1, . . . ,pn gegeben
I Ausserdem ist eine Gewichtsschrankebgegeben
I Wir suchen eine TeilmengeK der Objekte, die in einen Rucksack mit Gewichtsschrankebpasst und die den Gesamtprofit maximiert
Problem: Rucksack / Knapsack (KP)
Eingabe:Nat¨urliche Zahlenw1, . . . ,wn,p1, . . . ,pn, undb Zul¨assige L¨osung:MengeK ⊆ {1, . . . ,n}mitw(K) :=P
i∈Kwi≤b Ziel:Maximierep(K) :=P
i∈Kpi
Entscheidungsproblem:
I Die Eingabe enth¨alt zus¨atzlich eine Schrankeγf¨ur den Profit I Frage: Existiert eine zul¨assige L¨osungKmitp(K)≥γ?
Beispiel: Bin Packing (1)
Beh¨alter b=7 z}|{
Objekte
2 4
3 3
6 3
1
6
3 3
Diese L¨osung verwendetk =6 Kisten
BuK/WS 2017 VL-14: Reduzierbarkeit 17/42
Beispiel: Bin Packing (2)
BeimBin PackingsollennObjekte mit Gewichtenw1, . . . ,wn auf eine m¨oglichst kleine Anzahl von Kisten mit Gewichtslimitbverteilt werden.
Problem: Bin Packing (BPP)
Eingabe:Nat¨urliche Zahlenbund w1, . . . ,wn∈ {1, . . . ,b}
Zul¨assige L¨osung:Zahl k∈Nund Funktionf :{1, . . . ,n} → {1, . . . ,k}
sodass∀i ∈ {1, . . . ,k}: X
j∈f−1(i)
wj≤b
Ziel:Minimierek (= Anzahl der Kisten) Entscheidungsproblem:
I Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ I Frage: Existiert eine zul¨assige L¨osung mitγKisten?
BuK/WS 2017 VL-14: Reduzierbarkeit 18/42
Beispiel: Travelling Salesman
I Beim Travelling Salesman Problem sind St¨adte1, . . . ,ngegeben, zusammen mit Distanzend(i,j)f¨ur1≤i 6=j ≤n
I Gesucht ist eine m¨oglichst kurze Rundreise (Hamiltonkreis; Tour) durch alle St¨adte
Problem: Travelling Salesman (TSP)
Eingabe:Nat¨urliche Zahlend(i,j)f¨ur1≤i 6=j≤n Zul¨assige L¨osung:Permutationπvon1, . . . ,n Ziel:Minimiered(π) :=
n−1
X
i=1
d(π(i), π(i+1)) +d(π(n), π(1))
Entscheidungsproblem:
IDie Eingabe enth¨alt zus¨atzlich eine Schrankeγ
IFrage: Existiert eine zul¨assige L¨osung mit Gesamtl¨anged(π)≤γ?
Beispiel: Independent Set
Problem: Independent Set (INDEP-SET)
Eingabe:Ein ungerichteter GraphG = (V,E)
Zul¨assige L¨osung:Teilmenge S⊆V, die keine Kanten induziert Ziel:Maximiere|S|
Entscheidungsproblem:
I Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ I Frage: Existiert eine zul¨assige L¨osung mit|S| ≥γ?
Optimierungsproblem versus Entscheidungsproblem
F¨ur ein Optimierungsproblem mit einer MengeLvon zul¨assigen L¨osungen und einer Gewichtsfunktionf :L →Ndefinieren wir das entsprechende Entscheidungsproblem:
Eingabe:Wie im Optimierungsproblem, plus Schrankeγ∈N Frage:Existiert eine zul¨assige L¨osungx ∈ L
mit f(x)≥γ (f¨ur Maximierungsprobleme) respektive mit f(x)≤γ (f¨ur Minimierungsprobleme)?
I Mit Hilfe eines Algorithmus, der das Optimierungsproblem l¨ost, kann man das entsprechende Entscheidungsproblem l¨osen.(Wie?)
I Mit Hilfe eines Algorithmus, der das Entscheidungsproblem l¨ost, kann manoft auchdas entsprechende Optimierungsproblem l¨osen.
I Wir illustrieren dies am Beispiel vom Rucksackproblem.
BuK/WS 2017 VL-14: Reduzierbarkeit 21/42
Beispiel: Rucksackproblem (1)
Eingabe: Nat¨urliche Zahlenw1, . . . ,wn, p1, . . . ,pn; b; γ Zul¨assig: MengeK ⊆ {1, . . . ,n}mitw(K)≤b
Optimierung: BerechneK mit maximalemp(K) Entscheidung:ExistiertK mit p(K)≥γ?
Satz
Wenn das Entscheidungsproblem f¨urKPin polynomieller Zeit l¨osbar ist, so ist auch das Optimierungsproblem f¨urn KPin polynomieller Zeit l¨osbar.
Beweis:
Aus einem polynomiellen AlgorithmusA f¨urs Entscheidungsproblem
I konstruieren wir zuerst einen polynomiellen Algorithmus B, der den optimalen Zielfunktionswert bestimmt (Phase 1),
I und dann einen polynomiellen AlgorithmusC, der die optimale zul¨assige L¨osung bestimmt (Phase 2).
BuK/WS 2017 VL-14: Reduzierbarkeit 22/42
Beispiel: Rucksackproblem (2a)
Algorithmus B f¨ ur (Phase 1)
Wir f¨uhren eine Bin¨are Suche mit den folgenden Parametern durch:
I Der minimale Profit ist0.
I Der maximale Profit istP:=
n
X
i=1
pi.
I Wir finden den optimalen Zielfunktionswert durch Bin¨are Suche ¨uber dem Wertebereich{0, . . . ,P}.
I In jeder Iteration verwenden wir den polynomiellen AlgorithmusA (f¨ur das Entscheidungsproblem), der uns sagt in welcher Richtung wir weitersuchen m¨ussen
Die Anzahl der Iterationen der Bin¨arsuche istdlog(P+1)e.
Beispiel: Rucksackproblem (2b)
Untersuchung der Eingabel¨ ange:
I Die Kodierungsl¨ange vona∈Nistκ(a) :=dlog(a+1)e.
I Die Funktionκ ist subadditiv:
F¨ur alle a,b∈Ngiltκ(a+b)≤κ(a) +κ(b).
I Die Eingabel¨angeLdes Rucksackproblems betr¨agt mindestens
n
X
i=1
κ(pi) ≥ κ
n
X
i=1
pi
!
= κ(P) = dlog(P+1)e
I (Phase 1) besteht im wesentlichen ausdlog(P+1)e ≤LAufrufen des polynomiellen AlgorithmusA
I Also ist die Gesamtlaufzeit von (Phase 1) polynomiell in der Eingabel¨ange des Rucksackproblems beschr¨ankt
Beispiel: Rucksackproblem (3a)
Aus dem AlgorithmusB f¨ur (Phase 1) konstruieren wir nun den
AlgorithmusC f¨ur (Phase 2), der die optimale zul¨assige L¨osung bestimmt
Algorithmus C f¨ ur (Phase 2)
1 K:={1, . . . ,n};
2 opt:=B(K);
3 FORi :=1 TOndo
4 IFB(K\ {i}) =opt THENK :=K\ {i}; ENDIF;
5 ENDFOR;
6 OUTPUT K
DieLaufzeitvon AlgorithmusC besteht im wesentlichen ausn+1 Aufrufen des polynomiellen AlgorithmusB, und ist somit polynomiell beschr¨ankt
BuK/WS 2017 VL-14: Reduzierbarkeit 25/42
Beispiel: Rucksackproblem (3b)
I Um dieKorrektheitvon AlgorithmusC zu beweisen, benutzen wir die Schleifeninvariante “B(K) =opt”
I Die ausgegebene MengeK erf¨ullt daherB(K) =opt, und liefert den optimalen Zielfunktionswert
Ist die ausgegebene Menge K auch zul¨ assig?
I Zwecks Widerspruchs nehmen wir an, dassP
i∈Kwi>bgilt
I Das bedeutet, dass nicht alle Objekte in den Rucksack passen
I Aber dann gibt esi ∈K, sodassB(K\ {i}) =opt
I Ein Widerspruch, da AlgorithmusC das Objekti nicht ausK gestrichen hat
I Also giltP
i∈Kwi ≤bundK ist zul¨assig
BuK/WS 2017 VL-14: Reduzierbarkeit 26/42
Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primes
SAT
Clique Ind-Set VC
Ex-Cover
Ham-Cycle TSP Partition
Subset-Sum Rucksack
BPP
Warnung: Dieser Abbildung liegt die AnnahmeP6=NPzu Grunde.
Polynomielle Reduktionen
Polynomielle Reduktionen (1)
Definition
Es seienL1 undL2Sprachen ¨uberΣ1bzw. Σ2.
Dann istL1polynomiell reduzierbaraufL2(mit der Notation L1≤pL2), wenn eine polynomiellberechenbare Funktionf: Σ∗1→Σ∗2 existiert, so dass f¨ur allex ∈Σ∗1 gilt: x ∈L1 ⇔ f(x)∈L2.
{0,1}∗ {0,1}∗
L2
L1
f
BuK/WS 2017 VL-14: Reduzierbarkeit 29/42
Polynomielle Reduktionen (2)
Satz
FallsL1≤pL2und fallsL2∈P, so giltL1∈P.
Beweis
I Die Reduktionf hat die polynomielle Laufzeitschrankep(·)
I Der AlgorithmusA2 entscheidetL2 mit einer polynomiellen Laufzeitschrankeq(·)
Wir konstruieren einen AlgorithmusA1, derL1entscheidet:
Schritt 1: Berechnef(x)
Schritt 2: Simuliere AlgorithmusA2auf f(x)
Schritt 3: Akzeptierex, genau dann wennA2 akzeptiert Schritt 1 hat Laufzeitp(|x|)und
Schritt 2 hat Laufzeitq(|f(x)|) ≤ q(p(|x|) +|x|)
BuK/WS 2017 VL-14: Reduzierbarkeit 30/42
Polynomielle Reduktionen (3)
AlgorithmusA1 f¨urL1
x
Reduktion Algorithmus A2 f¨urL2
x ∈L1
f(x) f(x)∈L2
Beispiel zu Reduktionen:
COLORING ≤ p SAT
COLORING ≤
pSAT
Problem: Knotenf¨ arbung / COLORING
Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahlk ∈N Frage:Gibt es eine F¨arbungc :V → {1, . . . ,k}der Knoten
mit k Farben, sodass benachbarte Knoten verschiedene Farben erhalten? ∀e={u,v} ∈E : c(u)6=c(v)?
Problem: Satisfiability (SAT)
Eingabe:Boole’sche Formelϕin CNF ¨uber der VariablenmengeX Frage:Existiert eine Wahrheitsbelegung vonX, dieϕ erf¨ullt?
Satz
COLORING≤p SAT
BuK/WS 2017 VL-14: Reduzierbarkeit 33/42
COLORING ≤
pSAT: Die Reduktion
Die Boole’schen Variablen
F¨ur jeden Knotenv∈V und f¨ur jede Farbei ∈ {1, . . . ,k}
f¨uhren wir eine Boole’sche Variablexvi ein.
Die Klauseln
F¨ur jeden Knotenv∈V
verwenden wir die Klausel (xv1+xv2+. . .+xvk) F¨ur jede Kante {u,v} ∈E und jede Farbei ∈ {1, . . . ,k}
verwenden wir die Klausel (¯xui + ¯xvi)
I Anzahl der Variablen =k|V|
I Anzahl der Klauseln =|V|+k|E|
I Gesamtl¨ange der Formel =k|V|+2k|E| ∈ O(k|V|2)
BuK/WS 2017 VL-14: Reduzierbarkeit 34/42
COLORING ≤
pSAT: Korrektheit (1)
GraphG hatk-F¨arbung ⇒ Formelϕist erf¨ullbar
I Es seic eine k-F¨arbung f¨urG
I F¨ur jeden Knotenv mitc(v) =i setzen wirxvi =1.
Alle anderen Variablen setzen wir auf0.
I F¨ur jeden Knotenv ∈V ist(xv1+xv2+. . .+xvk)erf¨ullt
I F¨ur{u,v} ∈E undi ∈ {1, . . . ,k}ist(¯xui+ ¯xvi)erf¨ullt (Andernfalls h¨atten beide Knotenu undv die selbe Farbei.)
I Ergo: Diese Wahrheitsbelegung erf¨ullt die Formelϕ
COLORING ≤
pSAT: Korrektheit (2)
Formelϕist erf¨ullbar ⇒ GraphG hatk-F¨arbung
I Wir betrachten eine beliebige erf¨ullende Belegung f¨urϕ
I Wegen der Klausel(xv1+xv2+. . .+xvk)gibt es f¨ur jeden Knotenv mindestens eine Farbei mit xvi =1
I F¨ur jeden Knoten w¨ahlen wir eine beliebige derartige Farbe aus
I Wir behaupten:c(u)6=c(v)gilt f¨ur jede Kante {u,v} ∈E
I Beweis: Falls c(u) =c(v) =i, dann giltxui =xvi =1. Dann w¨are aber die Klausel(¯xui + ¯xvi)verletzt
COLORING ≤
pSAT: Konsequenzen
Aus unserer ReduktionCOLORING≤p SATfolgt:
Folgerung
Wenn SAT einen polynomiellen Algorithmus hat,
so hat auch COLORING einen polynomiellen Algorithmus.
Folgerung
Wenn COLORING keinen polynomiellen Algorithmus hat, so hat auch SAT keinen polynomiellen Algorithmus.
BuK/WS 2017 VL-14: Reduzierbarkeit 37/42
Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primes
SAT
Clique Ind-Set VC
Ex-Cover
Ham-Cycle TSP Partition
Subset-Sum Rucksack
BPP Coloring
Warnung: Dieser Abbildung liegt die AnnahmeP6=NPzu Grunde.
BuK/WS 2017 VL-14: Reduzierbarkeit 38/42
Ubung: Ex-Cover ¨ ≤
pSAT
Problem: Exact Cover (Ex-Cover)
Eingabe:Eine endliche MengeX; TeilmengenS1, . . . ,Sm vonX Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,m},
sodass die MengenSi mit i ∈I eine Partition vonX bilden?
Ubung ¨
Zeigen Sie: Ex-Cover≤p SAT
Nicht-Beispiel zu Reduktionen:
Vertex Cover ≤ p SAT
Vertex Cover ≤
pSAT
Problem: Vertex Cover (VC)
Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahlk ∈N Frage:Enth¨altG ein Vertex Cover mitk Knoten?
Vertex CoverS⊆V enth¨alt mindestens einen Endpunkt von jeder Kante
Problem: Satisfiability (SAT)
Eingabe:Boole’sche Formelϕin CNF ¨uber der VariablenmengeX Frage:Existiert eine Wahrheitsbelegung vonX, dieϕ erf¨ullt?
Satz (???)
Vertex Cover≤p SAT
BuK/WS 2017 VL-14: Reduzierbarkeit 41/42
Vertex Cover ≤
pSAT: Die Reduktion (???)
Die Boole’schen Variablen
F¨ur jeden Knotenv∈V
f¨uhren wir eine Boole’sche Variablexv ein.
Die Klauseln
F¨ur jede Kante {u,v} ∈E
verwenden wir die Klausel (xu+xv) F¨ur jede(k+1)-elementige TeilmengeS⊆V
verwenden wir die Klausel _
v∈S
¯ xv
I Anzahl der Variablen =|V|
I Anzahl der Klauseln≈|V|k
I Gesamtl¨ange der Formel≈k|V|k
BuK/WS 2017 VL-14: Reduzierbarkeit 42/42