69
15.06.22 Kapitel 1 1 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Embed Size (px)

Citation preview

Page 1: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

11.04.23 Kapitel 1 1

Methoden des Algorithmenentwurfs

Kapitel 1.2: Approximation mit absoluter Güte

Christian Scheideler

SS 2009

Page 2: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Übersicht

• Notation

• Graphfärbbarkeit

• Ein Unmöglichkeitsergebnis für das Rucksackproblem und MaxClique

11.04.23 Kapitel 1 2

Page 3: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Notation

2.1 Definition: Sei ein Optimierungsproblem und A ein Approximationsalgorithmus für .

(a)A hat bei Eingabe I eine absolute Güte von A(I) = |A(I) – OPT(I)|

(b) Die absolute worst-case Güte von A ist die Funktion A

wc(n) = max { A(I) | ID, |I| n}

(c)Sei A:IN IN eine Funktion. A garantiert eine absolute Güte von A(n) falls für alle n gilt: A

wc(n) A(n).11.04.23 Kapitel 1 3

Page 4: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Notation

2.1 Definition (Forsetzung):

(d) Sei ´A:IN IN eine Funktion. A hat eine absolute Abweichung von ´A(n), falls für unendlich viele n gilt ´A(n) A

wc(n).Eine unendlich große Menge D´, D´D, heißt ´A(n)-Zeugenmenge gegen A, wenn für alle ID´ gilt: A(I) ´A(|I|). Eine solche Eingabe nennen wir dann einen ´A(n)-Zeugen.

11.04.23 Kapitel 1 4

Page 5: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Notation

Ziele:

• Finde Approximationsalgorithmen mit möglichst kleiner absoluter Güte.

• Zeige (asymptotisch) übereinstimmende Werte für die absolute Güte und absolute Abweichung.

11.04.23 Kapitel 1 5

Page 6: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Graphfärbbarkeit

• G=(V,E): ungerichteter Graph

• Für uV ist G(u) = { v | {u,v}E} die Menge der Nachbarn von u und degG(u) = |G(u)| der Grad von u.

• Der Grad von G ist (G) = max {degG(u) | uV}

11.04.23 Kapitel 1 6

u

Page 7: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Graphfärbbarkeit

• G heißt r-regulär, wenn degG(v)=r für alle Knoten vV.

• Wenn aus dem Zusammenhang klar wird, welcher Graph gemeint ist, lassen wir den Index G weg.

11.04.23 Kapitel 1 7

Page 8: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Graphfärbung

2.2 Definition: Gegeben sei ein Graph G=(V,E).

(a)Eine Abbildung cV:VIN heißt Knotenfärbung von G, falls für alle {u,v}E gilt: cV(u)cV(v).

11.04.23 Kapitel 1 8

Page 9: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Graphfärbung

2.2 Definition (Fortsetzung):

(b) Eine Abbildung cE:EIN heißt Kantenfärbung von G, falls für alle an einem Knoten u aufein- andertreffenden Kanten {u,v},{u,w}E gilt: cE({u,v})cE({u,w}).

11.04.23 Kapitel 1 9

u

Page 10: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Graphfärbung

• cV(u) und cE({u,v}) werden in diesem Zusam-menhang auch Farben genannt. |cV(V)| bzw. |cE(E)| ist die Anzahl der benutzten Farben.

• Oft wird auch eine beliebige Abbildung cV:VIN bzw. cE:EIN als Färbung bezeich-net. Die beiden Begriffe aus Definition 2.2 werden dann als korrekte Färbungen bezeichnet.

Es ergeben sich folgende Optimierungsprobleme:

11.04.23 Kapitel 1 10

Page 11: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Graphfärbung

2.3 Definition: Das Knoten- bzw. Kantenfär-bungsproblem ist charakterisiert durch

• D = { G | G=(V,E) ist ein ungerichteter Graph mit nichtleerem V und E }.

• S(G) = {cV | cV ist Knotenfärbung von G} bzw. S(G) = {cE | cE ist Kantenfärbung von G}

