Christian Scheideler SS 2009

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Christian Scheideler SS 2009
Christian Scheideler SS 2009
Christian Scheideler SS 2009
Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations-schemata
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
Schnelle Matrizenoperationen von Christian Büttner
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Prof. Dr. W. Conen 15. November 2004
Planares 3 SAT ist NP-vollständig
Verifizieren versus Berechnen
Algorithmen und Komplexität
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Algorithmentheorie 04 –Hashing
Kapitel 5 Stetigkeit.
Minimum Spanning Tree: MST
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler Institut für Informatik Universität Paderborn
Ausgewählte Kapitel der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Sommersemester.
Wahrscheinlichkeitsrechnung
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Algorithmen für das Erfüllbarkeitsproblem SAT
Analyse der Laufzeit von Algorithmen
Nichtlineare Optimierung
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
 Präsentation transkript:

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

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

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

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

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

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} ] 25.03.2017 Kapitel 1

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

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

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

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

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). 25.03.2017 Kapitel 1

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

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}| 25.03.2017 Kapitel 1

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

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

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

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

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

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

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

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} 25.03.2017 Kapitel 1

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

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

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) 25.03.2017 Kapitel 1

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

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

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

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=1 xi, zi,j{0,1} für alle i,j 25.03.2017 Kapitel 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 1 -1 0 3 25.03.2017 Kapitel 1

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

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

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

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“. 25.03.2017 Kapitel 1

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

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

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

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

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  0 then xi:=+1 // Knoten i nach U else xi:=-1 // Knoten i nach V\U (6) gib (U,V\U) aus 25.03.2017 Kapitel 1

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)] 25.03.2017 Kapitel 1

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

Semidefinite Optimierung Daraus folgt: E[B(G)] = Si<j ai,jarccos(uiTuj)/p  Si<j ai,j0,8785(1-uiTuj)/2 = 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) 25.03.2017 Kapitel 1

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

Fragen? 25.03.2017 Kapitel 1