Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT –Henning Universität desMeyerhenke: Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Kombinatorische Optimierung Institut für Theoretische Informatik www.kit.edu Wiederholung Bin-Packing: Bin-Packing ∈ N P C schon für zwei Behälter, im allgemeinen Fall streng N P -vollständig Greedy-Algorithmen: First-Fit-Decreasing hat relative Güte 3/2 2 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Wiederholung Bin-Packing: Bin-Packing ∈ N P C schon für zwei Behälter, im allgemeinen Fall streng N P -vollständig Greedy-Algorithmen: First-Fit-Decreasing hat relative Güte 3/2 Asymptotisches Approximationsschema: Partitioniere Zahlen in Gruppe gemäß ihrer Größe Packe die größten Zahlen, jede Zahl in einen Behälter Mittlere Gruppen verpacken Kleine Gruppe u.a. mit N EXT F IT verpacken 2 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Vorlesungen 19 und 20 Programm: Übung zu linearer Programmierung Übungen zum Bin-Packing Wiederholung des bisherigen Stoffes Approximation von Max-Cut 3 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Inhalt Approximation Max-Cut Der Algorithmus von Goemans und Williamson Das Problem des dünnsten Schnitts 4 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Schnitte maximaler Größe in Graphen Problem (Max-Cut) Sei G = (V , E ) ein ungerichteter Graph. Finde eine Partition (V1 , V2 ) in G mit maximaler Schnittgröße! Bemerkung Komplexität: N P -schwer 5 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Schnitte maximaler Größe in Graphen Problem (Max-Cut) Sei G = (V , E ) ein ungerichteter Graph. Finde eine Partition (V1 , V2 ) in G mit maximaler Schnittgröße! Bemerkung Komplexität: N P -schwer Beispiel: Siehe Tafel! 5 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Einfacher deterministischer Max-Cut-Algorithmus S IMPLE A PPROX M AX C UT(Graph G = (V , E )) Sei (V1 , V2 ) eine beliebige Partition von V while es gibt einen Knoten v mit mehr internen als externen Kanten do Verschiebe v in den jeweils anderen Teil der Partition od 6 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Einfacher deterministischer Max-Cut-Algorithmus S IMPLE A PPROX M AX C UT(Graph G = (V , E )) Sei (V1 , V2 ) eine beliebige Partition von V while es gibt einen Knoten v mit mehr internen als externen Kanten do Verschiebe v in den jeweils anderen Teil der Partition od Behauptung: Der obige Algorithmus hat relative Güte 2. Frage: Warum? Beweisen Sie in Gruppenarbeit! 6 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Inhalt Approximation Max-Cut Der Algorithmus von Goemans und Williamson Das Problem des dünnsten Schnitts 7 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Einführende Grundlagen Definition Eine n × n-Matrix A über R heißt genau dann positiv semidefinit, wenn gilt: ∀x ∈ Rn : x T Ax ≥ 0. 8 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Einführende Grundlagen Definition Eine n × n-Matrix A über R heißt genau dann positiv semidefinit, wenn gilt: ∀x ∈ Rn : x T Ax ≥ 0. Definition Semidefinites Programm SDP: optimiere C•X = ∑ cij · xij i ,j udN Ak • X = ∑ ak ,ij · xij ≤ bk ∀k , i ,j wobei X = (xij ) symmetrisch positiv semidefinit ist. Beispiel: Siehe Tafel! 8 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Fakten zur semidefiniten Programmierung Gram: A ist genau dann symmetrisch positiv semidefinit, wenn es eine m × n-Matrix B gibt mit B T · B = A. Cholesky: Ist A positiv semidefinit und symmetrisch, kann die obige Matrix B in Zeit O(n3 ) mittels Cholesky-Zerlegung berechnet werden. 9 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Fakten zur semidefiniten Programmierung Gram: A ist genau dann symmetrisch positiv semidefinit, wenn es eine m × n-Matrix B gibt mit B T · B = A. Cholesky: Ist A positiv semidefinit und symmetrisch, kann die obige Matrix B in Zeit O(n3 ) mittels Cholesky-Zerlegung berechnet werden. Diagonale: Sind alle Diagonaleinträge einer symmetrisch positiv semidefiniten Matrix A gleich 1, sind die Spalten der zugehörigen Matrix B Einheitsvektoren im Rn . Komplexität: Semidefinite Optimierung kann in Zeit O(poly(n, m, log( 1ε )) mit absoluter Güte ε für beliebiges ε > 0 gelöst werden. 9 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Arithmetisierung von Max-Cut Sei AG die Adjazenzmatrix des Graphen G. Sei x der Indikatorvektor für eine Partition von G, d. h. ( −1 falls vi ∈ V1 xi = +1 falls vi ∈ V2 Zu Kante {vi , vj } ∈ E betrachte: 1 ( 1 − xi xj ) = 2 Größe des Schnitts: 1 C (x ) = ∑ 2 (1 − xi xj ) = {vi ,vj }∈E 10 Henning Meyerhenke: Kombinatorische Optimierung ( 1 2 1 0 {vi , vj } liegt im Schnitt sonst. ∑ aij (1 − xi xj ). i <j Institut für Theoretische Informatik Max-Cut als quadratisches Optimierungsproblem Q UADRATISCHES P ROGRAMM (QP) FÜR M AX -C UT: maximiere udN 11 Henning Meyerhenke: Kombinatorische Optimierung 1 aij (1 − xi xj ) 2 i∑ <j xi ∈ {−1, +1} (1) ∀i (2) Institut für Theoretische Informatik Max-Cut als quadratisches Optimierungsproblem Q UADRATISCHES P ROGRAMM (QP) FÜR M AX -C UT: maximiere udN 1 aij (1 − xi xj ) 2 i∑ <j xi ∈ {−1, +1} (1) ∀i (2) Bemerkung Ganzzahligkeit der xi macht das QP schwer lösbar (N P -schwer). 11 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Max-Cut als quadratisches Optimierungsproblem Q UADRATISCHES P ROGRAMM (QP) FÜR M AX -C UT: maximiere udN 1 aij (1 − xi xj ) 2 i∑ <j xi ∈ {−1, +1} (1) ∀i (2) Bemerkung Ganzzahligkeit der xi macht das QP schwer lösbar (N P -schwer). ⇒ Relaxierung und schließlich Transformation in ein SDP. 11 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Relaxiertes QP Ersetze zunächst binäre Variablen xi durch Vektoren xi0 mit n Einträgen, davon ist der erste aus {-1, +1}, der Rest 0 Feststellung: xi0 hat Länge 1, ändert aber noch nichts an Komplexität Relaxierung: Ersetze xi0 durch reelle Vektoren ui der Länge 1 (d. h. ui · ui = 1). 12 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Relaxiertes QP Ersetze zunächst binäre Variablen xi durch Vektoren xi0 mit n Einträgen, davon ist der erste aus {-1, +1}, der Rest 0 Feststellung: xi0 hat Länge 1, ändert aber noch nichts an Komplexität Relaxierung: Ersetze xi0 durch reelle Vektoren ui der Länge 1 (d. h. ui · ui = 1). Relaxiertes QP für Max-Cut maximiere udN 12 Henning Meyerhenke: Kombinatorische Optimierung 1 aij (1 − ui · uj ) 2 i∑ <j (3) ui ist Vektor der Länge 1 ∀i (4) Institut für Theoretische Informatik Umformulierung des relaxierten QP in SDP n2 neue Variablen yij mit yij = ui · uj , Y = (yij ). Sei B die Matrix, deren Spalten die Vektoren ui sind. Es gilt: Y = B T · B. ⇒ Y ist symm. pos. semidefinit, yii = 1. 13 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Umformulierung des relaxierten QP in SDP n2 neue Variablen yij mit yij = ui · uj , Y = (yij ). Sei B die Matrix, deren Spalten die Vektoren ui sind. Es gilt: Y = B T · B. ⇒ Y ist symm. pos. semidefinit, yii = 1. Semidefinites Programm SD-Cut für Max-Cut maximiere udN 13 Henning Meyerhenke: Kombinatorische Optimierung 1 aij (1 − yij ) 2 i∑ <j (5) Y = (yij ) ist symmetrisch positiv semidefinit yii = 1 ∀i (6) (7) Institut für Theoretische Informatik Lösung des relaxierten Problems Wir lösen nun SD-C UT in polynomieller Zeit mit absolutem Fehler ε (als bekannt vorausgesetzt). (ε) (ε) ⇒ Berechne yij mit 0 ≤ OPT( SD-C UT ) − 21 ∑ aij (1 − yij ) ≤ ε. i <j Abschätzung für später: Da OPT(G ) ≤ OPT( SD-C UT ) (Relaxierung vergrößert Lösungsraum), folgt: OPT( SD-C UT ) − 1 (ε) aij (1 − yij ) ≤ ε ∑ 2 i <j (8) 1 (ε) aij (1 − yij ) 2 i∑ <j (9) ⇒ OPT( SD-C UT ) − ε ≤ ⇒ OPT(G ) − ε ≤ 14 Henning Meyerhenke: Kombinatorische Optimierung 1 (ε) aij (1 − yij ). 2 i∑ <j (10) Institut für Theoretische Informatik Rücktransformation in Max-Cut-Lösung Anwendung von Fakten (Folie 9): Cholesky-Zerlegung: Aus Y (ε) die Matrix B bestimmen. Die Spalten von B sind die Vektoren ui . Die ui sind Einheitsvektoren (wegen yii = 1). 15 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Rücktransformation in Max-Cut-Lösung Anwendung von Fakten (Folie 9): Cholesky-Zerlegung: Aus Y (ε) die Matrix B bestimmen. Die Spalten von B sind die Vektoren ui . Die ui sind Einheitsvektoren (wegen yii = 1). Umwandlung der ui in Indikatorvariablen xi : Teile Vektoren in zwei Mengen auf! Idee: Bestimme zufällig den Normalenvektor r einer Trennebene durch den Ursprung. Vektoren werden je nach Lage bzgl. Trennebene in V1 oder V2 verteilt. Fakt: Ist sgn(r · ui ) 6= sgn(r · uj ), liegen ui und uj auf verschiedenen Seiten der Trennebene. 15 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Algorithmus SDP-M AX -C UT 16 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Algorithmus SDP-M AX -C UT Theorem Sei G = (V , E ) ein Graph mit mindestens einer Kante. Für den Algorithmus M AX -C UT gilt: E[ M AX -C UT (G )] ≥ 0.878 · OPT(G ), 1 d. h. die erwartete relative Güte beträgt 0.878 ≈ 1.139. 16 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beweisbeginn ( Für die Indikatorvariable zij = 1 falls {ui , uj } über den Schnitt geht, 0 sonst ist E[zij ] = aij P[xi 6= xj ] und damit E[ M AX -C UT (G )] = ∑ {ui ,uj }∈E = zij = ∑ aij E[zij ] = ∑ aij P[xi 6= xj ] i <j i <j ∑ aij P[sgn(r · ui ) 6= sgn(r · uj )]. i <j Fakt: Alle Schnittgeraden mit der durch ui und uj aufgespannten Ebene sind gleich wahrscheinlich. u ≥ 0.87852(1−u ) . Fakt: Für u ∈ [−1, +1] gilt: arccos π Weiter an der Tafel! 17 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Zusammenfassung Max-Cut einfach mit relativer Güte 2 zu approximieren Arithmetisierung führt zu quadratischem Programm für Max-Cut Relaxierung auf SDP, Lösung als “Black Box" 18 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Zusammenfassung Max-Cut einfach mit relativer Güte 2 zu approximieren Arithmetisierung führt zu quadratischem Programm für Max-Cut Relaxierung auf SDP, Lösung als “Black Box" Rücktransformation: Entscheidung anhand von Lage zu zufälliger Trennebene 1 Relative Güte von 0.878 ≈ 1.139 rührt von Abschätzung des arccos her, zugehöriger Winkel zwischen den Vektoren ui und uj 18 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Vorlesung 21 Programm: Approximation des dünnsten Schnitts 19 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Inhalt Approximation Max-Cut Der Algorithmus von Goemans und Williamson Das Problem des dünnsten Schnitts 20 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Einführung Definition (S PARSEST C UT) Sei G = (V , E ) ein Graph mit n Knoten und m Kanten Für eine nicht leere Menge S ⊂ V bezeichne (S , S ) die Menge der Kanten von G, die genau einen Endknoten in S haben (Schnitt) Ein dünnster Schnitt des Graphen G = (V , E ) hat die Größe |E (S , S )| |S | S ⊆V ,|S |≤|V |/2 min Das Berechnen des dünnsten Schnitts hat wichtige Anwendungen in der Theorie: Divide-and-Conquer-Algorithmen 21 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Historie Wie Probleme zuvor ist S PARSEST C UT N P -schwer zu optimieren. Approximationen für S PARSEST C UT und eng verwandte Probleme: Eigenvektor-basierte Ansätze mit Faktor-n-Approximation (Cheeger ’70, Alon ’85, Alon-Milman ’85) O(log n)-Approximation mit LP (Mehrgüter-Flüsse) von Leighton und Rao (’88) √ Nun: Arora, Rao und Vazirani (’04, ’09): O( log n)-Approximation in Polynomialzeit Neuere Techniken existieren (schneller, aber nicht mit besserer Güte) 22 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Der ARV-Algorithmus [Arora, Rao und Vazirani] Kernidee: Einbettung der Knoten in einen abstrakten Raum, wobei die Kanten nicht zu sehr gedehnt werden dürfen, Partitionierung des Graphen durch Partitionierung des Raumes 23 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Der ARV-Algorithmus [Arora, Rao und Vazirani] Kernidee: Einbettung der Knoten in einen abstrakten Raum, wobei die Kanten nicht zu sehr gedehnt werden dürfen, Partitionierung des Graphen durch Partitionierung des Raumes Vorgehensweise: Wir konstruieren ein semidefinites Programm (SDP) für S PARSEST C UT Die Lösung des SDP weist jedem Knoten i einen Punkt xi auf der Einheitskugel im Rn zu Diese Lösung kann man als `22 -Metrik ansehen: d (i , j ) = kxi − xj k22 Ziel: Zuweisung finden, die die durchschnittliche Distanz zwischen allen Knotenpaaren ”groß” macht, die durchschnittliche Distanz zwischen adjazenten Knoten aber klein Komplexität der Einbettung hängt von Metrik ab, für `1 und `2 N P -schwer, daher verwenden wir die `22 -Norm 23 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Der ARV-Algorithmus Vorgehensweise (Forts.) Das Haupttheorem besagt, dass man unter gewissen Voraussetzungen ein Paar von Teilmengen S , T ⊂ X eines metrischen Raums X findet, so dass |S |, |T | = Ω(n) und d (S , T ) = ∆ = Ω ( √ 1 ) log n √ ⇒ Dann lässt sich d in `1 mit durchschnittlicher Verzerrung O( log n) einbetten: Bilde jedes x ∈ X auf d (x , S ) ab Hierdurch wird auf die Gerade R eingebettet Wähle für d in X die quadratische Euklidische Norm `22 24 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Der ARV-Algorithmus Vorgehensweise (Forts.) Das Haupttheorem besagt, dass man unter gewissen Voraussetzungen ein Paar von Teilmengen S , T ⊂ X eines metrischen Raums X findet, so dass |S |, |T | = Ω(n) und d (S , T ) = ∆ = Ω ( √ 1 ) log n √ ⇒ Dann lässt sich d in `1 mit durchschnittlicher Verzerrung O( log n) einbetten: Bilde jedes x ∈ X auf d (x , S ) ab Hierdurch wird auf die Gerade R eingebettet Wähle für d in X die quadratische Euklidische Norm `22 Beim anschließenden Runden macht man nicht ”zu viel falsch” 24 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Der ARV-Algorithmus Vorgehensweise (Forts.) Um das Theorem zu beweisen, gibt man einen randomisierten Algorithmus mit zwei Phasen an, der die gewünschten Teilmengen S und T findet Phase 1: Wähle zufällig eine Hyperebene und teile X in zwei p Punktmengen, die relativ weit (Θ(1/ log n)) von der Hyperebene entfernt liegen, jeweils auf unterschiedlichen Seiten Phase 2: Entferne wiederholt Paare von Punkten, die in den verschiedenen Hälften liegen und einander zu nah sind 1 √ (näher als O ) log n 25 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Der ARV-Algorithmus Vorgehensweise (Forts.) Um das Theorem zu beweisen, gibt man einen randomisierten Algorithmus mit zwei Phasen an, der die gewünschten Teilmengen S und T findet Phase 1: Wähle zufällig eine Hyperebene und teile X in zwei p Punktmengen, die relativ weit (Θ(1/ log n)) von der Hyperebene entfernt liegen, jeweils auf unterschiedlichen Seiten Phase 2: Entferne wiederholt Paare von Punkten, die in den verschiedenen Hälften liegen und einander zu nah sind 1 √ (näher als O ) log n Man erhält so zwei Mengen, die weit genug auseinander liegen Schwierigkeit: Zu zeigen, dass beide Mengen Ω(n) Punkte haben 25 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Modellierung von S PARSEST C UT ( ) |E (S , S )| n SC (G ) = min : S ∈ V , |S | ≤ |S | 2 ) ( ∑ij ∈E d (i , j ) |E (S , S )| η (G ) = min = d =δS ∑ i ,j d ( i , j ) |S ||S | ⇒ SC (G ) ≤ nη (G ) ≤ 2SC (G ) Mit Indikatorvektor x ergibt sich: η (G ) = min xi ∈{−1,1} ∑ij ∈E (xi − xj )2 ∑i ,j (xi − xj )2 Zur Erinnerung: ∑ij ∈E (xi − xj )2 = x T Lx Klar: Optimierung von η (G ) ist N P -schwer 26 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Einheits-`22 -Repräsentation Idee: Relaxierung mit Einheits-`22 -Repräsentation Definition (`22 -Repräsentation) Eine `22 -Repräsentation eines Graphen ist eine Zuweisung eines Punktes (Vektors) an jeden Knoten, etwa xi an Knoten i, so dass für alle i , j , k die Dreiecksungleichung gilt: kxi − xj k2 + kxj − xk k2 ≥ kxi − xk k2 Eine `22 -Repräsentation heißt Einheits-`22 -Repräsentation, falls alle Punkte auf der Einheitskugel liegen, d. h. Länge 1 haben. 27 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Relaxierung von S PARSEST C UT Relaxierung der xi von ganzen Zahlen aus der Menge {−1, 1} zu n-dimensionalen Einheitsvektoren: η ∗ (G ) = ∑ij ∈E kxi − xj k2 2 xi ∈Rn ,kxi k2 =1 ∑i ,j kxi − xj k min Resultat: Semidefinites Programm (SDP): 1 kxi − xj k2 4 ij∑ ∈E min xi ∈Rn ∀i s.t . ∀i , j , k ∑ i <j 28 Henning Meyerhenke: Kombinatorische Optimierung (11) kxi k2 = 1 (Vektoren der Länge 1) 2 2 kxi − xj k + kxj − xk k ≥ kxi − xk k 2 kxi − xj k ≥ 4c (1 − c )n 2 (12) 2 (13) (14) Institut für Theoretische Informatik Relaxierung von S PARSEST C UT (Forts.) Umformung in SDP∗ durch passende Skalierung: min ∑ kxi − xj k2 (15) kxi − xj k2 + kxj − xk k2 ≥ kxi − xk k2 (16) ij ∈E s .t . ∀ i , j , k ∑ i <j 2 kxi − xj k = 1 (17) Durch die Dreiecksungleichungen werden die Lösungen auf `22 -Metriken beschränkt Durch die Länge 1 der gesuchten Vektoren (vorige Formulierung) liegen diese auf der Einheitskugel 29 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Semidefinite Programmierung Definition Eine n × n-Matrix Y über R heißt genau dann positiv semidefinit, wenn gilt: ∀x ∈ Rn : x T Yx ≥ 0. Definition S EMIDEFINITES P ROGRAMM SDP: optimiere C•Y = ∑ cij · yij i ,j gemäß Ak • Y = ∑ ak ,ij · yij ≤ bk ∀k , i ,j wobei Y = (yij ) symmetrisch positiv semidefinit ist. Semidefinite Optimierung kann in Zeit O(poly(n, m, log( 1ε )) mit absoluter Güte ε für beliebiges ε > 0 gelöst werden. 30 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Fakten zur SDP Y ist genau dann symmetrisch positiv semidefinit, wenn es eine m × n-Matrix X gibt mit X T · X = Y . Also: Yij = hxi , xj i 31 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Fakten zur SDP Y ist genau dann symmetrisch positiv semidefinit, wenn es eine m × n-Matrix X gibt mit X T · X = Y . Also: Yij = hxi , xj i Ist Y positiv semidefinit und symmetrisch, kann die obige Matrix X in Zeit O(n3 ) mittels Cholesky-Zerlegung berechnet werden. Sind alle Diagonaleinträge einer symmetrisch positiv semidefiniten Matrix Y gleich 1, sind die Spalten der zugehörigen Matrix X Einheitsvektoren im Rn . Wir betrachten den SDP-Löser einfach als Black Box, der die gewünschte Lösung in Polynomialzeit berechnet 31 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Zusammenhang zwischen Schnitt und Lösung des SDP Jeder Schnitt (S , S ) ergibt direkt eine offensichtliche Einheits-`22 -Repräsentation: Allen Knoten in S wird ein Einheitsvektor v0 zugewiesen Allen Knoten in S wird der Vektor −v0 zugewiesen 32 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Zusammenhang zwischen Schnitt und Lösung des SDP Jeder Schnitt (S , S ) ergibt direkt eine offensichtliche Einheits-`22 -Repräsentation: Allen Knoten in S wird ein Einheitsvektor v0 zugewiesen Allen Knoten in S wird der Vektor −v0 zugewiesen ⇒ Für diese Zuweisung sind die Werte von η (G ) und η ∗ (G ) gleich Wichtige Beobachtung Es gilt immer: η ∗ (G ) ≤ η (G ) Grund: Jede zulässige Lösung für S PARSEST C UT ist auch eine zulässige Lösung für das SDP (Auffüllen des Vektors mit lauter Nullen) Es gibt aber für das SDP noch mehr zulässige Lösungen – mit potentiell niedrigeren Zielfunktionswerten 32 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Partitionierung von `22 Große separierte Mengen finden Definition Seien v1 , v2 , . . . , vn ∈ Rn und ∆ ≥ 0. Zwei Mengen von Vektoren S und T heißen ∆-separiert, wenn für jedes xi ∈ S , xj ∈ T gilt: kxi − xj k2 ≥ ∆. Wir benötigen zwei ∆-separierte Mengen S , T linearer Größe, also d`2 (S , T ) = min kxi − xj k2 ≥ ∆ 2 i ∈ S ,j ∈ T mit |S | = Ω(n) und |T | = Ω(n) Wollen: ∆ = Ω((log n)−1/2 ) 33 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Partitionierung von `22 Haupttheorem Theorem (Haupttheorem) Für jedes c > 0 gibt es c 0 , b > 0 derart, dass jede Einheits-`22 -Repräsentation mit ∑i <j kxi − xj k2 ≥ 4c (1 − c )n2 und n Punkten ∆-separierte Teilmengen S , T der Größe c 0 n enthält, √ wobei ∆ = b/ log n Es gibt einen randomisierten Polynomialzeit-Algorithmus, der diese Teilmengen S und T findet Bemerkung: Der obige Wert für ∆ ist scharf. Beispiel: Hypercube {−1, 1}d 34 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Der ARV-Algorithmus Zur Erinnerung Um das Theorem zu beweisen, gibt man einen randomisierten Algorithmus mit zwei Phasen an, der die gewünschten Teilmengen S und T findet Phase 1: Wähle zufällig eine Hyperebene und teile X in zwei Punktmengen S und T , die auf unterschiedlichen Seiten der Hyperebene liegen Phase 2: Entferne wiederholt Paare von Punkten, die in den verschiedenen Seiten liegen und einander zu nah sind 1 (näher als O √log n ) 35 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Transformation SDP → Schnitt Approximationsfaktor Sei W = ∑ij ∈E kxi − xj k2 der optimale Wert für das SDP∗ . Wissen: W = η ∗ (G ) ≤ η (G ) Wieviel verlieren wir durch das Runden der Lösung? 36 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Transformation SDP → Schnitt Approximationsfaktor Sei W = ∑ij ∈E kxi − xj k2 der optimale Wert für das SDP∗ . Wissen: W = η ∗ (G ) ≤ η (G ) Wieviel verlieren wir durch das Runden der Lösung? Lemma Es gibt einen randomisierten Polynomialzeit-Algorithmus, der mit hoher Wkt. einen Schnitt findet, der c 0 -balanciert ist und √ Größe O(W log n) hat. Definition Ein Schnitt (S , S ) ist c 0 -balanciert, falls sowohl S als auch S mindestens c 0 |V | Knoten haben. 36 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis Approximationsfaktor Beweis. Der Algorithmus zum √ Haupttheorem liefert ∆-separierte Mengen S und T für ∆ = b/ log n Bezeichne V0 die Knoten, deren Vektoren in S liegen Assoziiere mit jeder Kante e = {i , j } eine Länge we = kxi − xj k2 Also: W = ∑e∈E we = ∑{i ,j }∈E kxi − xj k2 S und T sind mindestens ∆ voneinander entfernt (bzgl. dieser Distanz) 37 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis Approximationsfaktor (Forts.) Beweis. Bezeichne Vs die Knoten mit Distanz ≤ s von S Wir erstellen einen Schnitt wie folgt: Ziehe eine Zufallszahl r zwischen 0 und ∆ Gebe den Schnitt (Vr , V − Vr ) aus Weil S ⊆ Vr und T ⊆ V − Vr , ist dies ein c 0 -balancierter Schnitt 38 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis Approximationsfaktor (Forts.) Beweis. Bezeichne Vs die Knoten mit Distanz ≤ s von S Wir erstellen einen Schnitt wie folgt: Ziehe eine Zufallszahl r zwischen 0 und ∆ Gebe den Schnitt (Vr , V − Vr ) aus Weil S ⊆ Vr und T ⊆ V − Vr , ist dies ein c 0 -balancierter Schnitt Bezeichne Es die Menge der Kanten, die aus Vs herausführen Weil |V0 | = |S | ≥ c 0 n: |Es | = 38 Henning Meyerhenke: Kombinatorische Optimierung |Es | |V | | Vs | s ≥ |Es | 0 cn |Vs | Institut für Theoretische Informatik Beweis Approximationsfaktor (Forts.) Beweis. Wir wollen nun die Größe des Schnitts beschränken Beitrag jeder Kante e = {i , j } zu Es im Intervall (s1 , s2 ), s1 = d (i , V0 ), s2 = d (j , V0 ) Aus Dreiecksungleichung folgt: ks2 − s1 k ≤ we 39 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis Approximationsfaktor (Forts.) Beweis. Wir wollen nun die Größe des Schnitts beschränken Beitrag jeder Kante e = {i , j } zu Es im Intervall (s1 , s2 ), s1 = d (i , V0 ), s2 = d (j , V0 ) Aus Dreiecksungleichung folgt: ks2 − s1 k ≤ we R∆ W = ∑e we ≥ s =0 |Es |ds Also: Der erwartete Wert von |Es | über dem Intervall [0, ∆] ist höchstens W /∆ 39 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis Approximationsfaktor (Forts.) Beweis. Wir wollen nun die Größe des Schnitts beschränken Beitrag jeder Kante e = {i , j } zu Es im Intervall (s1 , s2 ), s1 = d (i , V0 ), s2 = d (j , V0 ) Aus Dreiecksungleichung folgt: ks2 − s1 k ≤ we R∆ W = ∑e we ≥ s =0 |Es |ds Also: Der erwartete Wert von |Es | über dem Intervall [0, ∆] ist höchstens W /∆ ⇒ Resultat: Der Algorithmus√berechnet daher einen Schnitt mit Größe höchstens 2W /∆ = O(W log n) mit Wkt. mindestens 1/2 √ √ Schließlich: W = η ∗ (G ) ≤ η (G ) ⇒ W log n ≤ η (G ) log n 39 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Zusammenfassung ARV Approximation von Graphzerlegungen S PARSEST C UT ist strukturell eng verwandt mit anderen besprochenen Problemstellungen Relaxierung hier mit SDP statt mit Eigenvektorproblem Komplexer in der Laufzeit, aber mit besserer Qualitätsschranke ARV-Algorithmus ist wichtiger Beitrag zur Approximation von Partitionierungsproblemen Aus Zeitgründen in der Vorlesung nicht vollständig Neue Ergebnisse: Gleiche Schranke bei besserer Laufzeit Literaturhinweis Sanjeev Arora, Satish Rao, Umesh V. Vazirani: Expander flows, geometric embeddings and graph partitioning. J. ACM 56(2): (2009) 40 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik