Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 Institutund für Theoretische KIT –Henning Universität desMeyerhenke, Landes Baden-Württemberg nationales Forschungszentrum in der Helmholtz-Gemeinschaft Algorithmische Methoden zur Netzwerkanalyse Informatik www.kit.edu Vorlesung 4 Programm des Tages: Zusammenhang Kürzeste Wege 2 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Tiefensuche (Haus)Aufgabe: Tiefensuche, SCC Führen Sie DFS auf dem dargestellten Graphen aus. Starten Sie dabei beim Knoten A und beachten Sie die lexikographische Ordnung der Knoten! Führen Sie den SCC-Algorithmus von Kosaraju (z. B. in [Cormen et al., Introduction to Algorithms, 1. Aufl., S. 489]) am Beispiel aus! 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Kosarajus Algorithmus Kosarajus Algorithmus 1. Rufe DFS(G) auf, um die Beendigungs-Zeitstempel f [u ] für jeden Knoten u zu berechnen 2. Berechne GT , den transponierten Graphen 3. Rufe DFS(GT ) auf, beachte dabei die absteigende Reihenfolge der Zeitstempel f [u ] aus Schritt 1 4. Gebe die DFS-Bäume aus Schritt 3 aus, sie bilden die starken ZHKs 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Kosarajus Algorithmus Kosarajus Algorithmus 1. Rufe DFS(G) auf, um die Beendigungs-Zeitstempel f [u ] für jeden Knoten u zu berechnen 2. Berechne GT , den transponierten Graphen 3. Rufe DFS(GT ) auf, beachte dabei die absteigende Reihenfolge der Zeitstempel f [u ] aus Schritt 1 4. Gebe die DFS-Bäume aus Schritt 3 aus, sie bilden die starken ZHKs Kosarajus Algorithmus ist asymptotisch optimal: O (n + m ) Aber: Zweifacher Durchlauf in der Praxis nachteilig Daher: In der Praxis z. B. Tarjans Algorithmus verwenden (nur ein Durchlauf) 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Definitionen DFS-Nummer, Tiefensuch(halb)ordnung Sei v1 , . . . , vn die Reihenfolge, in der die Knoten markiert werden. Dann heißt DFS (vi ) die DFS-Nummer von vi . Die DFS-Nummer DFS ((v , w )) einer Kante (v , w ) sei die DFS-Nummer des Knotens, von dem aus die Kante durchlaufen wird. 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Definitionen DFS-Nummer, Tiefensuch(halb)ordnung Sei v1 , . . . , vn die Reihenfolge, in der die Knoten markiert werden. Dann heißt DFS (vi ) die DFS-Nummer von vi . Die DFS-Nummer DFS ((v , w )) einer Kante (v , w ) sei die DFS-Nummer des Knotens, von dem aus die Kante durchlaufen wird. Wir definieren eine Tiefensuch(halb)ordnung auf V ∪ E durch: DFS (p ) ≤ DFS (q ) ⇔ p q ∀p, q ∈ V ∪ E DFS (p ) < DFS (q ) ⇔ p ≺ q ∀p, q ∈ V ∪ E 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse (1) (2) Eigenschaften von Netzwerken Kantenklassifikation Definition Sei S der Stapel (Stack) der Tiefensuche. Die Kanten werden während der Tiefensuche wie folgt klassifiziert: Zum Zeitpunkt, da die Kante (v , w ) markiert wird, wird sie zu einer Baumkante, falls w noch nicht markiert ist, 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Kantenklassifikation Definition Sei S der Stapel (Stack) der Tiefensuche. Die Kanten werden während der Tiefensuche wie folgt klassifiziert: Zum Zeitpunkt, da die Kante (v , w ) markiert wird, wird sie zu einer Baumkante, falls w noch nicht markiert ist, Rückwärtskante, falls w markiert ist, w v und w ∈ S 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Kantenklassifikation Definition Sei S der Stapel (Stack) der Tiefensuche. Die Kanten werden während der Tiefensuche wie folgt klassifiziert: Zum Zeitpunkt, da die Kante (v , w ) markiert wird, wird sie zu einer Baumkante, falls w noch nicht markiert ist, Rückwärtskante, falls w markiert ist, w v und w ∈ S Querkante, falls w markiert ist, w v und w ∈ / S und 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Kantenklassifikation Definition Sei S der Stapel (Stack) der Tiefensuche. Die Kanten werden während der Tiefensuche wie folgt klassifiziert: Zum Zeitpunkt, da die Kante (v , w ) markiert wird, wird sie zu einer Baumkante, falls w noch nicht markiert ist, Rückwärtskante, falls w markiert ist, w v und w ∈ S Querkante, falls w markiert ist, w v und w ∈ / S und Vorwärtskante, falls w markiert ist und w v . 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Dynamische Graphen Ungerichteter schlichter dynamischer Graph Dynamisch: Kanten werden eingefügt und gelöscht Andere Arten von Dynamik existieren! [https://gephi.org/tag/dynamics/] 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Dynamische Graphen Ungerichteter schlichter dynamischer Graph Dynamisch: Kanten werden eingefügt und gelöscht Andere Arten von Dynamik existieren! [https://gephi.org/tag/dynamics/] Trivial: Statischen Algorithmus auf veränderten Graphen anwenden 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Dynamische Graphen Ungerichteter schlichter dynamischer Graph Dynamisch: Kanten werden eingefügt und gelöscht Andere Arten von Dynamik existieren! [https://gephi.org/tag/dynamics/] Trivial: Statischen Algorithmus auf veränderten Graphen anwenden Annahme: Skaleninvariantes Netzwerk Aufgabe: Berechnung und kostengünstige Aktualisierung der ZHK 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken ZHK in dynamischen skaleninvarianten Graphen (1) ZHK ist globale Eigenschaft Einfacher Fall: Einfügen von Kanten Schwieriger: Löschen von Kanten 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken ZHK in dynamischen skaleninvarianten Graphen (1) ZHK ist globale Eigenschaft Einfacher Fall: Einfügen von Kanten Schwieriger: Löschen von Kanten Soziale Netzwerke (und weitere) sind oft skaleninvariant 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken ZHK in dynamischen skaleninvarianten Graphen (1) ZHK ist globale Eigenschaft Einfacher Fall: Einfügen von Kanten Schwieriger: Löschen von Kanten Soziale Netzwerke (und weitere) sind oft skaleninvariant Bedeutet: Stark unterschiedliche Gradverteilung (power law) Später genauer: Kleine maximale Distanz zwischen beliebigem Knotenpaar (Durchmesser) 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken ZHK in dynamischen skaleninvarianten Graphen (2) Frage 1: Welche Eigenschaften ergeben sich noch bei Skaleninvarianz? Frage 2: Was bedeutet das für die Berechnung der ZHK? 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken ZHK in dynamischen skaleninvarianten Graphen (2) Frage 1: Welche Eigenschaften ergeben sich noch bei Skaleninvarianz? Frage 2: Was bedeutet das für die Berechnung der ZHK? Die meisten Änderungen sind innerhalb einer Komponente Einfügungen verschmelzen meist kleine mit einer (der) großen Komponente(n) 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken ZHK in dynamischen skaleninvarianten Graphen (2) Frage 1: Welche Eigenschaften ergeben sich noch bei Skaleninvarianz? Frage 2: Was bedeutet das für die Berechnung der ZHK? Die meisten Änderungen sind innerhalb einer Komponente Einfügungen verschmelzen meist kleine mit einer (der) großen Komponente(n) Problemfall Löschungen: Komponenten werden nur selten getrennt Erkenntnis: Der Tiefensuch-Baum erleichtert einem die Arbeit Vorschläge? 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken DFS-Kantentypus hilft bei Löschung Baumkanten bilden Spannbaum Wdh.: Ein Spannbaum ist ein Teilgraph, der alle Knoten des Obergraphen verbindet und ein Baum ist 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken DFS-Kantentypus hilft bei Löschung Baumkanten bilden Spannbaum Wdh.: Ein Spannbaum ist ein Teilgraph, der alle Knoten des Obergraphen verbindet und ein Baum ist Wenn die zu löschende Kante keine Baumkante ist, wird die Komponente nicht zerschnitten Nur bei wenigen Löschungen müssen aufwändigere Verfahren zum Einsatz kommen Was könnte die „nächst-aufwändigere“ Aktion sein? 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Datenhaltung vs. Analyse Annahmen bzw. Entwurfsentscheidungen: Kantenaktionen (Einfügungen, Löschungen) treffen kontinuierlich ein Die Analyse findet in regelmäßigen Abständen statt Aktionen werden stapelweise bearbeitet Während der Analyse werden neu eintreffende Aktionen gepuffert 11 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Struktur des Algorithmus Aktionen stapelweise abarbeiten Gemäß Startknoten der Kante sortieren In unterschiedliche Warteschlangen (ins/del) einfügen Aktualisieren der Datenstruktur ZHK-Analyse: Löschungen durchführen Baumkante? Dreieck in Nachbarschaft? Falls zu viele mögliche Aufspaltungen: Statische Neuberechnung, sonst Einfügungen durchführen 12 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Datenstruktur STINGER vs NetworKit 13 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Flowchart: Löschen von Kanten 14 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken (Parallele) Bestimmung von Dreiecken Aufgabe: Schnell bestimmen, ob Kante Teil eines Dreiecks ist 15 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken (Parallele) Bestimmung von Dreiecken Aufgabe: Schnell bestimmen, ob Kante Teil eines Dreiecks ist ⇒ Gemeinsame Nachbarn finden Frage der Existenz! Eine Möglichkeit: Bit-Vektoren 15 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Pseudocode fürs Löschen von {u , v } F: Flag für Dreieck, R: Zahl der möglichen Aufspaltungen 16 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Paralleles Einfügen von Kanten Sequentieller trivialer Ansatz: Falls die Kante zwei Knoten derselben Komponente verbindet: keine Änderung Falls die beide Knoten in unterschiedlichen Komponenten liegen: Verschmelze Komponenten 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Paralleles Einfügen von Kanten Sequentieller trivialer Ansatz: Falls die Kante zwei Knoten derselben Komponente verbindet: keine Änderung Falls die beide Knoten in unterschiedlichen Komponenten liegen: Verschmelze Komponenten So parallel schwierig umzusetzen Frage: Warum? 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Paralleles Einfügen von Kanten Sequentieller trivialer Ansatz: Falls die Kante zwei Knoten derselben Komponente verbindet: keine Änderung Falls die beide Knoten in unterschiedlichen Komponenten liegen: Verschmelze Komponenten So parallel schwierig umzusetzen Frage: Warum? ⇒ Problemreduktion für den parallelen Fall 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Konstruktion des Komponentengraphen Für jede einzufügende Kante wird zunächst geprüft, ob sie den Komponentengraphen verändert Das muss parallel natürlich koordiniert werden Verschiedene Datenstrukturen möglich 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Konstruktion des Komponentengraphen Für jede einzufügende Kante wird zunächst geprüft, ob sie den Komponentengraphen verändert Das muss parallel natürlich koordiniert werden Verschiedene Datenstrukturen möglich Schließlich: ZHK-Algorithmus auf Komponentengraphen C C ist sehr viel kleiner als G, daher geringer Aufwand 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Pseudocode fürs Einfügen von {u , v } C: Komponentengraph, M / M 0 : ZHK-Zugehörigkeit 19 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Ein paar experimentelle Ergebnisse (nicht ganz aktuell, beinhalten nicht alle alg. Fortschritte) 20 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zwischenfazit Zusammenhang: Bestimmung von (starken) ZHK mit DFS Kategorisierung von DFS-Kanten Baumkanten bei der Aktualisierung der ZHK in dynamischen Graphen Aktualisierung um Größenordnungen schneller als statische Neuberechnung 21 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Inhalt Eigenschaften von Netzwerken Berechnung in statischen Graphen Berechnung in dynamischen Graphen Abstand und Durchmesser Grundlagen Das Phänomen der kleinen Welt Schnelle Schätzung des Durchmessers in großen ungerichteten Graphen 22 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Abstand und kürzeste Wege Definition (Pfadlänge) Sei ein gerichteter und gewichteter Graph G = (V , E ) mit der Gewichtsfunktion w : E 7→ R gegeben. Das Gewicht (oder die Länge) eines Pfades p =< v0 , v1 , . . . , vk > ist die Summe der Gewichte seiner Kanten: w (p ) := ∑ki=1 w (vi −1 , vi ) 23 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Abstand und kürzeste Wege Definition (Pfadlänge) Sei ein gerichteter und gewichteter Graph G = (V , E ) mit der Gewichtsfunktion w : E 7→ R gegeben. Das Gewicht (oder die Länge) eines Pfades p =< v0 , v1 , . . . , vk > ist die Summe der Gewichte seiner Kanten: w (p ) := ∑ki=1 w (vi −1 , vi ) Definition (Kürzester Pfad) Sei G = (V , E ) wie oben. Das Gewicht eines kürzesten Pfades p zwischen u , v ∈ V ist definiert als: ( min{w (p ) : u erreicht v über p } d (u , v ) = ∞ sonst Ein kürzester Pfad zwischen u , v ∈ V ist ein Pfad p mit w (p ) = d (u , v ). 23 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Abstand und Durchmesser Definition Für einen Multigraphen G = (V , E ) definieren wir: eccG (v ) = max {dG (v , w ) : w ∈ V } rad(G ) = min {eccG (v ) : v ∈ V } diam(G ) = max {eccG (v ) : v ∈ V } (Exzentrizität von v ) (Radius von G) (Durchmesser von G) Beispiel an der Tafel! 24 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Das Phänomen der kleinen Welt In vielen Netzwerken ist der Abstand zwischen den Knoten sehr klein Viele Experimente belegen das für unterschiedliche Netzwerke Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Implikationen für Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? 25 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Das Phänomen der kleinen Welt In vielen Netzwerken ist der Abstand zwischen den Knoten sehr klein Viele Experimente belegen das für unterschiedliche Netzwerke Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Implikationen für Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? Trivialer Ansatz 1: APSP, Maximum feststellen Aufwand kubisch bzw. O (n2.376 · polylog(n)) 25 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Das Phänomen der kleinen Welt In vielen Netzwerken ist der Abstand zwischen den Knoten sehr klein Viele Experimente belegen das für unterschiedliche Netzwerke Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Implikationen für Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? Trivialer Ansatz 1: APSP, Maximum feststellen Aufwand kubisch bzw. O (n2.376 · polylog(n)) Trivialer Ansatz 2 (in ungewichteten Graphen): BFS von jedem Knoten Aufwand: O (n · (n + m )) 25 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Durchmesserabschätzung 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 26 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Durchmesserabschätzung 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 ⇒ Abschätzung mit weniger Aufwand, Näherung reicht in den meisten Fällen ohnehin! Literaturhinweis 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. 26 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Durchmesserabschätzung Untere und obere Schranken Offensichtlich (aber nur in ungerichteten Graphen): eccG (v ) ≤ diam(G ) ≤ 2 · eccG (v ) (3) Berechenbar in Θ(n + m ) Zeit und Platz. Die Güte der Schranken hängt natürlich stark vom Knoten v ab! 27 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Durchmesserabschätzung Untere und obere Schranken Offensichtlich (aber nur in ungerichteten Graphen): eccG (v ) ≤ diam(G ) ≤ 2 · eccG (v ) (3) Berechenbar in Θ(n + m ) Zeit und Platz. Die Güte der Schranken hängt natürlich stark vom Knoten v ab! Lemma Für Bäume (und bestimmte andere Graphklassen) gilt: Wird v so gewählt, dass dG (u , v ) = eccG (u ) für einen Knoten u, dann diam(G ) = eccG (v ). (4) ⇒ In solchen Graphen genügen zwei BFS! Bei irgendeinem Knoten u starten. Dann wiederholen bei einem Knoten v , der maximale Distanz von u hat. 27 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! 28 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! Weitere Verbesserungen möglich: Lemma Sei T ein Spannbaum von G. Dann gilt: diam(G ) ≤ diam(T ). 28 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse (5) Eigenschaften von Netzwerken Abstand und Durchmesser Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! Weitere Verbesserungen möglich: Lemma Sei T ein Spannbaum von G. Dann gilt: diam(G ) ≤ diam(T ). (5) Frage 1: Warum gilt das Lemma? 28 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! Weitere Verbesserungen möglich: Lemma Sei T ein Spannbaum von G. Dann gilt: diam(G ) ≤ diam(T ). (5) Frage 1: Warum gilt das Lemma? Frage 2: Wo kriegen wir den Spannbaum her? 28 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! Weitere Verbesserungen möglich: Lemma Sei T ein Spannbaum von G. Dann gilt: diam(G ) ≤ diam(T ). (5) Frage 1: Warum gilt das Lemma? Frage 2: Wo kriegen wir den Spannbaum her? Antwort 2: BFS-Baum 28 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Schranken kombinieren Wir haben jetzt verschiedene untere und obere Schranken Alle mit einfachen Mitteln (BFS) zu berechnen Abwechselnd untere und obere Schranken verbessern Bei zufälligem Knoten starten (oder Heuristik anwenden) 29 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Schranken kombinieren Wir haben jetzt verschiedene untere und obere Schranken Alle mit einfachen Mitteln (BFS) zu berechnen Abwechselnd untere und obere Schranken verbessern Bei zufälligem Knoten starten (oder Heuristik anwenden) Heuristik: Startknoten mit hohem Knotengrad Gut geeignet für Schranke (4) Frage: Warum? 29 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Schranken kombinieren Wir haben jetzt verschiedene untere und obere Schranken Alle mit einfachen Mitteln (BFS) zu berechnen Abwechselnd untere und obere Schranken verbessern Bei zufälligem Knoten starten (oder Heuristik anwenden) Heuristik: Startknoten mit hohem Knotengrad Gut geeignet für Schranke (4) Frage: Warum? Grund: Der BFS-Baum eines hochgradigen Knotens hat oft einen kleinen Durchmesser 29 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Überlegungen zur Implementierung Iterieren der Schranken (4) und (5) Frage: Konvergiert die Iteration auf jeden Fall, wenn sie lange genug läuft? 30 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Überlegungen zur Implementierung Iterieren der Schranken (4) und (5) Frage: Konvergiert die Iteration auf jeden Fall, wenn sie lange genug läuft? Gegenbeispiel: Kreis aus n Knoten 30 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Überlegungen zur Implementierung Iterieren der Schranken (4) und (5) Frage: Konvergiert die Iteration auf jeden Fall, wenn sie lange genug läuft? Gegenbeispiel: Kreis aus n Knoten Abbruch, wenn der Unterschied D − D kleiner als Schwellwert ist Alternativer Abbruch: (D − D )/D < p für einen anderen Schwellwert p. Aufwand pro Iteration: θ (n + m ) 30 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Experimentelle Ergebnisse [Magnien et al., JEA Vol. 13, Feb 2009] 31 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Fazit Durchmesser ist längster kürzester Weg über alle Knotenpaare gesehen Exakte Berechnung hat mindestens quadratische Laufzeit Durchmesser wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) 32 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser Fazit Durchmesser ist längster kürzester Weg über alle Knotenpaare gesehen Exakte Berechnung hat mindestens quadratische Laufzeit Durchmesser wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) Abschätzen des Durchmessers für große Graphen BFS ist wesentliche Komponente 32 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Abstand und Durchmesser