Netzwerkstatistiken 1
Übersicht - Motivation - Gradbasierte Statistiken - Abstandsbasierte Statistiken - Anzahl kürzester Pfade - Verzerrung - Clustering-Koeffizient und Transitivität - Netzwerkstatistik-Typen 2
Motivation Aufgrund der Größe komplexer Netzwerke ist es notwendig, wesentliche Merkmale von Knoten und Kanten, Regionen oder auch dem ganzen Graph beschreiben zu können. Das geschieht mithilfe von Netzwerkstatistiken, d.h. einzelner oder einer Folge von Kennzahlen, die die benötigten Informationen in kompakter Form liefern. Eine Netzwerkstatistik... sollte grundlegende Eigenschaften eines Netzwerks beschreiben. sollte zwischen verschiedenen Netzwerkklassen unterscheiden. könnte für Algorithmen und Anwendungen nützlich sein. 3
1. Gradbasierte Statistiken Der Knotengrad ist die gängigste und von der Berechnung her einfachste Netzwerkstatistik. Der Knotengrad selbst kann schon Kennzahl für Verbindungsstärke (Ausgangsgrad oder Relevanz (Eingangsgrad eine Knotens sein. Normalerweise betrachtet man jedoch entweder alle, oder eine Teilmenge von Knoten eines bestimmten Grades. In einem ungerichteten Zufallsgraph G n,p ist der erwartete Teil von Knoten mit Grad k n 1 k n 1 k (Binomialverteilung k p (1 bei geringer Knotenanzahl n, und bei großen n ungefähr p k ( np np (Poisson-Verteilung k! e 4
1. Gradbasierte Statistiken In vielen "natürlich vorkommenden" Graphen scheinen die Knotengrade jedoch einem Potenz-Gesetz zu folgen: ck γ mit γ > 0 und c > 0. Beispiele für Graphen bzw. Netzwerke, deren Gradverteilungen einem solchen Potenz-Gesetz folgen, sind: - Der Actor-Collaboration-Graph - Das World Wide Web - Die Stromversorgung der U.S.A. - Das Internet (Router und autonome Systeme ( γ = 2,3 ( γ 2,3, γ in ( γ 4 ( γ 2,2 out 2,72 5
2. Abstandsbasierte Statistiken Eine andere grundlegende, aber in der Berechnung aufwändigere, Netzwerkstatistik ist der Abstand zwischen zwei Knoten: d( u, v := min { P P ist ein Pfad von u nach v } Die Anordnung der Abstände führt zu einer VxV-Matrix D, der Abstandsmatrix, deren Zeilen und Spalten mit den Knoten des Graphen indiziert werden, so daß in Zeile u und Spalte v die Distanz d(u,v steht: D ( d( u, v u v V =, Ist die Abstandsmatrix eines Graphen bekannt, lassen sich die meisten abstandsbasierten Statistiken in Zeit O(n² berechnen. 6
2.1 Durchschnittlicher / Charakteristischer Abstand Der durchschnittliche / charakteristische Abstand arithmetische Mittel aller Abstände im Graph: 1 d = d( u, v 2 V V u v V d ist das Für nicht zusammenhängende Graphen ist d =. Deswegen kann es nützlich sein, sich auf die vorhandenen Kanten zu beschränken. Dies führt zum durchschnittlich zusammenhängenden Abstand: 1 d = d( u, v, k = # Kanten e = ( u, v mit u v. k u v V 0< d ( u, v < Mithilfe der Abstandsmatrix D kann der durchschnittliche Abstand in Zeit O(n² berechnet werden. 7
2.2 Radius, Durchmesser und Exzentrizität Die Exzentrizität ε(u eines Knotens ist der maximale Abstand dieses Knotens zu einem anderen: ε ( u : = max d ( u, v v V { } Der Radius rad(g eines Graphen G ist die minimale Exzentrizität aller Knoten: rad( G : = min ε ( u u V { } Der Durchmesser diam(g eines Graphen G ist der maximale Abstand zweier Knoten in G : diam( G : { d ( u, v u v V } = max, Wie schon die durchschnittlichen Abstände kann man Exzentrizität und Durchmesser mit der Distanzmatrix D in Zeit O(n² berechnen. 8
2.3 Nachbarschaften Die h-nachbarschaft Neigh h (v eines Knotens v ist die Menge aller Knoten u mit Abstand kleiner gleich h zu v : Neigh h { u V d( v, u h } ( v : = Die Größen der h-nachbarschaften liefern die parametrisierte Kennzahl: N( v, h : = Neigh ( v h Die durchschnittliche h-nachbarschaft Neigh(h ist wie folgt definiert: Neigh ( h : = 1 n v V N(v,h 9
2.3 Nachbarschaften Der (absolute Hop-Plot P(h eliminiert die Abhängigkeit vom Knoten: P ( h 2 { ( u, v V d( u, v h } : = = v V N(v,h Der (relative Hop-Plot p(h ist der wahrscheinliche Anteil Paare mit Abstand kleiner gleich h: p h P( h ( : = = n 2 n 1 2 v V N(v,h Absoluter und relativer Hop-Plot, sowie die Nachbarschaftsgrößen, lassen sich auch mittels Distanzmatrix D in Zeit O(n² berechnen. 10
2.4 Effektive Exzentrizität / Effektiver Durchmesser Die effektive Exzentrizität ε eff (v,r eines Knotens bezeichnet den minimalen Abstand dieses Knotens zu einem bestimmten Teil anderer: ε eff ( v, r : { h N ( v, h rn } = min Der effektive Durchmesser diam eff (r macht dasselbe, ohne jedoch einen konkreten Ursprungsknoten anzugeben: diam eff ( r : 2 { h P(h rn } = { h p(h r } = min min Sind N und P bekannt, kann man die effektive Exzentrizität und den effektiven Durchmesser in Zeit O(log diam(g berechnen. 11
2.5 Algorithmen - Distanzmatrixberechnung Die Distanzmatrix enthält die Lösungen des Kürzeste-Wege-Problems für jeweils alle Knotenpaare in einem Graphen. Für Graphen mit beliebig gewichteten Kanten ist dieses Problem NP-hart. In Graphen ohne negative Zyklen kann das Kürzeste-Wege-Problem jedoch in polynomieller Zeit gelöst werden durch: - Matrixmultiplikation: O(n³logn - SSSP (n-mal: O(n²m [Bellman-Ford] Nicht-negative Kanten: O(n²logn+nm [Dijkstra] Ungewichtete Graphen: O(n²m [BFS] - APSP: O(n³ [Floyd-Warshall] 12
2.6 Algorithmen - ANF Der ANF-Algorithmus berechnet näherungsweise für alle Knoten u die Anzahl N(u,h der Knoten mit höchstens Abstand h zu u. Ansatz: Neigh h { v d( u, v h } ( u : = läßt sich auch wie folgt beschreiben: Neigh h ( u = Neigh U h 1 ( u Neigh ( v h 1 ( u, v E Idee: Stelle die Mengen Neigh h (u durch einzelne Bitmasken dar. entspricht dann OR. 13
2.6 Algorithmen - ANF 14
3. Anzahl kürzester Wege Eine mit dem Abstand eng verbundene Kennzahl ist die Anzahl c(u,v unterschiedlicher kürzester Wege zwischen zwei Knoten: c ( u, v : = { P P ist ein kürzester Pfad von u nach v} Berechnung erfolgt durch modifizierte Floyd-Warshall, Dijkstra. Außerdem läßt sich mithilfe von c(u,v auch die Anzahl c(e unterschiedlicher kürzester Wege, die eine Kante e=(u,v beinhalten berechnen: c ( e : = = { P P ist ein kürzester Pfad, der e enthält } d(u',v' = d(u',u + 1+ d(v,v' c( u', u c( v, v' 15
4. Verzerrung Betrachtet man einen Spannbaum T von G=(V,E - also einen azyklischen, zusammenhängenden Subgraphen von G, der alle Knoten v V enthält - so ist die Verzerrung D(T von T definiert durch die durchschnittliche Länge von Pfaden in T zwischen adjazenten Knoten in G: D( T : = 1 E { u, v} E d T (u,v Hierbei bezeichnet d T (u,v den Abstand von u zu v in T. Die globale Verzerrung D(G eines Graphen G ist die minimale Verzerrung aus allen Spannbäumen von G: { D( T T ist ein Spannbaum G } D ( G : = min von 16
5. Clustering-Koeffizient und Transitivität Für einen Knoten v repräsentiert der Clustering-Koeffizient c(v die Wahrscheinlichkeit, daß zwei Nachbarn von v verbunden sind. Der Clustering-Koeffzient C(G eines Graphen G ist das Mittel der Clustering-Koeffizienten aller Knoten des Graphen. Der Clustering-Koeffizient C(G ist ein weit verbreiteter Index bei der Analyse von Netzwerken. Als Alternative dazu wurde die Transitivität eingeführt, die jedoch nicht äquivalent zum Clustering-Koeffizienten ist. 17
5. Clustering-Koeffizient und Transitivität Sei G ein ungerichteter Graph. Ein Dreieck ={V,E } ist ein vollständig zusammenhängender Teilgraph von G mit genau drei Knoten. λ(g bezeichne die Anzahl von Dreiecken eines Graphen G, und entsprechend sei die Anzahl von Dreiecken eines Knotens wie folgt definiert: λ( { v } v : = V 1 ( also λ( G = λ( v 3 v V 18
5. Clustering-Koeffizient und Transitivität Ein Tripel ist ein Teilgraph von G mit drei Knoten und zwei Kanten. Ein Tripel heißt ein Tripel am Knoten v, falls die beiden Kanten des Tripels inzident zu v sind. Somit kann die Anzahl der Tripel an einem Knoten v abhängig von seinem Grad d(v definiert werden als: τ ( v : = d ( v 2 = d( v 2 d( v 2 τ ( G : τ ( v Die Anzahl Tripel für den ganzen Graphen ist =. v V 19
5. Clustering-Koeffizient und Transitivität Beispiel (Dreieck, Tripel: 20
5. Clustering-Koeffizient und Transitivität Mithilfe dieser Begriffe läßt sich der Clustering-Koeffizient eines Knotens v mit τ(v 0 nun definieren als: ( ( ( : v v v c τ λ = Für den ganzen Graphen G und definiert man den Clustering-Koeffizienten wie folgt: = ' ( 1 ( ' : V v v c G C V { } 2 ( ' = v d V v V Die Transitivität eines Graphs ist definiert als: ( ( 3 ( : G G G T τ λ = 21
5.1 Beziehung zwischen C und T G: Clustering-Koeffizienten: a d c b ( 83 0, 3 4 2 4 1 1 3 2 ( ( ( ( ( + = = = = = G C d c b c c c a c Transitivität: 0,75 8 2 3 ( = = G T 22
5.1 Beziehung zwischen C und T G: Familie von Graphen mit: T ( G 0, C( G 1, 1 2 3 n für n. 23
5.1 Beziehung zwischen C und T Die folgende Gleichung von Bollobás und Riordan zeigt eine formale Beziehung zwischen Transitivität und Clustering- Koeffizient: T ( G : = v V ' τ ( v c( v v V ' τ ( v Die Transitivität eines Graphen ist demnach gleich dem durch die Anzahl der Tripel gewichteten Clustering-Koeffizienten. Somit kann die Transitivität T(G unter Umständen dem Clustering-Koeffizienten C(G entsprechen, etwa falls alle Knoten den selben Grad haben oder alle ihre Clustering-Koeffizienten gleich sind. 24
5.2 Berechnung Um die Clustering-Koeffizienten zu berechnen, benötigt man sowohl die Anzahl von Tripeln (τ(g und Dreiecken (λ(g in einem Graph. Erstere läßt sich in Linearzeit berechnen, die Bestimmung der Dreiecksanzahl ist jedoch aufwändiger: Erster Ansatz (Standardmethode Iteriere über alle Knoten, um dann jeweils zu testen, ob es eine Kante zwischen beliebigen zwei Nachbarn gibt. 2 O ( d = max{ d( v v V } nd max Laufzeit:, wobei max Zweiter Ansatz (Matrixmultiplikation Ist A die Adjazenzmatrix des Graphen G, so enthalten die Elemente in der Diagonalen der Matrix A³ gerade die doppelte Anzahl der Dreiecke des entsprechenden Knotens. Laufzeit: O( n γ, wobei γ der Matrix-Multiplikations- Koeffizient ist. Derzeit: γ 2,376. 25
5.2 Berechnung (AYZ Dritter Ansatz (Algorithmus von Alon, Yuster uns Zwick Grundidee: Teile V in zwei Mengen von Knoten mit niedrigem bzw. hohem Grad V low = { v V : d( v β }, V high = V \ V low, wobei β = m γ-1 γ + 1, und nutze die Standardmethode zur Berechnung der Dreiecke bei den Knoten mit niedrigem Grad, jedoch schnelle Matrixmultiplikation bei den Knoten hohen Grades. Der AYZ-Algorithmus läßt sich so implementieren, daß er in Zeit 2γ ( γ + 1 1,41 O ( m bzw. O( m die Dreiecke λ(v aller Knoten berechnet. Im Vergleich zu den ersten beiden Ansätzen ist dies vor allem eine Verbesserung bei Graphen mit wenigen Kanten. 26
5.2 Berechnung (AYZ 27
5.2 Berechnung (AYZ Vollständige Fallunterscheidung Korrektheit. 27
5.2 Berechnung (AYZ Lineare Zeit. 27
5.2 Berechnung (AYZ Konstante Zeit. Zudem: d ( v v V 2 Hauptschleife in 2 γ ( γ + 1 O( m mβ 27
5.2 Berechnung (AYZ Zu zeigen: O( n γ high O( m 2 γ ( γ + 1 "Hand-Shaking"-Lemma v V d( v = 2m n high β 2m n high 2m 2 ( γ + 1 27
6. Netzwerkstatistik-Typen Eine globale verteilte Statistik weist jedem Graph einer Klasse mehrere parameterabhängige Werte zu. Eine lokale einwertige Statistik weist einzelnen Graphelementen (Knoten, genau einen Wert zu. Globale Statistik vs. Lokale Statistik Einwertige Statistik vs. Verteilte Statistik Eine globale einwertige Statistik weist jedem Graph einer Klasse genau einen Wert zu. Eine lokale verteilte Statistik weist einzelnen Graphelementen parameterabhängige Werte zu. 28
6.1 Umwandlung der Statistik-Typen Reparametrisierung Global Einwertig Lokalisierung Globalisierung Lokal Einwertig Parameter- Eliminierung Lokalisierung Zählen Lokalisierung Globalisierung Global Verteilt Lokalisierung Globalisierung Lokal Verteilt Parameterreduktion Reparametrisierung Parameterreduktion Reparametrisierung 29
6.1 Umwandlung der Statistik-Typen Beispiel Globalisierung: Eliminiert die Abhängigkeit lokaler Statistiken von einzelnen Graphelementen etwa durch: - Maximumsbildung γ G := max { λ (x x X } G G - Minimumsbildung γ G := min { λ (x x X } G G - Summation γ : = G x X G λ G (x - Durchschnittsbildung γ G : = X 1 G x X G λ G (x 30
6.1 Umwandlung der Statistik-Typen Beispiel Parameter-Eliminierung: Verringert die Anzahl parameterabhängiger Werte durch: - Maximumsbildung λ G (x : = max G, { Λ (x t t P } - Minimumsbildung / Summation / Durchschnittsbildung - Projektion λ G(x t G (x : = Λ, 0 Beispiel Parameter-Reduktion: Verringert die Anzahl der Parameter (falls P = P xp : λ' G = max t'' P'' { Λ (x, t', t' } (x, t' : ' G 31
6.2 Visualisierung Absolute Eingangsgradverteilung (log. Maß nach WebBase-Crawl (2001. 32
6.2 Visualisierung Absolute Ausgangsgradverteilung (log. Maß nach WebBase-Crawl (2001. 33
6.2 Visualisierung Scatter-Plot (log. Maß Der Ein- und Ausgangsgrade nach WebBase-Crawl (2001 34
7. Quellenangabe U. Brandes, T. Erlebach (Eds: Network Analysis, 2005. Springer, Berlin. 34