Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Christian Scheideler SS 2009

Ähnliche Präsentationen


Präsentation zum Thema: "Christian Scheideler SS 2009"—  Präsentation transkript:

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

2 Übersicht Notation Die probabilistische Methode Randomisiertes Runden
Der hybride Ansatz Semidefinite Optimierung Derandomisierung Kapitel 1

3 Notation 6.1 Definition: Betrachte ein beliebiges Zufallsexperiment mit abzählbaren Elementarereignissen W={w1,w2,w3,…}. Ereignis: beliebige Teilmenge von W Ereignis A ist wahr  für den Ausgang wW gilt wA Sei Pr:W[0,1] die Wahrscheinlichkeits-verteilung über den Elementarereignissen des Zufallsexperiments. Dann gilt für jedes Ereignis AW, dass Pr[A]= SwA Pr[w]. Kapitel 1

4 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] Kapitel 1

5 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]. Kapitel 1

6 Notation 6.2 Definition: Eine Funktion X:WIR heißt Zufallsvariable. Für den Fall X:W{0,1} nennen wir X auch binäre Zufallsvariable oder Indikatorvariable. Zur Vereinfachung schreiben wir Pr[X=x] statt Pr[ {wW : X(w)=x} ] Pr[Xx] statt Pr[ {wW : X(w)x} ] Pr[Xx] statt Pr[ {wW : X(w)x} ] Kapitel 1

7 Notation 6.3 Definition: Der Erwartungswert einer Zufallsvariablen X:WIR ist definiert als E[X] = SwW X(w)Pr[w]. Damit ist auch E[X] = SxX(W) xPr[X=x]. Für den Spezialfall X:WIN ist E[X] = SxIN Pr[Xx] und für eine Indikatorvariable X ist E[X] = Pr[X=1]. Kapitel 1

