Pr - Lehrstuhl Informatik 1 - RWTH

Werbung
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Ausgewählte
Randomisierte Algorithmen
Hilfreiche Literatur:
• Motwani, Raghavan: Randomized Algorithms, Cambridge University Press, 1995.
• Mitzenmacher, Upfal: Probability and Computing, Cambridge University Press, 2005.
• Hromkovic: Design and Analysis of Randomized Algorithms: Introduction to Design Paradigms, Springer
2005.
• Kleinberg, Tardos: Algorithm Design, Addison Wesley,
2005.
1
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Lineare Programme in linearer Zeit
In der algorithmischen Geometrie untersucht man Probleme
im Rd , wobei d typischerweise als relativ kleine Konstante
angesehen wird, z.B. d=2, 3 oder 4.
Wir betrachten das folgende Problem: Es soll der Extrempunkt eines Polyhedrons bezüglich einer vorgegebenen Richtung (bzw. Zielfunktion) bestimmt werden. Dieses Problem
entspricht einem LP mit d Variablen und, sagen wir, m Nebenbedingungen (NB). Natürlich kann man dieses Problem mit
der Simplex- oder Ellipsoidmethode erschlagen, aber wenn
die Anzahl der Dimensionen klein ist, so gibt es auch andere,
effizientere Methoden.
m
Beispielsweise kann man alle d ≤ md Basislösungen
(= Schnittpunkte von jeweils d linear unabh¨
angigen NBHyperebenen) aufz¨
ahlen und dann diejenige Basislösung
ausgeben, die die Zielfunktion maximiert. Dieser Ansatz
liefert eine Laufzeitschranke der Größenordnung ungef¨
ahr
md . Wir pr¨
asentieren jetzt einen sehr eleganten randomisierten
Algorithmus von Seidel (1991), dessen erwartete Laufzeit
linear in m beschr¨
ankt ist.
2
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Problembeschreibung:
Gebeben sei ein zul¨
assiges LP mit d Variablen x1 , . . . , xd
und insgesamt m NB der Form ≤“ oder ≥“. Zu jeder NP
”
”
können wir eine Hyperebene assoziieren, die die Begrenzung
des entsprechenden Halbraums festlegt. In etwas nachl¨
assiger
Schreibweise unterscheiden wir im Folgenden nicht immer
zwischen den NB und ihren Hyperebenen und verwenden
diese Begriffe synonym. Sei H die Menge der NB bzw.
Hyperebenen.
Wir nehmen an, dass wir eine genügend große Zahl t kennen,
so dass die Absolutwerte aller Variablen in jeder Basislösung
echt kleiner als t sind. Sollte das LP unbeschr¨
ankt sein,
so soll unser Algorithmus eine Lösung ausgeben, die die
Zielfunktion unter den zus¨
atzlichen Bedingungen −t ≤ xi ≤
t, 1 ≤ i ≤ d, maximiert. Auf diese Art und Weise kann man
ein unbeschr¨
anktes LP daran erkennen, dass mindestens eine
Variable in der ausgegebenen Lösung den Wert t annimmt.
3
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Der Algorithmus von Seidel (1991)
Der Algorithmus berechnet die optimale Lösung des LPs
rekursiv durch Entfernen der Nebenbedingungen in einer
zuf¨
alligen Reihenfolge. Für jede Teilmenge H 0 ⊆ H, sei
LP (H 0 ) das LP, das wir erhalten, wenn wir alle Nebenbedingungen aus H \ H 0 aus dem gegebenen LP streichen.
Mit opt(H 0 ) bezeichnen wir eine optimale Basislösung für
LP (H 0 ).
Algorithmus SeideLP
1
2
3
4
falls d = 0 oder m = 0, so gib opt(H) aus;
sonst w¨
ahle uniform zuf¨
allig eine Bedingung h ∈ H,
und berechne opt(H \ {h}) rekursiv;
falls opt(H \ {h}) die Bedingung h nicht verletzt,
so gib opt(H \ {h}) aus;
sonst löse das LP, das durch den Schnitt des Lösungsraums mit der Hyperebene h entsteht, rekursiv.
Am Rekursionsende d = 0 entspricht die optimale Lösung
dem leeren Wort . Am Rekursionsende m = 0 sind alle NB
entfernt worden. In der optimalen Basislösung haben dann alle
Variablen entweder den Wert t oder −t, je nachdem, ob sie
mit positivem oder negativem Vorzeichen in der Zielfunktion
vorkommen.
4
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Warum findet der Algorithmus die optimale Lösung? – Entweder ist die zuf¨
allig ausgew¨
ahlte NB h ∈ H eine derjenigen
NB, die sich an der optimalen Lösung schneiden, oder das
Entfernen von h hat keinen Einfluss auf die optimale Lösung
des LPs. Falls h nicht relevant für die optimale Lösung ist,
so gibt der Algorithmus die optimale Lösung opt(H \ {h})
in Schritt 3 aus. Falls h jedoch zu denjenigen NB gehört, die
sich an opt(H) schneiden, so wissen wir, dass sich opt(H)
auf der zu dieser NB gehörenden Hyperebene befindet. In diesem Fall berechnet der Algorithmus in Schritt 4 den Schnitt
des Lösungsraums mit der Hyperbene h und bestimmt die
optimale Lösung rekursiv.
Die Berechnung des Schnitts erfolgt in dem wir die NB h
als Gleichung auffassen. Diese Gleichung wird zu einer der
Variablen des LPs aufgelöst. Diese Variable wird dann in den
anderen Bedingungen und der Zielfunktion substituiert. Für
jede der m − 1 Bedingungen benötigt das Zeit O(d), also
insgesamt Zeit O(dm). Durch diese Substitution wird eine
Variable eliminiert und dadurch die Dimension des LPs um
eins verringert.
5
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Laufzeitanalyse:
Sei T (m, d) eine obere Schranke für die erwartete Laufzeit
von Algorithmus SeideLP.
Die erwartete Laufzeit für die einzelnen Schritte kann wie
folgt nach oben abgesch¨
atzt werden:
• Schritt 1: O(d + 1)
• Schritt 2: T (m−1, d)
• Schritt 3: O(d)
• Schritt 4: T (m−1, d−1) + O(dm).
Schritt 4 wird jedoch nicht immer ausgeführt.
6
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Lemma 1 Die Wkeit, dass Schritt 4 ausgeführt wird, ist
d
höchstens m
.
Beweis:
Die optimale Lösung opt(H) befindet sich auf dem Schnitt
von mindestens d Hyperebenen, die entweder zu H oder
den zus¨
atzlichen Bedingungen −t ≤ xi ≤ t gehören. Unter
diesen Bedingungen gibt es höchstens d, deren Entfernung die
optimale Lösung ver¨
andern würde. Alle anderen Bedingungen
haben keinen Einfluss auf die optimale Lösung.
Schritt 4 wird ausgeführt, wenn opt(H \{h}) die Bedingung h
verletzt, also wenn
opt(H) 6= opt(H \ {h}) .
Die Wkeit, dass h eine der höchstens d Hyperebenen aus H
ist, deren Entfernen die optimale Lösung ver¨
andern, ist somit
d
.
t
u
höchstens m
7
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Insgesamt ist die erwartete Laufzeit T (m, d) somit
d
T (m−1, d) + O(d + 1) +
(T (m−1, d−1) + O(dm)) .
m
Unter Vernachl¨
assigung konstanter Faktoren, erhalten wir
somit die folgende Rekursionsgleichung:
d
T (m, d) ≤ T (m−1, d) +
· T (m−1, d−1) + d2 ,
m
falls m > 0 und d > 0; T (m, d) = d + 1, sonst.
8
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Wir lösen nun die Rekursionsgleichung. Definiere dazu
f (d) = d f (d − 1) + d2 + 1 ,
für d ≥ 1; und f (0) = 1.
Lemma 2 T (m, d) ≤ (m + 1) · f (d) .
Beweis: Wir beweisen das Lemma per Induktion.
Induktionsanfang:
Für m = 0 gilt T (m, d) = d + 1 ≤ f (d) = (m + 1) · f (d).
Für d = 0 gilt T (m, d) = 1 = f (d) ≤ (m + 1) · f (d).
Induktionsschritt:
Es gelte m > 0 und d > 0. Die Aussage des Lemmas gelte
für T (m0 , d0 ) mit m0 < m und d0 ≤ d. Es folgt
T (m, d) ≤ T (m−1, d) +
≤ m · f (d) +
d
m
d
m
· T (m−1, d−1) + d2 + 1
· m · f (d−1) + d2 + 1
= m · f (d) + d ·
f (d)−d2 −1
d
+ d2 + 1
= (m + 1) · f (d) .
t
u
9
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Eine Übungsaufgabe liefert nun f (d) = O(d!). Somit erhalten
wir den folgenden Satz.
Satz 3 Algorithmus SeideLP löst ein zul¨
assiges d-dimensionales
LP mit m ≥ 1 Nebenbedingungen in erwarteter Zeit O(md!).
Damit können wir LPs mit kleiner Dimension sehr effizient
lösen. Wenn wir die Anzahl der Dimensionen als konstant
auffassen, so hat der Algorithmus eine lineare Laufzeit. Für
LPs zweistelliger Dimension ist dieses Verfahren aber wohl
nicht mehr zu empfehlen.
10
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Min-Cut in Fast Quadratischer Zeit
Gegeben sei ein Multigraph G = (V, E), d.h. ein Graph in
dem es mehrere Kanten zwischen zwei Knoten geben darf. Sei
n = |V |. Im Speicher repr¨
asentieren wir den Multigraphen
durch eine Adjazenzmatrix mit Eintr¨
agen aus N0 , die angeben
wieviele Kanten zwischen den jeweiligen Knotenpaaren
verlaufen. Der Multigraph sei zusammenh¨
angend.
Ein Schnitt bzw. Cut in G ist als eine Zerlegung der Knotenmenge V in zwei nicht-leere Teilmengen U und V \ U
definiert. Im Folgenden identifizieren wir den Schnitt mit der
Kantenmenge C = {{u, v} ∈ E | u ∈ U, v ∈ V \ U }, also mit
der Menge der Kanten zwischen diesen beiden Teilmengen.
Die Größe des Schnitts C entspricht der Kardinalit¨
at dieser
Kantenmenge. Ein Min-Cut ist ein Schnitt kleinstmöglicher
Größe.
Wir können einen Min-Cut durch Lösen von n − 1 Max-FlowProblemen berechnen (Übung). Wir werden zun¨
achst einen
randomisierten Algorithmus von Karger (1993) beschreiben,
der einen Min-Cut in Zeit O(n4 ) berechnet, also zun¨
achst
eigentlich nicht besser als der Max-Flow-Ansatz ist.
11
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Die Kontraktion von Kanten:
Bei der Kontraktion einer Kante {u, v} werden
• die beiden Knoten u und v zu einem neuen Knoten w
zusammengezogen,
• u und v sowie alle Kanten zwischen u und v aus dem
Graphen entfernt, und
• jede Kante der Form {u, x} bzw. {v, x} durch eine Kante
der Form {w, x} ersetzt.
Eine Kontraktion kann in Zeit O(n) durchgeführt werden.
12
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Algorithmus Contract(G)
1
2
3
4
5
H := G;
solange H mehr als zwei Knoten hat
w¨
ahle uniform zuf¨
allig eine der Kanten von H;
kontrahiere diese Kante;
sei C die Menge der überlebenden Kanten, gebe C aus.
Die Idee des Algorithmus ist einfach. Wir kontrahieren solange bis nur noch zwei Knoten übrigbleiben. Die Kanten
zwischen diesen zwei Knoten von H verbinden zwei Teilmengen der Knoten von G und sind somit ein Schnitt in G.
In anderen Worten, genau ein Schnitt überlebt die Kontraktionssequenz. Dieser Schnitt wird ausgegeben. Ein Min-Cut hat
dabei größere Chancen zu überleben als andere Schnitte, weil
er nur wenige Kanten enth¨
alt.
Die Laufzeit des Algorithmus ist O(n2 ). Wir werden zeigen,
dass dieser Schnitt mit Wkeit größer als 2/n2 ein Min-Cut
ist. Um konstante Erfolgswkeit zu erhalten, werden wir den
Algorithmus Θ(n2 ) mal wiederholen. Das ergibt dann eine
Laufzeit von O(n4 ).
13
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Exkursion: Unabhängkeit von Zufallsereignissen:
Für ein Zufallsereignis E sei Pr [E] die Wkeit von E.
( Pr“ steht für Probability“.)
”
”
Zwei Ereignisse E1 und E2 heißen unabh¨
angig, falls gilt
Pr [E1 ∩ E2 ] = Pr [E1 ] · Pr [E2 ].
Für möglicherweise abh¨
angige Ereignisse E1 und E2 gilt die
Formel Pr [E1 ∩ E2 ] = Pr [E1 ] · Pr [E2 |E1 ], wobei Pr [E2 |E1 ]
die bedingte Wkeit von E2 unter E1 ist.
Eine Kollektion von Ereignissen {Ei : i ∈ I} heißt unabh¨
angig,
falls für alle Teilmengen S ⊆ I gilt
"
#
\
Y
Pr
Ei =
Pr [Ei ] .
i∈S
i∈S
Im allgemeinen Fall, also wenn E1 , E2 , . . . , Ek möglicherweise
abh¨
angig sind, gilt
 
