Kapitel 5 - Informatik Uni-Leipzig

Werbung
Randomisierte Algorithmen
Kapitel 5
Markus Lohrey
Universität Leipzig
http://www.informatik.uni-leipzig.de/~lohrey/RAND
WS 2005/2006
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
1 / 36
Die Probabilistische Methode
2 Grundprinzipien
1
Ist X eine Zufallsvariable, dann gibt es x0 ≤ E [X ] und x1 ≥ E [X ] mit
Prob[X = x0 ] > 0, Prob[X = x1 ] > 0.
2
Ist die Wahrscheinlichkeit, dass ein zufällig ausgewähltes Objekt eine
Eigenschaft ψ hat, ungleich 0, so muss es ein Objekt mit der
Eigenschaft ψ geben.
Anwendung 1: Maximum Satisfiability
Seien x1 , . . . , xn aussagenlogische Variablen.
Ein Literal ist eine Formel der Gestalt xi oder ¬xi (1 ≤ i ≤ n).
Eine Klausel ist eine Formel der Gestalt (y1 ∨ y2 ∨ . . . ∨ yk ) (k ≥ 1).
Satz (1)
Sei Φ eine Menge von m Klauseln. Dann gibt es eine Wahrheitsbelegung
für x1 , . . . , xn , so dass mindestens m/2 viele Klauseln aus Φ wahr werden.
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
2 / 36
Maximum Satisfiability
O.B.d.A. enthält keine Klausel eine Variable xi und ¬xi .
Beweis (mittels der probabilistischen Methode): Setze jede Variable xi mit
Wahrscheinlichkeit 1/2 auf 0 und mit Wahrscheinlichkeit 1/2 auf 1. Für
1 ≤ i ≤ m definiere Zufallsvariable
(
1 falls sich i-te Klausel zu wahr auswertet
Zi =
0 sonst
Ist C eine Klausel mit k Literalen so gilt:
Prob[C ist erfüllt] = 1 − 2−k ≥ 1/2 (da k ≥ 1)
=⇒ E [Zi ] ≥ 1/2
=⇒ E [Anzahl der erfüllten Klauseln] =
m
X
i=1
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
E [Zi ] ≥
m
2
WS 2005/2006
3 / 36
Maximum Satisfiability
Bemerkung:
Satz 1 kann nicht verbessert werden: Φ = {(x1 ), (¬x1 )}
Falls jede Klausel aus Φ mindestens k Literale enthält, so folgt aus
obigem Beweis, dass es eine Wahrheitsbelegung gibt, welche
mindestens (1 − 2−k ) · m viele Klauseln erfüllt.
MAX-SAT ist das folgende Optimierungsproblem:
INPUT: Menge von Klauseln Φ
ZIEL: Finde Wahrheitsbelegung, welche möglichst viele Klauseln aus
Φ erfüllt.
Sei A ein Algorithmus, der für eine gegebene Klauselmenge eine
Wahrheitsbelegung berechnet. Für eine Klauselmenge Φ sei
mA (Φ) = Anzahl der Klauseln, die A bei Eingabe Φ erfüllt
maximale Zahl von (durch eine bestimmte Wahrheitsbem∗ (Φ) =
legung) gleichzeitig erfüllbaren Klauseln von Φ
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
4 / 36
Maximum Satisfiability
Die Approximationsrate von A ist
mA (Φ)
infimum
| Φ beliebige Klauselmenge
m∗ (Φ)
Ist A ein randomisierter Algorithmus, so ersetzen wir in obiger Definition
mA (Φ) durch E [mA (Φ)].
Bemerkungen:
A ist „gut“, falls die Approximationsrate von A nahe bei 1 liegt.
Aus dem Beweis von Satz 1 ergibt sich ein randomisierter Algorithmus
mit Approximationsrate ≥ 1/2.
Satz (2)
Es gibt einen randomisierten Algorithmus für MAX-SAT, dess
Approximationsrate mindestens 3/4 ist.
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
5 / 36
Maximum Satisfiability
Beachte: Enthält die Input-Klauselmenge Φ nur Klauseln mit mindestens 2
Literalen, so hat der Algorithmus aus dem Beweis von Satz 1 (Würfeln der
Wahrheitsbelegung) eine Approximationsrate von mindestens 1 − 2−2 = 3/4.
Wir konstruieren deshalb einen zweiten randomisierten Algorithmus für
MAX-SAT, der speziell bei vielen Klauseln mit nur einem Literal gut ist. Sei
Φ = {C1 , . . . , Xm } unsere Input-Klauselmenge, seien x1 , . . . , xn die
aussagenlogischen Variablen in Φ. Seien
Cj+ = {i | 1 ≤ i ≤ n, xi kommt in Cj vor}
Cj− = {i | 1 ≤ i ≤ n, ¬xi kommt in Cj vor}
Formulierung von MAX-SAT als Integer Linear Program: Ordne jeder
aussagenlogischen Variablen xi eine Integer-Variable yi ∈ N zu, und ordne
jeder Klausel Cj eine Integer-Variable zj ∈ N zu. Idee:
(
1 falls Cj erfüllt ist
zj =
0 sonst
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
6 / 36
Maximum Satisfiability
=⇒ Maximiere
Pm
j=1 zj

unter folgenden Randbedingungen: 




X
X
∀i∀j : 0 ≤ yi , zj ≤ 1 und ∀j :
yi +
(1 − yi ) ≥ zj
(∗)


+
−

i∈Cj
i∈Cj


Die linear programming relaxation von (∗) erhalten wir, in dem wir
yi , zj ∈ R in (∗) erlauben (d.h. 0 ≤ yi , zj ≤ 1). Diese kann mit
Standardmethoden effizient (in Polynomialzeit) gelöst werden. Seien
ybi , b
zj ∈ [0, 1] die Werte, die wir so erhalten.
P
Beachte: m
zj ≥ m∗ (Φ)
j=1 b
Wir wenden nun auf yb1 , . . . , ybn randomisiertes Runden an:
Setze yi unabhängig von den anderen yi 0 mit Wahrscheinlichkeit ybi auf 1
und mit Wahrscheinlichkeit 1 − ybi auf 0 (entspricht xi = FALSE).
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
7 / 36
Maximum Satisfiability
Sei βk = 1 − (1 − 1/k )k ≥ 1 − 1/e für k ≥ 1.
Lemma (1)
Sei Cj eine Klausel mit k Literalen. Die Wahrscheinlichkeit, dass Cj beim
randomisierten Runden erfüllt wird, ist mindestens βk · b
zj .
Beweis: O.B.d.A. können wir Cj = (x1 ∨ x2 ∨ . . . ∨ xk ) annehmen.
(∗)
=⇒ yb1 + . . . + ybk ≥ b
zj .
h
i
yb1 , . . . , ybk wreden auf 0
C
wird
beim
randomisierten
j
Prob
= Prob
gerundet
Runden nicht erfüllt
=
k
Y
(1 − ybi )
i=1
Es genügt somit zu zeigen:
1−
Markus Lohrey (Universität Leipzig)
k
Y
(1 − ybi ) ≥ βk · b
zj
i=1
Randomisierte
Algorithmen
WS 2005/2006
8 / 36
Maximum Satisfiability
Qk
bi ) wird unter der Randbedingung yb1 + . . . + ybk ≥ b
zj (d.h.
i=1 (1 − y
(1 − yb1 ) + . . . + (1 − ybk ) ≤ k − b
zj ) maximal für yb1 = . . . = ybk = bzj/k .
=⇒ Es genügt zu zeigen:
(∗∗)
1 − (1 − z/k )k ≥ βk · z falls k ≥ 1, z ∈ [0, 1]
|
{z
} | {z }
linear
konvex
Wegen Konvexheit muss (∗∗) nur für Randwerte z = 0, z = 1 gezeigt
werden.
z = 0 :1 − (1 − 0/k )k ≥ βk · 0 X
z = 1 : 1 − (1 − 1/k )k ≥ βk · 1 X
|
{z
}
βk
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
9 / 36
Maximum Satisfiability
Aus Lemma 1 folgt:
E
h
i
Anzahl der Klauseln, die durch durch randomisiertes Runden erfüllt werden
m
h
i
X
=
Prob Cj wird beim randomisierten
Runden erfüllt
j=1
Lemma 1
≥
m
X
βl(j) ·b
zj ≥
|{z}
j=1
# Literale
in Cj
m
X
(1 − 1/e ) · b
zj ≥ (1 − 1/e ) · m∗ (Φ)
j=1
Wir haben somit folgenden Satz gezeigt:
Satz (3)
Randomisiertes Runden erreicht eine Approximationsrate (für MAX-SAT)
von mindestens 1 − 1/e .
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
10 / 36
Maximum Satisfiability
Beachte: Dies ist bereits eine Verbesserung gegenüber der
Approximationsrate von 1/2, die sich bei zufälliger Belegung der Variablen
ergibt. Unser Ziel einer Approximationsrate von mindestens 3/4 haben wir
aber noch nicht erreicht.
Wir lassen nun unsere beiden randomisierten Algorithmen für MAX-SAT
(zufällige Belegung, randomisiertes Runden) nacheinander laufen, und
nehmen diejenige Wahrheitsbelegung, welche mehr Klauseln erfüllt. Sei
Anzahl von Klauseln, die durch zufällige Ben1 = E
legung erfüllt werden
h
i
Anzahl von Klauseln, die durch randomisiern2 = E
tes Runden erfüllt werden
Satz (4)
max{n1 , n2 } ≥ 3/4 · m∗ (Φ)
(ergibt Satz 2)
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
11 / 36
Maximum Satisfiability
Beweis: Es genügt zu zeigen:
m
n1 + n2 3 X
b
≥ /4 ·
zj
2
(≥ 3/4m∗ (Φ))
j=1
Sei Sk ⊆ Φ die Menge aller Klauseln mit genau k Literalen. Es gilt:
∈[0,1]
X X
n1 =
(1 − 2−k ) ≥
k≥1 Cj ∈Sk
n2 ≥
L. 1
X X
X X
z}|{
(1 − 2−k ) · b
zj
k≥1 Cj ∈Sk
βk · b
zj
k≥1 Cj ∈Sk
=⇒
n1 + n2 X X 1 − 2−k + βk
≥
·b
zj
2
2
k≥1 Cj ∈Sk
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
12 / 36
Maximum Satisfiability
Weiter gilt:
1 − 2−k + βk = 1 − 2−k + 1 − (1 − 1/k )k = 2 − 2−k − (1 − 1/k )k ≥ 3/2
denn 2−k + (1 − 1/k )k ≤ 1/2 für alle k ∈ N.
(für k ∈ {1, 2} gilt 2−k + (1 − 1/k )k = 1/2,
für k ≥ 3 gilt 2−k + (1 − 1/k )k ≤ 1/8 + 1/e ≤ 1/2)
=⇒
m
n1 + n2
3 X X
3 X
b
b
≥ ·
zj = ·
zj
2
4
4
k Cj ∈Sk
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
j=1
WS 2005/2006
13 / 36
Lovász Local Lemma
Seien E1 , . . . , En Ereignisse. Sei T ⊆ {1, . . . , n} und i ∈ {1, . . . , n}.
Ei ist unabhängig von T
der Menge {Ej | j ∈ T }, falls für jede Teilmenge
U ⊆ T gilt: Prob[Ei | j∈U Aj ] = Prob[Ei ] wobei Aj = Ej oder Aj = E j .
Ein gerichteter Graph G ist ein Abhängigkeitsgraph für E1 , . . . , En , falls:
(a) Die Knotenmenge von G ist E1 , . . . , En .
(b) Jedes Ereignis Ei ist unabhängig von der Menge
{Ej | (Ei , Ej ) keine Kante in G }.
Beispiele:
Der vollständige Graph auf E1 , . . . , En (für alle i, j ist Ei → Ej eine
Kante) ist stets ein Abhängigkeitsgraph für E1 , . . . , En .
Seien E1 , . . . , En paarweise unabhängig. Jeder Graph G mit folgender
Eigenschaft ist ein Abhängigkeitsgraph für E1 , . . . , En : Für jedes
Ereignis Ei gibt es genau ein Ereignis Ej (j 6= i), so dass es in G keine
Kante von Ei nach Ej gibt.
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
14 / 36
Lovász Local Lemma
Lemma (Lovász Local Lemma)
Sei G = ({E1 , . . . , En }, E ) ein Abhängigkeitsgraph für die Ereignisse
E1 , . . . , En . Angenommen,
es gibt Zahlen xi ∈ [0, 1] (1 ≤ i ≤ n) mit
Q
Prob[Ei ] ≤ xi · (i,j)∈E (1 − xj ). Dann gilt:
"
Prob
n
\
i=1
#
Ei ≥
n
Y
(1 − xi )
i=1
Beweis: Sei S ⊆ {1, . . . , n} und i ∈
/ S.
T
Behauptung: Prob[Ei | j∈S E j ] ≤ xi . Beweis durch Induktion über |S|.
S = ∅:

Prob Ei |

\
E j  = Prob[Ei ] ≤ xi ·
j∈S
Markus Lohrey (Universität Leipzig)
Y
(1 − xj ) ≤ xi
(i,j)∈E
Randomisierte Algorithmen
WS 2005/2006
15 / 36
Lovász Local Lemma
S 6= ∅: Sei S1 = {j ∈ S | (i, j) ∈ E } und S2 = S \ S1 . Wegen
Prob[A | B ∩ C ] =
Prob[A ∩ B | C ]
Prob[B | C ]
gilt:


Prob Ei |
\

E j  = Prob Ei |

\
Ej ∩
j∈S1
j∈S
h
\
Ej
j∈S2
i
T
Prob Ei ∩ j∈S1 E j | j∈S2 E j
α
hT
i =
=
T
β
Prob j∈S1 E j | j∈S2 E j

α ≤ Prob Ei |
T

∗
\
E j  = Prob[Ei ] ≤ xi ·
j∈S2
Y
(1 − xj )
(i,j)∈E
(∗ – G ist Abhängigkeitsgraph für E1 , . . . , En )
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
16 / 36
Lovász Local Lemma
Sei S1 = {j1 , . . . , jr } (r ≥ 0). Falls r = 0, d.h. S = S2 :


\
Prob Ei |
E j  = Prob[Ei ] ≤ xi
X
j∈S2 =S
Sei nun r > 0.
S
β = Prob[E j1 ∩ . . . ∩ E jr | j∈S2 E j ]
T
T
= Prob[E j1 | j∈S2 E j ] · Prob[E j2 | E j1 ∩ j∈S2 E j ] · . . .
T
· Prob[E jr | E j1 ∩ . . . ∩ E jr −1 ∩ j∈S2 E j ]
≤xj1 (IH)
z
}|T
{
T
= (1 − Prob[Ej1 | j∈S2 E j ] ·(1 − Prob[Ej2 | E j1 ∩ j∈S2 E j ]) · . . .
T
· (1 − Prob[Ejr | E j1 ∩ . . . ∩ E jr −1 ∩ j∈S2 E j ])
(IH)
≥ (1 − xj1 ) · (1 − xj2 ) · . . . · (1 − xjr )
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
≥
Q
(i,j)∈E (1
− xj )
WS 2005/2006
17 / 36
Lovász Local Lemma
Q
xi · (i,j)∈E (1 − xj )
α
=⇒
= xi
≤ Q
β
(i,j)∈E (1 − xj )
T
Dies beweist die Behauptung Prob[Ei | j∈S E j ] ≤ xi falls i ∈
/ S.
Es folgt
Prob[
Tn
j=1 E j ]
Markus Lohrey (Universität Leipzig)
= (1 − Prob[E1 ]) · (1 − Prob[E2 | E 1 ]) · . . .
Tn−1
· (1 − Prob[En | j=1
E j ])
Qn
≥ i=1 (1 − xi )
Randomisierte Algorithmen
WS 2005/2006
18 / 36
Lovász Local Lemma
Korollar
Seien E1 , . . . , En Ereignisse mit Prob[Ei ] ≤ p für 1 ≤ i ≤ n, p < 1, so dass
jedes Ei unabhängig zu einer Teilmenge Fi T
⊆ {E1 , . . . , En } mit |Fi | ≥ n − d
ist. Sei e · p · (d + 1) ≤ 1. Dann gilt Prob[ ni=1 E i ] > 0.
Beweis: Es muss d ≥ 1 gelten (Ei ist abhängig von Ei , da Prob[Ei ] < 1).
Es existiert ein Abhängigkeitsgraph für E1 , . . . , En , so dass jedes Ei
1
höchstens d Nachbarn hat. Sei xi = d+1
< 1 für 1 ≤ i ≤ n.
d
1
1
d
=⇒ xi (1 − xi ) =
1−
d +1
d +1
d
1/d
1
Es gilt: 1 − d+1
> e1 . Dies ist äquivalent zu d+1
d < e . Es gilt:
1
1
1
d +1
=1+ <1+ +
d
d
d
2!
Markus Lohrey (Universität Leipzig)
2
1
1 1 3
1
+
+ . . . = e /d
d
3! d
Randomisierte Algorithmen
WS 2005/2006
19 / 36
Lovász Local Lemma
Also gilt:
xi ·
Y
(i,j)∈E
1
(1 − xj ) ≥ xi (1 − xi ) =
d +1
d
1−
1
d +1
d
>
1
1
·
d +1 e
≥ p ≥ Prob[Ei ]
Aus Lovász Local Lemma folgt:
" n
#
n
\
Y
Prob
Ei ≥
(1 − xi ) > 0
i=1
Markus Lohrey (Universität Leipzig)
i=1
Randomisierte Algorithmen
WS 2005/2006
20 / 36
Lovász Local Lemma
Eine Anwendung von Lovász Local Lemma auf k-SAT.
Satz (1)
Sei Φ = {C1 , . . . , Cm } eine Menge von Klauseln, wobei jedes Ci aus genau
k Literalen besteht. Angenommen jede Variable xj kommt (negiert oder
unnegiert in höchstens 2k/50 Klauseln vor und k ≥ 4. Dann ist Φ erfüllbar.
Beweis: Setze jede Variable mit Wahrscheinlichkeit 1/2 auf 0 oder 1. Sei Ei
das Ereignis,
dass Ci nicht erfüllt wird. Wir müssen zeigen:
Tm
Prob[ i=1 E i ] > 0.
Sei Fi die Menge aller Ereignisse Ej , so dass Ci und Cj keine gemeinsame
Variable haben. =⇒ Ei ist unabhängig von Fi .
Es gibt höchstens d := k · 2k/50 Klauseln, die mit Ci eine gemeinsame
Variable haben. =⇒ |Fi | ≥ m − d .
Außerdem gilt Prob[Ei ] = 2−k .
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
21 / 36
Lovász Local Lemma
Nach Korollar zu Lovász Local Lemma genügt es also zu zeigen:
e · 2−k (k · 2 /50 + 1) ≤ 1
|
{z
}
k
= e · (k · 2−
49/50·k
+ 2−k ) ≤ 1
für k ≥ 4
Sei Φ = {C1 , . . . , Cm } wieder eine k-SAT Instanz, die die Bedingungen aus
Satz 1 erfüllt. Wir wollen nun mittels eines randomisierten Algorithmus eine
erfüllende Wahrheitsbelegung finden. Unser Algorithmus arbeitet in zwei
Phasen:
In Phase 1 wird für eine bestimmte Menge von Variablen der
Wahrheitswert zufällig ermittelt.
In Phase 2 wird für die restlichen Variablen der Wahrheitswert
ermittelt.
Wir betrachten k im Folgenden als eine feste Konstante.
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
22 / 36
Lovász Local Lemma
Phase 1:
G -Klauseln := ∅ (Menge der gefährlichen Klauseln)
G -Var := ∅ (Menge der gefährlichen Variablen)
Sei {x1 , . . . , xn } die Menge aller Variablen.
for i := 1 to n do
if xi ∈
/ G -Var then
setze xi mit Wahrscheinlichkeit 1/2 auf 0 oder 1, und setze diesen
Wahrheitswert in allen Klauseln für xi ein
G -Klauseln:= {Cj | Cj ist noch nicht erfüllt und für k/2 viele Literale von Cj ist der Wahrheitswert schon
festgelegt}
G -Var:= {xj | xj kommt in einer Klausel aus G -Klauseln (negiert
oder unnegiert) vor und der Wahrheitswert von xj
ist noch nicht festgelegt}
endif
endfor
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
23 / 36
Lovász Local Lemma
Nach Phase 1 hat eine Klausel Cj überlebt, falls sie noch nicht erfüllt ist.
Lemma (1)
Prob[Cj überlebt] ≤ d · 2−k/2 , wobei d := k · 2k/50
Beweis: Es gilt: Cj überlebt ⇐⇒
(1) Cj wird gefährlich (d.h. Cj wird in die Menge G -Klauseln der
gefährlichen Klauseln aufgenommen) oder
(2) die Variablen aus Cj , deren Wahrheitswert nach Phase 1 noch nicht
festgelegt wurde, kommen in gefährlichen Klauseln vor.
(∗)
Damit ergibt sich: Cj überlebt =⇒ Eine Klausel Ci , die mit Cj eine
Variable gemeinsam hat, wird gefährlich.
(∗∗)
Prob[Ci wird gefährlich] ≤ 2−k/2 .
Aus (∗) und (∗∗) folgt: Prob[Cj überlebt] ≤ d · 2−k/2 .
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
24 / 36
Lovász Local Lemma
Beachte: Überlebt eine Klausel Ci Phase 1, so ist für mindestens k/2 viele
Literale von Ci nach Phase 1 der Wahrheitswert noch nicht festgelegt.
Lemma (2)
Es gibt eine Wahrheitsbelegung für die Variablen, deren Wahrheitswert in
Phase 1 nicht festgelegt wurde, welche die überlebenden Klauseln erfüllt.
Beweis: gleich Beweis wie für Satz 1, wobei 2−k durch 2−k/2 ersetzt werden
muss
Sei G der Abhängigkeitsgraph auf den Klauseln:
Knotenmenge = {C1 , . . . , Cm }
Es gibt eine Kante zwischen Ci und Cj , falls Ci und Cj eine
gemeinsame Variable haben.
Sei G 0 der induzierte Teilgraph von G , der durch die überlebenden Klauseln
induziert wird.
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
25 / 36
Lovász Local Lemma
Lemma (3)
Es gibt eine Konstante γ ≥ 0 mit
Jede Zusammenhangskomponente von G 0
Prob
= 1 − σ(1) .
hat höchstens γ · log(m) viele Knoten
Beweis:
(1) Seien C1 , . . . , Cr Klauseln mit DistanzG (Ci , Cj ) ≥ 4 für i 6= j,
i, j ∈ {1, . . . , r }. Dann gilt:
T
Prob[ ri=1 Ci überlebt] ≤ (d · 2−k k/2 )r
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
26 / 36
Lovász Local Lemma
Beweis von (1): Wenn Ci überlebt, muss es eine Klausel Di geben mit:
Di wird gefährlich
DistanzG (Ci , Di ) ≤ 1
Es gibt höchstens d r viele Möglichkeiten, ein Tupel (D1 , . . . , Dr ) mit
DistanzG (Ci , Di ) ≤ 1 für alle i ∈ {1, . . . , r } auszuwählen. Für jedes solche
Tupel (D1 , . . . , Dr ) gilt: Distanz(Di , Dj ) ≥ 2 für i 6= j.
T
=⇒ Prob[ ri=1 Di wird gefährlich] ≤ (2−k/2 )r = 2−r ·k/2
Damit ergibt sich:
T
Prob[ ri=1 Ci überlebt] ≤ (d · 2−k/2 )r
Dies beweist (1).
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
27 / 36
Lovász Local Lemma
Veranschaulichung:
Ci
Dj
Di
Cj
(2) Definiere Graph G4 wie folgt:
Knotenmenge = {C1 , . . . , Cm }
Es gibt Kante zwischen Ci und Cj in G4 ⇐⇒ DistanzG (Ci , Cj ) = 4.
Behauptung: Es gibt höchstens m · d 8r viele Teilmengen
U ⊆ {C1 , . . . , Cm } mit
|U| = r
U ist eine zusammenhängende Knotenmenge von G4 , d.h. G4 induziert
auf U ist zusammenhängend.
Beweis von (2): Sei U ⊆ {C1 , . . . , Cm } mit |U| = r und U
zusammenhängend in G4 .
Beachte: Jeder Knoten in G4 hat höchstens d 4 Nachbarn.
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
28 / 36
Lovász Local Lemma
Sei H der durch U induzierte Teilgraph von G4 . H zusammenhängend =⇒
Wir können einen Spannbaum T für H auswählen. Dupliziere in T jede
Kante.
Beispiel:
H
T
=⇒
Jeder Knoten von T ist mit einer geraden Anzahl von Kanten adjazent.
=⇒ T besitzt einen Eulerkreis (einen Pfad, in dem jede Kante genau
einmal durchlaufen wird).
Beispiel:
4
2
51
Markus Lohrey (Universität Leipzig)
63
Randomisierte Algorithmen
WS 2005/2006
29 / 36
Lovász Local Lemma
Beachte:
Solch ein Eulerkreis legt die Knotenmenge U eindeutig fest und
kann durch ein Tupel (v , a1 , . . . , a2(r −1) ) beschrieben werden wobei
v Startknoten und
a1 , . . . , a2(r −1) aus {1, . . . , d 4 }: spezifizieren Nachbarknoten.
Beispiel:
b
4
T
a
2
63
51
d
r = 4, U = {a, b, c, d }
c
Sei a = 1. Nachbar von b, c = 2. Nachbar von b, d = 3. Nachbar von b.
=⇒ Obiger Eulerpfad wird beschrieben durch (c, 1, 3, 1, 1, 1, 2).
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
30 / 36
Lovász Local Lemma
Es folgt:
# Teilmengen U ⊆ {C1 , . . . , Cm } mit |U| = r
und U zusammenhängend in G4
≤ m · (d 4 )2(r −1) ≤ m · d 8r
wobei (d 4 )2(r −1) = #Folgen der Länge 2(r − 1) über {1, . . . , d 4 }
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
31 / 36
Lovász Local Lemma
Ein 4-Baum ist eine Teilmenge T ⊆ {C1 , . . . , Cm } von Knoten von G mit:
DistanzG (Ci , Cj ) ≥ 4 für alle Ci , Cj ∈ T mit i 6= j
T bildete eine zusammenhängende Teilmenge von G4
(3) Es gibt eine Konstante b mit:
Es gibt einen 4-Baum T mit (i) |T | ≥ b ·log(m)
Prob
= σ(1)
und (ii) alle Klauseln aus T überleben Phase 1.
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
32 / 36
Lovász Local Lemma
Beweis von (3): Es gilt folgendes:
Es gibt einen 4-Baum T mit (i) |T | ≥ b ·log(m)
Prob
und (ii) alle Klauseln aus T überleben.
Es gibt einen 4-Baum T mit (i) |T | = b ·log(m)
≤ Prob
und (ii) alle Klauseln aus T überleben.
=
≤ (d · 2− /2 )b·log(m) ·
{z
}
|
k
8·b·log(m)
m
| · d {z
}
aus (1) mit r =b·log(m) aus (2) mit r =b·log(m)
= m · (d 9 · 2− /2 )b·log(m)
k
= m · (k 9 · 2 /50·k · 2− /2 )b·log(m)
9
k
−
= m · (k| 9 · 2{z
16/50·k
=m·ε
Konstante
log(m)
b·log(m)
})
= m · mlog(ε) für ε = (k 9 · 2−
16/50·k
)b
Beachte: b ≥ 0 nahe bei 0 =⇒ ε nahe bei 0 =⇒ m · mlog(ε) = σ(1).
Dies beweist (3).
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
33 / 36
Lovász Local Lemma
Wir beenden nun den Beweis von Lemma 3:
Sei H eine beliebige Zusammenhangskomponente von G 0 . Sei T ein
maximaler (bzgl. Inklusion) 4-Baum in H.
=⇒ Für jeden Knoten Ci von H gibt es einen Knoten Cj ∈ T mit:
DistanzH (Ci , Cj ) ≤ 3. (Hätte Ci von allen Knoten Cj ∈ T Distanz
mindestens 4, so wäre T kein maximaler 4-Baum!)
=⇒ # Knoten von H ≤ 3 · d 3 · |T |
Sei b die Konstante aus (3). =⇒


Es existiert eine Zusammenhangskomponente H
Prob von G 0 mit # Knoten von H ≥ 3| · b{z· d }3 · log(m) 
Konstante
i
≤ Prob Es existiert ein 4-Baum T mit |T | ≥ b·log(m) = σ(1)
und alle Klauseln aus T überleben Phase 1. (3)
h
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
34 / 36
Lovász Local Lemma
Wir können nun Phase 2 beschreiben.
Wir müssen eine Wahrheitsbelegung für die Variablen, deren Wahrheitswert
in Phase 1 nicht festgelegt wurde, finden, welche die überlebenden Klauseln
erfüllt (existiert nach Lemma 2).
Seien H1 , . . . , Hl die Zusammenhangskomponenten von G 0 = der von den
überlebenden Klauseln induzierte Teilgraph des Abhängigkeitsgraph G .
Lemma 3
=⇒
Mit Wahrscheinlichkeit 1 − σ(1) gilt
∀1 ≤ i ≤ l : Hi besteht aus höchstens γ · log(m) Klauseln
(∗)
(γ ist Konstante)
Außerdem: i 6= j =⇒ Hi und Hj haben keine gemeinsamen Variablen.
=⇒ Es genügt, jede Klauselmenge Hi „einzeln zu erfüllen“.
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
35 / 36
Lovász Local Lemma
Gelte nun (∗). (Falls (∗) nicht nach Phase 1 gilt, wiederholen wir Phase 1
so oft, bis (∗) gilt. Im Mittel wird dies ≤ 2 mal geschehen.)
Beachte: Hi enthält höchstens k · γ · log(m) viele noch nicht belegte
Variablen (k · γ ist Konstante).
for i := 1 to l do
Überprüfe alle ≤ 2k·γ·log(m) = mk·γ (ein Polynom in m)
Wahrheitsbelegungen für die noch unbelegten Variablen aus Hi
und finde so eine erfüllende Belegung.
endfor
Markus Lohrey (Universität Leipzig)
Randomisierte Algorithmen
WS 2005/2006
36 / 36
Herunterladen