8 Notation Eigenschaften des Erwartungswerts: X ist nichtnegativ: E[X]0
|E[X]|  E[|X|] E[cX] = cE[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[XY] = E[X]  E[Y] Kapitel 1

9 Notation 6.4 Satz (Markov Ungleichung): Für jede Zufallsvariable X:WIR+ und jedes k>1 gilt Pr[X  kE[X]]  1/k Beweis: Es gilt: E[X] = SxX(W) xPr[X=x]  kE[X]Pr[XkE[X]] Kapitel 1

10 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. Kapitel 1

11 Notation 6.5 Definition: Sei P ein Optimierungsproblem und A ein randomisierter Approximationsalgorithmus für P. A hat bei Eingabe I eine erwartete relative Güte von rA(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. Die erwartete relative worst-case Güte von A ist rAwc(n) = max { rA(I) | ID, |I|  n} Sei rA:IN  IN eine Funktion. A hat eine erwartete relative Güte von rA(n) falls für alle n gilt: rAwc(n)  rA(n). Kapitel 1

12 Übersicht Notation Die probabilistische Methode Randomisiertes Runden
Der hybride Ansatz Semidefinite Optimierung Derandomisierung Kapitel 1

13 Die Probabilistische Methode
Max-SAT Problem: Für eine gegebene Formel f in KNF, finde eine Belegung für ihre Booleschen Variablen, die die Anzahl der erfüllten Klauseln maximiert. Für eine Formel f ü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 f=C1C2…Cm ist wahr(b,f) = |{j{1,…,m}: b(Cj) = true}| Kapitel 1

14 Die Probabilistische Methode
Die folgende Tatsache ist einfach zu zeigen: 6.6 Fakt: Sei eine Boolesche Formel in KNF mit m Klauseln. Dann ist max{wahr((false,…,false),f),wahr((true,…,true),f)}m/2 D.h. es gilt immer OPT(f)  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. Kapitel 1

15 Die Probabilistische Methode
Sei f eine beliebige Formel über Variablen-menge V={x1,…,xn}. Algorithmus A for i:=1 to n do mit Wahrscheinlichkeit ½: xi:=true mit Wahrscheinlichkeit ½: xi:=false gib bA=(x1,…,xn) aus Wir nehmen hier an, dass die xi-Werte unabhängig voneinander erwürfelt werden. Kapitel 1

16 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. Kapitel 1

17 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(f)]  (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(f)] = E[wahr(bA,f)] = E[Sj=1m Zj] = Sj=1m E[Zj] = Sj=1m (1-1/2kj)  (1-1/2k) m Kapitel 1

18 Die Probabilistische Methode
Aus Satz 6.8 folgt, dass die erwartete relative Güte von Algo A für k2 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. Kapitel 1

19 Übersicht Notation Die probabilistische Methode Randomisiertes Runden
Der hybride Ansatz Semidefinite Optimierung Derandomisierung Kapitel 1

20 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. Kapitel 1

21 Randomisiertes Runden
Sei f=C1C2…Cm S-j: Menge der negierten Variablen in Cj S+j: Menge der nichtnegierten Variablen in Cj ILP zu MaxSAT: maximiere Sj=1m zj gemäß SxiS+j xi + SxiS-j(1-xi)  zj für alle j xi, zj  {0,1} Kapitel 1

22 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 p(x)=x: RandomizedRounding(p): for i:=1 to n do mit Wahrscheinlichkeit p(x´i): xi:=true mit Wahrscheinlichkeit 1-p(x´i): xi:=false gib bB=(x1,…,xn) aus Kapitel 1

23 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 SxiS+j xi + SxiS-j(1-xi) = 0 ist, ist gleich PxiS+j(1-x´i) PxiS-j x´i, da die xis unabhängig voneinander gerundet werden. Also gilt Pr[bB(Cj )=true] = 1 - PxiS+j(1-x´i) PxiS-j x´i Um weiterrechnen zu können, brauchen wir zwei Aussagen aus der Analysis. Kapitel 1

24 Randomisiertes Runden
6.11 Fakt: Für a1,…,ak0 gilt Pi=1k ai  ((1/k)Si=1k ai)k Wenn die Funktion f(x) in [a,b] konkav ist und f(a)  ca+d und f(b)  cb+d, dann ist für alle x[a,b] auch f(x)  cx+d. Daraus folgt: Pr[bB(Cj )=true] = 1 - PxiS+j(1-x´i) PxiS-j x´i SxiS+j(1-x´i) - SxiS-j x´i kj |S+j| - SxiS+j x´i + |S-j| - SxiS-j (1-x´i) kj kj – (SxiS+j x´i + SxiS-j (1-x´i)) kj  1-(1-z´j/kj)kj  (1-(1-1/kj)kj) z´j kj (a)  1 - kj = 1 - kj = 1 - (b) Kapitel 1

25 Randomisiertes Runden
6.12 Satz: Für jede Boolesche Formel in KNF, in der jede Klausel höchstens k Literale hat, ist E[B(f)]  (1-(1-1/k)k) OPT(f) Beweis: Sei f=C1C2…Cm. Es gilt: E[B(f)] = Sj=1m Pr[bB(Cj )=true]  Sj=1m (1-(1-1/kj)kj) z´j  (1-(1-1/k)k) Sj=1m z´j  (1-(1-1/k)k) OPT(f) wegen der Superoptimalität der optimalen Lösung zum LP von MaxSAT. Kapitel 1

26 Randomisiertes Runden
Da (1-1/k)k < 1/e für alle kIN ist, folgt, dass E[B(f)] > (1-1/e)OPT(f)  1/1,582  OPT(f) ist. Für andere Rundungswahrscheinlichkeiten wie p(x)=x/2 + 1/4 kann man sogar zeigen, dass eine erwartete Approximationsgüte von 4/3 erreicht wird. Kapitel 1

27 Randomisiertes Runden
MinCUT Problem: Gegeben: ungerichteter Graph G=(V,E) mit ausgezeichneten Knoten s,tV und Kantenkosten c:EIR+. Eine Partition (U,V\U) von V heißt (s,t)-Schnitt, falls sU und tV\U. Die Kosten eines Schnitts (U,V\U) sind definiert als c(U,V\U) = S{v,w}E:vU,wV\U c(v,w) S: Menge aller (s,t)-Schnitte in G Zielfunktion: f((U,V\U)) = c(U,V\U) Ziel: minimiere f Kapitel 1

28 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 S{i,j}E ci,jzi,j gemäß xi-xjzi,j und xj-xizi,j für alle {i,j}E xs=0 und xt= xi, zi,j{0,1} für alle i,j Kapitel 1

29 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. Kapitel 1

30 Randomisiertes Runden
Randomisiertes Runden: Wähle ein zufälliges u[0,1). Für jedes iV setzen wir xi:=0 falls x´iu 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[S{i,j}E ci,jzi,j] = S{i,j}E ci,jE[zi,j] = S{i,j}E ci,jz´i,j = y´ Da S{i,j}E ci,jzi,j<y´ nicht möglich ist, folgt der Satz. Kapitel 1

31 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. Kapitel 1

32 Randomisiertes Runden
Allgemeines Set Cover Problem: Gegeben: Folge S1,…,Sm von Teilmengen von {1,…,n} mit Kosten c1,…,cmIR+ Gültige Lösung: Jede Teilmenge C{1,…,m}, so dass für jedes j{1,…,n} ein iC existiert mit jSi. Zielfunktion: f(C) = S iC ci Ziel: minimiere Zielfunktion Kapitel 1

33 Randomisiertes Runden
ILP zu Set Cover: xi{0,1}: xi=0  iC minimiere Si=1m cixi gemäß Si:jSi 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. Kapitel 1

34 Randomisiertes Runden
Rundungsstrategie: (y1,…,ym):=(0,…,0) for r:=1 to t do (x1,…,xm):=RandomizedRounding(p(x)=x) (y1,…,ym):=(y1x1,…,ymxm) 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. Kapitel 1

35 Randomisiertes Runden
Beweis: Betrachte ein festes Element j. Sei C die Teilmenge, die in Runde r generiert wird. Dann ist Pr[j iC Si] = Pi:jSi (1-x´i) Sei kj die Anzahl der Teilmengen, zu denen j gehört. Da Si:jSi x´i1 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 iC Si] = Pi:jSi (1-/kj) kj Da (1-1/k)k  1/e für alle kIN ist, ist Pr[jC]  1/e. Bei t zufälligen und unabhängigen Rundungen ist die Wkeit, dass j nicht überdeckt ist, höchstens (1/e)t. Kapitel 1