• f(cV) = |cV(V)| bzw. f(cE) = |cE(E)| • min11.04.23 Kapitel 1 11

Page 12: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Graphfärbung

Kleinstmögliche Farbanzahl:• Knotenfärbung: chromatische Zahl (G)• Kantenfärbung: chromatischer Index ´(G)

Die folgenden Probleme sind NP-hart:• Ist der Graph G mit k Farben knotenfärbbar?

(Sofern k3.)• Ist der Graph G mit (G) Farben kantenfärb-

bar?

11.04.23 Kapitel 1 12

Page 13: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Graphfärbung

2.4 Bemerkung:(a)Es gibt Graphen G, die mindestens (G)

+1 Farben zur Knotenfärbung benötigen.(b)Es gibt Graphen G, die mindestens (G)

+1 Farben zur Kantenfärbung benötigen.(c)Es sind nie mehr als (G)+1 Farben

nötig.

11.04.23 Kapitel 1 13

Page 14: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Gegeben: Graph G=(V,E) mit V={u1,...,un}• Betrachte folgenden Algorithmus:

Algorithmus GreedyCol:for i:=1 to n do cV(ui):=for i:=1 to n do cV(ui) := min(IN \ {cV((ui))})gib cV aus

2.5 Satz: GreedyCol berechnet in Zeit O(|V|+|E|) eine Knotenfärbung aus höchstens (G)+1 Farben.

11.04.23 Kapitel 1 14

Page 15: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

Beweis:

Laufzeit: Obere Schranke für Anzahl der Farben:

• Für jedes ui können höchstens deg(ui) der Farben verbraucht sein.

• ui kann also Farbe aus der Menge {1,...,deg(ui)+1} wählen.

11.04.23 Kapitel 1 15

Page 16: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

2.6 Satz: Algorithmus GreedyCol garantiert eine absolute Güte von GreedyCol(G) = (G)-1

Beweis:• Da wir annehmen, dass G mindestens

eine Kante enthält, ist OPT(G) 2.• Also ist

GreedyCol(G) = GreedyCol(G) – OPT(G) (G)+1-2 = (G)-1

11.04.23 Kapitel 1 16

Page 17: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

Ist die Schranke in Satz 2.6 bestmöglich?Betrachte folgenden Graph G:

GreedyCol(G) = D(G)+1, aber OPT(G)=2

11.04.23 Kapitel 1 17

u1

u2

u3

u4

u5

u6

u7

u8

Page 18: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

Worin liegt das Scheitern von GreedyCol?Reihenfolge der Knoten war ungünstig.

Dann GreedyCol(G) = 2

11.04.23 Kapitel 1 18

u1 u2 u3 u4

u5 u6 u7 u8

Page 19: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Tatsächlich gibt es für jeden Graphen eine Reihenfolge der Knoten, so dass GreedyCol optimal ist.Beweis: Übung

• Diese Reihenfolge zu finden ist leider hart!

11.04.23 Kapitel 1 19

Page 20: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Algorithmenklasse zu GreedyCol:

Algorithmus GreedyCol_Var:for (alle Knoten u) do cV(u):=while (es gibt Knoten u mit cV(u):=) do cV(u) := min(IN \ {cV((u))})gib cV aus

• Absolute Güte von GreedyCol_Var ist dieselbe wie GreedyCol, da der Nachweis reicht, dass ein schlechter Graph und eine schlechte Reihenfolge der Knoten im Algorithmus existiert.

11.04.23 Kapitel 1 20

Page 21: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Ein Graph G=(V,E) heißt planar, wenn man ihn kreuzungsfrei in die Ebene (bzw. Kugel) einbetten kann.

• Beispiel:

11.04.23 Kapitel 1 21

Facette

Page 22: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Graphen, die nicht kreuzungsfrei in die Ebene eingebettet werden können:

11.04.23 Kapitel 1 22

K5 K3,3

Page 23: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

2.7 Fakt:(a)Jeder planare Graph kann in Polynomialzeit

