61
03.07.22 Kapitel 1 1 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithme n Christian Scheideler SS 2009

10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Embed Size (px)

Citation preview

Page 1: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

11.04.23 Kapitel 1 1

Methoden des Algorithmenentwurfs

Kapitel 1.6: Randomisierte Approximationsalgorithmen

Christian Scheideler

SS 2009

Page 2: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Übersicht

• Notation

• Die probabilistische Methode

• Randomisiertes Runden

• Der hybride Ansatz

• Semidefinite Optimierung

• Derandomisierung

11.04.23 Kapitel 1 2

Page 3: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Notation

6.1 Definition: Betrachte ein beliebiges Zufallsexperiment mit abzählbaren Elementarereignissen ={w1,w2,w3,…}.

• Ereignis: beliebige Teilmenge von • Ereignis A ist wahr für den Ausgang w

gilt wA• Sei Pr:[0,1] die Wahrscheinlichkeits-

verteilung über den Elementarereignissen des Zufallsexperiments. Dann gilt für jedes Ereignis A, dass Pr[A]= wA Pr[w].

11.04.23 Kapitel 1 3

Page 4: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Notation

• Statt als Mengen werden Ereignisse auch oft als Prädikate verwendet.

• D.h. Pr[A B] ist identisch zu Pr[A B] und Pr[A B] ist identisch zu Pr[A B].

• Die Wahrscheinlichkeit, dass B wahr ist unter der Voraussetzung, dass A wahr ist, ist definiert als Pr[B | A] = Pr[A B] / Pr[A]

• Daraus folgt, dass Pr[A B] = Pr[A]Pr[B | A] = Pr[B]Pr[A | B]und damit die Bayesche Regel Pr[ A | B] = Pr[A]Pr[B | A] / Pr[B]

11.04.23 Kapitel 1 4

Page 5: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Notation

Zwei Ereignisse A und B sind• (stoch.) unabhängig, falls Pr[B | A] = Pr[B],• negativ korreliert, falls Pr[B | A] < Pr[B] und• positiv korreliert, falls Pr[B | A] > Pr[B].Diese Eigenschaften sind nach der Bayeschen

Regel symmetrisch.

• Für unabhängige Ereignisse gilt also Pr[A B] = Pr[A] Pr[B].

11.04.23 Kapitel 1 5

Page 6: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Notation

6.2 Definition: Eine Funktion X:IR heißt Zufallsvariable. Für den Fall X:{0,1} nennen wir X auch binäre Zufallsvariable oder Indikatorvariable. Zur Vereinfachung schreiben wir

• Pr[X=x] statt Pr[ {w : X(w)=x} ]

• Pr[Xx] statt Pr[ {w : X(w)x} ]

• Pr[Xx] statt Pr[ {w : X(w)x} ]

11.04.23 Kapitel 1 6

Page 7: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Notation

6.3 Definition: Der Erwartungswert einer Zufallsvariablen X:IR ist definiert als E[X] = w X(w)Pr[w].

• Damit ist auch E[X] = xX() xPr[X=x].

• Für den Spezialfall X:IN ist E[X] = xIN Pr[Xx]und für eine Indikatorvariable X ist E[X] = Pr[X=1].

11.04.23 Kapitel 1 7

Page 8: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Notation

Eigenschaften des Erwartungswerts:• X ist nichtnegativ: E[X]0• |E[X]| E[|X|]• E[cX] = cE[X] für alle Konstanten c• E[X+Y] = E[X] + E[Y] für alle ZVen X und Y,

auch bekannt als Linearität des Erwartungs-werts

• Sind die Zufallsvariablen X und Y unabhängig (d.h. Pr[X=x | Y=y] = Pr[X=x] für alle x,y), dann gilt auch E[XY] = E[X] E[Y]

11.04.23 Kapitel 1 8

Page 9: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Notation

6.4 Satz (Markov Ungleichung):Für jede Zufallsvariable X:IR+ und jedes k>1 gilt Pr[X kE[X]] 1/k

Beweis:

• Es gilt:E[X] = xX() xPr[X=x]

kE[X]Pr[XkE[X]]

