• Keine Ergebnisse gefunden

Korrektur: Vorlesung VL-09, Folie 6

N/A
N/A
Protected

Academic year: 2022

Aktie "Korrektur: Vorlesung VL-09, Folie 6"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-14: Reduzierbarkeit

(Berechenbarkeit und Komplexit¨ at, WS 2017) Gerhard Woeginger

WS 2017, RWTH

BuK/WS 2017 VL-14: Reduzierbarkeit 1/42

Organisatorisches

I 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.

(2)

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.

(3)

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?

(4)

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γur den Profit I Frage: Existiert eine zul¨assige L¨osungKmitp(K)γ?

(5)

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| ≥γ?

(6)

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

(7)

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

(8)

Polynomielle Reduktionen (1)

Definition

Es seienL1 undL2Sprachen ¨uberΣ1bzw. Σ2.

Dann istL1polynomiell reduzierbaraufL2(mit der Notation L1pL2), 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

FallsL1pL2und 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

(9)

COLORING ≤

p

SAT

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 ≤

p

SAT: 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 ≤

p

SAT: 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 ≤

p

SAT: 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

(10)

COLORING ≤

p

SAT: 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 ¨ ≤

p

SAT

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

(11)

Vertex Cover ≤

p

SAT

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 ≤

p

SAT: 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

Referenzen

ÄHNLICHE DOKUMENTE

Grundwert ist der wahre Wert

Zum Beispiel: Kartenspiel mit 52 Kar- ten, davon 4 K¨onige.. Ziehen von 2 Karten

(b) Zeigen Sie mit Hilfe der Resolutionsmethode, dass die vier Ritter nur zufrieden sind, wenn Galahad als einziger K¨ onig Artus bei der Suche nach dem heiligen Gral

der Gesemtwert aller Maschinenzeiten m¨oglichst klein ist: min b T u, die Kosten f¨ur die Erzeugung der einzelnen Produkte mindestens gleich den mit diesen Produkten erzielten

Quadratwurzeln. L¨

Deshalb steht ∇h(x, y, z) senkrecht auf der durch den Punkt ver- laufenden Niveaufl¨ ache

Daher verschwin- det die Arbeit entlang jedes geschlossenen

Alternativ kann dies auch direkt