Algorithmische Methoden zur Netzwerkanalyse

Ähnliche Dokumente
Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Vorlesung 2 KÜRZESTE WEGE

16. All Pairs Shortest Path (ASPS)

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 8, Henning Meyerhenke

Vorlesung 2 KÜRZESTE WEGE

10. Übung Algorithmen I

Algorithmen & Komplexität

Algorithmische Methoden zur Netzwerkanalyse

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87

Algorithmische Methoden zur Netzwerkanalyse

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

Netzwerkstatistiken. Informatik-Seminar Netzwerkanalyse : Kapitel 11 - Netzwerkstatistiken. Jean Botev (SS 2005)

6. Transitive Hülle. 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, )

15. Elementare Graphalgorithmen

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 11, Henning Meyerhenke

Das Problem des minimalen Steiner-Baumes

Kombinatorische Optimierung Vorlesung für den Bereich Diplom/Master Informatik

Algorithmische Methoden für schwere Optimierungsprobleme

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

9. November ZHK in dynamischen Graphen Zentralitäten. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 67

Grundbegriffe der Informatik

Kap. 6.6: Kürzeste Wege

Kombinatorische Optimierung

Kap. 6.6: Kürzeste Wege

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Algorithmen und Datenstrukturen 2

Kombinatorische Optimierung

Randomisierte Algorithmen

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Grundbegriffe der Informatik

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme

Kombinatorische Optimierung

Algorithmen II Vorlesung am

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Kombinatorische Optimierung

Single Source Sortest Path Negative Kreise All-Pair Shortest Path Problem Minimum Mean Cycle Zusammenfassung. Shortest Paths

Algorithmische Methoden zur Netzwerkanalyse

Algorithmen II Vorlesung am

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden für schwere Optimierungsprobleme

Kapitel 1: Motivation / Grundlagen Gliederung

Vorlesung 7 GRAPHBASIERTE BILDSEGMENTIERUNG

Maximale s t-flüsse in Planaren Graphen

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Grundlagen: Algorithmen und Datenstrukturen

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Algorithmen II Vorlesung am

Algorithmische Methoden zur Netzwerkanalyse

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

Effizienz von Algorithmen

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Master Informatik

Motivation Kap. 6: Graphen

Algorithmische Methoden der Netzwerkanalyse

Kombinatorische Optimierung

Theoretische Informatik 1

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke

Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Übung 2 Algorithmen II

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Transkript:

Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische Informatik nationales Algorithmische Forschungszentrum Methoden in der Helmholtz-Gemeinschaft zur Netzwerkanalyse www.kit.edu

Vorlesung 5 Programm des Tages: Besprechung Übungsblatt 1, Teil 2 Kürzeste Wege 2 Henning Meyerhenke, Institut für Theoretische Informatik

Inhalt Das Phänomen der kleinen Welt Schnelle Schätzung des s in großen ungerichteten Graphen 3 Henning Meyerhenke, Institut für Theoretische Informatik

Abstand und Definition Für einen Multigraphen 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 } ( von G) 4 Henning Meyerhenke, Institut für Theoretische Informatik

Abstand und Definition Für einen Multigraphen 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 } ( von G) Phänomen der kleinen Welt In vielen Netzwerken ist der klein, manchmal sogar konstant 4 Henning Meyerhenke, Institut für Theoretische Informatik

abschätzung Untere und obere Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) (1) Die Güte der Schranken hängt natürlich stark vom Knoten v ab! 5 Henning Meyerhenke, Institut für Theoretische Informatik

abschätzung Untere und obere Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) (1) 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 d G (u, v) = ecc G (u) für einen Knoten u, dann diam(g) = ecc G (v). (2) In solchen Graphen genügen zwei BFS! Bei irgendeinem Knoten u starten. Dann wiederholen bei einem Knoten v, der maximale Distanz von u hat. 5 Henning Meyerhenke, Institut für Theoretische Informatik

abschätzung Untere und obere Schranken Lemma Sei T ein Spannbaum von G. Dann gilt: diam(g) diam(t ). (3) 6 Henning Meyerhenke, Institut für Theoretische Informatik

abschätzung Untere und obere Schranken Lemma Sei T ein Spannbaum von G. Dann gilt: diam(g) diam(t ). (3) Schranken kombinieren Alle Schranken sind mit BFS zu berechnen Abwechselnd untere und obere Schranken verbessern Bei zufälligem Knoten starten oder Heuristik anwenden 6 Henning Meyerhenke, Institut für Theoretische Informatik