" k #
k
Y
\
\
i−1
Pr Ei Ei =
Ej  .
Pr
j=1
i=1
i=1
14
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Satz 4 Pr [C ist ein Min-Cut von G] > 2n−2 .
Beweis:
• Sei ei die i-te Kante, die kontrahiert wird (1 ≤ i ≤ n−2).
• Sei H0 = G und Hi der Graph H nach der i-ten Kontraktion.
• Sei K ein beliebiger Min-Cut von G.
Pr [C ist ein Min-Cut von G]
≥ Pr [C = K]


\
= Pr 
ei 6∈ K 
1≤i≤n−2

Y
\

=
Pr ei 6∈ K ei ∈
6 K .
1≤j<i
1≤i≤n−2

15
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Lemma 5 Für 1 ≤ i ≤ n − 2 gilt,


\
2

ej 6∈ K  ≥ 1 −
Pr ei 6∈ K .
n−i+1
1≤j<i
Beweis:
Sei k = |K|. Jeder Schnitt in Hj (0 ≤ j ≤ n − 2) ist auch ein
Schnitt in G. Deshalb ist der Min-Cut-Wert in Hj mindestens
so groß wie der Min-Cut-Wert in G, also mindestens k.
Sei nj die Anzahl der Knoten in Hj und mj die Anzahl der
k
Kanten. Die Wkeit für das Ereignis ei ∈ K ist mi−1
, weil alle
mi−1 Kanten in Hi−1 gleichwahrscheinlich sind.
Der Wert von mi−1 h¨
angt irgendwie von dem Ereignis
T
1≤j<i ej 6∈ K ab. Aber es gilt immer mi−1 ≥ kni−1 /2,
denn ansonsten g¨
abe es einen Knoten mit Grad kleiner als k
und der Min-Cut-Wert von Hi−1 w¨
are, entgegen unserer obigen Feststellung, kleiner als k. Außerdem gilt ni−1 = n−i+1.
Wir fassen zusammen:


\
2
2
k


≤
=
.
Pr ei ∈ K ej 6∈ K =
m
n
n
−
i
+
1
i−1
i−1
1≤j<i
t
u
16
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Fortsetzung des Beweises von Satz 4:
Wir setzen das Lemma ein und erhalten
Pr [C ist ein Min-Cut von G]
Y 2
≥
1−
n−i+1
1≤i≤n−2
n−i−1
=
n−i+1
1≤i≤n−2
n−2
n−3
n−4
3
2
1
=
···
n
n−1
n−2
5
4
3
2
2
=
> 2 ,
n(n − 1)
n
Y
wobei sich die letzte Gleichung nach einigen einfachen
Kürzungen ergibt.
t
u
17
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Wkeitsamplifikation:
• Um eine bessere Erfolgswkeit zu erhalten, wenden wir
den Contract-Algorithmus wiederholt an, und geben dann
den kleinsten Schnitt aus, den wir gefunden haben.
• Bei (n2 · t)-facher Wiederholung des Algorithmus ist
die Wkeit den Min-Cut in allen Wiederholungen zu
verpassen höchstens
1−
2
n2
n2 ·t
2t
1
≤
,
e
wobei e = 2.718 . . . die Eulersche Konstante ist. Die
letzte Ungleichung folgt weil (1 − x1 )x ≤ 1e für jedes
x ≥ 1.
• Das bedeutet, auf Kosten der Laufzeit können wir die
Fehlerwkeit beliebig klein machen. Um eine konstante
Erfolgswkeit zu erhalten, reichen n2 Wiederholungen.
Das ergibt eine Gesamtlaufzeit von O(n4 ).
• Hat man einmal konstante Erfolgswkeit erreicht, kann
man die Fehlerwkeit sehr effizient reduzieren. Bemerkenswert ist, dass die Fehlerwkeit exponentiell in t sinkt.
Schon bei t = 7 ist die Fehlerwkeit nur e−2t = e−14 und
damit kleiner als 1 zu 1 Million.
18
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Der folgende Algorithmus von Karger und Stein (1993)
berechnet in Zeit O(n2 log n) einen Schnitt, der mit Wkeit
Ω( log1 n ) ein Min-Cut ist.
Algorithmus Fastcut(G)
1. falls n ≤ 6 dann berechne einen Min-Cut durch
vollst¨
andiges Aufz¨
ahlen und gebe ihn aus;
2. erzeuge zwei unabh¨
angige Kontraktionssequenzen
√
der L¨
ange n − t, wobei t := d1 + n/ 2e;
3. die dabei entstehenden Graphen mit jeweils t Knoten
nennen wir HA und HB ;
a) CA := fastcut(HA );
b) CB := fastcut(HB );
4. gib den kleineren der beiden Schnitte CA und CB aus.
19
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Satz 6 Algorithmus Fastcut hat Laufzeit O(n2 log n).
Beweis:
Die Laufzeit ist durch die folgende Rekursionsgleichung nach
oben beschr¨
ankt:
n
T (n) = 2T
1+ √
+ O(n2 ) ,
2
falls n > 6, und T (n) = O(1), falls n ≤ 6.
Wir lösen diese Rekursionsgleichung zun¨
achst recht grob und
verfeinern dann die einzelnen Argumente.
20
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
... grobe Laufzeitabschätzung ...
Zun¨
achst nehmen wir vereinfachend an
√
T (n) = 2T (n/ 2) + O(n2 ) .
Dann erhalten wir die folgende grobe Laufzeitabsch¨
atzung:
• Die Tiefe der Rekursion ist D = O(log n), weil die Problemgröße jeweils um einen konstanten Faktor abnimmt.
• Auf Rekursionslevel ` (0 ≤ ` ≤ D) sind 2` Teilprobleme
√ `
der Größe n` ≈ n/( 2) zu lösen.
• Die Laufzeitkosten, die wir einem derartigem Problem
zurechnen müssen sind O(n2` ) = O(n2 /2` ).
• Damit sind die Laufzeitkosten, die wir einem Level
zurechnen müssen gleich 2` O(n2 /2` ) = O(n2 ).
Aufsummiert über alle Rekursionslevel erg¨
abe diese grobe
Rechnung eine Laufzeit von (D + 1) · O(n2 ) = O(n2 log n).
Für einen formalen Beweis müssen wir jedoch berücksichtigen, dass sich die Teilprobleme nicht genau um den Faktor
√
2 verkleinern, sondern etwas größer sind.
21
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Details der Laufzeitanalyse
Wir beschreiben ein Kochrezept“ zum Erstellen eines detai”
lierten, formalen Beweises.
1. Sei n` die Größe der Teilprobleme auf Rekursionslevel
` ≥ 0, also die Anzahl der Knoten in den auf diesem
Level vorliegenden Graphen. Zeige per Induktion
n` ≤ n2−`/2 + 2
`−1
X
2−i/2 .
i=0
2. Zeige, es folgt n` ≤ n2−`/2 + 6.83.
3. Das Rekursionsende ist erreicht, wenn n` < 7. Löse
deshalb die Ungleichung
n2−`/2 + 6.83 ≥ 7
nach ` auf. Zeige, es gilt ` ≤ 2 log2 n + 5.12. Also ist die
Rekursionstiefe D = 2 log2 n + O(1).
4. Die dem Rekursionslevel ` zugerechneten Laufzeitkosten
sind durch 2` · O(n2` ) beschr¨
ankt. Zeige, dass dieser Term
durch O(n2 ) beschr¨
ankt ist.
Fazit: Die Rekursionstiefe ist O(log n). Die Laufzeitkosten
je Rekursionslevel sind O(n2 ). Damit ist die Gesamtlaufzeit
durch O(n2 log n) beschr¨
ankt.
t
u
22
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Satz 7 Algorithmus Fastcut berechnet einen Min-Cut mit
Wkeit Ω(1/ log n).
Natürlich können wir die Erfolgswkeit durch Amplifikation
auf Kosten der Laufzeit beliebig weiterverbessern.
Um eine konstante Erfolgswkeit zu erreichen benötigen wir
O(log n) Wiederholungen. Das ergibt eine Laufzeit von
O(n2 log2 n).
23
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Beweis von Satz 7:
Fixiere einen Min-Cut K. Aus Lemma 5 erhalten wir die
folgende untere Schranke für die Wkeit, dass der Schnitt K
eine Kontraktionssequenz der L¨
ange n − t überlebt.
Y 2
1−
n−i+1
1≤i≤n−t
=
=
=
=
≥
n−i−1
n−i+1
1≤i≤n−t
n−2
n−3
t
t−1
···
n
n−1
t+2
t+1
t(t − 1)
n(n − 1)
√
√
d1 + n/ 2e dn/ 2e
n
n−1
1
.
2
Y
Mit Wkeit mindestens 12 hat der Graph HA also den gleichen
Min-Cut-Wert wie G. Das gleiche Ergebnis gilt für den
Graphen HB .
24
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Wir bezeichnen Algorithmus f astcut(G) als erfolgreich,
wenn er einen Min-Cut berechnet. Sei k der Min-Cut-Wert
von G. Die folgenden Bedingungen sind hinreichend für den
Erfolg von f astcut(G).
A) HA hat Min-Cut-Wert k und f astcut(HA ) ist erfolgreich, oder
B) HB hat Min-Cut-Wert k und f astcut(HB ) ist erfolgreich.
Für einen Graphen H, sei P (H) die Wkeit, dass f astcut(H)
erfolgreich ist. Dann ist die Wkeit, dass Bedingung A eintritt,
mindestens 12 P (HA ), weil HA mit Wkeit mindestens 12 den
Min-Cut-Wert k hat. Die Wkeit, dass Bedingung A nicht
eintritt, ist damit höchstens 1 − 21 P (HA ). Bedingung B
verh¨
alt sich analog.
Nur wenn beide Bedingungen nicht eintreten, ist f astcut(G)
möglicherweise nicht erfolgreich. Wir erhalten die folgende
untere Schranke:
P (HA )
P (HB )
P (G) ≥ 1 − 1 −
1−
.
2
2
25
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Die Tiefe des Rekursionsbaumes von f astcut(G) ist D =
O(log n). Die Rekursionsb¨
aume von f astcut(HA ) bzw.
f astcut(HB ) haben Tiefe D − 1. Dadurch erhalten wir eine
Rekursionsgleichung p(·) für die Erfolgswahrscheinlichkeit
von f astcut, die von der Tiefe des jeweiligen Rekursionsbaumes abh¨
angt.
2
p(d − 1)
,
p(d) ≥ 1 − 1 −
2
falls d ≥ 1 und p(0) = 1.
Behauptung: Für d ≥ 0 gilt p(d) ≥
1
d+1 .
Aus dieser Behauptung folgt
1
P (G) = p(D) ≥
= Ω
D+1
1
log N
.
Damit folgt Satz 7 unmittelbar aus dieser Behauptung.
26
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Die Behauptung gilt offensichtlich für d = 0, weil in diesem
Fall die vollst¨
andige Suche immer (d.h. mit Wkeit 1) den
Min-Cut berechnet.
Für d ≥ 1 verwenden wir eine Induktion.
2
p(d − 1)
p(d) ≥ 1 − 1 −
2
2
1
≥ 1− 1−
2d
1
1
=
−
d 4d2
4d − 1
=
2
4d
(4d − 1)(d + 1)
1
=
4d2
d+1
2
4d + 4d − d − 1
1
=
4d2
d+1
1
≥
.
d+1
t
u
Damit ist Satz 7 bewiesen.
27
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Monte Carlo vs. Las Vegas
Wir unterscheiden zwei Arten von randomisierten Algorithmen.
• Las-Vegas-Algorithmen berechnen immer die korrekte
Antwort bzw. eine optimale Lösung, nur die Laufzeit
h¨
angt vom Ausgang der Zufallsexperimente ab. Algorithmus SeideLP ist ein Beispiel für einen Las Vegas
Algorithmus, weil er immer eine optimale Lösung berechnet. Die Laufzeit des Algorithmus ist jedoch eine
Zufallsvariable.
• Monte-Carlo-Algorithmen sind durch eine positive, aber
beschr¨
ankte Fehlerwahrscheinlichkeit gekennzeichnet.
Typischerweise h¨
angt die Laufzeit nicht von den Zufallsexperimenten ab, sondern ist deterministisch. Die
pr¨
asentierten Min-Cut-Algorithmen sind gute Beispiele
für randomisierte Algorithmen vom Typ Monte-Carlo.
Wir untersuchen, unter welchen Bedingungen Las-Vegasin Monte-Carlo-Algorithmen überführt werden können und
umgekehrt.
28
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Exkursion: Markov-Ungleichung
Lemma 8 Sei X eine Zufallsvariable mit nicht-negativem
Wertebereich. Für alle t ∈ R+ gilt
E [X]
Pr [X ≥ t] ≤
t
oder, in etwas anderer Schreibweise,
Pr [X ≥ t E [X]] ≤
1
.
t
Beweis: Der Einfachheit halber nehmen wir an der Wertebereich von X ist N0 . Dann gilt
X
E [X] =
i Pr [X = i]
i≥0
≥
X
t Pr [X = i]
i≥t
= t Pr [X ≥ t] .
t
u
29
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Satz 9 Gegeben sei ein Las-Vegas-Algorithmus A mit einer
erwarteten Laufzeit von maximal f (n) Rechenschritten für
Eingaben der L¨
ange n. Sei α > 1. Falls wir die Rechnung
von A bei Eingaben der L¨
ange n nach αf (n) Schritten
abbrechen, so erhalten wir einen Monte-Carlo-Algorithmus B
mit Fehlerwahrscheinlichkeit höchstens α1 .
Beweis:
Sei x eine Eingabe der L¨
ange n. Sei T die Zufallsvariable,
welche die Laufzeit von A auf x beschreibt. Es gilt E [T ] ≤
f (n). Algorithmus B macht nur dann einen Fehler, wenn
wir Algorithmus A vorzeitig abbrechen. Aus der MarkovUngleichung folgt somit, dass die Fehlerwahrscheinlichkeit
von B nach oben beschr¨
ankt ist durch
Pr [T ≥ αf (n)] ≤ Pr [T ≥ αE [T ]] ≤
1
.
α
t
u
30
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Satz 10 Gegeben sei ein Monte-Carlo-Algorithmus B mit
Laufzeit maximal f (n) für Eingaben der L¨
ange n. Sei p(n)
eine untere Schranke für die Wkeit, dass B eine korrekte
Antwort ausgibt. Wir nehmen an, wir haben eine Testroutine,
die die Korrektheit der Ausgabe in Zeit höchstens g(n)
verifiziert. Dann können wir einen Las-Vegas-Algorithmus
A mit erwarteter Laufzeit höchstens (f (n) + g(n))/p(n)
konstruieren.
Beweis:
Algorithmus A ruft Algorithmus B solange auf, bis die
Testroutine die Ausgabe von B als korrekt klassifiziert. Die
Laufzeit pro Iteration ist höchstens f (n) + g(n). Die Wkeit,
dass wir den Algorithmus k mal wiederholen müssen ist nicht
größer als (1 − p(n))k−1 p(n). Die erwartete Anzahl von
Wiederholungen ist somit höchstens
∞
X
k=1
da
∞
X
k=1
k(1 − p(n))k−1 p(n) =
x
.
kx =
(1 − x)2
k
1
,
p(n)
t
u
31
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Las-Vegas-Algorithmen sind somit Monte-Carlo-Algorithmen
überlegen, denn
• ein effizienter Las-Vegas-Algorithmus kann ohne Weiteres in einen effizienten Monte-Carlo-Algorithmus
überführt werden,
• w¨
ahrend zur Transformation eines effizienten MonteCarlo-Algorithmus in einen effizienten Las-VegasAlgorithmus ein effizienter, deterministischer Verifizierer
benötigt wird.
Gibt es möglicherweise zu jedem Monte-Carlo-Algorithmus
einen effizienten Verifizierer? - Die Frage können wir nicht
beantworten. Die im Folgenden vorgestellte FingerprintingMethode ist jedoch ein Beispiel für ein Monte-Carlo-Verfahren,
welches nicht auf sinnvolle Art und Weise durch Verwendung
eines deterministischen Verifizierers in einen Las-VegasVerfahren transformiert werden kann.
32
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Randomisiertes Runden f ür ein
Routing-Problem
Gegeben seien
• ein stark zusammenh¨
angender gerichteter Multigraph
G = (V, E) sowie
• k Knotenpaare (ui , vi ) ∈ V 2 , ui 6= vi mit einem Kommunikationsbedarf (Demand) di ∈ N.
Berechne einen congestion-minimalen Routingplan, d.h.
verbinde jedes Knotenpaar (ui , vi ) durch einen einfachen
Weg Pi in G, so dass die Congestion (engl: Stau) minimal ist.
Für einen gegebenen Routingplan mit Wegen P1 , . . . , Pk ist
die Congestion wie folgt definiert.
• Für eine Kante e ∈ E definieren wir
X
di .
C(e) =
i∈[k]:e∈Pi
• Die Congestion des Routingplans ist definiert als
C = max(C(e)) .
e∈E
Das Routingproblem ist NP-schwer. Das folgende sehr a¨hnliche Problem hat jedoch einen Polynomialzeitalgorithmus.
33
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Mehrgüterflussproblem (Multicommodity Flow):
Gegeben seien
• ein stark zusammenh¨
angender gerichteter Multigraph
G = (V, E) sowie
• k Güter (Commodities) mit jeweils einem (Quelle,Ziel)Knotenpaar (ui , vi ) ∈ V 2 und einem Demand di ∈ N.
Statt jedes Knotenpaar durch einen Weg zu verbinden, suchen
wir jetzt für jedes Paar (ui , vi ) einen Fluss fi von ui nach vi .
Formal definieren wir dieses Problem als LP mit den Variablen
C und fi,e für jedes i ∈ [k] und e ∈ E.
minimiere C
unter den Nebenbedingungen
∀i ∈ [k] :
∀e ∈ E :
∀i ∈ [k], e ∈ E :
die Variablen fi,∗ beschreiben einen
Fluss mit Wert 1 von ui nach vi
X
fi,e di ≤ C
i∈[k]
fi,e ∈ [0, 1]
Die Variable C entspricht dabei der Congestion des Mehrgüter”
flussproblems“, die minimiert werden soll.
34
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Die Größe des LPs ist polynomiell in der Eingabel¨
ange des
Mehrgüterflussproblems. Damit hat dieses Problem einen
Polynomialzeitalgorithmus.
Ersetzen wir die Bedingung fi,e ∈ [0, 1] durch fi,e ∈ {0, 1} so
entspricht jeder Fluss genau einem Weg Wir erhalten also ein
ILP, das dem Routing-Problem entspricht. In anderen Worten:
das Mehrgüterflussproblem ist eine realwertige Relaxierung
des ganzzahligen Routing-Problems.
Idee: Berechne in Polynomialzeit eine optimale realwertige
Lösung für das Mehrgüterflussproblem und transformiere sie
in eine gute ganzzahlige Lösung für das Routing-Problem.
35
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Schritt 1: Pfadzerlegung
Die Ford-Fulkerson-Methode berechneten einen maximalen
Fluss durch Aggregation von flussvergrößernden Wegen.
Andersherum betrachtet, kann man einen Fluss in einzelne
Pfade zerlegen. Tats¨
achlich kann jeder Fluss in nicht mehr als
m Pfade zerlegt werden. (Warum?)
Wir berechnen eine derartige Flusszerlegung für jede Commodity.
• Für jedes i ∈ [k], zerlege den Fluss fi in bis zu m Wege.
Um die Notation einfach zu halten, nehmen wir o.B.d.A.
an, wir erhalten genau m Wege je Commodity. Die Wege
für Commodity i werden mit Pi1 , . . . , Pim bezeichnet.
• Sei xji der Wert des Flusses fi entlang von Weg Pij .
Da gem¨
aß der LP-Formulierung der Fluss für jede
Commodity den Wert 1 hat, gilt xji ∈ [0, 1] und
P
j
x
j∈[m] i = 1.
36
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Schritt 2: Randomisiertes Runden
In diesem Schritt transformieren wir die realwertigen Variablen xji in {0, 1}-wertige Indikatorvariablen Xij , die anzeigen
welchen Routingweg wir für das Quelle-/Zielpaar (ui , vi )
w¨
ahlen, d.h.

 1 falls Knotenpaar (u , v ) den Weg P j nimmt,
i i
i
Xij =
 0 sonst.
Idee von Raghavan & Thompson (1986): Interpretiere die
Variablen xji als Wahrscheinlichkeiten.
• Die Variablen x1i , . . . , xm
i definieren eine Wahrscheinlichkeitsverteilung.
• Gem¨
aß dieser Verteilung w¨
ahle zuf¨
allig einen Index j ∗
j∗
aus [m]. Setze Xi = 1, und Xij = 0 falls j 6= j ∗ .
Dieser Vorgang wird als randomisiertes Runden bezeichnet.
37
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Berechnung der erwarteten Congestion:
Betrachte eine beliebige Kante e. Sei
I(e) = {(i, j) | i ∈ [k], j ∈ [m], e ∈ Pij } ,
also die Indexmenge derjenigen Wege, die über e verlaufen.
Für jede Kante e ∈ E ist die Congestion C(e) eine Zufallsvariable. Es gilt
X
C(e) =
Xij di
(i,j)∈I(e)
E [C(e)] ist die erwartete Congestion auf Kante e. Es gilt
X
E [C(e)] =
xji di .
(i,j)∈I(e)
Beachte, die erwarte Congestion auf Kante e ist genau so groß
wie die Congestion auf dieser Kante in der zugrundeliegenden
Lösung des Mehrgüterflussproblems.
Sei optf die optimale Congestion des Mehrgüterflussproblems. Für jede Kante e gilt somit E [C(e)] ≤ optf .
38
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Zwei Eigenschaften:
Sei opt die Congestion, die ein optimaler (ganzzahliger)
Routingplan liefern würde. Sei dmax = maxi∈[k] (di ).
(A) Es gilt opt ≥ dmax , weil der maximale Demand mindestens eine Kante überschreiten muß.
(B) Für jede Kante e ∈ E gilt opt ≥ E [C(e)], weil opt ≥
optf und optf ≥ E [C(e)].
39
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Exkursion: Gewichtete Chernoff-Schranke
Lemma 11 Seien X1 , . . . , Xn unabh¨
angige Zufallsvariablen
mit Pr [Xi = 1] = pi und Pr [Xi = 0] = 1 − pi für jedes
i. Seien w1 , . . . , wn ∈ [0, W ] für ein beliebiges W > 0.
Pn
Sei X eine Zufallsvariable mit X =
i=1 Xi wi und sei
Pn
µ ≥ i=1 pi wi = E [X]. Dann gilt für jedes > 0,
Pr [X ≥ (1 + ) · µ] ≤
e
(1 + )1+
µ/W
.
Vereinfachte Variante:
Für = 2 ergibt sich beispielsweise
µ/W
4
Pr [X ≥ 3µ] ≤
.
9
In dieser Form werden wir die Chernoff-Schranke auf die
Variable die Zuallsvariable C(e), e ∈ E, anwenden.
40
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Warum können wir die gewichtete Chernoff-Schranke auf die
Zun¨
achst müssen wir uns überlegen, dass C(e) eine Summe
von unabh¨
angigen 0/1-wertigen Zufallsvariablen ist. Es gilt
P
C(e) = (i,j)∈I(e) Xij di . Also ist C(e) eine Summe von
gewichteten 0/1-wertigen Zufallsvariablen. Aber sind diese
Variablen unabh¨
angig? – Nein, denn ist z.B. X11 = 1 so folgt
X12 = 0, weil nur genau ein Weg für das Knotenpaar (u1 , v1 )
ausgew¨
ahlt wird. Also h¨
angt der Wert von X12 vom Wert von
X11 ab. Mmmmh?
41
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Trotzdem ist C(e) eine Summe von unabh¨
angigen 0/1wertigen Zufallsvariablen. Diese Variablen sind allerdings
etwas anders definiert, n¨
amlich folgendermaßen:
• Für i ∈ [k] und e ∈ E definiere eine Zufallsvariable
Xi (e), so dass Xi (e) = 1 falls der zuf¨
allig ausgew¨
ahlte
Weg für das Knotenpaar (ui , vi ), also Pi , über e verl¨
auft,
sonst setze Xi (e) = 0.
• Die Zufallsvariablen X1 (e), . . . , Xk (e) sind unabh¨
angig,
weil die zuf¨
allige Auswahl des Weges Pi unabh¨
angig
vom Ausgang der Zufallsexperimente für die Wege Pj ,
j 6= i, durchgeführt wird.
P
Es gilt C(e) =
i∈[k] Xi (e) di . Also können wir die
Chernoff-Schranke auf C(e) anwenden.
42
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Anwendung der Chernoff-Schranke:
Unsere Zufallsvariable ist X = C(e). Wir setzen W = dmax
und
(B)
µ = opt + W · log m ≥ E [C(e)] .
Die Chernoff-Schranke in vereinfachter Form liefert
(opt+W ·log m)/W
4
Pr [C(e) ≥ 2opt + W · log m] ≤
9
1+log m
(A)
4
≤
9
4 1
≤
· .
9 m
43
Berthold Vöcking, RWTH Aachen, 31. Dezember 2006
Die sogenannte Union Bound besagt Pr [E1 ∨ E2 ] ≤ Pr [E1 + E2 ]
für beliebige Zufallsereignisse E1 und E2 .
Durch Anwendung der Union Bound können wir jetzt die
Congestion C des Routingplans beschr¨
anken:
Pr [C ≥ 2opt + W · log m]
≤ Pr [∃e ∈ E : C(e) ≥ 2opt + W · log m]
X
≤
Pr [C(e) ≥ 2opt + W · log m]
e∈E
≤
X 4 1
4
·
=
.
9 m
9
e∈E
Es folgt
Satz 12 Mit konstanter Wkeit ist die Congestion des Routingplans durch O(opt + dmax · log m) beschr¨
ankt.
t
u
44
Herunterladen