11.04.23 Kapitel 1 9

Page 10: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Notation

Ein randomisierter Algorithmus ist ein Algorithmus, der abhängig von Zufallsexperimenten arbeitet.

• Monte-Carlo-Algorithmus (MC=meistens korrekt): kann abhängig vom Zufallsexperiment auch fehlerhafte Ausgaben liefern.

• Las-Vegas-Algorithmus (LV=Laufzeit variabel): ist immer korrekt, aber Laufzeit hängt vom Zufallsexperiment ab

Randomisierter Approximationsalgorithmus A: Wert A(I) der Ausgabe I ist eine Zufallsvariable.

11.04.23 Kapitel 1 10

Page 11: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Notation

6.5 Definition: Sei ein Optimierungsproblem und A ein randomisierter Approximationsalgorithmus für .

(a)A hat bei Eingabe I eine erwartete relative Güte von A(I) = max{ E[A(I)]/OPT(I), OPT(I)/E[A(I)] }Für ein Minimierungsproblem ist der erste Term dominant und für ein Maximierungsproblem der zweite.

(b) Die erwartete relative worst-case Güte von A ist A

wc(n) = max { A(I) | ID, |I| n}(c)Sei A:IN IN eine Funktion. A hat eine erwartete

relative Güte von A(n) falls für alle n gilt: A

wc(n) A(n).

11.04.23 Kapitel 1 11

Page 12: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Übersicht

• Notation

• Die probabilistische Methode

• Randomisiertes Runden

• Der hybride Ansatz

• Semidefinite Optimierung

• Derandomisierung

11.04.23 Kapitel 1 12

Page 13: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Die Probabilistische Methode

Max-SAT Problem: Für eine gegebene Formel in KNF, finde eine Belegung für ihre Booleschen Variablen, die die Anzahl der erfüllten Klauseln maximiert.

• Für eine Formel über der Variablenmenge V ist jede Belegung b:V{false, true} eine zulässige Lösung

• Der Boolesche Wahrheitswert für Literale, Klauseln und Formeln ergibt sich kanonisch.

• Die Bewertungsfunktion für =C1C2…Cm ist wahr(b,) = |{j{1,…,m}: b(Cj) = true}|

11.04.23 Kapitel 1 13

Page 14: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Die Probabilistische Methode

Die folgende Tatsache ist einfach zu zeigen:

6.6 Fakt: Sei eine Boolesche Formel in KNF mit m Klauseln. Dann istmax{wahr((false,…,false),),wahr((true,…,true),)}m/2

• D.h. es gilt immer OPT() m/2.• Weiterhin gibt es damit einen einfachen Algorithmus

(überprüfe zwei Belegungen), der eine relative Güte von höchstens 2 hat.

• Einen besseren Approximationsalgorithmus erhalten wir über die probabilistische Methode.

11.04.23 Kapitel 1 14

Page 15: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Die Probabilistische Methode

Sei eine beliebige Formel über Variablen-menge V={x1,…,xn}.

Algorithmus Afor i:=1 to n do mit Wahrscheinlichkeit ½: xi:=true mit Wahrscheinlichkeit ½: xi:=falsegib bA=(x1,…,xn) aus

Wir nehmen hier an, dass die xi-Werte unabhängig voneinander erwürfelt werden.

11.04.23 Kapitel 1 15

Page 16: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Die Probabilistische Methode

6.7 Lemma: Sei kj die Anzahl der Literale in Cj. Es gilt:Pr[Cj wird durch Algo A erfüllt] = 1-1/2kj

Beweis:• Pr[Literal l in Cj ist false] = ½• Pr[alle kj Literale in Cj sind false] = 1/2kj

(da Variablen unabhängig gewählt werden)• Also ist die Wahrscheinlichkeit, dass minde-

stens ein Literal in Cj wahr ist, 1-1/2kj.

11.04.23 Kapitel 1 16

Page 17: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Die Probabilistische Methode

6.8 Satz: Für jede KNF-Formel mit m Klauseln, in der jede Klausel mindestens k Literale enthält, gilt E[A()] (1-1/2k)m.

