Vorlesung 12 AUSDÜNNUNG VON GRAPHEN SCHNITTERHALTUNG (SPEKTRALE APPROXIMATION) 387 Wiederholung: Approximative Schnitterhaltung Ziel: Approximationsalgorithmus: A(S(G)) Ziele bei Eingabe eines dichten Graphen G = (V, E) mit Gewichten u: E! R + : 1. Ausdünnen von G: Einige Kanten entfernen, dafür andere geeignet gewichten 2. Dabei den Wert jedes Schnitts ± in G approximativ erhalten: Ausgabe H = (V, F) mit F ½ E, F << E, Gewichten w: F! R + und w(± H (S)) = (1±²) u(± G (S)) 8 S µ V G H S S 388
Wiederholung: Algorithmus Randomisiertes Sampling in ½ Runden Eingabe: G = (V, E, u) Ausgabe: H = (V, F, w) mit F ½ E und w(± H (S)) = (1±²) u((± G (S)) 8 S µ V (1) 1. Initialisiere w = 0 2. Berechne k e für jede Kante e 3. for i = 1,..., ½ 4. for each e 2 E 5. Mit Wkt. 1/k e, erhöhe w e um k e /½ 389 Wiederholung: Kantenkonnektivität Def.: Die Konnektivität einer Kante e, k e, ist die minimale Größe eines Schnitts, der e enthält. Max-Flow-Min-Cut-Theorem: k e ist der maximale Fluss über e in einem geeigneten Flussproblem 390
Berechnung der Kantenkonnektivität Algorithmus SimpleEC(G, v, w) Eingabe: Graph G, Knotenpaar (v, w) Ausgabe: k v,w Ersetze jede ungerichtete Kante {x,y} durch zwei gerichtete Kanten (x,y) und (y,x) Setze v als Quelle und w als Senke Gib jeder gerichteten Kante die Kapazität 1 und nenne das resultierende Flussnetzwerk H Berechne die maximale Flussfunktion f in H return k v,w := f Laufzeit pro Paar (v, w): O(MaxFlow(n, m)) = O(nm) 391 Kantengewichte bleiben erhalten Beh.: Für jede Kante e gilt E[w e ] = 1. Beweis: Erwarteter Zuwachs von w e in Iteration i: (1/k e ) * (k e /½) = 1/½ Linearität des Erwartungswerts: Wert pro Iteration * ½ Iterationen Folgerung: Für jedes F µ E gilt: E[w(F)] = F. Beweis: Linearität des Erwartungswerts Also: Das Gewicht jedes Schnittes bleibt im Erwartungswert erhalten. 393
Gewicht jedes Schnitts bleibt erhalten Reicht das schon? Leider nicht! Wollen: Mit hoher Wkt. bleibt das Gewicht jedes Schnitts erhalten Hört sich nach Chernov-Schranke an... Satz (Chernov-Schranken): Sei X 1, X 2,..., X n eine Sequenz von n unabh. Bernoulli-Experimenten mit Erfolgswkt. p. E[Anzahl Erfolge] = pn Für jedes ± > 0 gilt: Für jedes ± 2 [0, 1] gilt: 394 Eine erste (erfolglose) Analyse Betrachte einen beliebigen Schnitt ±(S) X i,e : Bernoulli-ZV, gibt an, ob Kante e in Runde i ausgewählt wurde Gewicht des Schnitts ist Zufallsvariable X: X = Σ i=1 ½ Σ e 2 ±(S) X i, e * k e / ½ Chernov-Schranke ist für Summe von unabhängigen Bernoulli-ZV Was ist also das Problem? Die ZV dürfen für die beidseitige Schranke nur in [0, 1] liegen Unsere Koeffizienten k e können sehr viel größer sein Eigentlich: Die k e können sehr unterschiedlich sein 395
Beispiel für starke Ungleichheiten Siehe Tafel Chernov-Schranke so nicht verwendbar: Entworfen, um zu zeigen: Wkt., a mal größer zu sein als der Erwartungswert, nimmt exponentiell in a ab Gilt nicht für Y in unserem Beispiel! 396 Analysetrick: Gruppieren der Kanten Problem bei Analyse sind die starken Ungleichheiten Also: Betrachten von Gruppen, in denen Ungleichheit klein ist Partitionieren der Kantenmenge in Teilmengen: Anhand der Kantenkonnektivität: E i = {e 2 E : 2 i-1 k e 2 i } Beweisen dann Konzentration um Erwartungswert für Durchschnitt w(±(s) Å E i ) Alle Kanten in E i haben nahezu dieselben Koeffizienten k e / ½ Beispiel: Siehe Ausdruck 397
Schnittinduzierte Mengen Sei F eine Menge der Form ±(S) Å E i Wir nennen eine solche Menge schnittinduzierte Menge Achtung: Es könnte einen Schnitt S geben derart, dass F =±(S) Å E i = ±(S ) Å E i Daher: Kleinstmöglichen dieser Schnitte betrachten Grund: Der Stichprobenfehler von w(f) soll klein sein gegenüber ±(S) Das ist am schwierigsten, wenn ±(S) klein ist Beispiel: Siehe Ausdruck 398 Chernov-Schranke Allgemein: Für jedes ± > 0 gilt: Für jedes ± 2 [0, 1] gilt: Def.: Sei q(f) das Gewicht des leichtesten Schnitts in der schnittinduzierten Menge. Unser Fall: Sei F µ E i eine schnittinduzierte Menge. Dann: Pr(w(F) E[w(F)] > ² q(f) / log n) 2 exp(- ² 2 ½ q(f) / 3 2 i log 2 n) Beweis: Selbstübung 399
Hauptergebnis Theorem: Sei G = (V, E) ein Graph mit n Knoten. Mit Wkt. mindestens ½ produziert unser Sampling-Prozess Gewichte w, die den Wert aller Schnitte bis auf einen Faktor 1±² erhalten und nur O(n log 3 n/² 2 ) Nichtnulleinträge haben. Einordnung: Durch kompliziertere Analyse kann man den Faktor log 3 n auf log 2 n drücken oder sogar ganz eliminieren. 400 Beweis des Hauptresultats Wir setzen ½ = 100 log 3 n/² 2 Zahl der Nichtnulleinträge leicht zu analysieren: Sei X i, e die Indikator-Zufallsvariable mit Wert 1, falls Kante e in Runde i gezogen wurde E[X i, e ] = 1/k e Zahl der Nichtnulleinträge in w ist höchstens Σ i=1 ½ Σ e 2 E X i, e E[Nichtnulleinträge] ½ Σ e 1/k e = O(n log 3 n / ² 2 ) (wg. Fakt auf Folie TODO) Markov-Ungleichung: Sei X eine ZV mit Werten in [0, 1]. Dann ist P(X r*e[x]) 1/r für beliebige r > 0. => Zahl der Nichtnulleinträge 4 O(n log 3 n / ² 2 ) mit Wkt. ¾ Fehlt noch: Konzentration der Schnittgröße um Erw.wert 401
Wdh.: Schnittinduzierte Mengen Sei F eine Menge der Form ±(S) Å E i Wir nennen eine solche Menge schnittinduzierte Menge Achtung: Es könnte einen Schnitt S geben derart, dass F =±(S) Å E i = ±(S ) Å E i Daher: Kleinstmöglichen dieser Schnitte betrachten Grund: Der Stichprobenfehler von w(f) soll klein sein gegenüber ±(S) Das ist am schwierigsten, wenn ±(S) klein ist [Formelbild: http://nickhar.wordpress.com/2012/02/08/lecture-11-graph-sparsifiers/] 402 Konzentration um Erwartungswert Wollen zeigen: Mit hoher Wkt. erfüllt jede schnittinduzierte Menge F w(f) - F ² q(f) / log n (2) Wenn das gilt, gilt auch für jeden Schnitt C = ±(S): 1. Ungleichung: Dreiecksungleichung, Beträge 2. Ungleichung: Wegen (2) 3. Ungleichung: q(c Å E i ) ist Größe des kleinsten Schnitts, der C Å E i induziert [Formelbild: http://nickhar.wordpress.com/2012/02/08/lecture-11-graph-sparsifiers/] Gilt (2), gilt auch das Haupttheorem! 403
Hilfsresultate (1) Definition: Für jedes α >= 1 sei ein α-minimaler Schnitt ein Schnitt, dessen Gewicht höchstens α mal größer ist als der des minimalen Schnitts. Lemma: In jedem ungerichteten Graphen G und für jedes α >= 1 gilt: Die Zahl der α-minimalen Schnitte in G ist höchstens n 2α. Beweisskizze: Kontraktionsalgorithmus: Solange n > 2, wähle beliebige Kante {u,v} und kontrahiere sie (erzeugt ggf. parallele Kanten) Randomisierter MinCut: Wähle Kanten oben zufällig gleichverteilt Beweisidee: Stoppe MinCut-Algo frühzeitig, dann hat jeder α-minimale Schnitt eine angemessene Wkt. zu überleben 404 Hilfsresultate (2) Theorem: Sei G = (V, E) ein Graph. Sei B µ E beliebig und sei K min{k e : e 2 B}. Dann gilt für jedes 1: {±(S) Å B : S µ V Æ ±(S) K } < n 2 Anders ausgedrückt: Die Zahl der Schnittmengen eines Schnitts ±(S), dessen Größe durch K beschränkt ist, mit einer beliebigen Kantenteilmenge B ist kleiner als n 2. Fakt: Für jeden Graphen G = (V, E) mit n = V gilt Σ e 2 E 1/k e n-1. 405
Beweis für Formel (2) Sei i 2 {1,..., log n} beliebig, aber fest. Seien F 1, F 2,... alle schnittinduzierten Teilmengen von E i. Seien die Teilmengen derart geordnet, dass q(f 1 ) q(f 2 )... Definiere: Die Ungleichung gilt nach Ergebnis auf früherer Folie zur Anwendung der Chernov-Schranke [Formelbild: http://nickhar.wordpress.com/2012/02/08/lecture-11-graph-sparsifiers/] 406 Beweis für Formel (2), Forts. Union bound => alle F j sind konzentriert Problem: Es kann exponentiell viele F j geben Wir betrachten daher zunächst die ersten n 2 schnittinduzierten Mengen F 1,..., F n2 Weil jede Kante e 2 F j zu E i gehört, gilt k e 2 i-1 => Jeder Schnitt, der die Kante e enthält, hat mindestens Größe 2 i-1 => q(f j ) 2 i-1 Das wird nun in (3) eingesetzt 407
Beweis für Formel (2), Forts. q(f j ) 2 i-1 in (3) einsetzen Daraus folgt: Σ j=1 n 2 p j 2n -14 Nun betrachten wir noch die restlichen F j mit j > n 2. Wir wenden das Theorem von Folie TODO an mit B = E i => K = 2 i-1 Nach diesem Theorem: Für jedes 1: {schnittinduzierte Menge F µ E i : q(f) 2 i-1 } < n 2 [Formelbild: http://nickhar.wordpress.com/2012/02/08/lecture-11-graph-sparsifiers/] 408 Beweis für Formel (2), Forts. Nach diesem Theorem: Für jedes 1: {schnittinduzierte Menge F µ E i : q(f) 2 i-1 } < n 2 Also: Für 1 gilt: Zahl der F j mit q(f j ) 2 i-1 ist < n 2 Mit = ln j / 2 ln n erhalten wir: q(f j ) > 2 i-1 ln j / 2 ln n Einsetzen in (3) ergibt: Summiert man über alle j > n 2 : [Formelbilder: http://nickhar.wordpress.com/2012/02/08/lecture-11-graph-sparsifiers/] 409
Abschluss des Beweises für (2) Wegen einer union bound: P(schnittinduzierte Teilmenge von E i verletzt Formel (2)) Σ j p j Das war die Analyse für ein bestimmtes i Anwenden der union bound auf alle i 2 {1,..., log n} => Gesamtfehlerwkt. 1/n [Formelbilder: http://nickhar.wordpress.com/2012/02/08/lecture-11-graph-sparsifiers/] 410 Zwischenfazit Große dicht besetzte Graphen sind schwierig zu speichern und schwierig zu verarbeiten Ausdünnung allgemeines Konzept: Speichere weniger Kanten, aber......gewichte die erhaltenen Kanten derart, dass gewisse Grapheigenschaften approximativ erhalten bleiben Hier: Eigenschaft der Schnitterhaltung Schnitte wichtig in vielfältigen Anwendungen Literatur: http://nickhar.wordpress.com/2012/02/08/lecture-11-graph-sparsifiers/ Spielman, Srivastava: Graph Sparsification by Effective Resistances. SIAM J. Comput. 40(6): 1913-1926 (2011) oder http://arxiv.org/abs/0803.0929. Fung, Harvey: Graph Sparsification by Edge-Connectivity and Random Spanning Trees. http://www.cs.ubc.ca/~nickhar/publications/sparsifier/sparsifier.pdf. 411