• Keine Ergebnisse gefunden

VL-14: Reduzierbarkeit (Berechenbarkeit und Komplexit¨at, WS 2017) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-14: Reduzierbarkeit (Berechenbarkeit und Komplexit¨at, WS 2017) Gerhard Woeginger"

Copied!
99
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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

WS 2017, RWTH

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

(2)

Organisatorisches

N¨achste Vorlesung:

Donnerstag, Dezember 14, 12:15–13:45 Uhr, Aula Webseite:

http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php

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

(3)

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

(4)

Korrektur: Vorlesung VL-09, Folie 6

Satz (alte Version; v¨ollig falsch)

FallsL1≤L2 und fallsL2 nicht entscheidbarist, so istL1nicht entscheidbar.

Satz (korrekt)

FallsL1≤L2 und fallsL1 nicht entscheidbarist, so istL2nicht entscheidbar.

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

(5)

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

(6)

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

(7)

Reduzierbarkeit

Die Komplexit¨atsklasse EXPTIME

Optimierungsprobleme versus Entscheidungsprobleme Polynomielle Reduktionen

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

(8)

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=NP zu Grunde.

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

(9)

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

(10)

EXPTIME (1): Definition

Definition: Komplexit¨atsklasse EXPTIME

EXPTIMEist die Klasse aller Entscheidungsprobleme,

die durch eine DTM M entschieden werden, deren Worst Case Laufzeit durch 2q(n) mit einem Polynomq beschr¨ankt ist, Laufzeit-Beispiele:2n, 2n, 3n, n!, nn. Aber nicht:22n

Wie verhalten sich die KlassenPundNP zuEXPTIME?

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

(11)

Definition: Komplexit¨atsklasse EXPTIME

EXPTIMEist die Klasse aller Entscheidungsprobleme,

die durch eine DTM M entschieden werden, deren Worst Case Laufzeit durch 2q(n) mit einem Polynomq beschr¨ankt ist, Laufzeit-Beispiele:2n, 2n, 3n, n!, nn. Aber nicht:22n

Wie verhalten sich die KlassenPundNP zuEXPTIME?

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

(12)

EXPTIME (2): NP ⊆ EXPTIME

Satz

NP⊆EXPTIME

Es seiL∈NP

Dann gibt es ein Polynom pund einen polynomiellen AlgorithmusV x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x Wir enummerieren alle Kandidateny ∈ {0,1}mit|y| ≤p(|x|) Wir testen jeden Kandidaten mit dem VerifiziererV

Wir akzeptieren, fallsV einen der Kandidaten akzeptiert Anzahl der Kandidaten≈ 2p(|x|)

Zeit pro Kandidat ≈polynomiell in|x|

⇒ Gesamtzeit ≈ 2p(|x|)+log|x|

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

(13)

EXPTIME (2): NP ⊆ EXPTIME

Satz

NP⊆EXPTIME

Es seiL∈NP

Dann gibt es ein Polynom pund einen polynomiellen AlgorithmusV x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Wir testen jeden Kandidaten mit dem VerifiziererV Wir akzeptieren, fallsV einen der Kandidaten akzeptiert Anzahl der Kandidaten≈ 2p(|x|)

Zeit pro Kandidat ≈polynomiell in|x|

⇒ Gesamtzeit ≈ 2p(|x|)+log|x|

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

(14)

EXPTIME (2): NP ⊆ EXPTIME

Satz

NP⊆EXPTIME

Es seiL∈NP

Dann gibt es ein Polynom pund einen polynomiellen AlgorithmusV x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x Wir enummerieren alle Kandidateny ∈ {0,1}mit|y| ≤p(|x|) Wir testen jeden Kandidaten mit dem VerifiziererV

Wir akzeptieren, fallsV einen der Kandidaten akzeptiert

Anzahl der Kandidaten≈ 2p(|x|) Zeit pro Kandidat ≈polynomiell in|x|

⇒ Gesamtzeit ≈ 2p(|x|)+log|x|

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

(15)

Satz

NP⊆EXPTIME

Es seiL∈NP

Dann gibt es ein Polynom pund einen polynomiellen AlgorithmusV x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x Wir enummerieren alle Kandidateny ∈ {0,1}mit|y| ≤p(|x|) Wir testen jeden Kandidaten mit dem VerifiziererV

Wir akzeptieren, fallsV einen der Kandidaten akzeptiert Anzahl der Kandidaten≈ 2p(|x|)

Zeit pro Kandidat ≈polynomiell in|x|

⇒ Gesamtzeit ≈ 2p(|x|)+log|x|

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

(16)

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?

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

(17)

Entscheidungsprobleme

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

(18)

Optimierungsprobleme

Definition: Optimierungsproblem

Die Eingabe eines Optimierungsproblems spezifiziert (zumeist implizit) eine MengeLvonzul¨assigen L¨osungenzusammen mit einer Zielfunktion f :L →N(die Kosten, Gewicht, oder Profit misst).

Das Ziel ist es, eine optimale L¨osung inL zu berechnen. In Minimierungsproblemensollen die Kosten minimiert werden, und in Maximierungsproblemensoll der Profit maximiert werden.

Dilemma:

Die Klassen P und NP enthalten ausschliesslichEntscheidungsprobleme Aber: Viele praxis-relevante Probleme sindOptimierungsprobleme

Ausweg:

Wir formulieren das Optimierungsprobleme in ein “sehr ¨ahnliches” Entscheidungsproblem um.

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

(19)

Definition: Optimierungsproblem

Die Eingabe eines Optimierungsproblems spezifiziert (zumeist implizit) eine MengeLvonzul¨assigen L¨osungenzusammen mit einer Zielfunktion f :L →N(die Kosten, Gewicht, oder Profit misst).

Das Ziel ist es, eine optimale L¨osung inL zu berechnen. In Minimierungsproblemensollen die Kosten minimiert werden, und in Maximierungsproblemensoll der Profit maximiert werden.

Dilemma:

Die Klassen P und NP enthalten ausschliesslichEntscheidungsprobleme Aber: Viele praxis-relevante Probleme sindOptimierungsprobleme

Ausweg:

Wir formulieren das Optimierungsprobleme in ein “sehr ¨ahnliches”

Entscheidungsproblem um.

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

(20)

Beispiel: Rucksackproblem (1)

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

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

(21)

Beispiel: Rucksackproblem (2)

Beim Rucksackproblem (Knapsack problem, KP) sind nObjekte mit Gewichten w1, . . . ,wn und Profitenp1, . . . ,pngegeben

Ausserdem ist eine Gewichtsschrankebgegeben

Wir suchen eine TeilmengeK der Objekte, die in einen Rucksack mit Gewichtsschranke bpasst und die den Gesamtprofit maximiert Problem: Rucksack / Knapsack (KP)

Eingabe:Nat¨urliche Zahlenw1, . . . ,wn,p1, . . . ,pn, und b Zul¨assige L¨osung:MengeK⊆ {1, . . . ,n}mitw(K) :=P

i∈Kwi≤b Ziel:Maximierep(K) :=P

i∈Kpi

Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ f¨ur den Profit Frage: Existiert eine zul¨assige L¨osungK mitp(K)≥γ?

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

(22)

Beispiel: Rucksackproblem (2)

Beim Rucksackproblem (Knapsack problem, KP) sind nObjekte mit Gewichten w1, . . . ,wn und Profitenp1, . . . ,pngegeben

Ausserdem ist eine Gewichtsschrankebgegeben

Wir suchen eine TeilmengeK der Objekte, die in einen Rucksack mit Gewichtsschranke bpasst und die den Gesamtprofit maximiert Problem: Rucksack / Knapsack (KP)

Eingabe:Nat¨urliche Zahlenw1, . . . ,wn,p1, . . . ,pn, und b Zul¨assige L¨osung:MengeK⊆ {1, . . . ,n}mitw(K) :=P

i∈Kwi≤b Ziel:Maximierep(K) :=P

i∈Kpi

Entscheidungsproblem:

Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ f¨ur den Profit Frage: Existiert eine zul¨assige L¨osungK mitp(K)≥γ?

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

(23)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2

4

3

3

6 3

1

6

3 3

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

(24)

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

(25)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2

4

3

3

3 1

6

3 3

Diese L¨osung verwendetk=6 Kisten

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

(26)

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

(27)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2

4

3

3

3

1

6

3 3

Diese L¨osung verwendetk=6 Kisten

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

(28)

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

(29)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2

4

3

3

3

1

3 3

Diese L¨osung verwendetk=6 Kisten

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

(30)

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

(31)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2 3

3

3

1

3 3

Diese L¨osung verwendetk=6 Kisten

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

(32)

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

(33)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2

4

3

6

3

1

6

3 3

Diese L¨osung verwendetk=6 Kisten

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

(34)

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

(35)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2

4 3

6

3

1

6

3 3

Diese L¨osung verwendetk=6 Kisten

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

(36)

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

(37)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2

4 3

6 3

1

6

3 3

Diese L¨osung verwendetk=6 Kisten

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

(38)

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

(39)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2

4 3

6 3

1

6

3

Diese L¨osung verwendetk=6 Kisten

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

(40)

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

(41)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

2

4 3

6 3

1

6

3

Diese L¨osung verwendetk=6 Kisten

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

(42)

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

(43)

Beispiel: Bin Packing (1)

