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