mit 5 Farben knotengefärbt werden.(b)[4-Farben-Satz] Jeder planare Graph kann

mit 4 Farben knotengefärbt werden.(c)Das Entscheidungsproblem „Ist der planare

Graph G knoten-3-färbbar?“ ist NP-hart.(d)Es kann in Polynomialzeit entschieden

werden, ob ein Graph G knoten-2-färbbar ist und, falls ja, dann kann eine solche Färbung berechnet werden.

11.04.23 Kapitel 1 23

Page 24: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Der Beweis des 4-Farben-Satzes kann in einen Algorithmus zur Konstruktion einer Knoten-4-Färbung mit Laufzeit O(|V|2) umgewandelt werden.

• Wir begnügen uns mit Knoten-5-Färbung.Betrachte zunächst den folgenden Algorithmus:

Algorithmus ColPlan:(1) Teste gemäß Fakt 2.7 (d), ob G knoten-2- färbbar ist. Falls ja, färbe ihn mit 2 Farben.(2) Falls nicht, dann färbe die Knoten gemäß Fakt 2.7 (a) mit 5 Farben.

11.04.23 Kapitel 1 24

Page 25: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

2.8 Satz: ColPlan garantiert eine absolute Güte von ColPlan(G) 2.

• Würden wir den Algorithmus vom 4-Farben-Satz verwenden, könnten wir eine absolute Güte von 1 erreichen.

• Für die 5-Färbung brauchen wir zunächst einige Aussagen über planare Graphen.

11.04.23 Kapitel 1 25

Page 26: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

2.9 Satz (Eulersche Polyederformel): Sei G ein planarer und zusammenhängender Graph mit n Knoten, e Kanten und f Facetten. Dann gilt n+f-e=2.

Beweis:• Wir beweisen den Satz per Induktion über

die Anzahl der Facetten.• f=1: dann muss G ein Baum sein, d.h.

e=n-1, und es folgt n+f-e=2.

11.04.23 Kapitel 1 26

Page 27: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Sei nun f 2. Dann ist G kein Baum.

• Es gibt also Kreis entlang der Kanten {v1,v2},{v2,v3},...,{vk,v1}E in G.

• Löschen wir eine Kante {vi,vi+1} aus diesem Kreis, so erhalten wir einen Graphen mit f-1 Facetten.

• Nach Induktionsvoraussetzung gilt n+(f-1)-(e-1) = 2 und damit n+f-e = 2.

11.04.23 Kapitel 1 27

Page 28: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

2.10 Lemma: Sei G=(V,E) ein planarer und zusammenhängender Graph mit n3 Knoten und e Kanten. Dann gilt:(a) e 3n-6 und(b) vV (6-deg(v)) 12

Beweis von (a):• Sei F die Menge der Facetten.• Für jedes gF sei d(g) die Anzahl der Kanten, aus denen g

besteht.• Da |V|3 und G zusammenhängend ist, gilt d(g)3 für jede

Facette g.• Da jede Kante maximal zwei Facetten begrenzt, gilt

2e gF d(g) 3f• Einsetzen in die Eulersche Formel liefert die Behauptung.

11.04.23 Kapitel 1 28

Page 29: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

Beweis von (b):

• Beachte, dass vV deg(v) = 2e ist.

• Also gilt wegen (a):vV (6-deg(v)) = 6n-2e 6n-2(3n-6) = 12

Lemma 2.10 hat zwei wichtige Konsequenzen.

11.04.23 Kapitel 1 29

Page 30: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

2.11 Korollar: Jeder Graph, der K5 als Teilgraph enthält, ist nicht planar.

Beweis: K5 hat 5 Knoten und 10 Kanten. Da 10>35-6=9 ist, folgt die Behauptung aus Lemma 2.10 (a).

2.12 Korollar: Jeder planare zusammenhängende Graph G=(V,E) hat einen Knoten v mit deg(v)5.

Beweis:Angenommen, alle Knoten hätten Grad 6. Dann

