Algorithmische Methoden zur Netzwerkanalyse - Juniorprof. Dr

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 5
Programm des Tages:
Besprechung Übungsblatt 1, Teil 2
Durchmesser
Kürzeste Wege
2
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Inhalt
Eigenschaften von Netzwerken
Durchmesser
Das Phänomen der kleinen Welt
Schnelle Schätzung des Durchmessers in großen ungerichteten Graphen
Eigenschaften von Knoten und Kanten
Paarweise Abstände
3
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
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 }
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
(Exzentrizität von v )
(Radius von G)
(Durchmesser von G)
Eigenschaften von Netzwerken
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)
Phänomen der kleinen Welt
In vielen Netzwerken ist der Durchmesser klein, manchmal sogar
konstant
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Durchmesser
Durchmesserabschätzung
Untere und obere Schranken
Offensichtlich (aber nur in ungerichteten Graphen):
eccG (v ) ≤ diam(G ) ≤ 2 · eccG (v )
(1)
Die Güte der Schranken hängt natürlich stark vom Knoten v ab!
5
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Durchmesser
Durchmesserabschätzung
Untere und obere Schranken
Offensichtlich (aber nur in ungerichteten Graphen):
eccG (v ) ≤ diam(G ) ≤ 2 · eccG (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 dG (u , v ) = eccG (u ) für einen Knoten u, dann
diam(G ) = eccG (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
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Durchmesser
Durchmesserabschätzung
Untere und obere Schranken
Lemma
Sei T ein Spannbaum von G. Dann gilt:
diam(G ) ≤ diam(T ).
6
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
(3)
Eigenschaften von Netzwerken
Durchmesser
Durchmesserabschä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
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Durchmesser
Überlegungen zur Implementierung
Iterieren der Schranken
In ungerichteten Graphen: eccG (v ) ≤ diam(G ) ≤ 2 · eccG (v )
(1)
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 )
(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 0 für
einen geeigneten Schwellwert (z. B. p = 5)
Berechnung in “riesiger” ZHK
7
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Durchmesser
Pseudocode
Algorithm 1 Abschätzung des Durchmessers
1: function E STIMATE D IAMETER(G = (V , E ), k )
2:
while not converged do
3:
/* try to improve lower bound */
4:
Compute eccG (v ) for suitable (e. g. random) v with BFS
5:
Update D according to eccG (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
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
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)
9
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
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
9
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
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
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
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Durchmesser
Inhalt
Eigenschaften von Netzwerken
Durchmesser
Das Phänomen der kleinen Welt
Schnelle Schätzung des Durchmessers in großen ungerichteten Graphen
Eigenschaften von Knoten und Kanten
Paarweise Abstände
10
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Paarweise Abstände
Einführung und Motivation
Durchmesser kann nun abgeschätzt werden
Exakte Berechnung z. B. durch paarweise Abstände möglich
11
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Paarweise Abstände
Einführung und Motivation
Durchmesser kann nun abgeschätzt werden
Exakte Berechnung z. B. durch paarweise Abstände möglich
Paarweise Abstände auch anderweitig hilfreich
Paarweise kürzeste Wege ebenfalls von Interesse
11
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Paarweise Abstände
Einführung und Motivation
Durchmesser kann nun abgeschätzt werden
Exakte Berechnung z. B. durch paarweise Abstände möglich
Paarweise Abstände auch anderweitig hilfreich
Paarweise kürzeste Wege ebenfalls von Interesse
Frage: Welche Beispielanwendungen fallen Ihnen ein?
11
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Paarweise Abstände
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
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Paarweise Abstände
All Pairs Shortest Path (APSP)
Beispiel
Eingabe: Gewichteter Graph G = (V , E )
• Eingabe:
Gewichteter Graph G=(V,E)
Ausgabe: Für jedes Knotenpaar (u , v ) ∈ V × V die Distanz von u
• Ausgabe:
Für jedes Paar von Knoten u,v∈V die Distanz
nach v
von u nach v sowie einen kürzesten Weg
a
b
c
d
e
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
23.10.2009
12
f
b
c
7
-4 1 6 8
a
Vorl. GA (2): APSP
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
4
2
f
-1
5
d 5
e
2
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Floyd-Warshall-Algorithmus
Matrix W = (wij ), die Graph repräsentiert:


0
wij = ω (i , j )


∞
i=j
i 6= j und (i , j ) ∈ E
i 6= j und (i , j ) ∈
/E
(k )
dij : Länge eines kürzesten i-j-Pfads mit Knoten aus {1, . . . , k }
13
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Floyd-Warshall-Algorithmus
Matrix W = (wij ), die Graph repräsentiert
(k )
dij : Länge eines kürzesten i-j-Pfads mit Knoten aus {1, . . . , k }
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
13
function F LOYD -WARSHALL(W , n)
D (0) ← W
for k ← 1..n do
for i ← 1..n do
for j ← 1..n do
(k )
(k −1) (k −1)
(k −1)
dij ← min{dij
, dik
+ dkj
}
end for
end for
end for
return D (n)
end function
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Floyd-Warshall-Algorithmus
Anmerkungen
1: function F LOYD -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
(k )
(k −1)
6:
dij ← min{dij
7:
end for
8:
end for
9:
end for
10:
return D (n)
11: end function
(k −1)
, dik
(k −1)
+ dkj
}
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
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Paarweise Abstände und
Matrixmultiplikation
(k )
Wesentliche Zeile im FW-Algo: dij
(k −1)
← min{dij
(k −1)
, dik
(k −1)
+ dkj
}
Seien D , W ∈ Rn×n . Dann:
n
(D · W )ij =
∑ Dik · Wkj
k =1
Ersetze nun · durch + und + durch min. Dann gilt für
D , W ∈ (R ∪ {∞})n×n :
(D ∗ W )ij = min {Dik + Wkj }
1≤k ≤n
15
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Paarweise Abstände und
Matrixmultiplikation
(k )
Wesentliche Zeile im FW-Algo: dij
(k −1)
← min{dij
(k −1)
, dik
(k −1)
+ dkj
}
Seien D , W ∈ Rn×n . Dann:
n
(D · W )ij =
∑ Dik · Wkj
k =1
Ersetze nun · durch + und + durch min. Dann gilt für
D , W ∈ (R ∪ {∞})n×n :
(D ∗ W )ij = min {Dik + Wkj }
1≤k ≤n
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 ,
dlog(n−1)e )
D (2
15
=
dlog(n−1)e
W2
=
dlog(n−1)e−1
W2
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
...
dlog(n−1)e−1
∗ W2
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Algorithmus
Pseudocode
1: function MM APD(weight
2:
3:
4:
5:
6:
7:
8:
9:
16
matrix W )
D (1) ← W
m←1
while (m < n − 1) do
D (2m) ← MATRIX M ULTIPLY(D (m) , D (m) )
m ← 2m
end while
return D (m)
end function
1: function MATRIX M ULTIPLY(matrices A, B)
2:
for i ← 1..n do
3:
for j ← 1..n do
4:
Cij ← ∞
5:
for k ← 1..n do
6:
Cij = min{Cij , Aik + Bkj }
7:
end for
8:
end for
9:
end for
10:
return C
11: end function
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Algorithmus
Diskussion
Laufzeit des Algorithmus MM APD: O( M AT M ULT (n) · log n)
M AT M ULT (n): Zeit für Multiplikation von zwei n × n-Matrizen
17
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Algorithmus
Diskussion
Laufzeit des Algorithmus MM APD: O( M AT M ULT (n) · log n)
M AT M ULT (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( M AT M ULT (n) · n) :-(
17
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Algorithmus
Diskussion
Laufzeit des Algorithmus MM APD: O( M AT M ULT (n) · log n)
M AT M ULT (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( M AT M ULT (n) · n) :-(
Bald: Lösung von APSP (mit Pfaden) in Zeit O( M AT M ULT (n) · log2 n)
für ungewichtete, ungerichtete Graphen (randomisiert)
17
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Knoten und Kanten
Paarweise Abstände
Herunterladen