36 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]  Sj=1n Pr[C überdeckt nicht j]  Sj=1n (1/e)t = n/eln(4n) = n/4n = 1/4 Die erwarteten Kosten für jedes Cr sind gleich Si=1m cix´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. Kapitel 1

37 Übersicht Notation Die probabilistische Methode Randomisiertes Runden
Der hybride Ansatz Semidefinite Optimierung Derandomisierung Kapitel 1

38 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. Algo A Güte Algo B Algo C k Kapitel 1

39 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 p(x)=x) Tabelle der erwarteten Güten von A und B: k 1/E[rA] 1/E[rB] 1 0,5 1,0 2 0,75 3 0,875 0,704 4 0,938 0,684 Kapitel 1

40 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. Kapitel 1

41 Der hybride Ansatz Algorithmus Cp: mit Wahrscheinlichkeit p: starte A mit 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(f)] = Sk=1n Sj:Cj hat k Literale (1-1/2k)z´j E[B(f)] = Sk=1n Sj:Cj hat k Literale (1-(1-1/k)k) z´j Kapitel 1

42 Der hybride Ansatz Beweis (Fortsetzung):
Daraus folgt: E[C1/2 (f)] = (1/2)(E[A(f)] + E[B(f)])  Sk=1n Sj:Cj hat k Literale (1/2)(1-1/2k+1-(1-1/k)k)z´j  (3/4) Sj=1m z´j  (3/4)OPT(f) 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. Kapitel 1

43 Übersicht Notation Die probabilistische Methode Randomisiertes Runden
Der hybride Ansatz Semidefinite Optimierung Derandomisierung Kapitel 1

44 Semidefinite Optimierung
Eine nn-Matrix A über IR heißt positiv semidefinit, wenn für alle xIRn gilt, dass xTAx  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. Kapitel 1

45 Semidefinite Optimierung
Semidefinites Programm SDP: optimiere Si,j ci,jxi,j gemäß Si,j a(i,j),kxi,j  bk für alle k X=(xi,j) ist symmetrisch und positiv semidefinit OPT(SDP) bezeichne den optimalen Wert der Zielfunktion Kapitel 1

46 Semidefinite Optimierung
6.16 Fakt: A ist genau dann symmetrisch und positiv semidefinit, wenn es eine mn-Matrix B gibt mit BTB = A. Ist A positiv semidefinit und symmetrisch, dann kann die Matrix B aus (a) in Zeit O(n3) mittels Cholesky-Zerlegung berechnet werden. 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. Semidefinite Optimierung kann in Zeit O(poly(n,m,log(1/e))) mit absoluter Güte e für beliebiges e>0 gelöst werden. D.h. es wird eine symmetrische und positiv semidefinite Matrix X(e)=(x(e)i,j) berechnet, deren Einträge die linearen Neben-bedingungen erfüllen und für die |OPT(SDP)-Si,j ci,jx(e)i.j| e ist. Kapitel 1

47 Semidefinite Optimierung
Zwei Beispiele: Die Matrix A1 = ist nicht positiv semidefinit, da (1,-1)A1 = -6 Die Matrix A2 = ist positiv semi-definit, da A2 = BTB für B = 1 4 4 1 1 -1 1 4 4 1 Kapitel 1