folgt, dass vV (6-deg(v)) 0 ist, ein Widerspruch zu Lemma 2.10 (b).

11.04.23 Kapitel 1 30

Page 31: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

2.13 Satz: Jeder planare Graph G=(V,E) ist 5-färbbar.

Beweis:• Wir beweisen den Satz durch Induktion über die

Anzahl der Knoten.• Anfang: Für |V|5 ist Satz 2.13 trivial.• Induktionsschritt: Sei |V|>5.• Nach Korollar 2.12 besitzt G Knoten v mit Grad

maximal 5.• Fall 1: v hat Grad <5. 5-färbe G-v (nach Induktion

möglich) und dann v mit beliebiger freier Farbe in {1,...,5}

11.04.23 Kapitel 1 31

Page 32: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Fall 2: v hat Grad 5. Seien x1,..., x5 seine Nachbarn.

• Da G keinen K5 enthält, gibt es zwei Nachbarn xi und xj, die nicht über eine Kante verbunden sind.

11.04.23 Kapitel 1 32

x1 x2 x3 x4 x5

v

Page 33: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Betrachte nun den Graphen G´=(V´,E´) mitV´= V \ {v,xi} undE´= (E \ {e | ve oder xie}) { {t, xj} | t(xi)}

11.04.23 Kapitel 1 33

x1 x2 x3 x4 x5

v

xjxi

Page 34: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

• Nach der Induktionsvoraussetzung existiert eine 5-Färbung für G´

• Das induziert eine Färbung für G-v, in der die Knoten xi und xj gleich gefärbt sind, da xi und xj nicht durch eine Kante verbunden sind.

• v´s Nachbarn verwenden also höchstens 4 Farben, so dass v eine Farbe aus {1,...,5} wählen kann.

• Es bleibt zu zeigen: G´ ist planar.11.04.23 Kapitel 1 34

Page 35: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

Behauptung: G´ ist planar.• Wir müssen die Kanten, die in G in xi enden,

geschickt in xj enden lassen, ohne dass es zu Kantenkreuzungen kommt.

• Da G planar ist, gibt es ein Gebiet A, das nur von den Kanten von v, xi und xj geschnitten wird.

• Wir haben also genügend Platz, um Kanten nach xi

nach xj fortzusetzen.11.04.23 Kapitel 1 35

x1 x2 x3 x4 x5

v

xi xj

Page 36: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

Daraus ergibt sich folgender Algorithmus:

Algorithmus PlanarCol:if |V|5 then for i:=1 to |V| do c(vi):=i return celse if vV: deg(v)4 then G´:=G-v c:=PlanarCol(G´) c(v):=min({1,...,5} \ {c(w) : w(v)}) return celse // kein Knoten mit Grad 4

11.04.23 Kapitel 1 36

Page 37: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Knotenfärbung

else // kein Knoten mit Grad 4 wähle vV mit deg(v)=5 und xi,xj(v) mit {xi,xj}E G´:=(V \{v, xi}),(E\...(s.o.)...)) c:=PlanarCol(G´) c(xi):=c(xj) c(v):=min({1,...,5} \ {c(w) : w(v)}) return c

Die Laufzeit von PlanarCol ist polynomiell.

11.04.23 Kapitel 1 37

Page 38: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

2.14 Satz: Jeder Graph G braucht mindestens (G) und höchstens (G)+1 Farben für eine Kantenfärbung.

Beweis:• Mindestens (G) Farben: klar • Höchstens (G)+1 Farben: Beweis über

Algorithmus, der höchstens (G)+1 Farben benötigt

• Farbe c fehlt an Knoten v, falls keine der Kanten von v Farbe c besitzt

• Für jede (partielle) Kantenfärbung fehlt an jedem Knoten mindestens eine der (G)+1 Farben

11.04.23 Kapitel 1 38

Page 39: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

2.15 Lemma: Sei G kantengefärbt mit Farben 1,...,(G)+1 und seien u und v Knoten mit {u,v}E und deg(u),deg(v) < (G). Dann kann G so umgefärbt werden, dass an u und v dieselbe Farbe fehlt.