Beh¨alter b=7 z}|{

Objekte

4 3

6 3

1

6

3

Diese L¨osung verwendetk=6 Kisten

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

(44)

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

(45)

Beispiel: Bin Packing (2)

BeimBin Packingsollen nObjekte mit Gewichtenw1, . . . ,wn auf eine m¨oglichst kleine Anzahl von Kisten mit Gewichtslimitbverteilt werden.

Problem: Bin Packing (BPP)

Eingabe:Nat¨urliche Zahlenbundw1, . . . ,wn∈ {1, . . . ,b}

Zul¨assige L¨osung:Zahlk ∈Nund Funktionf :{1, . . . ,n} → {1, . . . ,k} sodass∀i ∈ {1, . . . ,k}: X

j∈f−1(i)

wj ≤b Ziel:Minimierek (= Anzahl der Kisten)

Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ Frage: Existiert eine zul¨assige L¨osung mitγ Kisten?

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

(46)

Beispiel: Bin Packing (2)

BeimBin Packingsollen nObjekte mit Gewichtenw1, . . . ,wn auf eine m¨oglichst kleine Anzahl von Kisten mit Gewichtslimitbverteilt werden.

Problem: Bin Packing (BPP)

Eingabe:Nat¨urliche Zahlenbundw1, . . . ,wn∈ {1, . . . ,b}

Zul¨assige L¨osung:Zahlk ∈Nund Funktionf :{1, . . . ,n} → {1, . . . ,k} sodass∀i ∈ {1, . . . ,k}: X

j∈f−1(i)

wj ≤b

Ziel:Minimierek (= Anzahl der Kisten)

Entscheidungsproblem:

Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ Frage: Existiert eine zul¨assige L¨osung mitγ Kisten?

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

(47)

Beispiel: Travelling Salesman

Beim Travelling Salesman Problem sind St¨adte1, . . . ,ngegeben, zusammen mit Distanzen d(i,j)f¨ur1≤i 6=j≤n

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))

Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ

Frage: Existiert eine zul¨assige L¨osung mit Gesamtl¨anged(π)≤γ?

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

(48)

Beispiel: Travelling Salesman

Beim Travelling Salesman Problem sind St¨adte1, . . . ,ngegeben, zusammen mit Distanzen d(i,j)f¨ur1≤i 6=j≤n

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:

Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ

Frage: Existiert eine zul¨assige L¨osung mit Gesamtl¨anged(π)≤γ?

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

(49)

Beispiel: Independent Set

Problem: Independent Set (INDEP-SET) Eingabe:Ein ungerichteter GraphG = (V,E)

Zul¨assige L¨osung:TeilmengeS⊆V, die keine Kanten induziert Ziel:Maximiere|S|

Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ Frage: Existiert eine zul¨assige L¨osung mit|S| ≥γ?

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

(50)

Beispiel: Independent Set

Problem: Independent Set (INDEP-SET) Eingabe:Ein ungerichteter GraphG = (V,E)

Zul¨assige L¨osung:TeilmengeS⊆V, die keine Kanten induziert Ziel:Maximiere|S|

Entscheidungsproblem:

Die Eingabe enth¨alt zus¨atzlich eine Schrankeγ Frage: Existiert eine zul¨assige L¨osung mit|S| ≥γ?

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

(51)

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)?

kann man das entsprechende Entscheidungsproblem l¨osen.(Wie?) Mit Hilfe eines Algorithmus, der das Entscheidungsproblem l¨ost, kann manoft auchdas entsprechende Optimierungsproblem l¨osen. Wir illustrieren dies am Beispiel vom Rucksackproblem.

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

(52)

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)?

Mit Hilfe eines Algorithmus, der das Optimierungsproblem l¨ost, kann man das entsprechende Entscheidungsproblem l¨osen.(Wie?)

Mit Hilfe eines Algorithmus, der das Entscheidungsproblem l¨ost, kann manoft auchdas entsprechende Optimierungsproblem l¨osen. Wir illustrieren dies am Beispiel vom Rucksackproblem.

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

(53)

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)?

Mit Hilfe eines Algorithmus, der das Optimierungsproblem l¨ost, kann man das entsprechende Entscheidungsproblem l¨osen.(Wie?) Mit Hilfe eines Algorithmus, der das Entscheidungsproblem l¨ost, kann manoft auchdas entsprechende Optimierungsproblem l¨osen.

Wir illustrieren dies am Beispiel vom Rucksackproblem.

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

(54)

Beispiel: Rucksackproblem (1)

Eingabe: Nat¨urliche Zahlenw1, . . . ,wn, p1, . . . ,pn; b; γ Zul¨assig: Menge K⊆ {1, . . . ,n} mitw(K)≤b

Optimierung:BerechneK mit maximalemp(K) Entscheidung:ExistiertK mitp(K)≥γ?

