Algorithmische Methoden zur Netzwerkanalyse

Werbung
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
Herunterladen