Beweis:

• An u fehle Farbe s, an v Farbe c1

• Wir sorgen dafür, dass c1 auch an u fehlt

11.04.23 Kapitel 1 39

Page 40: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

• Betrachte den folgenden Algorithmus, der eine Folge (v1,...,vh) von Nachbarn von u und eine Farbfolge (c1,...,ch+1) generiert mit: {u,vi} ist mit ci gefärbt und an vi fehlt ci+1.

i:=1while es gibt mit ci gefärbte Kante {u,vi}E mit vi{v1,..., vi-1} do ci+1:=eine an vi fehlende Farbe i:=i+1

11.04.23 Kapitel 1 40

Page 41: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

• Da nur Nachbarn von u betrachtet werden, wird while-Schleife höchstens ((G)-1)-mal durchlaufen. Zwei Fälle für ch+1.

11.04.23 Kapitel 1 41

u

v1

v2

v3v4

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1

vc1s

Page 42: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

(a)Es gibt keine zu u inzidente Kante mit Farbe ch+1.

(b)Es gibt eine Kante {u,vj} mit cj=ch+1. 11.04.23 Kapitel 1 42

u

v1

v2

v3v4

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1

vc1

Page 43: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

(a)Es gibt keine zu u inzidente Kante mit Farbe ch+1:Verschiebe Farben, damit c1 bei u fehlt

11.04.23 Kapitel 1 43

u

v1

v2

v3v4

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1

vc1

c2

c3

c4c5

ch+1

c1

Page 44: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

(b) Es gibt eine Kante {u,vj} mit cj=ch+1:Etwas komplizierter...

11.04.23 Kapitel 1 44

u

v1

v2

v3v4

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1

vc1

Page 45: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

• Zuerst führen wir Farbverschiebung wie in (a) für v1,..,vj-1 durch und entfärben {u,vj}. Dadurch fehlt c1 wieder bei u.

11.04.23 Kapitel 1 45

u

v1

v2

v3vj

vh

c1

c2

c3c4

ch

..... c2

c3

c4c5

ch+1=cj

vc1

c2

c3

c4

c1

Page 46: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

• Wir müssen {u,vj} färben.

• Betrachte Teilgraph H(s,ch+1) von G, der nur aus Kanten mit Farben s und ch+1 besteht

11.04.23 Kapitel 1 46

u

v1

v2

v3

vh

c2

c3

c4

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

Page 47: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

• H(s,ch+1) besteht nur aus Kreisen und Pfaden, da jeder Knoten max. Grad 2 hat

• u, vj und vh haben max. Grad 1 in H(s,ch+1)

11.04.23 Kapitel 1 47

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

c4

Page 48: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

• u, vj und vh können also nicht alle in derselben Zusammenhangskomponente in H(s,ch+1) sein. Wir betrachten 2 Fälle.

11.04.23 Kapitel 1 48

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

c4

Page 49: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

(b1) u und vj liegen in verschiedenen ZHKs

(b2) u und vh liegen in verschiedenen ZHKs

11.04.23 Kapitel 1 49

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

c4

Page 50: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

(b1) u und vj liegen in verschiedenen ZHKs:Vertausche Farben s und ch+1 in ZHK von vj. Dann fehlt Farbe s bei vj und u.

11.04.23 Kapitel 1 50

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

c4

c4

s

c1

s

Page 51: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

(b2) u und vh liegen in verschiedenen ZHKs:Verschiebe Farben von {u,vh},...,{u,vj+1} nach {u,vh-1},...{u,vj}. Dadurch haben wir Fall (b1) für {u,vh}, da {u,vh} ungefärbt.

11.04.23 Kapitel 1 51

u

v1

v2

v3

vh

c2

c3

ch

.....

c5

vc1

vj

ch+1=cj

s, c1

s

s

s

c4c5c4

s

c1

Page 52: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung• Mit Lemma 2.15 können wir nun einfach Satz 2.14 mit