48 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 Kapitel 1

49 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 A for i:=1 to n do mit Wahrscheinlichkeit ½: xi:=0 // zu V\U mit Wahrscheinlichkeit ½: xi:=1 // zu U gib UA={ iV | xi=1 } aus Eine erwartete Güte von 2 war lange Zeit das Beste, was für das MaxCUT Problem bekannt war. Kapitel 1

50 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,jV ist ai,j=1 genau dann, wenn {i,j}E und 0 sonst. xi{-1,1}: xi=1 Knoten iU Wert (1-xixj)/2: geht Kante {i,j} über den Schnitt, dann ist dieser Wert 1 und sonst 0 Kapitel 1

51 Semidefinite Optimierung
Quadratisches Programm für MaxCUT: maximiere Si<j ai,j(1-xixj)/2 gemäß 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 uiIRn, von denen wir lediglich fordern, dass uiTui = 1 ist. Zur Vereinfachung schreiben wir „ui“ statt „ui“. Kapitel 1

52 Semidefinite Optimierung
Relaxiertes quadratisches Programm für MaxCUT: maximiere Si<j ai,j(1-uiTuj)/2 gemäß uiIRn mit uiTui = 1 für alle i Um dieses Programm in ein semidefinites Programm umzuwandeln, führen wir n2 Variablen yi,j ein mit yi,j:=uiTuj . Diese Variablen können wir als nn-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 BTB = Y, d.h. Y ist positiv semidefinit und symmetrisch. Kapitel 1

53 Semidefinite Optimierung
Semidefinites Programm SD-CUT für MaxCUT: maximiere Si<j ai,j(1-yi,j)/2 gemäß 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 e gelöst werden (e müssen wir später noch bestimmen). D.h. es werden Werte yi,j(e) berechnet mit 0  OPT(SD-CUT)-Si<j ai,j(1-yi,j(e))/2  e. Da OPT(G)  OPT(SD-CUT) ist, folgt Si<j ai,j(1-yi,j(e))/2  OPT(G)-e Kapitel 1

54 Semidefinite Optimierung
Rückwandlung in Lösung für MaxCUT: Gegeben: Lösung Y(e)=(yi,j(e)) 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(rTui)  sgn(rTuj) ist, dann liegen ui und uj auf verschiedenen Seiten der Ebene. Kapitel 1

55 Semidefinite Optimierung
Umwandlung anschaulich: r u2 u1 Ergebnis: x1 = x2 = +1 x3 = -1 u3 Kapitel 1

56 Semidefinite Optimierung
Algorithmus B: (1) e:=0,0005 (2) löse SD-CUT mit absoluter Güte e (3) führe die Cholesky-Zerlegung auf Y(e) durch, um Matrix B zu erhalten mit BTB = Y(e) (4) würfle gleichverteilt einen zufälligen Vektor rIRn aus mit rTr=1 (5) for i:=1 to n do if uiTr  then xi:=+1 // Knoten i nach U else xi:=-1 // Knoten i nach V\U (6) gib (U,V\U) aus Kapitel 1

57 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,jPr[xixj] und damit E[B(G)] = E[S{i,j}E Xi,j] = Si<j ai,jE[Xi,j] = Si<j ai,jPr[xixj] = Si<j ai,jPr[sgn(rTui)sgn(rTuj)] Kapitel 1

58 Semidefinite Optimierung
Pr[sgn(rTui)sgn(rTuj)] hängt nur von Winkel zwischen ui und uj ab: Für den Winkel a zwischen ui und uj gilt cos a = uiTuj/|ui||uj| = uiTuj. Damit erhalten wir Pr[sgn(rTui)sgn(rTuj)] = a/p = arccos(uiTuj)/p u2 a u1 Kapitel 1

59 Semidefinite Optimierung
Daraus folgt: E[B(G)] = Si<j ai,jarccos(uiTuj)/p  Si<j ai,j0,8785(1-uiTuj)/ = 0,8785/2  Si<j ai,j(1-uiTuj) = 0,8785/2  Si<j ai,j(1-yi,j(e))  0,8785  (OPT(G)-e)  0,878  OPT(G) Für Abschätzung (a) haben wir ausgenutzt, dass für alle z[-1,+1] gilt: arccos(z)/p  0,8785(1-z)/2 (b) gilt wegen der Wahl von e. (a) (b) Kapitel 1

60 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 r<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. Kapitel 1

61 Fragen? Kapitel 1


Herunterladen ppt "Christian Scheideler SS 2009"

Ähnliche Präsentationen


Google-Anzeigen