720 likes | 849 Views
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.
E N D
Methoden des AlgorithmenentwurfsKapitel 1.3: Approximation mit relativer Güte Christian Scheideler SS 2009 Kapitel 1
Übersicht • Notation • Das metrische TSP Problem • Unabhängige Mengen • Bin Packing • Nichtapproximierbarkeit Kapitel 1
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) | ID, |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
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 ID 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 ID´ gilt: rA(I) r´A(|I|). Eine solche Eingabe nennen wir dann einen r´A(n)-Zeugen. Kapitel 1
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
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
Das Metrische TSP Problem Allgemeines TSP Problem:Gegebender vollstän-dige Graph KnmitKostenfunktionc:EIN, findeeinenHamilton-KreismitminimalenKosten. Bemerkung: TSP istein NP-hartes Problem. Kapitel 12
Das Metrische TSP Problem EinenatürlicheEinschränkung des TSPs ist das folgende Problem: TSP: Gegebender Graph KnmitMetrikc:EIN, bestimmeeinen Hamilton-KreismitminimalenKosten. EineMetrik muss die Dreiecksungleichungerfüllen, d.h. u,v,wV: c(u,v) c(u,w)+c(w,v) Bemerkung: Dieses Problem istimmernoch NP-hart, kannabermitkonstanterGüteapproximiertwerden. Kapitel 12
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
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
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
Das Metrische TSP Problem 3.5 Lemma: Für alle vivjgilt:min{cost(vi),cost(vj)} 2c(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) 2c(vi,vj) und damit das Lemma. Kapitel 1
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
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/2und 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
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/2und cost(Z) OPT(I). Beweis (Fortsetzung): • Es ist |Z|=k/2und wegen Lemma 3.5,cost(Z) = S {wij,wij+1}M min{cost(wij),cost(wij+1)}S {wij,wij+1}M 2c(wij,wij+1) = 2c(M) 2c(R)/2 OPT(I) Kapitel 1
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
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
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
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
Exkurs: Minimaler Spannbaum Eingabe: • ungerichteter Graph G=(V,E) • Kantenkosten c:EIR+ Ausgabe: • Teilmenge TE, so dass Graph (V,T) verbunden und c(T)=eT 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
Exkurs: Minimaler Spannbaum 3.8 Lemma: Sei (U,W) eine Partition von V (d.h. UW = V und UW =) und e={s,t} eine Kante mit minimalen Kosten mit sU und tW. Dann gibt es einen minimalen Spannbaum (MSB) T, der e enthält. s t e U W Kapitel 1
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
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
Exkurs: Minimaler Spannbaum Beispiel: 1 3 2 3 2 2 5 s 2 3 1 4 Kapitel 9
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
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
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
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
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
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) = eE c(e). • DaceineMetrikist, gilt c(C) c(K)(CentstehtjaausKüber “Abkürzungen”.) • NachderKonstruktion von T* gilt c(K) = c(T*) = 2c(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
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
Das Metrische TSP Problem Beispiele: Matching perfektes Matching Kapitel 1
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. DannistauchvU deg(v)gerade und damit|U|gerade. Kapitel 1
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, TM).(AlleKnotenhabendamitgeraden Grad.) Konstruierein Geinen Euler-KreisK. • Entferne in KWiederholungen, so dass Hamilton-KreisCverbleibt. • GibCaus. Kapitel 1
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: 2c(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
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
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
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
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
Übersicht • Notation • Das metrische TSP Problem • Unabhängige Mengen • Bin Packing • Nichtapproximierbarkeit Kapitel 1
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 UV eine Knotenmenge. U wird unabhängig genannt, wenn für alle Knotenpaare u,vU 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
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
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
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
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
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
Unabhängige Mengen Nebenrechnungen: Kapitel 1
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
Unabhängige Mengen 3.17 Satz: Sei G=(V,E) ein knoten-k-färbbarer Graph mit k2. 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 uV mit degG(u) (1-1/k)|V|. Kapitel 1
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|/kKnoten 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