35
22.06.22 Kapitel 1 1 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Embed Size (px)

Citation preview

Page 1: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 1 1

Methoden des Algorithmenentwurfs

Kapitel 1.4:Approximations-schemata

Christian Scheideler

SS 2009

Page 2: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Übersicht

• Notation

• Das Rucksack Problem

• Das Job Scheduling Problem

• Unmöglichkeit für Approximationsschemas

11.04.23 Kapitel 1 2

Page 3: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 1.4 3

Notation

4.1 Definition:

Sei ein Optimierungsproblem.Sei A ein Approximationsalgorithmus für , der alsEingabe eine Instanz I von und ein mit 0<<1 bekommt.

(a) A ist ein polynomielles Approximationsschema (PAS) für , wenn A zu jeder Probleminstanz I und für jedes konstante (0,1) in Zeit O(poly (|I|)) eine zulässige Lösung zu I mit relativem Fehler A(I,) ≤ berechnet.

(b) A ist ein streng polynomielles Approximationsschema (FPAS), wenn A ein PAS mit Laufzeit O(poly(|I|,1/)) ist.

Page 4: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Bemerkung:• Als Abkürzung findet man auch häufig PTAS

und FPTAS.• Beim PAS sind Laufzeiten der Form O(|I|1/)

erlaubt, beim FPAS nicht.• Würden wir für ein FPAS eine Laufzeit von

