k-median

Werbung
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 ).
Herunterladen