Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.2: Approximation mit absoluter Güte Christian Scheideler SS 2009."—  Präsentation transkript:

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

2 Übersicht Notation Graphfärbbarkeit Ein Unmöglichkeitsergebnis für das Rucksackproblem und MaxClique Kapitel 12

3 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) | I D, |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) Kapitel 13

4 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 I D´ gilt: A (I) ´ A (|I|). Eine solche Eingabe nennen wir dann einen ´ A (n)-Zeugen Kapitel 14

5 Notation Ziele: Finde Approximationsalgorithmen mit möglichst kleiner absoluter Güte. Zeige (asymptotisch) übereinstimmende Werte für die absolute Güte und absolute Abweichung Kapitel 15

6 Graphfärbbarkeit G=(V,E): ungerichteter Graph Für u V ist G (u) = { v | {u,v} E} die Menge der Nachbarn von u und deg G (u) = | G (u)| der Grad von u. Der Grad von G ist (G) = max {deg G (u) | u V} Kapitel 16 u

7 Graphfärbbarkeit G heißt r-regulär, wenn deg G (v)=r für alle Knoten v V. Wenn aus dem Zusammenhang klar wird, welcher Graph gemeint ist, lassen wir den Index G weg Kapitel 17

8 Graphfärbung 2.2 Definition: Gegeben sei ein Graph G=(V,E). (a)Eine Abbildung c V :V IN heißt Knotenfärbung von G, falls für alle {u,v} E gilt: c V (u) c V (v) Kapitel 18

9 Graphfärbung 2.2 Definition (Fortsetzung): (b) Eine Abbildung c E :E IN heißt Kantenfärbung von G, falls für alle an einem Knoten u aufein- andertreffenden Kanten {u,v},{u,w} E gilt: c E ({u,v}) c E ({u,w}) Kapitel 19 u

10 Graphfärbung c V (u) und c E ({u,v}) werden in diesem Zusam- menhang auch Farben genannt. |c V (V)| bzw. |c E (E)| ist die Anzahl der benutzten Farben. Oft wird auch eine beliebige Abbildung c V :V IN bzw. c E :E IN als Färbung bezeich- net. Die beiden Begriffe aus Definition 2.2 werden dann als korrekte Färbungen bezeichnet. Es ergeben sich folgende Optimierungsprobleme: Kapitel 110

11 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) = {c V | c V ist Knotenfärbung von G} bzw. S(G) = {c E | c E ist Kantenfärbung von G} f(c V ) = |c V (V)| bzw. f(c E ) = |c E (E)| min Kapitel 111

12 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 k 3.) Ist der Graph G mit (G) Farben kantenfärb- bar? Kapitel 112

13 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 Kapitel 113

14 Knotenfärbung Gegeben: Graph G=(V,E) mit V={u 1,...,u n } Betrachte folgenden Algorithmus: Algorithmus GreedyCol: for i:=1 to n do c V (u i ):= for i:=1 to n do c V (u i ) := min(IN \ {c V ( (u i ))}) gib c V aus 2.5 Satz: GreedyCol berechnet in Zeit O(|V|+|E|) eine Knotenfärbung aus höchstens (G)+1 Farben Kapitel 114

15 Knotenfärbung Beweis: Laufzeit: Obere Schranke für Anzahl der Farben: Für jedes u i können höchstens deg(u i ) der Farben verbraucht sein. u i kann also Farbe aus der Menge {1,...,deg(u i )+1} wählen Kapitel 115

16 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) Kapitel 116

17 Knotenfärbung Ist die Schranke in Satz 2.6 bestmöglich? Betrachte folgenden Graph G: GreedyCol(G) = D(G)+1, aber OPT(G)= Kapitel 117 u1u1 u2u2 u3u3 u4u4 u5u5 u6u6 u7u7 u8u8

18 Knotenfärbung Worin liegt das Scheitern von GreedyCol? Reihenfolge der Knoten war ungünstig. Dann GreedyCol(G) = Kapitel 118 u1u1 u2u2 u3u3 u4u4 u5u5 u6u6 u7u7 u8u8

19 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! Kapitel 119

20 Knotenfärbung Algorithmenklasse zu GreedyCol: Algorithmus GreedyCol_Var: for (alle Knoten u) do c V (u):= while (es gibt Knoten u mit c V (u):= ) do c V (u) := min(IN \ {c V ( (u))}) gib c V 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 Kapitel 120

