Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Die Forschungsuniversität Meyerhenke, in der Institut für Theoretische Informatik Helmholtz-Gemeinschaft www.kit.edu
Vorlesung 9 Programm des Tages: Abschluss Besprechung ÜB2 2 Henning Meyerhenke, Institut für Theoretische Informatik
Inhalt Schnelle Approximation des Durchmessers in großen ungerichteten Graphen 3 Henning Meyerhenke, Institut für Theoretische Informatik
Das Phänomen der kleinen Welt In vielen (komplexen) Netzwerken ist der Abstand zwischen den Knoten sehr klein (O(log n) oder manchmal sogar (fast) konstant) Viele Experimente belegen das für unterschiedliche Netzwerke Kriterium für Kategorie komplex 4 Henning Meyerhenke, Institut für Theoretische Informatik
Das Phänomen der kleinen Welt In vielen (komplexen) Netzwerken ist der Abstand zwischen den Knoten sehr klein (O(log n) oder manchmal sogar (fast) konstant) Viele Experimente belegen das für unterschiedliche Netzwerke Kriterium für Kategorie komplex Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein 4 Henning Meyerhenke, Institut für Theoretische Informatik
Das Phänomen der kleinen Welt In vielen (komplexen) Netzwerken ist der Abstand zwischen den Knoten sehr klein (O(log n) oder manchmal sogar (fast) konstant) Viele Experimente belegen das für unterschiedliche Netzwerke Kriterium für Kategorie komplex Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Definition Für einen Graphen G = (V, E) definieren wir: ecc G (v) = max {d G (v, w) : w V } (Exzentrizität von v) rad(g) = min {ecc G (v) : v V } (Radius von G) diam(g) = max {ecc G (v) : v V } (Durchmesser von G) 4 Henning Meyerhenke, Institut für Theoretische Informatik
Das Phänomen der kleinen Welt In vielen (komplexen) Netzwerken ist der Abstand zwischen den Knoten sehr klein (O(log n) oder manchmal sogar (fast) konstant) Viele Experimente belegen das für unterschiedliche Netzwerke Kriterium für Kategorie komplex Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Definition Für einen Graphen G = (V, E) definieren wir: ecc G (v) = max {d G (v, w) : w V } (Exzentrizität von v) rad(g) = min {ecc G (v) : v V } (Radius von G) diam(g) = max {ecc G (v) : v V } (Durchmesser von G) Beispiel: Siehe Tafel! 4 Henning Meyerhenke, Institut für Theoretische Informatik
Berechnung des Durchmessers Frage: Welche Implikationen hat ein kleiner Durchmesser für NA-Algorithmen? 5 Henning Meyerhenke, Institut für Theoretische Informatik
Berechnung des Durchmessers Frage: Welche Implikationen hat ein kleiner Durchmesser für NA-Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? 5 Henning Meyerhenke, Institut für Theoretische Informatik
Berechnung des Durchmessers Frage: Welche Implikationen hat ein kleiner Durchmesser für NA-Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? Trivialer Ansatz 1: APSP, Maximum feststellen Aufwand kubisch bzw. O(MM(n) polylog(n)) 5 Henning Meyerhenke, Institut für Theoretische Informatik
Berechnung des Durchmessers Frage: Welche Implikationen hat ein kleiner Durchmesser für NA-Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? Trivialer Ansatz 1: APSP, Maximum feststellen Aufwand kubisch bzw. O(MM(n) polylog(n)) Trivialer Ansatz 2 (in ungewichteten Graphen): BFS von jedem Knoten Aufwand: O(n (n + m)) 5 Henning Meyerhenke, Institut für Theoretische Informatik
Durchmesser approximieren in großen dünnen ungerichteten Graphen Ziel: Durchmesserabschätzung für dünn besetzte Graphen mit Millionen von Knoten Es gibt exakte Methoden, die schneller sind als die trivialen Ansätze Aber: Diese haben aber (fast) quadratischen Aufwand, zu viel für große Graphen 6 Henning Meyerhenke, Institut für Theoretische Informatik
Durchmesser approximieren in großen dünnen ungerichteten Graphen Ziel: Durchmesserabschätzung für dünn besetzte Graphen mit Millionen von Knoten Es gibt exakte Methoden, die schneller sind als die trivialen Ansätze Aber: Diese haben aber (fast) quadratischen Aufwand, zu viel für große Graphen Approximation mit weniger Aufwand, Näherung reicht in den meisten Fällen ohnehin! Literaturhinweise C. Magnien, M. Latapy, M. Habib: Fast Computation of Empirically Tight Bounds for the Diameter of Massive Graphs. Journal of Experimental Algorithmics, Volume 13, February 2009. P. Crescenzi, R. Grossi, M. Habib, L. Lanzi, A. Marino: On computing the diameter of real-world undirected graphs. Theor. Comput. Sci. 514: 84-95 (2013). 6 Henning Meyerhenke, Institut für Theoretische Informatik
Durchmesser approximieren Einfache (untere und obere) Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) v V (1) Die Güte der Schranken hängt natürlich stark vom Knoten v ab! 7 Henning Meyerhenke, Institut für Theoretische Informatik
Durchmesser approximieren Einfache (untere und obere) Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) v V (1) Die Güte der Schranken hängt natürlich stark vom Knoten v ab! Motivation: Schranken iterieren 7 Henning Meyerhenke, Institut für Theoretische Informatik
Durchmesser approximieren Einfache (untere und obere) Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) v V (1) Die Güte der Schranken hängt natürlich stark vom Knoten v ab! Motivation: Schranken iterieren Sei T u der BFS-Baum von G mit Wurzel u Dann: ecc(u) = Höhe von T u 7 Henning Meyerhenke, Institut für Theoretische Informatik
Durchmesser approximieren Einfache (untere und obere) Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) v V (1) Die Güte der Schranken hängt natürlich stark vom Knoten v ab! Motivation: Schranken iterieren Sei T u der BFS-Baum von G mit Wurzel u Dann: ecc(u) = Höhe von T u Wichtig: Guter Startknoten u, weitere Ergebnisse 7 Henning Meyerhenke, Institut für Theoretische Informatik
Notation Definition N i (u): Menge der Knoten auf Ebene i von T u (= i-sprung-nachbarschaft von u) 8 Henning Meyerhenke, Institut für Theoretische Informatik
Notation Definition N i (u): Menge der Knoten auf Ebene i von T u (= i-sprung-nachbarschaft von u) F (u) := N ecc(u) (u): Knoten der untersten Ebene von T u 8 Henning Meyerhenke, Institut für Theoretische Informatik
Notation Definition N i (u): Menge der Knoten auf Ebene i von T u (= i-sprung-nachbarschaft von u) F (u) := N ecc(u) (u): Knoten der untersten Ebene von T u B i (u) := max z Ni (u) ecc(z): max. Exzentrizität der Knoten in N i(u) 8 Henning Meyerhenke, Institut für Theoretische Informatik
Beispiel Siehe Tafel! 9 Henning Meyerhenke, Institut für Theoretische Informatik
Weitere einfache Schranken (1) Beobachtung Für jedes x, y V mit x N i (u) oder y N i (u) gilt: dist(x, y) B i (u). 10 Henning Meyerhenke, Institut für Theoretische Informatik
Weitere einfache Schranken (1) Beobachtung Für jedes x, y V mit x N i (u) oder y N i (u) gilt: dist(x, y) B i (u). Frage: Warum? 10 Henning Meyerhenke, Institut für Theoretische Informatik
Weitere einfache Schranken (1) Beobachtung Für jedes x, y V mit x N i (u) oder y N i (u) gilt: dist(x, y) B i (u). Frage: Warum? Folgt direkt aus dist(x, y) min{ecc(x), ecc(y)} B i (u) 10 Henning Meyerhenke, Institut für Theoretische Informatik
Weitere einfache Schranken (2) Lemma Für alle 1 i, j ecc(u) und für alle x N i (u), y N j (u) gilt: dist(x, y) i + j 2 max{i, j}. 11 Henning Meyerhenke, Institut für Theoretische Informatik
Weitere einfache Schranken (2) Lemma Für alle 1 i, j ecc(u) und für alle x N i (u), y N j (u) gilt: dist(x, y) i + j 2 max{i, j}. Beweis. Definition der N i (u) Betrachte kürzesten Weg zwischen x und y Schlechtester Fall: i Schritte in T u von x bis zur Wurzel u j Schritte in T u von u zu y 11 Henning Meyerhenke, Institut für Theoretische Informatik
Haupttheorem zur Konvergenz Theorem Seien 1 i < ecc(u) und 1 k < i beliebig. Für jedes x N i k (u) mit ecc(x) > 2(i 1) existiert ein y x N j (u) mit j i derart, dass dist(x, y x ) = ecc(x). 12 Henning Meyerhenke, Institut für Theoretische Informatik
Haupttheorem zur Konvergenz Theorem Seien 1 i < ecc(u) und 1 k < i beliebig. Für jedes x N i k (u) mit ecc(x) > 2(i 1) existiert ein y x N j (u) mit j i derart, dass dist(x, y x ) = ecc(x). Beweis. Siehe Tafel! 12 Henning Meyerhenke, Institut für Theoretische Informatik
Abbruchkriterium Proposition Sei y N i.. ecc(u) := N i (u) N i+1 (u) N ecc(u) mit max. Exzentrizität in N i.. ecc(u) und sei ecc(y) > 2(i 1). Dann gilt für alle x N 1..i 1 := N 1 (u) N 2 (u) N i 1 (u): ecc(x) ecc(y). 13 Henning Meyerhenke, Institut für Theoretische Informatik
Abbruchkriterium Proposition Sei y N i.. ecc(u) := N i (u) N i+1 (u) N ecc(u) mit max. Exzentrizität in N i.. ecc(u) und sei ecc(y) > 2(i 1). Dann gilt für alle x N 1..i 1 := N 1 (u) N 2 (u) N i 1 (u): ecc(x) ecc(y). Beweis. x N 1..i 1 beliebig y x N i.. ecc(u) ein Knoten mit ecc(x) = dist(x, y) 13 Henning Meyerhenke, Institut für Theoretische Informatik
Abbruchkriterium Proposition Sei y N i.. ecc(u) := N i (u) N i+1 (u) N ecc(u) mit max. Exzentrizität in N i.. ecc(u) und sei ecc(y) > 2(i 1). Dann gilt für alle x N 1..i 1 := N 1 (u) N 2 (u) N i 1 (u): ecc(x) ecc(y). Beweis. x N 1..i 1 beliebig y x N i.. ecc(u) ein Knoten mit ecc(x) = dist(x, y) Def. Exzentrizität ecc(y x ) ecc(x) = dist(x, y x ) ecc(y) = B i.. ecc(u) (u) ecc(y) ecc(y ) y N i.. ecc(u) (u) 13 Henning Meyerhenke, Institut für Theoretische Informatik
Traversierung: Bottom up! BFS-Baum T u bottom up traversieren Auf jeder Ebene i Exzentrizitäten von N i (u) berechnen Falls die maximale Exzentrizität c größer als 2(i 1) ist: Abarbeitung der höheren Ebenen unnötig 14 Henning Meyerhenke, Institut für Theoretische Informatik
Traversierung: Bottom up! BFS-Baum T u bottom up traversieren Auf jeder Ebene i Exzentrizitäten von N i (u) berechnen Falls die maximale Exzentrizität c größer als 2(i 1) ist: Abarbeitung der höheren Ebenen unnötig Iteratives Schema: 1. Initialisiere i ecc(u) und M B i (u) 2. Falls M > 2(i 1): 2.1 JA: Gib M zurück. 2.2 NEIN: Setze i i 1, M max{m, B i (u)} und wiederhole Schritt 2. 14 Henning Meyerhenke, Institut für Theoretische Informatik
Traversierung: Bottom up! BFS-Baum T u bottom up traversieren Auf jeder Ebene i Exzentrizitäten von N i (u) berechnen Falls die maximale Exzentrizität c größer als 2(i 1) ist: Abarbeitung der höheren Ebenen unnötig Iteratives Schema: 1. Initialisiere i ecc(u) und M B i (u) 2. Falls M > 2(i 1): 2.1 JA: Gib M zurück. 2.2 NEIN: Setze i i 1, M max{m, B i (u)} und wiederhole Schritt 2. Beobachtung Für den Durchmesser D von G und M := B i (u) gilt: M D, da M eine Exzentrizität angibt Falls M 2(i 1), dann D 2(i 1) 14 Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmus IFUB 1: function IFUB(G = (V, E), u V, unt. Schr. l für D, Fehler k N 0 ) 2: Ausgabe: Wert M mit D M k 3: Berechne T u und i ecc(u) ecc(u) ist Tiefe von T u 4: lb max{ecc(u), l) lower bound lb 5: ub 2 ecc(u) upper bound ub 6: while ub lb > k do 7: Berechne B i (u) BFS von Knoten aus N i (u) 8: if max{lb, B i (u)} > 2(i 1) then Abbr.krit. Proposition 9: return max{lb, B i (u)} 10: else 11: lb max{lb, B i (u)} 12: ub 2(i 1) 13: i i 1 Ebene raufgehen in T u 14: end if 15: end while 16: return lb 17: end function 15 Henning Meyerhenke, Institut für Theoretische Informatik
Korrektheit von IFUB Theorem Algorithmus IFUB arbeitet korrekt. Beweis. Folgt aus Vorüberlegungen. 16 Henning Meyerhenke, Institut für Theoretische Informatik
Laufzeit von IFUB Proposition Algorithmus IFUB führt höchstens D/2 Iterationen durch. Beweis. Übungsaufgabe. 17 Henning Meyerhenke, Institut für Theoretische Informatik
Laufzeit von IFUB Proposition Algorithmus IFUB führt höchstens D/2 Iterationen durch. Beweis. Übungsaufgabe. Corollary Algorithmus IFUB ruft BFS höchstens N D/2.. ecc(u) mal auf. 17 Henning Meyerhenke, Institut für Theoretische Informatik
Wahl des Startknotens Im Paper 3 Strategien: Random selection Highest degree selection 4-Sweep selection 18 Henning Meyerhenke, Institut für Theoretische Informatik
Experimentelle Ergebnisse Details in Crescenzi et al. Highest degree selection funktioniert sehr gut Realweltgraphen: Einige Dutzend BFS reichen oft aus Berechnung von B i (u): trivial parallel 19 Henning Meyerhenke, Institut für Theoretische Informatik
Fazit Durchmesser ist längster kürzester Weg über alle Knotenpaare gesehen Durchmesser wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) Exakte Berechnung hat mindestens quadratische Laufzeit (im worst case) 20 Henning Meyerhenke, Institut für Theoretische Informatik
Fazit Durchmesser ist längster kürzester Weg über alle Knotenpaare gesehen Durchmesser wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) Exakte Berechnung hat mindestens quadratische Laufzeit (im worst case) Approximieren des Durchmessers für große Graphen BFS ist wesentliche Komponente Einfach zu implementieren! Neuere Algorithmen teilweise noch schneller! 20 Henning Meyerhenke, Institut für Theoretische Informatik