Beweis:• Für j{1,…,m} sei Zj die Indikatorvariable mit Zj=1

bA(Cj)=true.• Lemma 6.7: E[Zj] = Pr[bA(Cj)=true] = 1-1/2kj

• Aufgrund der Linearität des Erwartungswerts folgt:E[A()] = E[wahr(bA,)] = E[j=1

m Zj] = j=1

m E[Zj] = j=1m (1-1/2kj)

(1-1/2k) m11.04.23 Kapitel 1 17

Page 18: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Die Probabilistische Methode

• Aus Satz 6.8 folgt, dass die erwartete relative Güte von Algo A für k2 höchstens 1/(1-1/22) = 4/3 ist, also deutlich besser als 2.

• Mit Satz 6.7 kann auch die Existenz erfüllbarer Belegungen nachgewiesen werden:

6.9 Korollar: Sei 2k>m. Dann ist jede KNF-Formel mit m Klauseln, in der jede Klausel mindestens k Literale enthält, erfüllbar.

11.04.23 Kapitel 1 18

Page 19: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Übersicht

• Notation

• Die probabilistische Methode

• Randomisiertes Runden

• Der hybride Ansatz

• Semidefinite Optimierung

• Derandomisierung

11.04.23 Kapitel 1 19

Page 20: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

• Approximationsalgo A arbeitet umso besser, je größer die Klauseln sind.

• Jetzt werden wir einen Approximationsalgo B vorstellen, der umso besser arbeitet, je kürzer die Klauseln sind.

• Wir verwenden dazu das ILP zu MaxSAT, das wir zunächst zum LP relaxieren und optimal lösen und dann durch randomisiertes Runden wieder in eine zulässige Lösung für das ILP umwandeln.

11.04.23 Kapitel 1 20

Page 21: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

• Sei =C1C2…Cm

• S-j: Menge der negierten Variablen in Cj

• S+j: Menge der nichtnegierten Variablen in Cj

ILP zu MaxSAT:maximiere j=1

m zj

gemäß xiS+j xi + xiS-

j(1-xi) zj für alle j

xi, zj {0,1}

11.04.23 Kapitel 1 21

Page 22: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

• Relaxierung zum LP:ersetze xi,zj{0,1} durch xi,zj[0,1]

• Seien x´i, z´j die Werte der optimalen Lösung zum LP. Wir verwenden dann die folgende randomisierte Rundung für (x)=x:

RandomizedRounding(): for i:=1 to n do mit Wahrscheinlichkeit (x´i): xi:=true mit Wahrscheinlichkeit 1-(x´i): xi:=false gib bB=(x1,…,xn) aus

11.04.23 Kapitel 1 22

Page 23: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

6.10 Lemma: Sei kj die Anzahl der Literale in Cj. Es gilt: Pr[Cj wird durch Algo B erfüllt] (1-(1-1/kj)kj) z´j

Beweis:• Die Wahrscheinlichkeit, dass xiS+

j xi + xiS-

j(1-xi) = 0

ist, ist gleich xiS+j(1-x´i) xiS-

j x´i, da die xis

unabhängig voneinander gerundet werden.• Also gilt

Pr[bB(Cj )=true] = 1 - xiS+j(1-x´i) xiS-

j x´i

• Um weiterrechnen zu können, brauchen wir zwei Aussagen aus der Analysis.

11.04.23 Kapitel 1 23

Page 24: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden6.11 Fakt:(a)Für a1,…,ak0 gilt i=1

k ai ((1/k)i=1k ai)k

(b)Wenn die Funktion f(x) in [a,b] konkav ist und f(a) ca+d und f(b) cb+d, dann ist für alle x[a,b] auch f(x) cx+d.

Daraus folgt: Pr[bB(Cj )=true] = 1 - xiS+

j(1-x´i) xiS-

j x´i

xiS+

j(1-x´i) xiS-

j x´i

kj

|S+j| - xiS+

j x´i + |S-

j| -xiS-j (1-x´i)

kj

kj – (xiS+j x´i +xiS-

j (1-x´i))

kj 1-(1-z´j/kj)kj (1-(1-1/kj)kj) z´j