folgendem Algo beweisen:

Algorithmus FärbeKanten(G=(V,E))if |E|= then returnelse wähle eine beliebige Kante {u,v}E G´:=G\{u,v} FärbeKanten(G´) if (G´)<(G) then färbe {u,v} mit verfügbarer Farbe in {1,...,(G)+1} else färbe G´ gemäß Lemma 2.15 um, so dass an u und v dieselbe Farbe c fehlt, und färbe dann {u,v} mit c

11.04.23 Kapitel 1 52

Page 53: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Kantenfärbung

2.16 Satz: Algorithmus FärbeKanten kann in Zeit O(|V||E|) ausgeführt werden und garantiert absolute Güte 1.

Eine Güte 0 ist nicht in poly Zeit erreichbar. Selbst die Frage, ob ein 3-regulärer Graph mit 3 Farben kantengefärbt werden kann, ist NP-hart.

11.04.23 Kapitel 1 53

Page 54: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Übersicht

• Notation

• Graphfärbbarkeit

• Ein Unmöglichkeitsergebnis für das Rucksackproblem und MaxClique

11.04.23 Kapitel 1 54

Page 55: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Rucksackproblem

Für viele Probleme gibt es keinen Polynomial-zeit-Algorithmus, der eine konstante Güte erreichen kann. Eines davon ist das Rucksackproblem.

2.17 Satz: Falls PNP ist, gibt es keine Konstante kIN, so dass es einen polyno-miellen Approximationsalgorithmus A für das Rucksackproblem gibt mit

|A(I)-OPT(I)| k.11.04.23 Kapitel 1 55

Page 56: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Rucksackproblem

• Wir nehmen an, dass es ein k und Algo A gibt.

• Damit wollen wir zeigen, dass es dann sogar einen exakten Algorithmus A´ mit polynomieller Laufzeit für das Rucksack-problem gibt.

• Das ist aber nicht möglich (es sei denn, P=NP), da das Rucksackproblem NP-hart ist.

11.04.23 Kapitel 1 56

Page 57: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Rucksackproblem

• Sei I=<W,vol,p,B> Instanz des Rucksack-problems

• Betrachte I´=<W´,vol´,p´,B´> mit W´=W, vol´=vol, B´=B und p´(w)=(k+1)p(w).

• Offensichtlich ist S(I)=S(I´)• Die Werte von S(I) sind:

fI() = w p(w)fI´() = w (k+1)p(w) = (k+1)fI()

• Also ist OPT für I auch OPT für I´11.04.23 Kapitel 1 57

Page 58: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Rucksackproblem

• Wir stellen uns die Lösungen ansteigend nach ihren Werten angeordnet vor

• D.h. S(I)={1,...,|S(I)|} mit fI(i) fI(i+1) für alle i

• Sei j der Index mit fI(j-1)<OPT(I) und fI(j)=OPT(I). Dann ist

fI(j)-fI(j-1) 1d.h. fI´(j)-fI´(j-1) = (k+1) (fI(j)-fI(j-1)) > k

11.04.23 Kapitel 1 58

Page 59: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Rucksackproblem

• Verwende nun den folgenden Algo A´:1. berechne die Instanz I´2. bestimme mittels A eine Lösung für I´3. gib A´ = aus

• A´ läuft offensichtlich in polynomieller Zeit• Nach Annahme über A gilt OPT(I´)-fI´() k• Da es für I´ keine Lösungen mit OPT(I´)-fI

´() k außer einem OPT gibt, gibt A´ immer die optimale Lösung aus Widerspruch! (zur Annahme, dass Rucksack NP-hart ist)

11.04.23 Kapitel 1 59

Page 60: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Rucksackproblem

• Die im Beweis angewandte Technik, um die Lücke zum Optimalwert zu vergrößern, wird auch Scaling oder Gap Amplification genannt. Das ist generell immer anwendbar, wenn beliebige Zahlen in der Eingabe erlaubt sind.

• Die Strategie, ein Problem auf sich selbst zu reduzieren, wird auch Selbstreduktion genannt.

