k-median Grischa Ende 6246372 14. Februar 2008 Ausarbeitung zum Vortrag im Rahmen des Seminars Network Design WS 2007/2008 bei Herrn Prof. Eisenbrand 1 Inhaltsverzeichnis 2 Inhaltsverzeichnis 1 Vorbereitung 1.1 1.2 1.3 1.4 1.5 2 2.2 2.3 2.4 2.5 2.6 4 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . k-median Clustering im metrischen Raum 2.1.1 Def.: Metrischer Raum . . . . . . 2.1.2 Def.: Voronoi partitions . . . . . 2.1.3 k-median Clustering . . . . . . . k-median Clustering auf Graphen . . . . . Einbettung . . . . . . . . . . . . . . . . . Problemstellung . . . . . . . . . . . . . . LP . . . . . . . . . . . . . . . . . . . . . Beobachtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 4 5 5 6 6 6 6 7 8 8 10 10 11 Lagrange-Relaxierung 11 3.1 3.2 3.3 11 12 13 Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anwendung des Facility-Location Algorithmus . . . . . . . . . . . . . . . . . Lemma 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Randomized rounding 14 4.1 4.2 4.3 15 15 15 Lemma 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lemma 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Derandomization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analyse 5.1 5.2 5.3 6 3 . . . . . . . k-median Clustering 2.1 3 Motivation . . . . . . . . . . . . . Def.: Approximationsalgorithmus Def.: Approximationsgüte . . . . Lagrange-Relaxierung . . . . . . Rückblick: Facility Location . . . 1.5.1 IP . . . . . . . . . . . . . 1.5.2 Ergebnisse . . . . . . . . Laufzeit und Approximationsgüte 5.1.1 Theorem 1 . . . . . . . . Tight example . . . . . . . . . . . Integrality Gap . . . . . . . . . . Ausblick 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 16 16 17 18 1 Vorbereitung 3 1 Vorbereitung 1.1 Motivation Diese Ausarbeitung beschäftigt sich mit der Approximation des k-median Clustering Problems mit Hilfe der Lagrange-Relaxierung. Clustering kann benutzt werden um große Mengen von Punkten zum Beispiel in einem metrischen Raum auf eine kleinere Menge abzubilden. Gesucht wird dazu eine, in einem gewissen Sinne, optimale Unterteilung der ursprünglichen Menge, wobei die neue Menge dann jeweils einen Repräsentanten aus jeder der Teilmengen enthält. Ziel ist es dabei die Eigenschaften der Repräsentanten-Menge, also zum Beispiel die Verteilung der Punkte im Raum möglichst ähnlich der Ursprungsmenge zu behalten. So soll erreicht werden, dass die Ergebnisse bei einer Weiterverarbeitung dieser Punktmenge ebenfalls möglichst ähnliche Ergebnisse liefert. Oft ist es sinnvoll so auf etwas Genauigkeit zu verzichten und dafür im weiteren auf einer wesentlich kleineren Datenmenge zu arbeiten. Außerdem kann Clustering benutzt werden um gewisse Strukturen auf Daten zu erkennen. Ein Anwendungsbeispiel dafür ist Clustering dazu zu verwenden ausgehend von einigen Standorten für Geschäfte die optimalen Standorte für Lager zu bestimmen. Außerdem wird Clustering auch dazu verwendet Ausreißer, also mögliche Fehler in einer Datenmenge zu erkennen. Diese Methode wird zum Beispiel beim Data Mining verwendet. Da Clustering ein NP-hartes Problem ist werden in der Praxis häufig Approximationsverfahren benutzt, die das Problem nicht exakt lösen, dafür aber eine deutlich besser Laufzeit haben. Mit Hilfe eines Greedy-Algorithmus und lokaler Suche erhält man einen polynomiellen Algorithmus, der eine (5 + ε) Approximation für k-median Clustering berechnet. Die Analyse dieses Algorithmus ist allerdings äußert kompliziert. Mit dem hier vorgestellten Verfahren werden wir eine 6 Approximation erhalten. Die Lagrange-Relaxierung kann bei linearer Optimierung benutzt werden um ein gegebenes Problem in einer gewissen Form leicht zu verändern. Dies kann oft nützlich sein, weil für das veränderte Problem die gängigen Algorithmen zur Lösung von Optimierungsproblemen eine bessere Laufzeit erreichen. In diesem Fall werden wir sie benutzen, weil die entsprechend veränderte Form des k-median Clustering Problems dem Facility Location Problem entspricht und wir so bereits bekannte Ergebnisse anwenden können. Wir betrachten zunächst noch einmal das Facility Location Problem und die dazugehörigen Ergebnisse. Im Anschluss werden wir dann das k-median Clustering Problem definieren und dann die Lagrange-Relaxierung durchführen. 1.2 Def.: Approximationsalgorithmus Ein Approximationsalgorithmus zu einem gegebenen Problem berechnet nicht für alle Instanzen dieses Problems eine optimale Lösung, sondern für einige - möglicherweise sogar für alle - nur eine Näherung an diese. Die Betrachtung solcher Algorithmen ist notwendig, da die Berechnung der korrekten bzw. opti- 1 Vorbereitung 4 malen Lösung für einige Probleme nicht effizient möglich ist, bzw. kein effizienter Algorithmus dafür bekannt ist. Approximationsalgorithmen ermöglichen es dann auf Genauigkeit zu verzichten um so eine schnellere Laufzeit zu erhalten, was besonders dann oft wichtig ist wenn die Lösung eines solchen Problems nur ein kleiner Teil eines Algorithmus ist. 1.3 Def.: Approximationsgüte Sei δopt (I) die optimale Lösung und δA (I) die von einem Approximationsalgorithmus A berechnete Lösung einer Instanz I zu einem vorgegebenen Minimierungs-Problem. A hat die Approximationsgüte k > 1 für das gegebene Problem, wenn für alle Instanzen I gilt: δopt (I) ≤ k · δA (I) 1.4 Lagrange-Relaxierung Wir betrachten an dieser Stelle ein allgemeines LP um das Verfahren zur Lagrange-Relaxierung zu erklären. Die im folgenden LP rot gekennzeichnete Ungleichung wollen wir in die Zielfunktion verschieben. min s.t. cT x a0T x Ax x ≥ b0 ≥b ≥0 Dies liefert uns das folgende LP: min s.t. cT x + λ(b0 − a0T x) Ax ≥ b x≥0 Man kann sich überlegen, dass man durch ein genügend groß gewähltes λ dafür Sorgen kann, dass die ursprüngliche Ungleichung immer noch mit relativ hoher Wahrscheinlichkeit erfüllt wird. 1.5 Rückblick: Facility Location Das Facility Location Problem kann durch einen vollständigen bipartiten Graph G=(V,E) modelliert werden, wobei V = F ∪ C. Dabei ist F die Menge der Versorgungseinrichtungen (englisch: facilities) und C die Menge der Verbraucher (englisch clients). Außerdem gibt es zwei nicht negative Kostenfunktionen. Einmal die Betriebskosten für die Versorgungseinrichtungen f : F → R≥0 und die Verbindungskosten einer Versorgungseinrichtung mit einem Verbraucher 1 Vorbereitung 5 c : E → R≥0 . Die Verbindungskosten müssen die Dreiecksungleichung erfüllen. Wir schreiben fi = f (i) ∀i ∈ F und ci j = c((i, j)) ∀(i, j) ∈ E. Eine Lösung des Problems ist gegeben durch eine Teilmenge I ⊆ F an Versorgungseinrichtungen sowie einer Zuordnung Φ : C → I der Kunden zu den geöffneten Versorgungseinrichtungen. Dabei soll ein solches Paar (I, Φ) gefunden werden, so dass die Gesamtkosten ∑i∈I fi + ∑Φ( j)=i ci j minimiert werden. 1.5.1 IP Um das Facility Location Problem als IP modellieren zu können, müssen wir zunächst noch einige Variablen einführen. Für jedes Paar (i, j) ∈ F ×C nennen wir die Indikatorvariable xi j und für alle i ∈ F ist die Indikatorvariable yi . Dabei ist Verbraucher j der Versorgungseinrichtung i zugeordnet, falls xi j = 1 und eine Versorgungseinrichtung i ist geöffnet, falls yi = 1 ist. Somit erhalten wir folgendes IP, wobei sich die Nebenbedingungen aus der Problemstellung ergeben. min ∑i∈F, j∈C ci j xi j + ∑i∈F fi yi s.t. ∑i∈F xi j ≥ 1 yi − xi j ≥ 0 xi j ∈ {0, 1} yi ∈ {0, 1} ∀j ∈C ∀i ∈ F, j ∈ C ∀i ∈ F, j ∈ C ∀i ∈ F 1.5.2 Ergebnisse Es wurde ein polynomieller Algorithmus angegeben, der eine 3 Approximation der optimalen Lösung für das Facility Location Problem berechnet. 2 k-median Clustering 6 2 k-median Clustering Wir werden zunächst eine Definition des k-median Clustering Problems auf einem metrischen Raum kennen lernen. Im Anschluss werden wir uns überlegen, dass wir dieses auch auf einen bipartiten Graphen übertragen können. 2.1 k-median Clustering im metrischen Raum 2.1.1 Def.: Metrischer Raum Ein Paar (X, d) ist ein metrischer Raum, wenn X eine Menge ist und für d gilt: d: X × X → [0, ∞) ist eine Metrik mit den Eigenschaften: (i) d(x,y) = 0 falls x = y (ii) d(x,y) = d(y,x) (iii) d(x,y) + d(y,z) ≥ d(x,z) Außerdem gilt für U ⊆ X: • d(x,U) = d({x},U) = min{d(x, u)|u ∈ U} 2.1.2 Def.: Voronoi partitions Wir werden für die Clustering-Probleme die so genannten ’Voronoi partitions’ betrachten. Gegeben einen metrischer Raum (X,d) und eine Menge C ⊆ X ist für eine Menge F ⊆ C von Mittelpunkten die Voronoi partition wie folgt definiert: Jeder Punkt in C wird dem nächsten Punkt aus F={ f1 ,..., fk } zugeordnet. C wird also partitioniert in Cluster der Form: Π(F, fi ) := {c ∈ C|d(c, fi ) = d(c, F)} i=1,...,k Der Abstand der Mittelpunktmenge F zu C ist definiert als: d(F,C) = max f ∈F {d( f ,C)} 2 k-median Clustering 7 2.1.3 k-median Clustering Beim k-median Clustering Problem soll die Menge F so gewählt werden, dass die Summe der Abstände der Punkte aus C zu dem jeweils nächsten Punkt aus F minimiert wird. Die formale Definition des Problem folgt. Das k-median Clustering Problem ist wie folgt definiert: Gegeben: Eine Menge C ⊆ X mit |C| = n und ein Parameter k ∈ N Gesucht: Eine Menge F von Mittelpunkten mit (i) |F| = k (ii) d1 (C, F) := ∑c∈C d(c, F) ≤ d1 (C,U) ∀U ⊆ C, |U| = k 2 k-median Clustering 8 2.2 k-median Clustering auf Graphen Bevor wir uns das k-median Problem auf einem bipartiten Graphen anschauen, überlegen wir uns zunächst, dass wir eine Punktmenge aus dem metrischen Raum in einen solchen Graphen einbetten können. 2.3 Einbettung Wir werden uns nun an einem Beispiel klar machen, wie diese Einbettung funktioniert. Zur Übersichtlichkeit betrachten wir im folgenden eine kleine Punktmenge: hat und als Wir bauen uns nun zunächst einen vollständigen Graph, der die Punkte als Knoten Kantengewichte die Abstände zwischen den entsprechenden Punkten benutzt. 2 k-median Clustering 9 Um einen bipartiten Graphen zu erhalten verdoppeln wir nun jeden Knoten und verbinden jeweils den ursprünglichen Knoten mit seinem verdoppelten Knoten mit einer Kante die Verbindungskosten 0 hat. Außerdem ersetzen wir jede ursprüngliche Kante durch 2 Kanten so, dass wir einen bipartiten Graphen erhalten. 0 0 0 0 2 k-median Clustering 10 2.4 Problemstellung Genau wie das Facility Location Problem kann auch das k-median Clustering Problem durch einen vollständigen bipartiten Graph G=(V,E) modelliert werden, wobei V = F ∪ C mit Versorgungseinrichtungen (englisch: facilities) F und Verbrauchern (englisch clients) C. Außerdem gibt es eine konstante k, die die maximale Anzahl an benutzten Versorgungseinrichtungen angibt und eine nicht negative Verbindungskostenfunktion c : E → R≥0 . Die Verbindungskosten müssen die Dreiecksungleichung erfüllen. Gesucht ist eine Menge I ⊆ F, |I| ≤ k von Versorgungseinrichtungen die genutzt werden sollen und eine Funktion Φ : C → I die den Verbrauchern offene Versorgungseinrichtungen zuweist. Ziel ist es dabei die gesamten Verbindungskosten zu minimieren. 2.5 LP Wenn wir das k-Median Clustering Problem als IP modellieren erhalten wir: min ∑i∈F, j∈C ci j xi j s.t. ∑i∈F xi j ≥ 1 yi − xi j ≥ 0 ∑i∈F −yi ≥ −k xi j ∈ {0, 1} yi ∈ {0, 1} ∀j ∈C ∀i ∈ F, j ∈ C ∀i ∈ F, j ∈ C ∀i ∈ F Die LP-Relaxierung dieses Problems ist: min ∑i∈F, j∈C ci j xi j s.t. ∑i∈F xi j ≥ 1 yi − xi j ≥ 0 ∑i∈F −yi ≥ −k xi j ≥ 0 yi ≥ 0 ∀j ∈C ∀i ∈ F, j ∈ C ∀i ∈ F, j ∈ C ∀i ∈ F 3 Lagrange-Relaxierung 11 Das duale LP ist: max ∑ j∈C a j − zk s.t. a j − βi j ≤ ci j ∑ j∈C βi j ≤ z aj ≥ 0 βi j ≥ 0 z≥0 ∀i ∈ F, j ∈ C ∀j ∈C ∀j ∈C ∀i ∈ F, j ∈ C 2.6 Beobachtung Das k-median und das Facility Location Problem unterscheiden sich nur in einem Punkt. Beim kmedian Problem ist die Anzahl der zu öffnenden Versorgungseinrichtungen durch eine Konstante beschränkt, während beim Facility Location Problem das öffnen einer Facility zur Verschlechterung der Zielfunktion führt. Daher entspricht eine Instanz des Facility Location Problems, die für das öffnen jeder Facility die gleichen Kosten hat genau einer Lagrange-Relaxierung einer geeigneten k-median Instanz. Diese Eigenschaft werden wir im folgenden ausnutzen. 3 Lagrange-Relaxierung 3.1 Formal Wir betrachten zunächst die Lagrange-Relaxierung auf dem IP. Ausgehend von dem k-median IP ist die rot markierte Ungleichung der einzige Unterschied in den Nebenbedingungen zu dem Facility Location IP. Diese wollen wir also durch die LagrangeRelaxierung in die Zielfunktion verschieben. min ∑i∈F, j∈C ci j xi j s.t. ∑i∈F xi j ≥1 yi − xi j ≥0 ≥ −k ∑i∈F −yi xi j ∈ {0, 1} ∀i ∈ F, j ∈ C yi ∈ {0, 1} ∀j ∈C ∀i ∈ F, j ∈ C ∀i ∈ F Durch die Lagrange-Relaxierung, wobei hier z der Lagrange-Multiplikator ist, erhalten wir folgendes IP: min ∑i∈F, j∈C ci j xi j + z(∑i∈F yi − k) 3 Lagrange-Relaxierung s.t. ∑i∈F xi j yi − xi j xi j yi ≥1 ≥0 ∈ {0, 1} ∈ {0, 1} 12 ∀j ∈C ∀i ∈ F, j ∈ C ∀i ∈ F, j ∈ C ∀i ∈ F Dies ist eine Instanz des Facility Location Problems. 3.2 Anwendung des Facility-Location Algorithmus Sei (x, y) eine optimale Lösungen des Facility Location LPs und (α, β) eine solche für das duale Facility Location LP. Dann folgt mit der strengen Dualität: ∑i∈F, j∈C ci j xi j + ∑i∈F zyi = ∑ j∈C a j Wir nehmen nun an, dass (x, y) genau k Versorgungseinrichtungen öffnet, also ∑i yi = k gilt. Dann sind (x, y) und (α, β, z) optimale Lösungen für das LP bzw. das duale Programm für kmedian. Die Zulässigkeit der Lösungen für die k-median Programme folgt dabei leicht aus der Form der LPs da wir voraussetzen, dass für (x, y) genau - und damit höchstens - k Versorgungseinrichtungen geöffnet werden. Die Optimalität der Lösungen folgt, wenn wir die obige Gleichung umstellen indem wir ∑i yi nach der entsprechenden Voraussetzung durch k ersetzen. Dann erhalten wir die Gleichheit der Zielfunktionswerte des primalen LPs und des Dualen für k-median. ∑i∈F, j∈C ci j xi j = ∑ j∈C a j - zk Wir benutzen diese Idee nun um mit dem Algorithmus für Facility Location und seiner Analyse erste Ergebnisse für das k-median LP zu erhalten. Wir nehmen an, dass der Algorithmus, bei Kosten von z für das eröffnen einer Versorgungseinrichtung, Lösungen (x, y) und (α, β) findet, so dass genau k Versorgungseinrichtungen geöffnet werden. Dann folgt mit Theorem 24.7: ∑i∈F, j∈C ci j xi j + 3zk ≤ 3 ∑ j∈C a j Auch hier sind (x, y) und (α, β) primal bzw. dual zulässige Lösungen für das k-median LP. Umstellen der Terme liefert in diesen Fall: ∑i∈F, j∈C ci j xi j ≤ 3 ∑ j∈C a j - zk 3 Lagrange-Relaxierung 13 Daraus folgt, dass (x, y) eine 3-Approximation der optimalen Lösung für k-median ist. Wir müssen nun noch das Problem betrachten, dass der Faktor 3 nicht eingehalten werden kann, wenn weniger als k Versorgungseinrichtungen eröffnet werden, denn dann kann der Wert für ∑i∈F, j∈C ci j xi j größer werden, da dies im Facility-Location IP durch den kleineren Wert für ∑i∈F zyi ausgeglichen wird, was bei dem k-median IP allerdings nicht der Fall ist. Außerdem wird die Lösung unzulässig wenn mehr als k Versorgungseinrichtungen geöffnet werden. Wir müssen also unser z so wählen, dass genau k Versorgungseinrichtungen geöffnet werden. Da wir durch z das öffnen einer Versorgungseinrichtung bestrafen ist klar, dass durch vergrößern von z die Anzahl der eröffneten Versorgungseinrichtungen höchstens kleiner wird und umgekehrt. Optimal wäre es also wenn wir den benutzten Algorithmus so modifizieren könnten, dass er zusätzlich noch ein entsprechendes z berechnet. Eine solche Modifikation ist allerdings nicht bekannt. Wir werden nun eine Variante des Algorithmus betrachten die eine 6-Approximation liefert. Für z = 0 werden alle möglichen Versorgungseinrichtungen eröffnet und für ausreichend großes z wir nur eine Versorgungseinrichtung geöffnet. Ein solcher Wert und somit eine obere Schranke für z ist ncmax , wobei cmax die Länge der längsten Kante ist. Nun werden wir mit Hilfe von binärer Suche auf dem Intervall [0, ncmax ] versuchen zwei Werte z1 und z2 zu bestimmen, so dass der Algorithmus k1 bzw. k2 facilities eröffnet mit: k2 ≥ k und k1 ≤ k außerdem soll z1 − z2 ≤ (cmin /12n2c ) erfüllt werden, wobei cmin die Länge der kürzesten Kante ist und nc = |C| und analog n f = |F|. Daher ist n = nc + n f die Gesamte Anzahl an Knoten und m = nc × n f die Anzahl der Kanten. Seien (xs , ys ) und (xl , yl ) primal zulässige Lösungen, mit ∑i∈F ysi = k1 und ∑i∈F yli = k2 , wobei s und l für small bzw large stehen. Seien außerdem (αs , βs ) und (αl , βl ) die zugehörigen dual zulässigen Lösungen. Sei (x, y) = a(xs , ys ) + b(xl , yl ) eine Convex-Kombination dieser zwei Lösungen mit ak1 + bk2 = k. Daraus folgt a = (k2 − k)/(k2 − k1 ) und b = (k − k1 )/(k2 − k1 ). Da (x, y) eine zulässig fraktionale Lösung für das facility Location Problem ist, die genau k Versorgungseinrichtungen öffnet, ist es auch eine zulässige fraktionale Lösung für k-median. 3.3 Lemma 1 (x, y) ist eine (3 + 1/nc ) Approximation der optimalen fraktionalen Lösung des k-median Problems. Beweis Lemma1: Durch die Approximationsgüte des Algorithmus erhalten wir: 4 Randomized rounding 14 ∑i∈F, j∈C ci j xisj ≤ 3(∑ j∈C αsj − z1 k1 ) und l ≤ 3( c x ∑i∈F, j∈C i j i j ∑ j∈C αlj − z2 k2 ) Da z1 > z2 gilt, ist (αl , βl ) auch dann dual zulässig für das Facility Location Problem, wenn die Kosten z1 betragen. Wir wollen nun in der zweiten Ungleichung z2 durch z1 ersetzen. Dazu benutzen wir die obere Schranke an z1 − z2 und die Tatsache, dass ∑i∈F, j∈C ci j xil j ≥ cmin . Wir erhalten: ∑i∈F, j∈C ci j xil j ≤ (3 + 1/nc )(∑ j∈C αlj − z1 k2 ) Addieren dieser Ungleichung multipliziert mit b und der ersten Ungleichung multipliziert mit a liefert: ∑i∈F, j∈C ci j xi j ≤ (3 + 1/nc )(∑ j∈C α j − z1 k) mit α = aαs + bαl . Sei β = aβs + bβl , dann ist (α, β, z1 ) dual zulässig für das k-median Problem. Daraus folgt das Lemma. Nun müssen wir unsere Lösung noch ganzzahlig machen. 4 Randomized rounding Wir werden also einen Algorithmus angeben, der durch Randomized rounding aus (x, y) eine ganzzahlige Lösung für k-median berechnet und dabei die Kosten höchstens um den Faktor 1 + max(a, b) erhöht. Seien A und B zwei Mengen von Versorgungseinrichtungen geöffnet in zwei Lösungen mit |A| = k1 und |B| = k2 . Finde nun für jede Versorgungseinrichtung in A die nächst Gelegene in B - diese müssen nicht verschieden seien. Seien B́ ⊂ B diese Versorgungseinrichtungen. Falls |B́| ≤ k1 füge weitere Versorgungseinrichtungen aus B − B́ zu B́ hinzu bis |B́| = k1 . Öffne mit Wahrscheinlichkeit a alle Versorgungseinrichtungen aus A und mit Wahrscheinlichkeit b = 1 − a Alle aus B́. Außerdem wird eine Menge der Kardinalität k − k1 zufällig aus B − B́ gezogen und geöffnet. Somit wird jede Versorgungseinrichtung aus B − B́ mit Wahrscheinlichkeit b geöffnet. Sei I die Menge der geöffneten Versorgungseinrichtungen, |I| = k. Die Funktion Φ : C → I ist definiert wie folgt: Betrachte eine Stadt j und nimm an, dass sie in den zwei Lösungen zu i1 ∈ A und i2 ∈ B verbunden ist. Falls i2 ∈ B́ dann wird eine der i1 und i2 geöffnet. Mit Wahrscheinlichkeit a ist dies i1 und mit Wahrscheinlichkeit b ist es i2 . Stadt j ist zu einer offenen Versorgungseinrichtung verbunden. Falls ß2 ∈ B − B́ liegt und i3 ∈ B́ sei die Versorgungseinrichtung in B die am nächsten zu i1 , dann wird j mit i2 verbunden, falls i2 offen ist. Sonst mit i1 , falls i1 offen ist. Wenn dies nicht der Fall ist wird j zu i3 verbunden. Seien cost(j) die Kosten für die Versorgung der Stadt j bei der 4 Randomized rounding 15 fraktionalen Lösung (x,y), dann gilt: cost( j) = aci1 j + bci2 j . 4.1 Lemma 2 Die erwarteten Verbindungskosten für Stadt j in der ganzzahligen Lösung sind E[cΦ( j) j ] ≤ (1 + max(a, b))cost( j). Außerdem kann E[cΦ( j) j ] effizient berechnet werden. Beweis Lemma 2: Falls i2 ∈ B́, E[cΦ( j) j ] = aci1 j + bci2 j = cost( j). Falls i2 ∈ / B́ ist i2 mit Wahrscheinlichkeit b offen. Die Wahrscheinlichkeit, dass i2 nicht offen and i1 offen ist, ist (1 − b)a = a2 . Und die Wahrscheinlichkeit, dass beide i1 und i2 nicht offen sind ist (1 − b)(1 − a) = ab. daraus folgt E[cΦ( j) j ] ≤ a2 ci1 j + bci2 j + abci3 j Da i3 die Versorgungseinrichtung in B ist, die am nächsten zu i1 liegt gilt mit der Dreiecksungleichung ci1 i3 ≤ ci1 i2 ≤ ci1 j + ci2 j . Mit der Dreiecksungleichung folgt außerdem ci3 j ≤ ci1 j + ci1 i3 ≤ 2ci1 j + ci2 j . Daher E[cΦ( j) j ] ≤ a2 ci1 j + bci2 j + ab(2ci1 j + ci2 j ) Mit a2 ci1 j + abci1 j = aci1 j folgt: E[cΦ( j) j ] ≤ (aci1 j + bci2 j ) + ab(ci1 j + ci2 j ) ≤ (aci1 j + bci2 j )(1 + max(a, b)) Also ist E[cΦ( j) j ] in beiden Fällen einfach zu berechnen. Sei (xk , yk ) die ganzzahlige Lösung für k-median die wir durch dieses Randomized Rounding Verfahren erhalten. Dann gilt: 4.2 Lemma 3 E[∑i∈F, j∈C ci j xikj ] ≤ (1 + max(a, b))(∑i∈F, j∈C ci j xi j ) und der Erwartungswert der Kosten kann effizient berechnet werden. 4.3 Derandomization Derandomization erreichen wir durch die Methode der conditoinal expectation(bedingten Erwartung). Der Algorithmus öffnet zunächst die Menge A mit Wahrscheinlichkeit a und die Menge B́ mit Wahrscheinlichkeit b=1-a. Wähle A und berechne den Erwartungswert falls k − k1 Versorgungseinrichtungen aus B − B́ zufällig ausgewählt werden. Nun wiederhole das selbe für B́ statt A. Öffne nun die Menge, die den kleineren Erwartungswert liefert. 5 Analyse 16 In Schritt 2 öffnet der Algorithmus eine Zufällige Teilmenge von k − k1 Versorgungseinrichtungen aus B − B́. Für eine solche Teilmenge D ⊂ B − B́, |D| ≤ k − k1 , seien E[D, B − (B́ ∪ D)] die erwarteten Kosten für die Lösung, wenn alle Versorgungseinrichtungen aus D und k − k1 − |D| zufällig aus B − (B́ ∪ D) geöffnet werden. Da jede Versorgungseinrichtung in B − (B́ ∪ D) mit gleicher Wahrscheinlichkeit geöffnet wird, erhalten wir E[D, B − (B́ ∪ D)] = 1/|B − (B́ ∪ D)| ∑i∈B−(B́∪D) E[D ∪ {i}, B − (B́ ∪ D ∪ {i})] Das impliziert, dass ein i existiert mit: E[D ∪ {i}, B − (B́ ∪ D ∪ {i})] ≤ E[B́, B − (B́ ∪ D)] Wähle ein solches i und ersetze D durch D ∪ {i}. E[D ∪ {i}, B − (B́ ∪ D ∪ {i})] kann effizient berechnet werden. 5 Analyse 5.1 Laufzeit und Approximationsgüte Es gilt: a ≤ 1 − 1/nc (für k1 = k − 1 und k2 = nc ) und b ≤ 1 − 1/k (für k1 = 1 und k2 = k + 1). Daher 1 + max(a, b) ≤ 2 − 1/nc . Insgesamt ist der Approximationsfaktor (2 − 1/nc )(3 + 1/nc ) < 6. Diese Methode kann wie beschrieben derandomisiert werden. Die binäre Suche macht O(log2 (n3 cmax /cmin )) = O(L + logn) Versuche. Die Laufzeit für jeden Versuch wird von der Laufzeit des Algorithmus für facility Location dominiert. Der Randomized Rounding Algorithmus benötigt Zeit O(n) und die Derandomisierung O(m). Damit erhalten wir: 5.1.1 Theorem 1 Der Algorithmus erreicht eine Approximationsgüte von 6 für k-median und hat eine Laufzeit von O(mlogm(L + log(n))). 5.2 Tight example Wir betrachten nun eine Familie von Instanzen für Randomized Rounding die eine untere Schranke für die Approximation liefern. Die zwei Lösungen (xs , ys ) und (xl , yl ) öffnen eine Versorgungseinrichtung f0 bzw. k+1 Versorgungseinrichtungen f1 ... fk+1 . Es gilt d( f0 , fi ) = 1 für i 6= 0 und d( fi , f j ) = 2 für i, j 6= 0. Alle n Städte haben Abstand 1 von f0 und Abstand ε von fk+1 . Der Rest der Abstände ergibt sich durch die Dreiecksungleichung. Die Konvex-Kombination ergibt sich mit a = 1/k und b = 1 − 1/k. Die Kosten der Konvex-Kombination sind an + bεn. Wir nehmen an, dass der Algorithmus f1 als Nachbarn für f0 wählt. Die erwarteten Kosten der Lösung die durch Randomized Rounding entstehen sind dann n(bε + a2 + ab(2 + ε)). Für ε gegen 0 sind die Kosten der Konvex-Kombination hauptsächlich na und die der gerundeten Lösung na(1 + b). 5 Analyse 17 5.3 Integrality Gap Durch den oben angegebenen Algorithmus haben wir eine obere Schranke von 6 für den Integrality Gap. Wir werden nun ein Beispiel angeben, dass uns eine untere Schranke von 2 liefert. Der Graph ist ein Stern mit n+1 Knoten und Kantenkosten 1. F besteht aus allen n+1 Knoten und C besteht aus allen Knoten außer dem Zentrum und k = n − 1. ……. 1 1 ……. 1 1 1 1 1 1 Eine optimale ganzzahlige Lösung öffnet n-1 Versorgungseinrichtungen an Knoten aus C. Um den verbliebenen Knoten von C zu versorgen werden zwei Kanten benötigt, daher ergeben sich Kosten von 2. ……. 1 1 ……. 1 1 1 1 1 1 1 Eine optimale fraktionale Lösung öffnet das Zentrum mit Gewicht n−1 und alle Knoten aus C n−2 mit Gewicht n−1 und öffnet somit n−2 1 n n−1 + n−1 = n − 1 Versorgungseinrichtungen. Die optimale Lösung belegt alle n Kanten mit 1 n−1 . (n‐2)/(n‐1) 1/(n‐1) 1/(n‐1) (n‐2)/(n‐1) (n‐2)/(n‐1) ……. 1/(n‐1) 1/(n‐1) (n‐2)/(n‐1) 1/(n‐1) Diese Lösung hat Kosten n n−1 und liefert daher eine Integrality Gap von 2(n−1) n . 6 Ausblick 18 6 Ausblick Wenn wir für das k-median Problem auf die Gültigkeit der Dreiecksungleichung für die Kostenfunktion verzichten, verschlechtert sich die Approximierbarkeit des Problems deutlich. Die beste mögliche Approximationsgüte für diesen Fall ist O(log(n)). Dies kann durch eine Approxmiationsgüte erhaltende Reduktion des set cover Problems gezeigt werden. Für den Fall, dass die Dreiecksungleichung gilt hat der beste bekannte Approximationsalgorithmus die Approximationsgüte 3 + 2p . Diese kann erreicht werden, wenn man ausgehend von einer Startlösung mit Hilfe von Lokaler Suche gleichzeitig bis zu p Punkte der aktuell gewählten Versorgungseinrichtungen austauscht. Dieser Algorithmus hat eine Laufzeit von O(n p ).