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 2, Wiederholung und
heutiges Thema
Knotengradverteilung:
“Wie viele Leute kenne ich?”
k -Kerne:
“Wie gut bin ich vernetzt?”
2
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Vorlesung 2, Wiederholung und
heutiges Thema
Knotengradverteilung:
“Wie viele Leute kenne ich?”
k -Kerne:
“Wie gut bin ich vernetzt?”
Heute: Clusterkoeffizienten:
“Der Freund meines Freundes ist mein Freund”
2
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Inhalt
Eigenschaften von Netzwerken
k -Kern-Zerlegung
Struktur der k -Kern-Zerlegung
Berechnung der k -Kern-Zerlegung
Cluster-Koeffizienten
Grundlagen
Lokaler CK
Berechnung der Koeffizienten
3
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
k -Kern-Zerlegung
Struktur der Kernzerlegung
Obere und untere Schranken
Lemma
Sei G = (V , E ) ein Graph,
(V0 , . . . , Vk ) seine Kern-Zerlegung und
Gi := (Vi , Ei ) := G [Vi ] sein i-Kern.
Sei ni := |Vi \Vi +1 | die Anzahl der Knoten in der i-Schale.
Sei mi := |Ei \Ei +1 | die Anzahl der Kanten, die zu einem Knoten mit
Kernzahl i und zu einem Knoten mit Kernzahl j ≥ i inzident sind.
Per Definition: Vk +1 := ∅, Ek +1 := ∅.
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
k -Kern-Zerlegung
Struktur der Kernzerlegung
Obere und untere Schranken
Lemma
Sei ni := |Vi \Vi +1 | die Anzahl der Knoten in der i-Schale.
Sei mi := |Ei \Ei +1 | die Anzahl der Kanten, die zu einem Knoten mit
Kernzahl i und zu einem Knoten mit Kernzahl j ≥ i inzident sind.
Per Definition: Vk +1 := ∅, Ek +1 := ∅.
Dann lässt sich die Größe der i-Schale beschränken durch:
d i ·2ni e
(n2i ) + ni (i
− ni + 1 )
, if ni > i
, if ni ≤ i
0≤
)
≤
ni ≤ | V |
(
i · ni
mi ≤
i · ni −
(1)
, if i < k
i (i +1)
2
, if i = k
(2)
Beweis: Siehe Tafel!
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
k -Kern-Zerlegung
Algorithmus zur Berechnung der k -Kern-Zerlegung
Algorithm 1 Berechnung der Kernzerlegung eines Graphen
1: function C ORE D ECOMPOSITION(G = (V , E ))
2:
Output: Kernzahl k des Kerns von G und Feld core mit Kernzahl jedes
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
5
Knotens
Speichere die Knotengrade für alle Knoten in degree
i←1
while V 6= ∅ do
for each v ∈ V mit degree [v ] < i do
core [v ] ← i − 1
for each u ∈ N (v ) do
degree [u ] ← degree [u ] − 1
end for
Entferne v aus G
end for
i ← i +1
end while
return (i − 1, core )
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
k -Kern-Zerlegung
Beispiel
[Baur et al., 2008]
6
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
k -Kern-Zerlegung
Laufzeit
Theorem
Sei G = (V , E ) mit |E | = m zusammenhängend und ungewichtet.
Der Algorithmus C ORE D ECOMPOSITION kann in
Laufzeit O(m )
implementiert werden.
Beweis: Siehe Tafel und Skript!
7
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
k -Kern-Zerlegung
Fazit k -Kern-Zerlegung
Die k -Kernstruktur gibt ein Maß an, das robuster ist als der
Knotengrad zur Bestimmung der Verbindung eines Knotens zum Rest
des Graphen
Lemmas beleuchten Größe der i-Schalen
Algorithmische Definition führt zu Algorithmus, der die Struktur
berechnet
8
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
k -Kern-Zerlegung
Inhalt
Eigenschaften von Netzwerken
k -Kern-Zerlegung
Struktur der k -Kern-Zerlegung
Berechnung der k -Kern-Zerlegung
Cluster-Koeffizienten
Grundlagen
Lokaler CK
Berechnung der Koeffizienten
9
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Cluster-Koeffizient
Einführung
Fragestellung
Ihnen gibt jemand einen Graphen und behauptet, es sei ein soziales
Netzwerk.
Sie möchten die Behauptung überprüfen.
Welche Analyse-Möglichkeiten fallen Ihnen dazu bereits ein?
10
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Cluster-Koeffizient
Einführung
Fragestellung
Ihnen gibt jemand einen Graphen und behauptet, es sei ein soziales
Netzwerk.
Sie möchten die Behauptung überprüfen.
Welche Analyse-Möglichkeiten fallen Ihnen dazu bereits ein?
Hinweis: Erwarten Sie relativ viele oder relativ wenige Dreiecke im
Netzwerk?
10
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Cluster-Koeffizient
Einführung
Fragestellung
Ihnen gibt jemand einen Graphen und behauptet, es sei ein soziales
Netzwerk.
Sie möchten die Behauptung überprüfen.
Welche Analyse-Möglichkeiten fallen Ihnen dazu bereits ein?
Hinweis: Erwarten Sie relativ viele oder relativ wenige Dreiecke im
Netzwerk?
Aufgabe: Formalisierung dieses Konzeptes
10
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Cluster-Koeffizient
Beschreibung
Der Cluster-Koeffizient misst die durchschnittliche Wahrscheinlichkeit,
dass zwei Nachbarn desselben Knotens zueinander benachbart sind.
⇒ Maß für die Dichte von Dreiecken im Netzwerk
11
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Cluster-Koeffizient
Beschreibung
Der Cluster-Koeffizient misst die durchschnittliche Wahrscheinlichkeit,
dass zwei Nachbarn desselben Knotens zueinander benachbart sind.
⇒ Maß für die Dichte von Dreiecken im Netzwerk
Gleiche Netzwerktypen haben häufig ähnliche Koeffizienten
Unterschiedliche Netzwerktypen haben häufig unterschiedliche
Koeffizienten
Aber: Ausnahmen nicht so selten
11
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Cluster-Koeffizient
Beschreibung
Der Cluster-Koeffizient misst die durchschnittliche Wahrscheinlichkeit,
dass zwei Nachbarn desselben Knotens zueinander benachbart sind.
⇒ Maß für die Dichte von Dreiecken im Netzwerk
Gleiche Netzwerktypen haben häufig ähnliche Koeffizienten
Unterschiedliche Netzwerktypen haben häufig unterschiedliche
Koeffizienten
Aber: Ausnahmen nicht so selten
Beispiel in [Newman, S. 237]: Werte oft zwischen 0.1 und 0.6
⇒ Typische Wkt. dafür, dass gemeinsame Nachbarn zueinander
benachbart sind, liegt zwischen 10% und 60%.
11
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Cluster-Koeffizient
Definition
Definition
Der globale Cluster-Koeffizient C ist definiert als
C :=
12
3 · Zahl der (geschlossenen) Dreiecke
Zahl der zusammenhängenden Dreiergruppen
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Cluster-Koeffizient
Definition
Definition
Der globale Cluster-Koeffizient C ist definiert als
C :=
3 · Zahl der (geschlossenen) Dreiecke
Zahl der zusammenhängenden Dreiergruppen
Alternative Definition:
Definition
Der globale Cluster-Koeffizient C ist definiert als
C :=
12
6 · Zahl der (geschlossenen) Dreiecke
Zahl der kantendisjunkten Wege der Länge 2
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Beispiel
Siehe Tafel
13
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Beispiel
Siehe Tafel
13
(1, 2, 3)
(1, 2, 4)
(1, 2, 5)
(2, 3, 4)
(2, 3, 5)
(2, 3, 6)
(2, 4, 3)
(2, 4, 6)
(2, 5, 3)
(3, 2, 1)
(3, 2, 4)
(3, 2, 5)
(3, 4, 2)
(3, 4, 6)
(3, 5, 2)
(3, 6, 4)
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
(4, 2, 1)
(4, 2, 3)
(4, 2, 5)
(4, 3, 2)
(4, 3, 5)
(4, 3, 6)
(4, 6, 3)
(5, 2, 1)
(5, 2, 3)
(5, 2, 4)
(5, 3, 2)
(5, 3, 4)
(5, 3, 6)
(6, 3, 2)
(6, 3, 4)
(6, 3, 5)
(6, 4, 2)
(6, 4, 3)
⇒ 34 Wege der
Länge 2 (ohne
Zyklen)
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Bedeutung
Durchschnittliche Wahrscheinlichkeit, dass zwei Personen mit einem
gemeinsamen Freund auch befreundet sind.
→ C liegt im Intervall [0, 1].
Ist der Freund meines Freundes mein Freund?
→ Nicht unbedingt, aber viel wahrscheinlicher als jemand Zufälliges!
Bei C = 1: Alle zusammenhängenden Dreiergruppen bilden eine
Clique.
Frage: Wie hoch ist C in einem Baum?
14
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Diskussion
Soziale Netzwerke: C oft im zweistelligen Prozent-Bereich.
Bei technischen Netzwerken ist C häufig niedriger.
Bsp.: AS-Netzwerk hat nur ca. C = 0.01.
15
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Diskussion
Soziale Netzwerke: C oft im zweistelligen Prozent-Bereich.
Bei technischen Netzwerken ist C häufig niedriger.
Bsp.: AS-Netzwerk hat nur ca. C = 0.01.
Intuitive Signifikanz der Werte:
Annahme: Alle Knoten haben etwa Grad c
Annahme: Meine Freunde wählen ihre Freunde zufällig
→ Wkt., dass ein solcher Freund auch mein Freund ist, ist etwa c/n
15
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 Nachbarpaare von v , die benachbart sind
Zahl der Nachbarpaare von v
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.
16
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 Nachbarpaare von v , die benachbart sind
Zahl der Nachbarpaare von v
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.
Achtung, nicht verwechseln:
Manchmal wird der globale Cluster-Koeffizient anders definiert. Oder
er wird Transitivität genannt.
16
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Lokaler Cluster-Koeffizient
Anwendung
Interessant: Korreliert oft negativ mit Knotengrad.
Beurteilung der Häufigkeit struktureller Löcher
Bsp.: Bei vielen strukturellen Löchern hat man weniger
Routing-Alternativen.
Lokaler CK kann auch eine Art von Wichtigkeit des Knotens
ausdrücken.
Interessant: Niedrige Werte bedeuten dabei hohen Einfluss auf
Nachbarn!
In der Praxis häufig hohe Korrelation zwischen lokalem CK und
anderen Maßen zur Wichtigkeit eines Knotens!
17
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Berechnung des globalen CK
Definition (Wdh.: Globaler CK)
Der globale Cluster-Koeffizient C ist definiert als
C :=
3 · Zahl der (geschlossenen) Dreiecke
Zahl der zusammenhängenden Dreiergruppen
Zähler: Iteriere für jeden Knoten über Paare von Nachbarn und zähle
die verbundenen
Nenner: Iteriere über jeden Knoten v , akkumuliere (deg2(v ))
Pseudocode: Übung!
Interessant: Laufzeit hängt von der Gradverteilung ab!
18
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Approximation des CK
Siehe dazu:
Literaturhinweis
Thomas Schank, Dorothea Wagner: Approximating Clustering Coefficient
and Transitivity. Journal of Graph Algorithms and Applications,
9(2):265-275, 2005.
19
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Fazit Cluster-Koeffizienten
Cluster-Koeffizient gibt durchschnittliche Dichte von Dreiecken an
(global bzw. lokal)
Maß zur Bestimmung von Netzwerktypen mit bestimmten
Eigenschaften
Auch für gerichtete Graphen möglich bei geeigneter Abwandlung der
Definition
20
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Fazit Cluster-Koeffizienten
Cluster-Koeffizient gibt durchschnittliche Dichte von Dreiecken an
(global bzw. lokal)
Maß zur Bestimmung von Netzwerktypen mit bestimmten
Eigenschaften
Auch für gerichtete Graphen möglich bei geeigneter Abwandlung der
Definition
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
Approximationsalgorithmus: Deutlich bessere Laufzeit
20
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Eigenschaften von Netzwerken
Cluster-Koeffizienten
Herunterladen