11.04.23 Kapitel 1 24

1 -kj

= 1 -kj

kj

= 1 -

(a)

(b)

Page 25: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

6.12 Satz: Für jede Boolesche Formel in KNF, in der jede Klausel höchstens k Literale hat, ist E[B()] (1-(1-1/k)k) OPT()

Beweis:• Sei =C1C2…Cm. Es gilt:

E[B()] = j=1m Pr[bB(Cj )=true]

j=1m (1-(1-1/kj)kj) z´j

(1-(1-1/k)k) j=1m z´j

(1-(1-1/k)k) OPT() wegen der Superoptimalität der optimalen Lösung zum LP von MaxSAT.

11.04.23 Kapitel 1 25

Page 26: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

• Da (1-1/k)k < 1/e für alle kIN ist, folgt, dass E[B()] > (1-1/e)OPT() 1/1,582 OPT() ist.

• Für andere Rundungswahrscheinlichkeiten wie (x)=x/2 + 1/4 kann man sogar zeigen, dass eine erwartete Approximationsgüte von 4/3 erreicht wird.

11.04.23 Kapitel 1 26

Page 27: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

MinCUT Problem:• Gegeben: ungerichteter Graph G=(V,E) mit

ausgezeichneten Knoten s,tV und Kantenkosten c:EIR+.

• Eine Partition (U,V\U) von V heißt (s,t)-Schnitt, falls sU und tV\U. Die Kosten eines Schnitts (U,V\U) sind definiert als c(U,V\U) = {v,w}E:vU,wV\U c(v,w)

• S: Menge aller (s,t)-Schnitte in G• Zielfunktion: f((U,V\U)) = c(U,V\U)• Ziel: minimiere f

11.04.23 Kapitel 1 27

Page 28: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

ILP zu MinCUT:

• xi{0,1}: xi=0 Knoten i in Menge U

• zi,j{0,1}: Indikator, ob Kante {i,j} über Schnitt

• minimiere {i,j}E ci,jzi,j

gemäß xi-xjzi,j und xj-xizi,j für alle {i,j}E xs=0 und xt=1 xi, zi,j{0,1} für alle i,j

11.04.23 Kapitel 1 28

Page 29: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

• Ersetzen wir xi,zi,j{0,1} durch xi,zi,j[0,1], so erhalten wir ein LP.

• Für jede optimale Lösung des ILPs und des LPs muss gelten, dass zi,j=|xi-xj| ist, denn sonst könnte Zielfunktionswert verringert werden.

• Seien x´i und z´i,j die Variablenwerte einer optimalen Lösung des LPs, und sei y´ der Wert dieser Lösung.

• Aufgrund der Superoptimalität gilt y´ OPT.11.04.23 Kapitel 1 29

Page 30: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

Randomisiertes Runden:Wähle ein zufälliges u[0,1). Für jedes iV setzen wir xi:=0 falls x´iu und sonst xi:=1.

6.13 Satz: Für jedes u[0,1) ist die gerundete Lösung eine optimale Lösung des ILPs.

Beweis:• Betrachte eine feste Kante {i,j}E.• Kante {i,j} führt über den Schnitt genau dann, wenn u[min{x

´i, x´j}, max{x´i, x´j}].• Das ist mit Wahrscheinlichkeit |x´i - x´j| = z´i,j der Fall.• Also ist E[zi,j] = z´i,j und damit

E[{i,j}E ci,jzi,j] = {i,j}E ci,jE[zi,j] = {i,j}E ci,jz´i,j = y´• Da {i,j}E ci,jzi,j<y´ nicht möglich ist, folgt der Satz.11.04.23 Kapitel 1 30

Page 31: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

• Satz 6.13 ist also ein probabilistischer Beweis dafür, dass wir eigentlich kein randomisiertes Runden benötigen, da jedes u[0,1) eine optimale Lösung ergibt.

• Es reicht also, das LP zu lösen und dann die erhaltene Lösung für u=0 zu runden.

11.04.23 Kapitel 1 31

Page 32: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

Allgemeines Set Cover Problem:

• Gegeben: Folge S1,…,Sm von Teilmengen von {1,…,n} mit Kosten c1,…,cmIR+

• Gültige Lösung: Jede Teilmenge C{1,…,m}, so dass für jedes j{1,…,n} ein iC existiert mit jSi.

• Zielfunktion: f(C) = iC ci

• Ziel: minimiere Zielfunktion11.04.23 Kapitel 1 32

Page 33: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

ILP zu Set Cover:• xi{0,1}: xi=0 iC• minimiere i=1

m cixi

gemäß i:jSi xi 1 für alle j xi {0,1} für alle i

• Ersetzen wir xi{0,1} durch xi[0,1], so erhalten wir ein LP.

• Sei (x´1,…,x´m) die optimale Lösung des LPs.

11.04.23 Kapitel 1 33

Page 34: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

Rundungsstrategie:(y1,…,ym):=(0,…,0)for r:=1 to t do (x1,…,xm):=RandomizedRounding((x)=x) (y1,…,ym):=(y1x1,…,ymxm)gib (y1,…,ym) aus

6.14 Lemma: Die Wahrscheinlichkeit, dass ein festest Element j{1,…,n} nach t Runden nicht überdeckt ist, ist höchstens (1/e)t.

11.04.23 Kapitel 1 34

Page 35: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

Beweis:• Betrachte ein festes Element j.• Sei C die Teilmenge, die in Runde r generiert wird.

Dann ist Pr[jiC Si] = i:jSi (1-x´i)

• Sei kj die Anzahl der Teilmengen, zu denen j gehört. Da i:jSi x´i1 gelten muss, wird die Wahrscheinlichkeit maximiert für den Fall, dass x´i=1/kj für all diese i ist.

• Daraus folgt Pr[j iC Si] = i:jSi (1-/kj) kj

• Da (1-1/k)k 1/e für alle kIN ist, ist Pr[jC] 1/e.• Bei t zufälligen und unabhängigen Rundungen ist die

Wkeit, dass j nicht überdeckt ist, höchstens (1/e)t.11.04.23 Kapitel 1 35

Page 36: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Randomisiertes Runden

• Sei Cr die in Runde r gewählte Teilmenge und C=r=1t Cr.

• Für t=ln(4n) gilt: Pr[C ist keine Überdeckung] j=1

n Pr[C überdeckt nicht j] j=1

n (1/e)t = n/eln(4n) = n/4n = 1/4• Die erwarteten Kosten für jedes Cr sind gleich i=1

m cix´i, den

optimalen Kosten des LPs, die wir mit y´ bezeichnen.• Die erwarteten Kosten von C sind also y´ln(4n).• Nach der Markov Ungleichung gilt

Pr[cost(C) 4y´ln(4n)] 1/4• Die Wahrscheinlichkeit, dass unser Algo eine gültige Lösung

mit Approximationsgüte 4ln(4n) produziert, ist also minde-stens 1-1/4-1/4 = 1/2.

• Erwartungsgemäß sind also höchstens 2 Versuche notwendig, um so eine Lösung zu finden.

11.04.23 Kapitel 1 36

Page 37: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Übersicht

• Notation

• Die probabilistische Methode

• Randomisiertes Runden

• Der hybride Ansatz

• Semidefinite Optimierung

• Derandomisierung

11.04.23 Kapitel 1 37

Page 38: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Der hybride Ansatz

Grundlegende Idee: Entwickle durch Kombination mehrerer Approximationsverfahren für ein Problem ein hybrides Verfahren, das minde-stens so gut wie jedes einzelne ist.

11.04.23 Kapitel 1 38

Güte

k

Algo A

Algo BAlgo C

Page 39: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Der hybride Ansatz

Max-kSAT Problem: alle Klauseln haben Länge k• Algo A: über probabilistische Methode

(setze jedes xi zu 0 oder 1 mit Wkeit ½)

• Algo B: über randomisiertes Runden(löse LP, runde xi mit (x)=x)

• Tabelle der erwarteten Güten von A und B:

11.04.23 Kapitel 1 39

k 1/E[A] 1/E[B]