21 Knotenfärbung Ein Graph G=(V,E) heißt planar, wenn man ihn kreuzungsfrei in die Ebene (bzw. Kugel) einbetten kann. Beispiel: Kapitel 121 Facette

22 Knotenfärbung Graphen, die nicht kreuzungsfrei in die Ebene eingebettet werden können: Kapitel 122 K5K5 K 3,3

23 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 Kapitel 123

24 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 Kapitel 124

25 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 Kapitel 125

26 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= Kapitel 126

27 Knotenfärbung Sei nun f 2. Dann ist G kein Baum. Es gibt also Kreis entlang der Kanten {v 1,v 2 },{v 2,v 3 },...,{v k,v 1 } E in G. Löschen wir eine Kante {v i,v i+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 = Kapitel 127

28 Knotenfärbung 2.10 Lemma: Sei G=(V,E) ein planarer und zusammenhängender Graph mit n 3 Knoten und e Kanten. Dann gilt: (a) e 3n-6 und (b) v V (6-deg(v)) 12 Beweis von (a): Sei F die Menge der Facetten. Für jedes g F 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 g F d(g) 3f Einsetzen in die Eulersche Formel liefert die Behauptung Kapitel 128

29 Knotenfärbung Beweis von (b): Beachte, dass v V deg(v) = 2e ist. Also gilt wegen (a): v V (6-deg(v)) = 6n-2e 6n-2(3n-6) = 12 Lemma 2.10 hat zwei wichtige Konsequenzen Kapitel 129

30 Knotenfärbung 2.11 Korollar: Jeder Graph, der K 5 als Teilgraph enthält, ist nicht planar. Beweis: K 5 hat 5 Knoten und 10 Kanten. Da 10>3 5- 6=9 ist, folgt die Behauptung aus Lemma 2.10 (a) 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 v V (6-deg(v)) 0 ist, ein Widerspruch zu Lemma 2.10 (b) Kapitel 130

31 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} Kapitel 131

32 Knotenfärbung Fall 2: v hat Grad 5. Seien x 1,..., x 5 seine Nachbarn. Da G keinen K 5 enthält, gibt es zwei Nachbarn x i und x j, die nicht über eine Kante verbunden sind Kapitel 132 x1x1 x2x2 x3x3 x4x4 x5x5 v

33 Knotenfärbung Betrachte nun den Graphen G´=(V´,E´) mit V´= V \ {v,x i } und E´= (E \ {e | v e oder x i e}) { {t, x j } | t (x i )} Kapitel 133 x1x1 x2x2 x3x3 x4x4 x5x5 v xjxj xixi

34 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 x i und x j gleich gefärbt sind, da x i und x j 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 Kapitel 134

35 Knotenfärbung Behauptung: G´ ist planar. Wir müssen die Kanten, die in G in x i enden, geschickt in x j enden lassen, ohne dass es zu Kantenkreuzungen kommt. Da G planar ist, gibt es ein Gebiet A, das nur von den Kanten von v, x i und x j geschnitten wird. Wir haben also genügend Platz, um Kanten nach x i nach x j fortzusetzen Kapitel 135 x1x1 x2x2 x3x3 x4x4 x5x5 v xixi xjxj

36 Knotenfärbung Daraus ergibt sich folgender Algorithmus: Algorithmus PlanarCol: if |V| 5 then for i:=1 to |V| do c(v i ):=i return c else if v V: deg(v) 4 then G´:=G-v c:=PlanarCol(G´) c(v):=min({1,...,5} \ {c(w) : w (v)}) return c else // kein Knoten mit Grad Kapitel 136

37 Knotenfärbung else // kein Knoten mit Grad 4 wähle v V mit deg(v)=5 und x i,x j (v) mit {x i,x j } E G´:=(V \{v, x i }),(E\...(s.o.)...)) c:=PlanarCol(G´) c(x i ):=c(x j ) c(v):=min({1,...,5} \ {c(w) : w (v)}) return c Die Laufzeit von PlanarCol ist polynomiell Kapitel 137

38 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 Kapitel 138

39 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 c 1 Wir sorgen dafür, dass c 1 auch an u fehlt Kapitel 139