• Der Beweis klappt nicht nur für konstantes k.Wie hoch kann k gewählt werden?

11.04.23 Kapitel 1 60

Page 61: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Maximale Clique

Zur Erinnerung:• Clique = {(G,k) | G=(V,E) ist ein Graph, der

einen vollständigen Teilgraphen aus mindestens k Knoten besitzt}

• Das zugehörige Optimierungsproblem (finde Clique maximaler Größe) nennen wir MaxClique

• MaxClique ist NP-hart. Wir beweisen nun, dass sich auch MaxClique nicht additiv approximieren lässt

11.04.23 Kapitel 1 61

Page 62: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Maximale Clique

2.18 Satz: Falls PNP ist, gibt es keine Konstante kIN, so dass es einen polyno-miellen Approximationsalgorithmus A für MaxClique gibt mit |A(I)-OPT(I)| k.

Beweis:

• Wir führen wieder geeigenete Selbstreduk-tion durch

• Sei G=(V,E) ein Graph und mIN.

11.04.23 Kapitel 1 62

Page 63: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Maximale Clique

• Seien G1=(V1,E1),...,Gm=(Vm,Em) Kopien von G• Wir bauen daraus den Graph Gm=(Vm,Em) mit

Vm := i=1 m Vi undEm := i=1 m Ei {{v,w} | vVi und wVj für ein ij}

• Beispiel für G2:

11.04.23 Kapitel 1 63

Page 64: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Maximale Clique

• Ist nun C eine Clique in Gm mit n=|C| Knoten, dann ist für jedes im die Menge Ci:=CVi eine Clique in Gi

• Mit t:=argmax{|C1|,...,|Cm|} ist damit Ct eine Clique der Größe mindestens n/m

• Aus obiger Aussage folgt, dass eine größte Clique in G genau dann n Knoten hat, wenn eine größte Clique in Gm genau mn Knoten hat

• D.h. mOPT(G) = OPT(Gm)11.04.23 Kapitel 1 64

Page 65: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Maximale Clique

• Angenommen, es existiert ein kIN und ein Approximationsalgorithmus A mit

|A(G)-OPT(G)| k• Betrachte dann den folgenden Algo A´:

1. Konstruiere Gk+1

2. Finde eine Clique C in Gk+1 mit A3. Partitioniere C in C1,...,Cm

4. t:=argmax{|C1|,...,|Cm|} 5. Gib Ct aus

11.04.23 Kapitel 1 65

Page 66: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Maximale Clique

• Nach Annahme über A giltA(Gk+1) OPT(Gk+1)-k

• Weiterhin ist A´(G) A(Gk+1) / (k+1) und damit (k+1)A´(G) OPT(Gk+1)-k

• Da OPT(Gk+1) = (k+1)OPT(G) ist, folgt(k+1)A´(G) (k+1)OPT(G)-k

d.h. A´(G) OPT(G) – k/(k+1)• Da k/(k+1)<1 ist und A´(G) nur ganzzahlige

Werte annehmen kann, muss A´(G)=OPT(G) sein, ein Widerspruch! (zur Annahme, das MaxClique NP-hart ist)

11.04.23 Kapitel 1 66

Page 67: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Traveling Salesperson

Zur Erinnerung: Im Traveling Salesperson Problem (TSP) haben wir Instanzen der Form (Kn,c), wobei Kn der vollständige Graph auf n Knoten ist und c:EIN eine Kantengewichtsfunktion. Das Ziel ist es, einen Hamilton-Kreis in Kn mit minimalen Kosten zu finden.

Auch TSP kann nicht mit absoluter Güte k für jede Konstante k in poylnomieller Zeit approximiert werden. Wie beweist man das?

11.04.23 Kapitel 1 67

Page 68: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

Färbungsprobleme

Warum erlaubt das Kantenfärbungsproblem keine Amplifikation?

11.04.23 Kapitel 1 68

Page 69: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009

11.04.23 Kapitel 1 69

Fragen?