2. November 2011
• Gradfolgen
• Zusammenhang
• Kürzeste Wege
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
37
Satz von Erdős und Gallai
Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge eines schlichten ungerichteten Graphen, wenn ≡ 0mod2
und für alle ∈
≔
1
∈
1
min
gilt
,
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
38
Beweis (Tafel)
Notwendigkeit
Betrachte Teilmengen der Knoten ,
Schätze Zahl der Kanten zwischen und ab
Hinlänglichkeit
Erweitere Teilrealisierung sukzessive
Betrachte kritischen Index
Fallunterscheidung
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
39
Satz von Havel und Hakimi
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
40
Algorithmus von Havel und Hakimi
Algorithm Havel‐Hakimi(
,…,
)
Eingabe: Realisierbare Gradfolge
Ausgabe: Graph mit Gradfolge 1. Init: ,…,
, ∅, , ∀ ∈
2. while (
, erfüllt nicht die Gradfolge ) do
3.
Sortiere L absteigend gemäß der ersten Komponente
4.
Verbinde .
in mit den nächsten .
Knoten in 5.
.
.
1 ∀ ∈ 2, … , .
1
6.
Entferne aus 7. return
,
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
41
Fazit Gradfolgen
Wir kennen jetzt Bedingungen für die Existenz eines
Graphen bei gegebener Gradfolge.
Wenn wir wissen, dass eine Gradfolge realisierbar ist, können wir dazu einen Graphen erstellen.
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
42
Beispiel für Power Law
Gradverteilung im afrikanischen Web
Zahl der URLs mit Eingangsgrad i ist proportional zu iα für eine Konstante α < 0
Quelle: http://www2002.org/CDROM/poster/164/
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
43
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
44
Teilgraph
Tafel: Teilgraph und induzierter Teilgraph
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
45
Weg und Kreis
Definition:
Ein (gerichteter) Weg der Länge ist ein
Graph mit
und wobei verlangt wird.
Wir nennen auch einen ‐Weg. Der Graph mit heißt (gerichteter) Kreis der Länge .
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
, 46
Beispiel zu Weg und Kreis
Weg der Länge 7
Kreis der Länge 7
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
47
Existenz
minimaler Knotengrad von H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
48
Kürzeste Wege
Def.: Sei ein gerichteter und gewichteter Graph G=(V,E) mit der Gewichtsfkt. w: E→R gegeben. Das Gewicht (Länge) eines Weges p = <v0, v1, …, vk> ist die Summe der Gewichte seiner Kanten:
k
w( p ) w(vi 1 , vi )
i 1
• Def.: Sei G=(V,E) wie oben. Das Gewicht eines kürzesten Weges p zwischen u,v V ist definiert als:
(u, v)
p
min{ w ( p ):u
v
: sonst
• Def.: Sei G=(V,E) wie in Def. 1.2. Ein kürzester Weg zwischen u,v V ist ein Weg p mit w(p) = (u,v).
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
49
All Pairs Shortest Path (APSP)
Eingabe: Gewichteter Graph G=(V,E)
Ausgabe: Für jedes Paar von Knoten u,vV die Distanz
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
4
b
f
c
2
7
-4 1 6 8
a
f
-1
5
d 5
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
e
50
Algorithmen für KW bzw. APSP
Welche kennen Sie?
Dijkstra (SSSP)
Bellman‐Ford (SSSP)
RIP (APSP‐Protokoll)
Außerdem:
Floyd‐Warshall (APSP)
Matrix‐Multiplikation (APSP)
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
51
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
52
Zusammenhang
Fragestellungen
Was bedeutet Zusammenhang?
Was sind Zusammenhangskomponenten?
Warum kann es wichtig sein, sie zu kennen?
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
53
Zusammenhang
Definition (Zusammenhang):
Ein Multigraph
heißt stark zusammenhängend, falls er für jedes Paar sowohl einen ‐Weg als auch einen enthält.
‐Weg heißt (schwach) zusammenhängend, wenn der symmetrische Multigraph (Kanten doppelt gerichtet) zu stark zusammenhängend ist.
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
54
Beispiel Zusammenhang
Stark zusammenhängend
Schwach zusammenhängend
Unzusammenhängend
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
55
Mehrfacher Zusammenhang
Ein ungerichteter Multigraph G heißt k‐fach (knoten)zusammenhängend, falls jeder durch Entfernen von höchstens k‐1 beliebigen Knoten (und aller inzidenten Kanten) entstehende Teilgraph von G zusammenhängend ist.
G heißt k‐fach kantenzusammenhängend, falls jeder durch Entfernen von höchstens k‐1 beliebigen Kanten entstehende Teilgraph von G zusammenhängend ist.
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
56
Komponenten
Definition (Komponenten):
Zu einem schlichten Multigraphen G heißt ein maximaler
stark
schwach
k‐fach
k‐fach kantenzushgd.
zusammenhängender Teilgraph
starke
schwache
k‐fache
k‐fach kantenzushängende
Zusammenhangskomponente.
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
57
Beispiel Starke ZHK
Quelle:
http://www.cs.berkeley.edu/~vazirani/s99cs170/notes/lec12.pdf
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
58
Fragestellungen
Wie findet man (effizient) Zusammenhangskomponenten?
Wie kann man Zusammenhangskomponenten
(alternativ) beschreiben?
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
59
Tiefensuche
Ist die Reihenfolge, in der die Knoten markiert werden, so heißt DFS( ) die DFS‐Nummer
von Die DFS‐Nummer DFS(
) = DFS( ) einer Kante sei die DFS‐Nummer des Knotens, von dem aus sie durchlaufen wird.
Wir definieren eine Tiefensuch(halb)ordnung auf durch:
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
60
Tiefensuche
Kantenklassifikation
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
61
Beispiel: Tiefensuche
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
62
Anwendung der Tiefensuche
Starke ZHK bestimmen
Praxisübung
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
63
ZHK in dynamischen Graphen
Ungerichteter schlichter dynamischer Graph
Dynamisch: Kanten werden eingefügt und gelöscht
Annahme: Skaleninvariantes Netzwerk
Aufgabe: Berechnung und kostengünstige Aktualisierung der ZHK
ZHK ist globale Eigenschaft
Einfacher Fall: Einfügen von Kanten
Schwieriger: Löschen von Kanten
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
64
Annahme: Skaleninvarianter Graph
Soziale Netzwerke (und weitere) sind oft skaleninvariant
Stark unterschiedliche Gradverteilung (power law)
Kleine maximale Distanz zwischen beliebigem Knotenpaar (Durchmesser)
Was bedeutet das für die Berechnung der ZHK?
Die meisten Änderungen innerhalb einer Komponente
Einfügungen verschmelzen meist kleine mit einer (der) großen Komponente
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
65
Problemfall: Löschungen
Komponenten werden nur selten getrennt
Erkenntnis: Der Tiefensuch‐Baum erleichtert einem die Arbeit!
Vorschläge?
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
66