Satz

Wenn das Entscheidungsproblem f¨urKPin polynomieller Zeit l¨osbar ist, so ist auch das Optimierungsproblem f¨urnKPin polynomieller Zeit l¨osbar.

Beweis:

Aus einem polynomiellen AlgorithmusAf¨urs Entscheidungsproblem konstruieren wir zuerst einen polynomiellen Algorithmus B, der den optimalen Zielfunktionswert bestimmt (Phase 1),

und dann einen polynomiellen AlgorithmusC, der die optimale zul¨assige L¨osung bestimmt (Phase 2).

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

(55)

Eingabe: Nat¨urliche Zahlenw1, . . . ,wn, p1, . . . ,pn; b; γ Zul¨assig: Menge K⊆ {1, . . . ,n} mitw(K)≤b

Optimierung:BerechneK mit maximalemp(K) Entscheidung:ExistiertK mitp(K)≥γ?

Satz

Wenn das Entscheidungsproblem f¨urKPin polynomieller Zeit l¨osbar ist, so ist auch das Optimierungsproblem f¨urnKPin polynomieller Zeit l¨osbar.

Beweis:

Aus einem polynomiellen AlgorithmusAf¨urs Entscheidungsproblem konstruieren wir zuerst einen polynomiellen Algorithmus B, der den optimalen Zielfunktionswert bestimmt (Phase 1),

und dann einen polynomiellen AlgorithmusC, der die optimale zul¨assige L¨osung bestimmt (Phase 2).

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

(56)

Beispiel: Rucksackproblem (2a)

AlgorithmusB f¨ur (Phase 1)

Wir f¨uhren eine Bin¨are Suche mit den folgenden Parametern durch:

Der minimale Profit ist 0.

Der maximale Profit ist P:=

n

X

i=1

pi.

Wir finden den optimalen Zielfunktionswert durch Bin¨are Suche ¨uber dem Wertebereich {0, . . . ,P}.

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.

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

(57)

Beispiel: Rucksackproblem (2b)

Untersuchung der Eingabel¨ange:

Die Kodierungsl¨ange vona∈Nistκ(a) :=dlog(a+1)e.

Die Funktion κist subadditiv:

F¨ur allea,b∈Ngiltκ(a+b)≤κ(a) +κ(b).

n

X

i=1

κ(pi) ≥ κ

n

X

i=1

pi

!

= κ(P) = dlog(P+1)e

(Phase 1) besteht im wesentlichen aus dlog(P+1)e ≤LAufrufen des polynomiellen Algorithmus A

Also ist die Gesamtlaufzeit von (Phase 1) polynomiell in der Eingabel¨ange des Rucksackproblems beschr¨ankt

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

(58)

Beispiel: Rucksackproblem (2b)

Untersuchung der Eingabel¨ange:

Die Kodierungsl¨ange vona∈Nistκ(a) :=dlog(a+1)e.

Die Funktion κist subadditiv:

F¨ur allea,b∈Ngiltκ(a+b)≤κ(a) +κ(b).

Die Eingabel¨angeL des Rucksackproblems betr¨agt mindestens

n

X

i=1

κ(pi) ≥ κ

n

X

i=1

pi

!

= κ(P) = dlog(P+1)e

(Phase 1) besteht im wesentlichen aus dlog(P+1)e ≤LAufrufen des polynomiellen Algorithmus A

Also ist die Gesamtlaufzeit von (Phase 1) polynomiell in der Eingabel¨ange des Rucksackproblems beschr¨ankt

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

(59)

Untersuchung der Eingabel¨ange:

Die Kodierungsl¨ange vona∈Nistκ(a) :=dlog(a+1)e.

Die Funktion κist subadditiv:

F¨ur allea,b∈Ngiltκ(a+b)≤κ(a) +κ(b).

Die Eingabel¨angeL des Rucksackproblems betr¨agt mindestens

n

X

i=1

κ(pi) ≥ κ

n

X

i=1

pi

!

= κ(P) = dlog(P+1)e

(Phase 1) besteht im wesentlichen aus dlog(P+1)e ≤LAufrufen des polynomiellen Algorithmus A

Also ist die Gesamtlaufzeit von (Phase 1) polynomiell in der Eingabel¨ange des Rucksackproblems beschr¨ankt

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

(60)

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

AlgorithmusC 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

(61)

Aus dem AlgorithmusB f¨ur (Phase 1) konstruieren wir nun den

AlgorithmusC f¨ur (Phase 2), der die optimale zul¨assige L¨osung bestimmt

AlgorithmusC 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

(62)

Beispiel: Rucksackproblem (3b)

Um die Korrektheitvon AlgorithmusC zu beweisen, benutzen wir die Schleifeninvariante “B(K) =opt”