Überlegungen zur Implementierung Iterieren der Schranken In ungerichteten Graphen: ecc G (v) diam(g) 2 ecc G (v) (1) Für Bäume (und bestimmte andere Graphklassen) gilt: Wird v so gewählt, dass d G (u, v) = ecc G (u) für einen Knoten u, dann diam(g) = ecc G (v) (2) Sei T ein Spannbaum von G. Dann gilt: diam(g) diam(t ) (3) Abbruch, wenn der Unterschied D D < p oder (D D)/D < p für einen geeigneten Schwellwert (z. B. p = 5) Berechnung in riesiger ZHK 7 Henning Meyerhenke, Institut für Theoretische Informatik

Pseudocode Algorithm 1 Abschätzung des s 1: function ESTIMATEDIAMETER(G = (V, E), k) 2: while not converged do 3: /* try to improve lower bound */ 4: Compute ecc G (v) for suitable (e. g. random) v with BFS 5: Update D according to ecc G (v) 6: /* try to improve upper bound */ 7: Compute BFS tree T rooted at unused high-degree node u 8: Compute diam(t ) 9: Update D according to diam(t ) 10: end while 11: return (D, D) 12: end function 8 Henning Meyerhenke, Institut für Theoretische Informatik

Fazit ist längster kürzester Weg über alle Knotenpaare gesehen Exakte Berechnung hat mindestens quadratische Laufzeit wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) 9 Henning Meyerhenke, Institut für Theoretische Informatik

Fazit ist längster kürzester Weg über alle Knotenpaare gesehen Exakte Berechnung hat mindestens quadratische Laufzeit wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) Abschätzen des s für große Graphen BFS ist wesentliche Komponente 9 Henning Meyerhenke, Institut für Theoretische Informatik

Fazit ist längster kürzester Weg über alle Knotenpaare gesehen Exakte Berechnung hat mindestens quadratische Laufzeit wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) Abschätzen des s für große Graphen BFS ist wesentliche Komponente 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. 9 Henning Meyerhenke, Institut für Theoretische Informatik

Inhalt Das Phänomen der kleinen Welt Schnelle Schätzung des s in großen ungerichteten Graphen 10 Henning Meyerhenke, Institut für Theoretische Informatik

Einführung und Motivation kann nun abgeschätzt werden Exakte Berechnung z. B. durch paarweise Abstände möglich 11 Henning Meyerhenke, Institut für Theoretische Informatik

Einführung und Motivation kann nun abgeschätzt werden Exakte Berechnung z. B. durch paarweise Abstände möglich auch anderweitig hilfreich Paarweise kürzeste Wege ebenfalls von Interesse 11 Henning Meyerhenke, Institut für Theoretische Informatik

Einführung und Motivation kann nun abgeschätzt werden Exakte Berechnung z. B. durch paarweise Abstände möglich auch anderweitig hilfreich Paarweise kürzeste Wege ebenfalls von Interesse Frage: Welche Beispielanwendungen fallen Ihnen ein? 11 Henning Meyerhenke, Institut für Theoretische Informatik

Beispiel Eingabe: Gewichteter Graph G = (V, E) Ausgabe: Für jedes Knotenpaar (u, v) V V die Distanz von u nach v 12 Henning Meyerhenke, Institut für Theoretische Informatik

Beispiel All Pairs Shortest Path (APSP) Eingabe: Gewichteter Graph G = (V, Eingabe: Gewichteter Graph G=(V,E) E) Ausgabe: Für jedes Knotenpaar (u, v) V V die Distanz von u Ausgabe: nach v Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e f a 0 1 5 5 10 9 b 0 4 5 10 9 c -3 0 1 6 5 d -4 0 0 5 4 e 5 8 9 0-1 f 0 a 2 5 b -4 d 4 1 6 5 8 c e 7-1 f 23.10.2009 Vorl. GA (2): APSP 2 12 Henning Meyerhenke, Institut für Theoretische Informatik

Floyd-Warshall-Algorithmus Matrix W = (w ij ), die Graph repräsentiert: 0 i = j w ij = ω(i, j) i = j und (i, j) E i = j und (i, j) / E d (k) ij : Länge eines kürzesten i-j-pfads mit Knoten aus {1,..., k} 13 Henning Meyerhenke, Institut für Theoretische Informatik

