1 / 72

Methoden des Algorithmenentwurfs Kapitel 1.3: Approximation mit relativer Güte

Methoden des Algorithmenentwurfs Kapitel 1.3: Approximation mit relativer Güte. Christian Scheideler SS 2009. Übersicht. Notation Das metrische TSP Problem Unabhängige Mengen Bin Packing Nichtapproximierbarkeit. Notation.

candid
Télécharger la présentation

Methoden des Algorithmenentwurfs Kapitel 1.3: Approximation mit relativer Güte

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Methoden des AlgorithmenentwurfsKapitel 1.3: Approximation mit relativer Güte Christian Scheideler SS 2009 Kapitel 1

  2. Übersicht • Notation • Das metrische TSP Problem • Unabhängige Mengen • Bin Packing • Nichtapproximierbarkeit Kapitel 1

  3. Notation 3.1 Definition: Sei P ein Optimierungsproblem und A ein Approximationsalgorithmus für P. • A hat bei Eingabe I eine relative Güte vonrA(I) = max{ A(I)/OPT(I), OPT(I)/A(I) }Für ein Minimierungsproblem ist der erste Term dominant und für ein Maximierungsproblem der zweite. • Die relative worst-case Güte von A ist die FunktionrAwc(n) = max { rA(I) | ID, |I|  n} • Sei rA:IN  IN eine Funktion. Agarantiert eine relative Güte von rA(n) falls für alle n gilt: rAwc(n)  rA(n). Kapitel 1

  4. Notation 3.1 Definition (Forsetzung): (d) A macht bei Eingabe I einen relativen Fehler voneA(I) = |A(I)-OPT(I)| / OPT(I) Agarantiert einen relativen Fehler von eA(n) falls für alle ID mit |I|n gilt: eA(I)  eA(n). (e) Sei r´A:IN  IN eine Funktion. A hat eine relative Abweichung von r´A(n), falls für unendlich viele n giltr´A(n) rAwc(n).Eine unendlich große Menge D´, D´D, heißt r´A(n)-Zeugenmenge gegen A, wenn für alle ID´ gilt: rA(I)  r´A(|I|). Eine solche Eingabe nennen wir dann einen r´A(n)-Zeugen. Kapitel 1

  5. Notation 3.2 Bemerkung: Sei P ein Optimierungspro-blem und A ein Approximationsalgorith-mus für P. • Bei einem Minimierungsproblem ist 1+eA(n) = rA(n). • Bei einem Maximierungsproblem ist 1-eA(n) = 1/rA(n). • Für beide Problemtypen ist eA(n) rA(n)-1. Kapitel 1

  6. Notation Ziele: • Finde Approximationsalgorithmen mit möglichst kleiner relativer Güte. • Zeige (asymptotisch) übereinstimmende Werte für die relative Güte und relative Abweichung. Kapitel 1

  7. Das Metrische TSP Problem Allgemeines TSP Problem:Gegebender vollstän-dige Graph KnmitKostenfunktionc:EIN, findeeinenHamilton-KreismitminimalenKosten. Bemerkung: TSP istein NP-hartes Problem. Kapitel 12

  8. Das Metrische TSP Problem EinenatürlicheEinschränkung des TSPs ist das folgende Problem: TSP: Gegebender Graph KnmitMetrikc:EIN, bestimmeeinen Hamilton-KreismitminimalenKosten. EineMetrik muss die Dreiecksungleichungerfüllen, d.h. u,v,wV: c(u,v)  c(u,w)+c(w,v) Bemerkung: Dieses Problem istimmernoch NP-hart, kannabermitkonstanterGüteapproximiertwerden. Kapitel 12

  9. Das Metrische TSP Problem Einfüge-Heuristik: • Idee: erweitere Tour nach und nach durch Hinzufügung eines neuen Knotens. • Einfügeoperation für Tour C=(u1,...,uk,u1):Algorithmus Einfüge(C,v)(1) bestimme i, so dass c(ui,v)+c(v,ui+1)-c(ui,ui+1) minimal ist(2) gib (u1,..., ui,v,ui+1,...,uk,u1) aus ui+1 Erhöhung von c(C) durch v: c(ui,v)+c(v,ui+1)-c(ui,ui+1) v ui Kapitel 1

  10. Das Metrische TSP Problem Klasse der Einfüge-Heuristiken:Algorithmus EHC1:=(v1,v1) für einen beliebigen Knoten v1for j:=2 to n do (*) wähle einen Knoten vj, der nicht in Cj-1 istCj:=Einfüge(Cj-1,vj)Beachte, dass in (*) offen geblieben ist, wie vj ausgewählt wird. (v1,...,vn) heißt die Einfüge-Abfolge und beschreibt die Wirkung des Algo-rithmus vollständig (sofern die Einfügestellen in Einfüge() eindeutig sind). Kapitel 1

  11. Das Metrische TSP Problem 3.4 Satz: Jede Einfüge-Heuristik EH garantiert EH(Kn,c)(log n+1)OPT(Kn,c). Beweis: • Sei (v1,...,vn) eine beliebige Einfüge-Abfolge. • Sei cost(vj) die Verlängerung der Tour durch vj, d.h. cost(vj) = c(Cj)-c(Cj-1). • Mit cost(v1)=0 haben wir folgende Teleskop-summe:cost({v1,...,vn}) = Sj=1n cost(vj) = Sj=1n (c(Cj)-c(Cj-1)) = c(Cn) = EH(I) • Um fortzufahren, benötigen wir folgendes Lemma. Kapitel 1

  12. Das Metrische TSP Problem 3.5 Lemma: Für alle vivjgilt:min{cost(vi),cost(vj)}  2c(vi,vj) Beweis: • O.B.d.A. sei i<j. Sei x der Nachfolger von vi in Tour Cj-1 • In Cj-1 wird vj an einer Stelle eingefügt, für die die Verlängerung minimal ist. • Also ist sie höchstens so groß, als würde vj zwischen vi und x eingefügt, d.h.cost(vj)  c(vi,vj)+c(vj,x)-c(vi,x) • Zudem gilt wegen der Dreiecksungleichung:c(vi,vj)+c(vi,x)  c(vj,x), also c(vj,x)-c(vi,x)  c(vi,vj) • Daraus folgt cost(vj)  2c(vi,vj) und damit das Lemma. Kapitel 1

  13. Das Metrische TSP Problem • Sei R*=(w1,...,wn,w1) eine optimale Tour für I und R=(wi1,wi2,...,wik,wi1) ein Kreis aus k Knoten auf I mit ij<ij+1. R ist an R*angelehnt, also kein beliebiger Kreis. • Wegen der Dreiecksungleichung giltc(R) ≤ c(R*) = OPT(I) • Wir zeigen jetzt, dass man aus jedem an einer optimalen Tour angelehnten Kreis ca. die Hälfte der Knoten so auswählen kann, dass deren Kosten gemäß der gegebenen EH-Heuristik höchstens OPT(I) sind. Kapitel 1

  14. Das Metrische TSP Problem 3.6 Lemma: Seien R* und R wie oben. Dann gibt es eine Menge Z {wi1,wi2,...,wik,wi1} mit |Z|=k/2und cost(Z)  OPT(I). Beweis: • R wird in zwei Mengen aufgeteilt (wenn k ungerade ist, fehlt die letzte Kante des Kreises):M1={{wi1,wi2},{wi3,wi4},…} undM2={{wi2,wi3},{wi4,wi5},…} • Es ist |M1|=|M2|= k/2 • Sei M dasjenige Mi, für das c(Mi) ≤ c(R)/2 ≤ c(R*)/2 ist • Sei Z die Menge der Knoten, die pro Kante in M den kleineren cost-Wert haben • Die Wahl von Z hängt von EH-Heuristik ab Kapitel 1

  15. Das Metrische TSP Problem 3.6 Lemma: Seien R* und R wie oben. Dann gibt es eine Menge Z {wi1,wi2,...,wik,wi1} mit |Z|=k/2und cost(Z)  OPT(I). Beweis (Fortsetzung): • Es ist |Z|=k/2und wegen Lemma 3.5,cost(Z) = S {wij,wij+1}M min{cost(wij),cost(wij+1)}S {wij,wij+1}M 2c(wij,wij+1) = 2c(M) 2c(R)/2  OPT(I) Kapitel 1

  16. Das Metrische TSP Problem • Anfangs setzen wir R1=R*. • Dann bestimmen wir Z1 gemäß Lemma 3.6 und berechnen R2=R1-Z1. • Allgemein bestimmen wir sukzessive Zigemäß Lemma 3.6 und berechnen Ri+1=Ri-Zi, bis Rinur noch aus einer Kante (mit Kosten max. OPT(I) ) besteht. • Wie man leicht sieht, ist |Ri| ≤ n/2i-1+1 für alle i, so dass der Prozess oben nach höchstens log n+1 Runden terminiert. • Die Gesamtkosten sind alsocost({v1,…,vn}) = cost( iZi) = Sicost(Zi) ≤ (log n +1)  OPT(I) Kapitel 1

  17. Das Metrische TSP Problem • Bis heute ist nicht bekannt, ob Satz 3.4 scharf ist. Man kennt allerdings Auswahl-strategien mit relativer Abweichung W(log n / log log n) • Es gibt aber auch Auswahlstrategien mit relativer Güte 2. Dazu wird als Knoten v immer derjenige Knoten gewählt, der am nächsten zu einem Knoten in Cj-1 ist. • Der resultierende Algo heißt dann NearestInsertion. 3.7 Satz:NearestInsertion garantiert bei Eingaben über n Knoten eine relative Güte von 2-2/n. Kapitel 1

  18. Das Metrische TSP Problem • Die NearestInsertion Heuristik ist identisch mit einem Algorithmus von Christofides. • Dieser Algorithmus basiert auf der Berechnung eines minimalen Spannbaums und einer Euler-Tour durch diesen. Dazu zunächst einige Definitionen. Kapitel 1

  19. Exkurs: Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen Kosten alle Knoten zu verbinden? 1 3 2 3 2 2 5 2 3 1 4 Kapitel 1

  20. Exkurs: Minimaler Spannbaum Eingabe: • ungerichteter Graph G=(V,E) • Kantenkosten c:EIR+ Ausgabe: • Teilmenge TE, so dass Graph (V,T) verbunden und c(T)=eT c(e) minimal ist • T formt immer einen Baum (wenn c positiv). • Baum über Knoten in V mit minimalen Kosten: minimaler Spannbaum (MSB) Kapitel 1

  21. Exkurs: Minimaler Spannbaum 3.8 Lemma: Sei (U,W) eine Partition von V (d.h. UW = V und UW =) und e={s,t} eine Kante mit minimalen Kosten mit sU und tW. Dann gibt es einen minimalen Spannbaum (MSB) T, der e enthält. s t e U W Kapitel 1

  22. Exkurs: Minimaler Spannbaum Beweis: • Betrachte beliebigen MSB T´ • e={s,t}:(U,W)-Kante minimaler Kosten • Ersetzung von e´ durch e führt zu Baum T´´, der höchstens Kosten von MSB T´ hat, also MSB ist s t e U W e´ in T´ Kapitel 1

  23. Exkurs: Minimaler Spannbaum Problem: Wie wandelt man Lemma 3.8 in einen effizienten Algorithmus um? Strategie von Jarnik/Prim: • Starte bei beliebigem Knoten s, MSB T besteht anfangs nur aus s • Ergänze Tsukzessive durch eine günstigste Kante von T zu einem Knoten w, der noch nicht in T ist, bis T alle Knoten im Graphen umfasst Laufzeit bei geeigneter Implementierung: O(|V| log |V| + |E|) Kapitel 9

  24. Exkurs: Minimaler Spannbaum Beispiel: 1 3 2 3 2 2 5 s 2 3 1 4 Kapitel 9

  25. Exkurs: Euler-Tour Ein(Multi-)Graph GheißtEulersch, wennes in GeinenKreisgibt, derjedeKante von Ggenaueinmaldurchläuft (einesogenannteEuler-Tour oderEuler-Kreis). 3.9 Lemma:GistEulerschgenaudann, wennGzusam-menhängendist und jeder seiner Knotengeraden Grad hat. Beweis: :klar :durchInduktionüber die Kantenzahl • DaalleKnoten Grad 2haben, gibteseinenKreisC in G. (FangebeibeliebigemKnoten an und wandereent-langbeliebigerKanten, biseinKnotenzumzweitenmalbesuchtwird.) Kapitel 12

  26. Exkurs: Euler-Tour Beweis (Fortsetzung): • Seien G1,…,Gk die ZHKs von G nach Entfernung der Kanten in C. Da C ein Kreis ist, sind die Knotengrade in jedem Gi gerade. Nach der Induktion gibt es also einen Euler-Kreis Ciin jedem Gi. • Diese Euler-Kreise und Kreis C können leicht an Schnitt-stellen zu einem Euler-Kreis von G zusammengesetzt werden. C1 C2 C3 C Kapitel 12

  27. Exkurs: Euler-Tour • Der Beweis zum Lemma kann in einen Algorithmus umgewandelt werden, der eine Euler-Tour in Zeit O(|V|+|E|) berechnet. • Jetzt sind wir soweit, Christofides´ ersten Algorithmus zum DTSP Problem vorzustellen. Kapitel 1

  28. Das Metrische TSP Problem Betrachteden folgendenAlgorithmusfürdas DTSP-Problem mitMetrikc: CH1-Algorithmus: • BerechneeinenminimalenSpannbaumT von (V,c). • VerdopplealleKanten in TzumMultigraphT*. • Konstruiereeinen Euler-KreisK von T*. • Entferne in KWiederholungen von Knoten, so dasssichein Hamilton-KreisCergibt. • GibC aus. Kapitel 12

  29. 2 1 2 2 1 1 Das Metrische TSP Problem 2 T 1 2 2 1 1 2 2 C 1 2 1 2 2 2 1 1 K 1 1 Kapitel 12

  30. Das Metrische TSP Problem 3.10 Satz:DerCH1-Algorithmus isteine2(1-1/n)-Approxi-mationdes TSPs. Beweis: • DerCH1-Algorithmus ist in poly. Zeitimplementierbar. • FüreineKantenmengeEseic(E) = eE c(e). • DaceineMetrikist, gilt c(C)  c(K)(CentstehtjaausKüber “Abkürzungen”.) • NachderKonstruktion von T* gilt c(K) = c(T*) = 2c(T) • SeiC* die optimaleLösung des -TSPs. LöschenwireinebeliebigeKante{v,w} in C*, so istC*einSpann-baumin G. Also gilt c(T)  c(C*\{v,w})  (1-1/n) c(C*), falls {v,w} die teuerstederKanten in C*ist. • Damitfolgtc(C)  2(1-1/n)c(C*) Kapitel 12

  31. Das Metrische TSP Problem Istder CH1-Algorithmus bestmöglich? Nein.Christofideshat aucheinenverbessertenAlgorithmusvorgestellt, bekanntalsChristofides´ Algorithmus. DazubrauchenwirweitereDefinitionen. • EinMatchingMeinesGraphenG=(V,E) isteineMenge von Kanten, in jederKnotenhöchstenseinmalvorkommt. • Einperfektes Matching MisteineMenge von Kanten, in derjederKnotengenaueinmalvorkommt. • EinperfektesMathingMmitminimalemKantengewichtnennenwireinleichtestes Matching. Kapitel 12

  32. Das Metrische TSP Problem Beispiele: Matching perfektes Matching Kapitel 1

  33. Das Metrische TSP Problem 3.11 Lemma: • In jedemGraphenGist die AnzahlderKnotenungeraden Grades gerade. • Fürjedes(V,c)mitgeradem|V|kanneinleichtestes Matching in O(n2,5(log n)4)Zeitgefundenwerden (zeigenwirhiernicht). Beweis von (a): • FüralleGraphenG=(V,E) gilt v deg(v) = 2|E|.v deg(v) ist also gerade. • SeiU die MengederKnoten in Gmitunge-radem Grad. DannistauchvU deg(v)gerade und damit|U|gerade. Kapitel 1

  34. Das Metrische TSP Problem Christofides´ Algorithmus: • Berechneeinen MSB Tzu(V,c). • Bestimme die MengeUderKnotenungeraden Grades in T. (|U|istnach Lemma 3.11 gerade, besitzt also einperfektes Matching.) • BerechneeinleichtestesMatching Mfür(U,c). • SeiG=(V, TM).(AlleKnotenhabendamitgeraden Grad.) Konstruierein Geinen Euler-KreisK. • Entferne in KWiederholungen, so dass Hamilton-KreisCverbleibt. • GibCaus. Kapitel 1

  35. C* M1 M2 Das Metrische TSP Problem 3.12 Satz:Christofides´ Algorithmusisteine(3/2-1/n)-Approximation des TSP. Beweis: • Wiefür den Beweis des CH1-Algorithmus gilt c(C)  c(K) = c(G) = c(T)+c(M) • Zuzeigen: c(M)  c(C*)/2 füreinenoptimalen Hamilton-KreisC*. • SeiC*=(v1,v2,…,vn) und U=(vi1,…,vim).Betrachte die MatchingsM1 = { {vi1,vi2}, {vi3,vi4},…,{vim-1,vim} }M2 = { {vi2,vi3}, {vi4,vi5},…,{vim,vi1 } } • WegenderDreiecksungleichung gilt c(M1)+c(M2)  c(C*) • Aus derMinimalität von Mfolgt: 2c(M)  c(M1)+c(M2)  c(C*) • Also istc(C)  c(T)+c(M) (1-1/n)c(C*) + c(C*)/2 = (3/2-1/n)c(C*) Kapitel 1

  36. Das Metrische TSP Problem Die Analyse von Christofides´ Algorithmusistscharf, wiederfolgendeSatzzeigt. Es wirdjedochvermutet, dasseine4/3-Approximation für das TSP existiert. 3.13. Satz: Seingerade. Gbad(n)istein(3/2-1/n)-ZeugegegenChristofides´ Algorithmus. n/2+2 6 5 4 3 n 1 2 Gbad(n). Die eingezeichnetenKantenhabenLänge 1. Kapitel 1

  37. Das Metrische TSP Problem Beweis: • Da alle nicht eingezeichneten Kanten Länge >1 haben, ist R*=(1,2,…,n,1) eine optimale Rundreise, d.h. OPT(Gbad)=n. • Minimaler Spannbaum T: • Kosten: c(T)=n-1 n/2+2 6 5 4 3 n 1 2 Kapitel 1

  38. Das Metrische TSP Problem Beweis (Fortsetzung): • Alle Knoten in T haben ungeraden Grad. • Leichtestes Matching: • Kosten: c(M)=n/2 n/2+2 6 5 4 3 n 1 2 Kapitel 1

  39. Das Metrische TSP Problem Beweis (Fortsetzung): • Ein Eulerkreis ist (1,4,5,1,2,3,1,n,6,n-1,…,n/2,n/2+5,n/2+1,n/2+4,n/2+2,n/2+3,n/2+4,n/2+5,…,n-1,n,1). • Daraus ergibt sich folgende Rundreise: • Die Kosten sind gleich denen des Euler-Kreises, also (3/2)n-1 n/2+2 6 5 4 3 n 1 2 Kapitel 1

  40. Übersicht • Notation • Das metrische TSP Problem • Unabhängige Mengen • Bin Packing • Nichtapproximierbarkeit Kapitel 1

  41. Unabhängige Mengen • Es gibt Probleme, bei denen die relative Güte nicht konstant ist sondern von der Eingabegröße abhängen kann. Ein Beispiel dafür ist das Independent Set Problem (IS). 3.14 Definition: Sei G=(V,E) ein Graph und sei UV eine Knotenmenge. U wird unabhängig genannt, wenn für alle Knotenpaare u,vU gilt: {u,v}E. Das IS Problem ist das Problem, zum Eingabe-graphen eine möglichst große unabhängige Menge zu finden. Kapitel 1

  42. Unabhängige Mengen • Das IS Problem ist NP-hart und benötigt daher einen Approximationsalgorithmus. • Wir untersuchen den folgenden Algorithmus:Algorithmus GreedyIS:U:= ;t:=0; V(0):=VwhileV(t) do // Runde tG(t):= der von V(t) induzierte Graphut:= ein Knoten mit minimalem Grad in G(t)(*) V(t+1):=V(t)-({ut}GG(t)(ut))U:=U{ut} t:=t+1gib U aus =:lösch(t) Kapitel 1

  43. Unabhängige Mengen • Offensichtlich berechnet GreedyIS eine nichterweiterbare unabhängige Menge, und das in Zeit O(|V|+|E|). • Wie nah ist diese Menge an einer maximalen unabhängigen Menge? 3.15 Satz: Sei G=(V,E) eine Eingabe für GreedyIS. Dann ist rGreedyIS(G)  |E|/|V|+1. Für planare Graphen ist die relative Güte also konstant (denn |E|  3|V|-6 ). Kapitel 1

  44. Unabhängige Mengen Beweis: • gt=|lösch(t)|: Anzahl der in Runde t aus G(t) entfernten Knoten • U*: maximale unabhängige Menge, d.h. OPT(G)=|U*| • kt=|U*  lösch(t)|: Anzahl der in dieser Runde betroffenen Knoten aus U* • Es gilt:St=0|U|-1 gt = |V| und St=0|U|-1kt = OPT(G) • Wir wollen nun bestimmen, wieviele Kanten durch (*) aus G(t) mindestens entfernt werden. • Betrachte dazu zunächst Extremfälle für Knoten ut. Kapitel 1

  45. Unabhängige Mengen Beweis (Fortsetzung): • Extremfälle für ut für Anzahl entfernter Kanten: • In (a) werden mindestens (gt-1)(gt-2) Kanten und in (b) noch gt(gt-1)/2 Kanten entfernt, was minimal ist. • Allerdings sind kt Knoten in lösch(t)  U* unabhängig, d.h. sie dürfen nicht durch Kanten verbunden sein. • Da diese Kanten außerhalb von lösch(t) enden müssen, ist die Mindestzahl der gelöschten Kanten also (gt(gt-1)+kt(kt-1))/2. gt-2 Grad gt-1 Grad gt-1 (a) ut (b) ut Kapitel 1

  46. Unabhängige Mengen Beweis (Fortsetzung): • Insgesamt gilt also: St=0|U|-1 (gt(gt-1)+kt(kt-1))/2  |E| • Ausklammern, Umformen und Einsetzen ergibt:St=0|U|-1 (gt2+kt2)  2|E|+|V|+OPT(G) • Diese Ungleichung gilt für beliebige zulässige Werte für gtund ktund daher insbesondere fürgt=|V|/|U| und kt=OPT(G)/|U| • Damit und mit GreedyIS(G)=|U| bekommt man |V|2+OPT(G)2GreedyIS(G)und schließlich OPT(G)/GreedyIS(G)  |E|/|V| +1  2|E|+|V|+OPT(G) Kapitel 1

  47. Unabhängige Mengen Nebenrechnungen: Kapitel 1

  48. Unabhängige Mengen Bei hohem Grad kann GreedyIS sehr schlechte Ausgaben liefern: 3.16 Satz: GreedyIS hat eine relative Abweichung von mindestens (|V|-1)/4. Beweis: • Betrachte den folgenden Graphen Gbad: GreedyIS(Gbad) = 2 ……… (n-1)/2 OPT(Gbad) = (n-1)/2 ……… (n-1)/2 Kapitel 1

  49. Unabhängige Mengen 3.17 Satz: Sei G=(V,E) ein knoten-k-färbbarer Graph mit k2. Dann ist GreedyIS(G)  logk(|V|/3). Beweis: • Wir benötigen dazu das folgende Lemma, das eine Beziehung zwischen der Anzahl der Farben und dem minimalen Grad eines Graphen herstellt. 3.18 Lemma: Sei G=(V,E) ein knoten-k-färbbarer Graph. Dann gibt es ein uV mit degG(u) (1-1/k)|V|. Kapitel 1

  50. Unabhängige Mengen Beweis (Lemma 3.18): • Sei G mit k Farben gefärbt und bezeichne Ui die Menge der Knoten mit Farbe i. • Ui ist eine unabhängige Menge für alle i. • Es muss eine Menge U unter den Ui´s geben, die mindestens |V|/kKnoten enthält. • Jeder Knoten in U kann nur mit höchstens |V|-|U| <|V|- |V|/k = (1-1/k)|V| Knoten außerhalb von U verbunden sein. Kapitel 1

More Related