Die ausgegebene MengeK erf¨ullt daherB(K) =opt, und liefert den optimalen Zielfunktionswert

Ist die ausgegebene MengeK auch zul¨assig? Zwecks Widerspruchs nehmen wir an, dassP

i∈Kwi >bgilt Das bedeutet, dass nicht alle Objekte in den Rucksack passen Aber dann gibt esi ∈K, sodassB(K\ {i}) =opt

Ein Widerspruch, da AlgorithmusC das Objekti nicht ausK gestrichen hat

Also gilt P

i∈Kwi ≤bund K ist zul¨assig

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

(63)

Beispiel: Rucksackproblem (3b)

Um die Korrektheitvon AlgorithmusC zu beweisen, benutzen wir die Schleifeninvariante “B(K) =opt”

Die ausgegebene MengeK erf¨ullt daherB(K) =opt, und liefert den optimalen Zielfunktionswert

Ist die ausgegebene MengeK auch zul¨assig?

Zwecks Widerspruchs nehmen wir an, dassP

i∈Kwi >bgilt

Aber dann gibt esi ∈K, sodassB(K\ {i}) =opt

Ein Widerspruch, da AlgorithmusC das Objekti nicht ausK gestrichen hat

Also gilt P

i∈Kwi ≤bund K ist zul¨assig

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

(64)

Beispiel: Rucksackproblem (3b)

Um die Korrektheitvon AlgorithmusC zu beweisen, benutzen wir die Schleifeninvariante “B(K) =opt”

Die ausgegebene MengeK erf¨ullt daherB(K) =opt, und liefert den optimalen Zielfunktionswert

Ist die ausgegebene MengeK auch zul¨assig?

Zwecks Widerspruchs nehmen wir an, dassP

i∈Kwi >bgilt Das bedeutet, dass nicht alle Objekte in den Rucksack passen

Aber dann gibt esi ∈K, sodassB(K\ {i}) =opt

Ein Widerspruch, da AlgorithmusC das Objekti nicht ausK gestrichen hat

Also gilt P

i∈Kwi ≤bund K ist zul¨assig

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

(65)

Beispiel: Rucksackproblem (3b)

Um die Korrektheitvon AlgorithmusC zu beweisen, benutzen wir die Schleifeninvariante “B(K) =opt”

Die ausgegebene MengeK erf¨ullt daherB(K) =opt, und liefert den optimalen Zielfunktionswert

Ist die ausgegebene MengeK auch zul¨assig?

Zwecks Widerspruchs nehmen wir an, dassP

i∈Kwi >bgilt Das bedeutet, dass nicht alle Objekte in den Rucksack passen Aber dann gibt esi ∈K, sodassB(K\ {i}) =opt

gestrichen hat Also gilt P

i∈Kwi ≤bund K ist zul¨assig

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

(66)

Beispiel: Rucksackproblem (3b)

Um die Korrektheitvon AlgorithmusC zu beweisen, benutzen wir die Schleifeninvariante “B(K) =opt”

Die ausgegebene MengeK erf¨ullt daherB(K) =opt, und liefert den optimalen Zielfunktionswert

Ist die ausgegebene MengeK auch zul¨assig?

Zwecks Widerspruchs nehmen wir an, dassP

i∈Kwi >bgilt Das bedeutet, dass nicht alle Objekte in den Rucksack passen Aber dann gibt esi ∈K, sodassB(K\ {i}) =opt

Ein Widerspruch, da AlgorithmusC das Objekti nicht ausK gestrichen hat

Also gilt P

i∈Kwi ≤bundK ist zul¨assig

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

(67)

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=NP zu Grunde.

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

(68)

Polynomielle Reduktionen

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

(69)

Definition

Es seienL1 undL2 Sprachen ¨uberΣ1 bzw.Σ2.

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

(70)

Polynomielle Reduktionen (2)

Satz

FallsL1pL2 und fallsL2∈P, so giltL1∈P.

Beweis

Die Reduktionf hat die polynomielle Laufzeitschrankep(·) Der AlgorithmusA2 entscheidetL2mit einer polynomiellen Laufzeitschrankeq(·)

Wir konstruieren einen AlgorithmusA1, derL1 entscheidet: Schritt 1: Berechnef(x)