40 Kantenfärbung Betrachte den folgenden Algorithmus, der eine Folge (v 1,...,v h ) von Nachbarn von u und eine Farbfolge (c 1,...,c h+1 ) generiert mit: {u,v i } ist mit c i gefärbt und an v i fehlt c i+1. i:=1 while es gibt mit c i gefärbte Kante {u,v i } E mit v i {v 1,..., v i-1 } do c i+1 :=eine an v i fehlende Farbe i:=i Kapitel 140

41 Kantenfärbung Da nur Nachbarn von u betrachtet werden, wird while-Schleife höchstens ( (G)-1)-mal durchlaufen. Zwei Fälle für c h Kapitel 141 u v 1 v 2 v 3 v 4 v h c1c1 c2c2 c3c3 c4c4 chch..... c2c2 c3c3 c4c4 c5c5 c h+1 v c1c1 s

42 Kantenfärbung (a)Es gibt keine zu u inzidente Kante mit Farbe c h+1. (b)Es gibt eine Kante {u,v j } mit c j =c h Kapitel 142 u v 1 v 2 v 3 v 4 v h c1c1 c2c2 c3c3 c4c4 chch..... c2c2 c3c3 c4c4 c5c5 c h+1 v c1c1

43 Kantenfärbung (a)Es gibt keine zu u inzidente Kante mit Farbe c h+1 : Verschiebe Farben, damit c 1 bei u fehlt Kapitel 143 u v 1 v 2 v 3 v 4 v h c1c1 c2c2 c3c3 c4c4 chch..... c2c2 c3c3 c4c4 c5c5 c h+1 v c1c1 c2c2 c3c3 c4c4 c5c5 c1c1

44 Kantenfärbung (b) Es gibt eine Kante {u,v j } mit c j =c h+1 : Etwas komplizierter Kapitel 144 u v 1 v 2 v 3 v 4 v h c1c1 c2c2 c3c3 c4c4 chch..... c2c2 c3c3 c4c4 c5c5 c h+1 v c1c1

45 Kantenfärbung Zuerst führen wir Farbverschiebung wie in (a) für v 1,..,v j-1 durch und entfärben {u,v j }. Dadurch fehlt c 1 wieder bei u Kapitel 145 u v 1 v 2 v 3 v j v h c1c1 c2c2 c3c3 c4c4 chch..... c2c2 c3c3 c4c4 c5c5 c h+1 =c j v c1c1 c2c2 c3c3 c4c4 c1c1

46 Kantenfärbung Wir müssen {u,v j } färben. Betrachte Teilgraph H(s,c h+1 ) von G, der nur aus Kanten mit Farben s und c h+1 besteht Kapitel 146 u v 1 v 2 v 3 v h c2c2 c3c3 c4c4 chch..... c5c5 v c1c1 v j c h+1 =c j s, c 1 s s s

47 Kantenfärbung H(s,c h+1 ) besteht nur aus Kreisen und Pfaden, da jeder Knoten max. Grad 2 hat u, v j und v h haben max. Grad 1 in H(s,c h+1 ) Kapitel 147 u v 1 v 2 v 3 v h c2c2 c3c3 chch..... c5c5 v c1c1 v j c h+1 =c j s, c 1 s s s c4c4

48 Kantenfärbung u, v j und v h können also nicht alle in derselben Zusammenhangskomponente in H(s,c h+1 ) sein. Wir betrachten 2 Fälle Kapitel 148 u v 1 v 2 v 3 v h c2c2 c3c3 chch..... c5c5 v c1c1 v j c h+1 =c j s, c 1 s s s c4c4

49 Kantenfärbung (b1) u und v j liegen in verschiedenen ZHKs (b2) u und v h liegen in verschiedenen ZHKs Kapitel 149 u v 1 v 2 v 3 v h c2c2 c3c3 chch..... c5c5 v c1c1 v j c h+1 =c j s, c 1 s s s c4c4

50 Kantenfärbung (b1) u und v j liegen in verschiedenen ZHKs: Vertausche Farben s und c h+1 in ZHK von v j. Dann fehlt Farbe s bei v j und u Kapitel 150 u v 1 v 2 v 3 v h c2c2 c3c3 chch..... c5c5 v c1c1 v j c h+1 =c j s, c 1 s s c4c4 c4c4 s c1c1 s