1 0,5 1,0

2 0,75 0,75

3 0,875 0,704

4 0,938 0,684

Page 40: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Der hybride Ansatz

• Algo B kann also gut mit Klauseln umgehen, die kurz sind, während Algo A gut mit Klauseln umgehen kann, die lang sind.

• Der größere der beiden Werte in der Tabelle ist mindestens 3/4.

• Wir könnten also als hybride Lösung A und B laufen lassen und uns dann für die bessere Lösung entscheiden.

• Dadurch würde sich jedoch die Laufzeit erhöhen. Wir stellen eine alternative Methode vor.

11.04.23 Kapitel 1 40

Page 41: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Der hybride Ansatz

Algorithmus Cp:mit Wahrscheinlichkeit p: starte Amit Wahrscheinlichkeit 1-p: starte B

6.15 Satz: Algorithmus C1/2 hat eine erwartete relative Güte von 4/3.

Beweis:• Wir wissen:

E[A()] = k=1n j:Cj hat k Literale (1-1/2k)z´j

E[B()] = k=1n j:Cj hat k Literale (1-(1-1/k)k) z´j

11.04.23 Kapitel 1 41

Page 42: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Der hybride Ansatz

Beweis (Fortsetzung):• Daraus folgt:

E[C1/2 ()]

= (1/2)(E[A()] + E[B()])

k=1n j:Cj hat k Literale (1/2)(1-1/2k+1-(1-1/k)k)z´j

(3/4) j=1m z´j (3/4)OPT()

Bemerkung: Der beste zur Zeit bekannte Approxima-tionsalgorithmus für MaxSAT hat eine relative Güte von 1,2004. Es ist eine Kombination von A und B und einer Reihe von weiteren Algorithmen. Er benutzt u.a. die im nächsten Abschnitt behandelte Technik der semidefiniten Optimierung.

11.04.23 Kapitel 1 42

Page 43: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Übersicht

• Notation

• Die probabilistische Methode

• Randomisiertes Runden

• Der hybride Ansatz

• Semidefinite Optimierung

• Derandomisierung

11.04.23 Kapitel 1 43

Page 44: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

• Eine nn-Matrix A über IR heißt positiv semidefinit, wenn für alle xIRn gilt, dass xTAx 0.

• Ein semidefinites Programm liegt dann vor, wenn wir ein LP haben und zusätzlich fordern, dass die Lösung für die Variablen als symmetrische und positiv semidefinite Matrix beschrieben werden kann.

11.04.23 Kapitel 1 44

Page 45: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Semidefinites Programm SDP:optimiere i,j ci,jxi,j

gemäß i,j a(i,j),kxi,j bk für alle k X=(xi,j) ist symmetrisch und positiv semidefinit

• OPT(SDP) bezeichne den optimalen Wert der Zielfunktion

11.04.23 Kapitel 1 45

Page 46: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

6.16 Fakt:(a) A ist genau dann symmetrisch und positiv semidefinit, wenn

es eine mn-Matrix B gibt mit BTB = A.(b) Ist A positiv semidefinit und symmetrisch, dann kann die

Matrix B aus (a) in Zeit O(n3) mittels Cholesky-Zerlegung berechnet werden.

(c) Sind alle Diagonaleinträge einer symmetrischen und positiv semidefiniten Matrix A gleich 1, dann sind die Spalten der zugehörigen Matrix B Einheitsvektoren in IRn.

(d) Semidefinite Optimierung kann in Zeit O(poly(n,m,log(1/))) mit absoluter Güte e für beliebiges >0 gelöst werden. D.h. es wird eine symmetrische und positiv semidefinite Matrix X()=(x()i,j) berechnet, deren Einträge die linearen Neben-bedingungen erfüllen und für die |OPT(SDP)-i,j ci,jx()i.j| ist.

11.04.23 Kapitel 1 46

Page 47: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Zwei Beispiele:

• Die Matrix A1 = ist nicht positiv semidefinit, da (1,-1)A1 = -6

• Die Matrix A2 = ist positiv semi-definit, daA2 = BTB für B =

11.04.23 Kapitel 1 47