Schritt 2: Simuliere AlgorithmusA2 auff(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

(71)

Polynomielle Reduktionen (2)

Satz

FallsL1pL2 und fallsL2∈P, so giltL1∈P.

Beweis

Die Reduktionf hat die polynomielle Laufzeitschrankep(·) Der AlgorithmusA2 entscheidetL2mit einer polynomiellen Laufzeitschrankeq(·)

Schritt 1: Berechnef(x)

Schritt 2: Simuliere AlgorithmusA2 auff(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

(72)

Polynomielle Reduktionen (2)

Satz

FallsL1pL2 und fallsL2∈P, so giltL1∈P.

Beweis

Die Reduktionf hat die polynomielle Laufzeitschrankep(·) Der AlgorithmusA2 entscheidetL2mit einer polynomiellen Laufzeitschrankeq(·)

Wir konstruieren einen AlgorithmusA1, derL1 entscheidet:

Schritt 1: Berechnef(x)

Schritt 2: Simuliere AlgorithmusA2 auff(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

(73)

Satz

FallsL1pL2 und fallsL2∈P, so giltL1∈P.

Beweis

Die Reduktionf hat die polynomielle Laufzeitschrankep(·) Der AlgorithmusA2 entscheidetL2mit einer polynomiellen Laufzeitschrankeq(·)

Wir konstruieren einen AlgorithmusA1, derL1 entscheidet:

Schritt 1: Berechnef(x)

Schritt 2: Simuliere AlgorithmusA2 auff(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

(74)

Polynomielle Reduktionen (3)

Algorithmus A1f¨urL1

x

Reduktion Algorithmus A2 f¨urL2

x∈L1

f(x) f(x)∈L2

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

(75)

COLORING ≤ p SAT

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

(76)

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

mitk 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 Variablenmenge X Frage:Existiert eine Wahrheitsbelegung vonX, die ϕerf¨ullt?

Satz

COLORING≤p SAT

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

(77)

COLORING ≤

p

SAT: Die Reduktion

Die Boole’schen Variablen

F¨ur jeden Knoten v ∈V und f¨ur jede Farbei ∈ {1, . . . ,k} f¨uhren wir eine Boole’sche Variablexvi ein.

F¨ur jeden Knoten v ∈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) Anzahl der Variablen =k|V| Anzahl der Klauseln = |V|+k|E|

Gesamtl¨ange der Formel =k|V|+2k|E| ∈ O(k|V|2)

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

(78)

COLORING ≤

p

SAT: Die Reduktion

Die Boole’schen Variablen

F¨ur jeden Knoten v ∈V und f¨ur jede Farbei ∈ {1, . . . ,k} f¨uhren wir eine Boole’sche Variablexvi ein.

Die Klauseln

F¨ur jeden Knoten v ∈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)

Anzahl der Variablen =k|V| Anzahl der Klauseln = |V|+k|E|

Gesamtl¨ange der Formel =k|V|+2k|E| ∈ O(k|V|2)

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

(79)

Die Boole’schen Variablen

F¨ur jeden Knoten v ∈V und f¨ur jede Farbei ∈ {1, . . . ,k} f¨uhren wir eine Boole’sche Variablexvi ein.

Die Klauseln

F¨ur jeden Knoten v ∈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) Anzahl der Variablen =k|V| Anzahl der Klauseln = |V|+k|E|

Gesamtl¨ange der Formel =k|V|+2k|E| ∈ O(k|V|2)

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

(80)

COLORING ≤

p

SAT: Korrektheit (1)

GraphG hatk-F¨arbung ⇒ Formelϕist erf¨ullbar

Es seic einek-F¨arbung f¨urG

F¨ur jeden Knoten v mitc(v) =i setzen wirxvi =1. Alle anderen Variablen setzen wir auf0.

F¨ur jeden Knoten v ∈V ist(xv1+xv2+. . .+xvk)erf¨ullt F¨ur{u,v} ∈E und i ∈ {1, . . . ,k}ist(¯xui + ¯xvi)erf¨ullt (Andernfalls h¨atten beide Knotenu undv die selbe Farbei.) Ergo: Diese Wahrheitsbelegung erf¨ullt die Formelϕ

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

(81)

COLORING ≤

p

SAT: Korrektheit (1)

GraphG hatk-F¨arbung ⇒ Formelϕist erf¨ullbar

Es seic einek-F¨arbung f¨urG

Alle anderen Variablen setzen wir auf0.

F¨ur jeden Knoten v ∈V ist(xv1+xv2+. . .+xvk)erf¨ullt F¨ur{u,v} ∈E undi ∈ {1, . . . ,k}ist(¯xui + ¯xvi)erf¨ullt (Andernfalls h¨atten beide Knotenu undv die selbe Farbe i.) Ergo: Diese Wahrheitsbelegung erf¨ullt die Formelϕ

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

(82)

COLORING ≤

p

SAT: Korrektheit (1)

GraphG hatk-F¨arbung ⇒ Formelϕist erf¨ullbar

Es seic einek-F¨arbung f¨urG

F¨ur jeden Knoten v mitc(v) =i setzen wirxvi =1.

Alle anderen Variablen setzen wir auf0.

F¨ur jeden Knoten v ∈V ist(xv1+xv2+. . .+xvk)erf¨ullt F¨ur{u,v} ∈E undi ∈ {1, . . . ,k}ist(¯xui + ¯xvi)erf¨ullt (Andernfalls h¨atten beide Knotenu undv die selbe Farbe i.) Ergo: Diese Wahrheitsbelegung erf¨ullt die Formelϕ

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

(83)

COLORING ≤

p

SAT: Korrektheit (1)

GraphG hatk-F¨arbung ⇒ Formelϕist erf¨ullbar

Es seic einek-F¨arbung f¨urG

F¨ur jeden Knoten v mitc(v) =i setzen wirxvi =1.

Alle anderen Variablen setzen wir auf0.

F¨ur jeden Knoten v∈V ist(xv1+xv2+. . .+xvk)erf¨ullt

(Andernfalls h¨atten beide Knotenu undv die selbe Farbe i.) Ergo: Diese Wahrheitsbelegung erf¨ullt die Formelϕ

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

(84)

COLORING ≤

p

SAT: Korrektheit (1)

GraphG hatk-F¨arbung ⇒ Formelϕist erf¨ullbar

Es seic einek-F¨arbung f¨urG

F¨ur jeden Knoten v mitc(v) =i setzen wirxvi =1.

Alle anderen Variablen setzen wir auf0.

F¨ur jeden Knoten v∈V ist(xv1+xv2+. . .+xvk)erf¨ullt F¨ur{u,v} ∈E undi ∈ {1, . . . ,k}ist(¯xui + ¯xvi)erf¨ullt (Andernfalls h¨atten beide Knotenu undv die selbe Farbe i.)

Ergo: Diese Wahrheitsbelegung erf¨ullt die Formelϕ

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

(85)

GraphG hatk-F¨arbung ⇒ Formelϕist erf¨ullbar

Es seic einek-F¨arbung f¨urG

F¨ur jeden Knoten v mitc(v) =i setzen wirxvi =1.

Alle anderen Variablen setzen wir auf0.

F¨ur jeden Knoten v∈V ist(xv1+xv2+. . .+xvk)erf¨ullt F¨ur{u,v} ∈E undi ∈ {1, . . . ,k}ist(¯xui + ¯xvi)erf¨ullt (Andernfalls h¨atten beide Knotenu undv die selbe Farbe i.) Ergo: Diese Wahrheitsbelegung erf¨ullt die Formelϕ

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

(86)

COLORING ≤

p

SAT: Korrektheit (2)

Formelϕist erf¨ullbar ⇒ GraphG hatk-F¨arbung

Wir betrachten eine beliebige erf¨ullende Belegung f¨urϕ

Wegen der Klausel (xv1+xv2+. . .+xvk)gibt es f¨ur jeden Knotenv mindestens eine Farbe i mitxvi =1

F¨ur jeden Knoten w¨ahlen wir eine beliebige derartige Farbe aus Wir behaupten:c(u)6=c(v)gilt f¨ur jede Kante{u,v} ∈E Beweis: Falls c(u) =c(v) =i, dann giltxui =xvi =1. Dann w¨are aber die Klausel(¯xui + ¯xvi)verletzt

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

(87)

COLORING ≤

p

SAT: Korrektheit (2)

Formelϕist erf¨ullbar ⇒ GraphG hatk-F¨arbung

Wir betrachten eine beliebige erf¨ullende Belegung f¨urϕ

mindestens eine Farbe i mitxvi =1

F¨ur jeden Knoten w¨ahlen wir eine beliebige derartige Farbe aus Wir behaupten:c(u)6=c(v)gilt f¨ur jede Kante{u,v} ∈E Beweis: Falls c(u) =c(v) =i, dann giltxui =xvi =1. Dann w¨are aber die Klausel(¯xui + ¯xvi)verletzt

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

(88)

COLORING ≤

p

SAT: Korrektheit (2)

Formelϕist erf¨ullbar ⇒ GraphG hatk-F¨arbung

Wir betrachten eine beliebige erf¨ullende Belegung f¨urϕ

Wegen der Klausel (xv1+xv2+. . .+xvk)gibt es f¨ur jeden Knotenv mindestens eine Farbe i mitxvi =1

F¨ur jeden Knoten w¨ahlen wir eine beliebige derartige Farbe aus Wir behaupten:c(u)6=c(v)gilt f¨ur jede Kante{u,v} ∈E Beweis: Falls c(u) =c(v) =i, dann giltxui =xvi =1. Dann w¨are aber die Klausel(¯xui + ¯xvi)verletzt

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

(89)

COLORING ≤

p

SAT: Korrektheit (2)

Formelϕist erf¨ullbar ⇒ GraphG hatk-F¨arbung

Wir betrachten eine beliebige erf¨ullende Belegung f¨urϕ

Wegen der Klausel (xv1+xv2+. . .+xvk)gibt es f¨ur jeden Knotenv mindestens eine Farbe i mitxvi =1

F¨ur jeden Knoten w¨ahlen wir eine beliebige derartige Farbe aus

Beweis: Falls c(u) =c(v) =i, dann giltxui =xvi =1. Dann w¨are aber die Klausel(¯xui + ¯xvi)verletzt

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

(90)

COLORING ≤

p

SAT: Korrektheit (2)

Formelϕist erf¨ullbar ⇒ GraphG hatk-F¨arbung

Wir betrachten eine beliebige erf¨ullende Belegung f¨urϕ

Wegen der Klausel (xv1+xv2+. . .+xvk)gibt es f¨ur jeden Knotenv mindestens eine Farbe i mitxvi =1

F¨ur jeden Knoten w¨ahlen wir eine beliebige derartige Farbe aus Wir behaupten:c(u)6=c(v)gilt f¨ur jede Kante{u,v} ∈E

Beweis: Falls c(u) =c(v) =i, dann giltxui =xvi =1. Dann w¨are aber die Klausel(¯xui + ¯xvi)verletzt

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

(91)

Formelϕist erf¨ullbar ⇒ GraphG hatk-F¨arbung

Wir betrachten eine beliebige erf¨ullende Belegung f¨urϕ

Wegen der Klausel (xv1+xv2+. . .+xvk)gibt es f¨ur jeden Knotenv mindestens eine Farbe i mitxvi =1

F¨ur jeden Knoten w¨ahlen wir eine beliebige derartige Farbe aus Wir behaupten:c(u)6=c(v)gilt f¨ur jede Kante{u,v} ∈E Beweis: Falls c(u) =c(v) =i, dann giltxui =xvi =1. Dann w¨are aber die Klausel(¯xui + ¯xvi)verletzt

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

(92)

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

(93)

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=NP zu Grunde.

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

(94)

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

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

(95)

Vertex Cover ≤ p SAT

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

(96)

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 Variablenmenge X Frage:Existiert eine Wahrheitsbelegung vonX, die ϕerf¨ullt?

Satz (???)

Vertex Cover≤p SAT

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

(97)

Vertex Cover ≤

p

SAT: Die Reduktion (???)

Die Boole’schen Variablen F¨ur jeden Knoten v ∈V

f¨uhren wir eine Boole’sche Variablexv ein.

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

Anzahl der Variablen =|V| Anzahl der Klauseln≈|V|k Gesamtl¨ange der Formel≈k|V|k

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

(98)

Vertex Cover ≤

p

SAT: Die Reduktion (???)

Die Boole’schen Variablen F¨ur jeden Knoten v ∈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

Anzahl der Variablen =|V| Anzahl der Klauseln≈|V|k Gesamtl¨ange der Formel≈k|V|k

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

(99)

Die Boole’schen Variablen F¨ur jeden Knoten v ∈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

Anzahl der Variablen =|V| Anzahl der Klauseln≈|V|k Gesamtl¨ange der Formel≈k|V|k

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

Referenzen

ÄHNLICHE DOKUMENTE

Die Inhalte der Register sind nat¨ urliche Zahlen, die beliebig gross werden k¨ onnen.. in den ersten paar Registern

Es gibt keinen Algorithmus, der entscheidet, ob ein gegebenes Programm in einen bestimmten Zustand l¨ auft?. (Error: 0E : 016F

I Es gibt keinen Algorithmus, der entscheidet, ob ein gegebenes Programm in einen bestimmten Zustand l¨ auft.. ( Error: 0E : 016F :

Variablen k¨ onnen realisiert werden, indem wir pro Variable eine Spur reservieren. Felder (Arrays) k¨ onnen ebenfalls auf einer eigenen Spur

Die in den Registern gespeicherten Zahlen repr¨ asentieren Zust¨ ande, Zeichen und Bandpositionen.. Zust¨ ande und Zeichen haben eine konstante

F¨ ur eine abz¨ ahlbar unendliche Menge M gibt es immer auch eine bijektive (bijektiv = surjektiv+injektiv) Abbildung c : N → M: Wiederholungen von Elementen von M k¨ onnen bei der

Tabellenkalkulationen (ohne Schleifen) sind nicht Turing-m¨ achtig Der Lambda Calculus von Alonzo Church ist ¨ aquivalent zur TM, und daher Turing-m¨ achtig. Die µ-rekursiven

Statt der RAM kann man in der Definition von polynomieller Laufzeit und von polynomiellen Algorithmen genauso gut die TM verwenden: RAM und TM simulieren einander ja mit