51 Kantenfärbung (b2) u und v h liegen in verschiedenen ZHKs: Verschiebe Farben von {u,v h },...,{u,v j+1 } nach {u,v h-1 },...{u,v j }. Dadurch haben wir Fall (b1) für {u,v h }, da {u,v h } ungefärbt Kapitel 151 u v 1 v 2 v 3 v h c2c2 c3c3 chch..... c5c5 v c1c1 v j c h+1 =c j s, c 1 s s s c4c4 c5c5 c4c4 s c1c1

52 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 return else 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 Kapitel 152

53 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 Kapitel 153

54 Übersicht Notation Graphfärbbarkeit Ein Unmöglichkeitsergebnis für das Rucksackproblem und MaxClique Kapitel 154

55 Rucksackproblem Für viele Probleme gibt es keinen Polynomial- zeit-Algorithmus, der eine konstante Güte erreichen kann. Eines davon ist das Rucksackproblem Satz: Falls P NP ist, gibt es keine Konstante k IN, so dass es einen polyno- miellen Approximationsalgorithmus A für das Rucksackproblem gibt mit |A(I)-OPT(I)| k Kapitel 155

56 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 Kapitel 156

57 Rucksackproblem Sei I= Instanz des Rucksack- problems Betrachte I´= 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: f I ( ) = w p(w) f I´ ( ) = w (k+1) p(w) = (k+1) f I ( ) Also ist OPT für I auch OPT für I´ Kapitel 157

58 Rucksackproblem Wir stellen uns die Lösungen ansteigend nach ihren Werten angeordnet vor D.h. S(I)={ 1,..., |S(I)| } mit f I ( i ) f I ( i+1 ) für alle i Sei j der Index mit f I ( j-1 ) k Kapitel 158

59 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´)-f I´ ( ) k Da es für I´ keine Lösungen mit OPT(I´)- f I´ ( ) k außer einem OPT gibt, gibt A´ immer die optimale Lösung aus Widerspruch! (zur Annahme, dass Rucksack NP-hart ist) Kapitel 159

60 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? Kapitel 160

61 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 Kapitel 161

62 Maximale Clique 2.18 Satz: Falls P NP ist, gibt es keine Konstante k IN, 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 m IN Kapitel 162

63 Maximale Clique Seien G 1 =(V 1,E 1 ),...,G m =(V m,E m ) Kopien von G Wir bauen daraus den Graph G m =(V m,E m ) mit V m := i=1 m V i und E m := i=1 m E i {{v,w} | v V i und w V j für ein i j} Beispiel für G 2 : Kapitel 163

64 Maximale Clique Ist nun C eine Clique in G m mit n=|C| Knoten, dann ist für jedes i m die Menge C i :=C V i eine Clique in G i Mit t:=argmax{|C 1 |,...,|C m |} ist damit C t 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 G m genau m n Knoten hat D.h. m OPT(G) = OPT(G m ) Kapitel 164

65 Maximale Clique Angenommen, es existiert ein k IN und ein Approximationsalgorithmus A mit |A(G)-OPT(G)| k Betrachte dann den folgenden Algo A´: 1. Konstruiere G k+1 2. Finde eine Clique C in G k+1 mit A 3. Partitioniere C in C 1,...,C m 4. t:=argmax{|C 1 |,...,|C m |} 5. Gib C t aus Kapitel 165

66 Maximale Clique Nach Annahme über A gilt A(G k+1 ) OPT(G k+1 )-k Weiterhin ist A´(G) A(G k+1 ) / (k+1) und damit (k+1)A´(G) OPT(G k+1 )-k Da OPT(G k+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) Kapitel 166

67 Traveling Salesperson Zur Erinnerung: Im Traveling Salesperson Problem (TSP) haben wir Instanzen der Form (K n,c), wobei K n der vollständige Graph auf n Knoten ist und c:E IN eine Kantengewichtsfunktion. Das Ziel ist es, einen Hamilton-Kreis in K n 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? Kapitel 167

68 Färbungsprobleme Warum erlaubt das Kantenfärbungsproblem keine Amplifikation? Kapitel 168

69 Kapitel 169 Fragen?


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

Ähnliche Präsentationen


Google-Anzeigen