1 4

4 1

1

-1

1 4

4 1

1 -1

0 3

Page 48: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

MaxCUT Problem:

• Gegeben: ungerichteter, zusammenhän-gender Graph G=(V,E)

• Zulässige Lösung: Schnitt (U,V\U)

• Zielfunktion: f((U,V\U)) = c(U,V\U)

• Ziel: maximiere f

11.04.23 Kapitel 1 48

Page 49: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Folgendes einfache Verfahren ergibt bereits eine erwartete Güte von 2. In diesem Verfahren sei n=|V| und die Indikatorvariable xi=1 genau dann, wenn Knoten i zu U gehört.

Algorithmus Afor i:=1 to n do mit Wahrscheinlichkeit ½: xi:=0 // zu V\U mit Wahrscheinlichkeit ½: xi:=1 // zu Ugib UA={ iV | xi=1 } aus

Eine erwartete Güte von 2 war lange Zeit das Beste, was für das MaxCUT Problem bekannt war.

11.04.23 Kapitel 1 49

Page 50: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Zunächst formulieren wir MaxCUT als quadratisches Optimierungsproblem:

• G=(V,E): gegebener Graph, n=|V|• AG=(ai,j): Adjazenzmatrix zu G, d.h. für alle

i,jV ist ai,j=1 genau dann, wenn {i,j}E und 0 sonst.

• xi{-1,1}: xi=1 Knoten iU• Wert (1-xixj)/2: geht Kante {i,j} über den

Schnitt, dann ist dieser Wert 1 und sonst 011.04.23 Kapitel 1 50

Page 51: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Quadratisches Programm für MaxCUT:maximiere i<j ai,j(1-xixj)/2gemäß xi{-1,+1} für alle i

• Dieses Problem ist wegen der Ganzzahligkeitsbe-dingung nur schwer zu lösen. Diesmal ist die Relaxierung allerdings komplizierter als xi{-1,+1} durch xi[-1,+1] zu ersetzen.

• Wir ersetzen zunächst jedes xi durch einen n-dimensionalen Vektor xi=(xi,0,…,0)T.

• Dann relaxieren wir das Problem zu Vektoren uiIRn, von denen wir lediglich fordern, dass ui

Tui = 1 ist.• Zur Vereinfachung schreiben wir „ui“ statt „ui“.11.04.23 Kapitel 1 51

Page 52: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Relaxiertes quadratisches Programm für MaxCUT:maximiere i<j ai,j(1-ui

Tuj)/2gemäß uiIRn mit ui

Tui = 1 für alle i

• Um dieses Programm in ein semidefinites Programm umzuwandeln, führen wir n2 Variablen yi,j ein mit yi,j:=ui

Tuj .• Diese Variablen können wir als nn-Matrix Y=(yi,j)

schreiben.• Da die ui die Länge 1 haben, gilt yi,i=1 für alle i.• Sei B = (u1 u2 … un) die Matrix, deren Spalten die

Vektoren ui bilden. Offensichtlich ist BTB = Y, d.h. Y ist positiv semidefinit und symmetrisch.

11.04.23 Kapitel 1 52

Page 53: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Semidefinites Programm SD-CUT für MaxCUT: maximiere i<j ai,j(1-yi,j)/2gemäß Y=(yi,j) ist positiv semidefinit und symmetrisch yi,i=1 für alle i

• Dieses semidefinite Programm kann laut Fakt 6.16(d) mit absolutem Fehler gelöst werden ( müssen wir später noch bestimmen).

• D.h. es werden Werte yi,j() berechnet mit0 OPT(SD-CUT)-i<j ai,j(1-yi,j())/2 .

• Da OPT(G) OPT(SD-CUT) ist, folgt i<j ai,j(1-yi,j())/2 OPT(G)-

11.04.23 Kapitel 1 53

Page 54: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite OptimierungRückwandlung in Lösung für MaxCUT:• Gegeben: Lösung Y()=(yi,j())• Mittels Cholesky-Zerlegung (Fakt 6.16(b)) berechnen wir daraus die