O(poly(|I|,log(1/)) fordern, dann würde die Existenz eines solchen FPAS für ein NP-vollständiges Optimierungsproblem bedeuten, dass P=NP ist.

11.04.23 Kapitel 1.4 4

Notation

Page 5: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

4.2 Satz: Sei ein kombinatorisches Opti-mierungsproblem, A ein (F)PAS zu , und zu Eingabe I sei Z(I) eine obere Schranke für OPT(I), d.h. OPT(I) ≤ Z(I). Sei *=1/(Z(I)+1). Dann ist A(I,*) = OPT(I). Ist A ein FPAS, so ist die Laufzeit O(poly(|I|,Z(I))).

Beweisidee:• Minimierung:• Maximierung:

11.04.23 Kapitel 1.4 5

Notation

OPT(I)

OPT(I)

Page 6: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Beweis:• Starte A mit Eingabe I und *.• Gemäß Definition 4.1 wird eine zulässige Lösung zu I

gefunden mit relativem Fehler

A (I,*) = |OPT(I)-A(I,*)| ≤ *

OPT(I)• D.h.

|OPT(I) – A(I,*)| ≤ * ∙ OPT(I) = OPT(I) < 1,

Z(I)+1

weil OPT(I) ≤ Z(I) ist.• Da der Wert aller zulässigen Lösungen ganzzahlig ist,

folgt damit, dass |OPT(I) – A (I,*)|=0, also A(I,*)=OPT(I) ist.

11.04.23 Kapitel 1.4 6

Page 7: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Es gibt folgende zwei Möglichkeiten für ein PAS:

(a)Es werden in Abhängigkeit zu nur einige wenige zulässige Lösungen bestimmt, aus denen die beste ausgewählt wird.

(b)Nachdem eine zulässige Lösung bestimmt ist, wird diese so lange verbessert, bis die erlaubte Zeit abgelaufen ist.

Wir werden hier dem Prinzip von (a) folgen.

11.04.23 Kapitel 1.4 7

Notation

Page 8: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Übersicht

• Notation

• Das Rucksack Problem

• Das Job Scheduling Problem

• Unmöglichkeit für Approximationsschemas

11.04.23 Kapitel 1 8

Page 9: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Exakter Algo für Rucksack

Zur Erinnerung:Das Rucksackproblem ist charakterisiert durch:

– D={ (W,vol,p,B) | W={1,...,n}, vol:W IN, B IN, p:W IN und für alle w W gilt vol(w) ≤ B}W ist das Warenangebot, vol die Zuordnung von Volumina zu den Waren, p die Zuordnung von Werten und B die Kapazität des Rucksacks

– S((W,vol,p,B)) = {A W | wA vol(w) ≤ B}– f(A) = wA pw

– Max

Vereinfachend schreiben wir statt „vol(i)“ „vi“.

11.04.23 Kapitel 1 9

Page 10: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 12 10

Exakter Algo für Rucksack

Sei OPT(i,v) = max. Wert einer Teilmenge von Objekten aus {1,…,i} mit max. Gewicht v

• Fall 1: OPT wählt nicht Objekt iOPT wählt beste Teilmenge aus {1,…,i-1} mit max. Gewicht v

• Fall 2: OPT wählt Objekt iOPT wählt beste Teilmenge aus {1,…,i-1} mit max. Gewicht v-vi

OPT(i,v)=

0 falls i=0

OPT(i-1,v) falls vi>v

max{OPT(i-1,v), vi+OPT(i-1,v-vi)} sonst

Page 11: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 12 11

Exakter Algo für Rucksack

Laufzeit: O(nB), nicht polynomiell in n!Nur pseudopolynomiell (d.h. poly(n,maxnr(I)))

0

1

2

n

0 1 2 B

0 0 0 0

OPT(i-1,v-vi) OPT(i-1,v)

OPT(i,v)

…….

Dynamisches Programm

Page 12: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 12 12

Exakter Algo für Rucksack

Sei OPT(i,p) = min. Gewicht einer Teilmenge von Objekten aus {1,…,i} mit Wert exakt p

• Fall 1: OPT wählt nicht Objekt iOPT wählt beste Teilmenge aus {1,…,i-1} mit Wert p

• Fall 2: OPT wählt Objekt iOPT wählt beste Teilmenge aus {1,…,i-1} mit Wert p-pi

OPT(i,p)= falls i=0, p>0

OPT(i-1,p) falls pi>p

min{OPT(i-1,p), vi+OPT(i-1,p-pi)} sonst

0 falls p=0

Page 13: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 12 13

Exakter Algo für Rucksack

P*: max. Wert p, so dass OPT(n,p) B.Laufzeit: O(nP*) = O(n2 pmax), zu groß!

0

1

2

n

0 1 2 P*

0

OPT(i-1,p-pi) OPT(i-1,p)

OPT(i,p)

…….

0

0

……

.

0

Page 14: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 12 14

FPAS für Rucksack

Idee für FPTAS:• Runde alle Werte auf, um kleineren Wertebereich zu

erhalten.• Verwende vorigen Algo auf gerundeten Werten.• Gib optimale Objekte der gerundeten Werte aus.

Objekt Wert Gewicht

1 934 1

2 5956 2

3 17810 5

4 21217 6

5 27343 7

Objekt Wert Gewicht

1 1 1

2 6 2

3 18 5

4 22 6

5 28 7

Page 15: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 12 15

FPAS für Rucksack

• pmax: max. Wert in Originalinstanz• : Präzision• = pmax/n: Skalierungsfaktor

Betrachte pi = pi/ und pi = pi/.

Beobachtung: Optimale Lösungen zu pi und pi sind äquivalent (bis auf Skalierung).

FPAS: verwende pi-Werte (nur O(n/) viele)Damit Laufzeit O(n3/).

Page 16: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 12 16

FPAS für Rucksack

4.3 Satz: Sei S die Lösung unseres Algos und S* eine beliebige andere zulässige Lösung. Dann ist (1+)iS pi iS* pi.

Beweis:Es gilt: iS* pi iS* pi runde immer auf iS pi finde opt. Lösung iS (pi+) runde nie mehr als iS pi + n |S|n (1+)iS pi n = pmax iS pi

Page 17: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Übersicht

• Notation

• Das Rucksack Problem

• Das Job Scheduling Problem

• Unmöglichkeit für Approximationsschemas

11.04.23 Kapitel 1 17

Page 18: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 1 18

Job SchedulingErinnerung aus Kapitel 1.0:Eingabe: m identische Maschinen, n Jobs. Job i hat Laufzeit pi.

Einschränkungen:• Ein einmal ausgeführter Job muss bis zum Ende auf derselben

Maschine ausgeführt werden.• Jede Maschine kann höchstens einen Job gleichzeitig bearbeiten.

1.5 Definition: Sei J(i) die Teilmenge der Jobs, die Maschine i zugewiesen werden. Dann ist Li = jJ(i) pj die Last der Maschine i.

1.6 Definition: Der Makespan L ist die maximale Last einer Maschine, d.h. L = maxi Li

Ziel: finde Zuweisung, die Makespan minimiert

Page 19: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Job Scheduling• Schon für zwei Maschinen ist das Job Scheduling Problem

NP-hart.• Falls m konstant ist, können wir folgenden Algorithmus für

Instanz I verwenden:

Algorithmus Ak(I):1. Sortiere die Jobs, so dass p1 …pn2. Finde eine optimale Zuweisung für die ersten k Jobs J1,…,Jk.3. Wende LPT auf die restlichen Jobs an.

4.4 Satz: Die Laufzeit von Ak ist O(mk + n log n) und damit polynomiell für konstantes k.

Beweis:Um einen optimalen Schedule für k Jobs zu finden, müssen wir im schlimmsten Fall alle mk Platzierungen durchgehen.

11.04.23 Kapitel 1 19

Page 20: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Job Scheduling

4.5 Satz: Algorithmus Ak hat eine relative Güte von 1+(m-1)/k.

Beweis:• Sei Jj der Job, der als letzter fertig wird und C der

Makespan der Lösung von Ak.• Wir unterscheiden folgende Fälle:• Fall 1: jk, d.h. Jj ist unter den optimal verteilten Jobs.

Dann gilt C=OPT(I).• Fall 2: Wir wissen von Lemma 1.9, dass OPT(I)(1/m)

i pi. Weiterhin folgt aus dem Beweis von Satz 1.10, dass C (1/m)i pi +(1-1/m) pj.

• Also ist C OPT(I) + (m-1)/mpj.

11.04.23 Kapitel 1 20

Page 21: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Job Scheduling

Beweis (Fortsetzung):• Andererseits gilt

OPT(I) (1/m)i=1n pi (1/m)i=1

k pi

(k/m)pj

und damit pj (m/k)OPT(I).• Wir erhalten also

C OPT(I) + (m-1)/mpj OPT(I) + (m-1)/m(m/k)OPT(I) = (1+(m-1)/k)OPT(I)

11.04.23 Kapitel 1 21

Page 22: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Job Scheduling

• Wir definieren nun das PAS für konstantes m. Für jedes >0 sei k:= (m-1)/ und A:=Ak

. • Dann hat der Algorithmus A eine Güte von

1+(m-1)/k 1+ (m-1)/((m-1)/) = 1+• Also ist A ein PAS für das Job Scheduling

Problem mit konstanter Anzahl an Maschinen.

4.6 Satz: Für jede konstante Anzahl von Maschinen existiert ein PAS für Job Sche-duling.

11.04.23 Kapitel 1 22

Page 23: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Job Scheduling• Jetzt wollen wir einen PAS für das Job Scheduling Problem

formulieren, der auch für nichtkonstantes m funktioniert.• Sei AT, ein Algorithmus, der zu jeder Instanz I eine Zuweisung

mit Makespan höchstens (1+)T findet, wenn T OPT(I), und sonst „error“ ausgibt. Dann können wir wie folgt einen Algorithmus A formulieren, der zu I eine Lösung mit Makespan höchstens (1+)OPT(I) findet:

Algorithmus A(I):O:= i=1

n pi ; U:=0; T:=O/2; k:= log(i=1n pi)

for i:=1 to k do // führe binäre Suche auf [U,O] durch if AT,(I) = error then { U:=T; T:= (O-U)/2 } else { O:=T; T:= (O-U)/2 }return AT,(I)

11.04.23 Kapitel 1 23

Page 24: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Job Scheduling

• Wir müssen uns nur noch um AT,kümmern. Dazu unterteilen wir die Jobs in kleine und große Jobs. Seien alsoJ1:= { in | pi > T } undJ2:= { in | pi T }

• Die Jobs aus J1 werden geeignet skaliert, d.h. wir setzen für alle iJ1 p´i = pi/(2T).

• Sollte es für die Jobs aus J1 eine Zuweisung mit Makespan höchstens T geben, so hat die Zuweisung für die Jobs mit Laufzeiten pi/(2T) einen Makespan von höchstens T/(2T) = 1/2.

• Durch das Runden nach oben kann sich der Makespan höchstens um einen Faktor 1+ auf den Wert T´:= (1+)/2 erhöhen.

• Wie können wir eine solche Zuweisung in poly Zeit finden (wenn sie existiert)?

11.04.23 Kapitel 1 24

Page 25: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Job Scheduling

Betrachte das folgende Problem:Bin Packing mit eingeschränkten Gewichten:

Gegeben eine Menge von n Objekten mit Gewichten w1,…,wnk sowie zwei Zahlen m und b, finde eine Verteilung der Objekte auf m Bins mit Kapazität b, wenn eine solche Verteilung existiert, und sonst gib „error“ aus.

4.7 Lemma: Es gibt einen pseudopolynomiellen Algorithmus für das Bin Packing Problem oben mit Laufzeit O((bn)k).

Beweis: über dynamische Programmierung

11.04.23 Kapitel 1 25

Page 26: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Job Scheduling

Algorithmus AT,:J1:= { in | pi > T }J2:= { in | pi T }forall iJ1 do p´i = pi/(2T) T´:= (1+)/2 Löse das Bin Packing Problem mit den Gewichten p´i sowie Parametern m und b=T´. Falls keine Lösung existiert, gib „error“ aus, stop.Verteile die Jobs aus J2 mittels List Schedule.Gib die so gefundene Zuweisung aus.

4.8 Satz: AT, hat eine Laufzeit von O(n1/). Ist T der optimale Makespan, dann gilt AT,(I)(1+)T.

11.04.23 Kapitel 1 26

Page 27: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Job Scheduling

Beweis:• Wenn Zuweisung für große Jobs gefunden wird, hat

diese Makespan max. T´ und damit ohne Skalierung max. (1+)T.

• Nach dem Verteilen der kleinen Jobs können zwei Fälle auftreten:

• Fall 1: Der Makespan wird nicht erhöht. Dann folgt der Satz sofort.

• Fall 2: Der Makespan wird erhöht. Der Lastunter-schied zwischen der Maschine mit minimaler Last Tmin und maximaler Last Tmax ist höchstens T (die max. Größe eines Jobs in J2). Da weiterhinTmin(i=1

n pi)/m T ist, folgt der Satz.

11.04.23 Kapitel 1 27

Page 28: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Übersicht

• Notation

• Das Rucksack Problem

• Das Job Scheduling Problem

• Unmöglichkeit für Approximationsschemas

11.04.23 Kapitel 1 28

Page 29: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Unmöglichkeit für PAS

Wir haben gesehen, dass es keinen Polynomialzeit-Approximationsalgo für Bin Packing mit relativer Güte unter 3/2 geben kann, es sei denn, P=NP. Das impliziert natürlich, dass es kein PAS für Bin Packing geben kann. Das kann man allgemeiner formulieren als:

4.9 Satz: Sei ein Optimierungsproblem und sei für ein festes kIN die Frage „Ist zur Eingabe I von der Wert OPT(I)k?“ (falls ein Minimierungsproblem ist) bzw. die Frage „Ist zur Eingabe I von der Wert OPT(I)k?“ (falls ein Maximierungsproblem ist) NP-vollständig. Gibt es ein PAS für , dann ist P=NP.

Beweis: Folgt aus Übungsaufgabe 1.

11.04.23 Kapitel 1 29

Page 30: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Unmöglichkeit für PAS

4.10 Definition: Ein NP-vollständiges Entscheidungs-problem L heißt stark NP-vollständig, wenn es ein Polynom q gibt, so dass Lq={x | xL und maxnr(x)q(|x|)} NP-vollständig ist. Gibt es kein solches Polynom, heißt L schwach NP-vollständig.

Dazu ist äquivalent: Das NP-vollständige Entscheidungs-problem L ist stark NP-vollständig, falls es keinen pseudopolynomiellen Algorithmus für L gibt, es sei denn, P=NP. Denn gäbe es einen exakten Algorithmus für L mit Laufzeit O(poly(|x|,maxnr(x))), wäre die Laufzeit für Lq O(poly(|x|)).

11.04.23 Kapitel 1 30

Page 31: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Unmöglichkeit für PAS4.11 Beispiel:• Die Entscheidungsprobleme Hamilton und Clique sind stark NP-

vollständig, da in ihnen keine großen Zahlen vorkommen und das Polynom q(n)=n ausreicht.

• Das Entscheidungsproblem zum allgemeinen TSP ist stark NP-vollständig. Betrachte dazu die Reduktion auf das Hamilton-Kreis Problem, die mit polynomiell großen Kantengewichten auskommt.

• Auf der anderen Seite können wir das Hamilton-Kreis Problem reduzieren auf das TSP mit Kantenlängen 1 oder 2. Damit ist auch das TSP auf Kantenlängen 1 oder 2 stark NP-vollständig (warum?). Da die Länge jedes Pfades der Länge 2 in einem solchen Graphen mindestens 2 ist und damit die Dreiecksungleichung erfüllt, ist ist auch das Entscheidungsproblem zu TSP stark NP-vollständig.

• Rucksack ist dagegen schwach NP-vollständig, wie wir gesehen haben.

11.04.23 Kapitel 1 31

Page 32: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Unmöglichkeit für PAS

Der nächste Satz ergibt sich aus Satz 4.2 und zeigt, dass eine enge Beziehung zwischen starker NP-Vollständigkeit und der Unmöglichkeit, ein FPAS anzugeben, besteht.

4.12 Satz: Sei ein Optimierungsproblem. Wenn es ein Polynom q(x1,x2) gibt, so dass für alle Eingaben I gilt, dass OPT(I)q(|I|, maxnr(I)) ist, dann folgt aus der Existenz eines FPAS für , dass es einen pseudopolynomiellen exakten Algorithmus für gibt.

Beweis: Übung

11.04.23 Kapitel 1 32

Page 33: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Unmöglichkeit für PAS

Wenn maxnr(I) durch ein Polynom nach oben beschränkt ist, dann ergibt Satz 4.11 natürlich eine polynomielle Laufzeit für den exakten Algorithmus, was uns unmittelbar zu folgender zentraler Aussage führt:

4.13 Korollar: Wenn es für eine Optimierungs-variante eines stark NP-vollständigen Problems ein FPAS gibt, dann ist P=NP.

11.04.23 Kapitel 1 33

Page 34: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

Unmöglichkeit für PAS

• Also kann es keinen FPAS für Clique, Knotenfärbungsprobleme und viele andere Optimierungsprobleme geben.

• Auch das TSP kann kein FPAS besitzen. Allerdings konnte für EuklidTSP, die Einschränkung des TSP Problems auf einen Euklidischen Raum, ein PAS mit Laufzeit O(n3(log n)1/) gefunden werden.

11.04.23 Kapitel 1 34

Page 35: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations- schemata Christian Scheideler SS 2009

11.04.23 Kapitel 1 35

Fragen?