Floyd-Warshall-Algorithmus Matrix W = (w ij ), die Graph repräsentiert d (k) ij : Länge eines kürzesten i-j-pfads mit Knoten aus {1,..., k} 1: function FLOYD-WARSHALL(W, n) 2: D (0) W 3: for k 1..n do 4: for i 1..n do 5: for j 1..n do 6: d (k) 7: end for 8: end for 9: end for 10: return D (n) 11: end function ij min{d (k 1) ij, d (k 1) ik + d (k 1) kj } 13 Henning Meyerhenke, Institut für Theoretische Informatik

Floyd-Warshall-Algorithmus Anmerkungen 1: function FLOYD-WARSHALL(W, n) 2: D (0) W 3: for k 1..n do 4: for i 1..n do 5: for j 1..n do 6: d (k) 7: end for 8: end for 9: end for 10: return D (n) 11: end function ij min{d (k 1) ij, d (k 1) ik + d (k 1) kj } Kubische Laufzeit Kürzeste Wege lassen sich ohne großen Aufwand mitberechnen Hausaufgabe: Ausführen am Beispiel 14 Henning Meyerhenke, Institut für Theoretische Informatik

und Matrixmultiplikation Wesentliche Zeile im FW-Algo: d (k) ij Seien D, W R n n. Dann: (D W ) ij = min{d (k 1) ij, d (k 1) ik + d (k 1) kj } n D ik W kj k=1 Ersetze nun durch + und + durch min. Dann gilt für D, W (R { }) n n : (D W ) ij = min 1 k n {D ik + W kj } 15 Henning Meyerhenke, Institut für Theoretische Informatik

und Matrixmultiplikation Wesentliche Zeile im FW-Algo: d (k) ij Seien D, W R n n. Dann: (D W ) ij = min{d (k 1) ij, d (k 1) ik + d (k 1) kj } n D ik W kj k=1 Ersetze nun durch + und + durch min. Dann gilt für D, W (R { }) n n : (D W ) ij = min 1 k n {D ik + W kj } Idee: Berechne D n 1 durch fortgesetzte Matrixmultiplikation D (1) = W, D (2) = W 2 = W W, D (4) = W 4 = W 2 W 2,... D (2 log(n 1) ) = W 2 log(n 1) = W 2 log(n 1) 1 W 2 log(n 1) 1 15 Henning Meyerhenke, Institut für Theoretische Informatik

Algorithmus Pseudocode 1: function MMAPD(weight matrix W ) 2: D (1) W 3: m 1 4: while (m < n 1) do 5: D (2m) MATRIX- MULTIPLY(D (m), D (m) ) 6: m 2m 7: end while 8: return D (m) 9: end function 1: function MATRIXMULTIPLY(matrices A, B) 2: for i 1..n do 3: for j 1..n do 4: C ij 5: for k 1..n do 6: C ij = min{c ij, A ik + B kj } 7: end for 8: end for 9: end for 10: return C 11: end function 16 Henning Meyerhenke, Institut für Theoretische Informatik

Algorithmus Diskussion Laufzeit des Algorithmus MMAPD: O(MATMULT(n) log n) MATMULT(n): Zeit für Multiplikation von zwei n n-matrizen 17 Henning Meyerhenke, Institut für Theoretische Informatik

Algorithmus Diskussion Laufzeit des Algorithmus MMAPD: O(MATMULT(n) log n) MATMULT(n): Zeit für Multiplikation von zwei n n-matrizen Nachteil: Keine implizite Darstellung der kürzesten Wege Dazu wären alle Matrizen D (1),..., D (m) notwendig Dann stiege die Laufzeit auf O(MATMULT(n) n) :-( 17 Henning Meyerhenke, Institut für Theoretische Informatik

Algorithmus Diskussion Laufzeit des Algorithmus MMAPD: O(MATMULT(n) log n) MATMULT(n): Zeit für Multiplikation von zwei n n-matrizen Nachteil: Keine implizite Darstellung der kürzesten Wege Dazu wären alle Matrizen D (1),..., D (m) notwendig Dann stiege die Laufzeit auf O(MATMULT(n) n) :-( Bald: Lösung von APSP (mit Pfaden) in Zeit O(MATMULT(n) log 2 n) für ungewichtete, ungerichtete Graphen (randomisiert) 17 Henning Meyerhenke, Institut für Theoretische Informatik