Matrix B.• Aus B extrahieren wir die Einheitsvektoren ui.• Wir ziehen eine zufällige Trennebene durch den Ursprung des

Einheitskreises.• Für alle Vektoren ui, die auf der einen Seite der Trennlinie liegen,

wird xi auf -1 gesetzt und für die restlichen wird xi auf +1 gesetzt.• Eine zufällige Ebene durch den Ursprung ist vollständig bestimmt,

indem wir einen Normalenvektor r für diese Ebene auswählen, d.h. einen Vektor, der zu allen Vektoren der Ebene orthogonal ist.

• Aus der analytischen Geometrie wissen wir, dass wenn sgn(rTui) sgn(rTuj) ist, dann liegen ui und uj auf verschiedenen Seiten der Ebene.

11.04.23 Kapitel 1 54

Page 55: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Umwandlung anschaulich:

11.04.23 Kapitel 1 55

u1

u2

u3

r

Ergebnis:• x1 = x2 = +1

• x3 = -1

Page 56: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Algorithmus B:(1) :=0,0005(2) löse SD-CUT mit absoluter Güte (3) führe die Cholesky-Zerlegung auf Y() durch, um Matrix B zu erhalten mit BTB = Y()(4) würfle gleichverteilt einen zufälligen Vektor rIRn aus mit rTr=1(5) for i:=1 to n do if ui

Tr 0 then xi:=+1 // Knoten i nach U else xi:=-1 // Knoten i nach V\U(6) gib (U,V\U) aus

11.04.23 Kapitel 1 56

Page 57: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

6.17 Satz: Sei G=(V,E) ein Graph mit mindestens einer Kante. Dann ist E[B(G)] 0,878 OPT(G), d.h. Algorithmus B hat eine erwartete Güte von 1/0,878 1,139.

Beweis:• Sei die Indikatorvariable Xi,j gleich 1 genau dann,

wenn die Kante {i,j} über den Schnitt geht.• Dann ist E[Xi,j] = ai,jPr[xixj] und damit

E[B(G)] = E[{i,j}E Xi,j] = i<j ai,jE[Xi,j] = i<j ai,jPr[xixj] = i<j ai,jPr[sgn(rTui)sgn(rTuj)]

11.04.23 Kapitel 1 57

Page 58: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

• Pr[sgn(rTui)sgn(rTuj)] hängt nur von Winkel zwischen ui und uj ab:

• Für den Winkel zwischen ui und uj giltcos = ui

Tuj/|ui||uj| = uiTuj.

• Damit erhalten wirPr[sgn(rTui)sgn(rTuj)] = / = arccos(ui

Tuj)/11.04.23 Kapitel 1 58

u1

u2

Page 59: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

• Daraus folgt:E[B(G)] = i<j ai,jarccos(ui

Tuj)/ i<j ai,j0,8785(1-ui

Tuj)/2 = 0,8785/2 i<j ai,j(1-ui

Tuj) = 0,8785/2 i<j ai,j(1-yi,j()) 0,8785 (OPT(G)-) 0,878 OPT(G)

• Für Abschätzung (a) haben wir ausgenutzt, dass für alle z[-1,+1] gilt:

arccos(z)/ 0,8785(1-z)/2• (b) gilt wegen der Wahl von .

11.04.23 Kapitel 1 59

(a)

(b)

Page 60: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

Semidefinite Optimierung

Bemerkungen:• Die hier gezeigte Güte ist immer noch die bislang

beste bekannte.• Hastad hat gezeigt, dass P=NP ist, falls es einen

Approximationsalgorithmus für MaxCUT mit relativer Güte <17/16 = 1,0625 gibt.

• Die Anwendung semidefiniter Optimierung auf MaxCUT geht auf Goemans und Williamson zurück. Seitdem wurde dieser Ansatz auch erfolgreich für viele andere harte Graphprobleme angewandt.

11.04.23 Kapitel 1 60

Page 61: 10.11.2013Kapitel 11 Methoden des Algorithmenentwurfs Kapitel 1.6: Randomisierte Approximationsalgorithmen Christian Scheideler SS 2009

11.04.23 Kapitel 1 61

Fragen?