Clusterkoeffizienten, Zusammenhang

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 3
Programm des Tages:
1. Teil Übungsblatt 1
Abschluss Clusterkoeffizienten
Zusammenhang
2
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Wiederholung
Abschluss k -Kern-Zerlegung
Kurze Vorstellung von NetworKit
Clusterkoeffizient
3
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Inhalt
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Zusammenhangskomponenten
Teilgraphen und Wege
Zusammenhang
Berechnung in statischen Graphen
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Globaler CK
Definition (Wdh.: Globaler CK)
Der globale Cluster-Koeffizient C ist definiert als
C :=
3 · Zahl der (geschlossenen) Dreiecke
Zahl der zusammenhängenden Dreiergruppen
Cluster-Koeffizient gibt durchschnittliche Dichte von Dreiecken an
Maß zur Bestimmung von Netzwerktypen mit bestimmten
Eigenschaften
5
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Lokaler Cluster-Koeffizient
Definition
Der lokale Cluster-Koeffizient eines Knotens v ist definiert als
C (v ) : =
Zahl der Dreiecke mit v
Zahl der Tripel (Pfade der Länge 2) mit v als zentralem Knoten
Der durchschnittliche lokale Clusterkoeffizient eines Graphen G ist
definiert als
1
Clocal (G ) :=
C (v )
| V 0 | v∑
∈V 0
Durchschnittliche Wkt., dass ein Paar von Nachbarn von v auch
benachbart ist.
Bei deg(v ) = 0 oder deg(v ) = 1 : C (v ) = 0 per def.
6
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Lokaler Cluster-Koeffizient
Anwendung
Interessant: Lokaler CK korreliert oft negativ mit Knotengrad.
Beurteilung der Häufigkeit struktureller Löcher
Viele strukturelle Löcher ⇒ weniger Routing-Alternativen
Lokaler CK kann Art von Wichtigkeit des Knotens ausdrücken
Interessant: Niedrige Werte bedeuten hohen Einfluss auf Nachbarn!
In der Praxis häufig hohe Korrelation zwischen lokalem CK und
anderen Maßen zur Wichtigkeit eines Knotens!
Achtung, global und lokal nicht verwechseln:
Manchmal wird der globale Cluster-Koeffizient anders definiert. Oder
er wird Transitivität genannt.
7
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Approximation des durchschnittlichen
lokalen CK
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
8
function A PPROXIMATE L OCAL CK(G = (V , E ), k )
l←0
for i ← 1 to k do
r ← UniformRandomNumber(1, |V 0 |)
u ← UniformRandomNeighbor(Ar )
repeat
w ← UniformRandomNeighbor(Ar )
until u 6= w
if {u , w } ∈ E then
l ← l +1
end if
end for
return l/k
end function
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Garantien zum Algorithmus
Theorem
Für einen ungerichteten Graphen G = (V , E ) kann
approx
ein Wert Clocal (G ) ∈ [Clocal (G ) − e, Clocal (G ) + e]
mit Wkt. mindestens
ν −1
ν
ν
in der erwarteten Zeit O( log
)
e2
berechnet werden.
Beweis.
Siehe Tafel!
9
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Approximation des globalen CK
Was ändert sich?
Was müssen wir beim Algorithmus noch beachten?
Beispiel: Siehe Tafel!
Daher: Gewichtsfunktion ω mit ω (v ) = Anzahl der Tripel (deg2(v )) mit v
Stichprobe richtet sich dann nach Anzahl der Tripel eines Knotens
10
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Approximation des globalen CK
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
11
function A PPROXIMATE G LOBAL CK(G = (V , E , ω ), k )
W ← PrefixSum(ω)
l←0
for i ← 1 to k do
r 0 ← UniformRandomNumber(1, W|V 0 | )
r ← FindIndex(r : Wr −1 < r 0 ≤ Wr )
u ← UniformRandomNeighbor(Ar )
repeat
w ← UniformRandomNeighbor(Ar )
until u 6= w
if {u , w } ∈ E then
l ← l +1
end if
end for
return l/k
end function
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Garantien zum Algorithmus
Theorem
Für einen ungerichteten Graphen G = (V , E )
approx
kann ein Wert Cglobal (G ) ∈ [Cglobal (G ) − e, Cglobal (G ) + e]
mit Wkt. mindestens
ν −1
ν
in der erwarteten Zeit O(n +
berechnet werden.
log ν
e2
· log n)
Beweis.
Präfixsumme der Gewichte: O(n)
Zufälligen Knoten mit passendem Sampling finden: O(log n)
Rest wie vorher
12
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Fazit CK
Laufzeit der exakten Berechnung des globalen CK mit naivem
2 )
Algorithmus abhängig von Knotengradverteilung: O (ndmax
Bester bekannter exakter Algorithmus: O ( MM (n)) mit MM ( N ) ≈ n2,376
Approximation des globalen CK in linearer Laufzeit (unter Annahmen)
Approximation des durchschnittlichen lokalen CK in Laufzeit
unabhängig von der Graphgröße
13
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Inhalt
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Zusammenhangskomponenten
Teilgraphen und Wege
Zusammenhang
Berechnung in statischen Graphen
14
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Teilgraph
Definition
Ein Multigraph G = (V , E ) enthält
einen Multigraphen G 0 = (V 0 , E 0 ), falls
V 0 ⊆ V und E 0 ⊆ E .
Wir nennen G 0 auch Teilgraph von G und schreiben G 0 ⊆ G.
Tafel: Teilgraph und induzierter Teilgraph
15
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Pfad und Kreis
Definition (Pfad, Kreis)
Ein [gerichteter] Weg oder Pfad der Länge k
ist ein Graph Pk = (V , E ) mit
V = {v1 , . . . , vk +1 } und
E = {(v1 , v2 ), . . . , (vk , vk +1 )},
wobei |E | = k . Wir nennen Pk auch einen (v1 , vk +1 )-Pfad.
Der Graph Ck = (V , E ∪ {(vk +1 , v1 )}) heißt
[gerichteter] Kreis der Länge k + 1.
16
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Beispiel
17
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Existenz eines Kreises
Theorem
Sei δ(G ) der minimale Knotengrad von G.
Jeder schlichte ungerichtete Graph G
enthält einen Pfad der Länge δ(G ) und,
falls δ(G ) ≥ 2, auch einen Kreis der Länge ≥ δ(G ) + 1.
Beweis.
Übung!
18
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Zusammenhang
Fragestellungen
Was bedeutet Zusammenhang graphentheoretisch?
Was sind Zusammenhangskomponenten?
Wie überträgt sich das auf reale, z.B. soziale, Netzwerke?
Warum kann es wichtig sein, die ZHK zu kennen?
19
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Zusammenhang
Definition
Definition
Ein gerichteter Multigraph G = (V , E ) heißt stark zusammenhängend,
falls er für jedes Paar (u , v ) ∈ E
sowohl einen (u , v )-Pfad
als auch einen (v , u )-Pfad
enthält.
G heißt schwach zusammenhängend,
wenn der symmetrische Multigraph (Kanten doppelt gerichtet)
zu G stark zusammenhängend ist.
20
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Beispiel
21
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Berechnung von ZHK
Frage:
Wie findet man (effizient) die ZHK?
22
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
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!
23
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
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
24
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
(1)
(2)
Eigenschaften von Netzwerken
Zusammenhangskomponenten
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 .
25
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Beispiel
26
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Zwischenfazit Zusammenhang
Wiederholung von Grundlagen aus der Graphentheorie
Teilgraph
Pfad, Kreis
Zusammenhang
Tiefensuche
Anwendung: Berechnen der starken ZHK
27
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Zusammenhangskomponenten
Herunterladen