Netzwerkstatistiken. Informatik-Seminar Netzwerkanalyse : Kapitel 11 - Netzwerkstatistiken. Jean Botev (SS 2005)

Ähnliche Dokumente
2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

Programmierkurs Python II

10. Übung Algorithmen I

Algorithmische Methoden zur Netzwerkanalyse

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Komplexe Netzwerke Gradverteilung der Knoten, Skalenfreiheit, Potenzgesetz

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Datenstrukturen und Algorithmen (SS 2013)

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87

Algorithmen & Komplexität

Mustererkennung: Graphentheorie

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

Algorithmische Methoden zur Netzwerkanalyse

9 Minimum Spanning Trees

ADS: Algorithmen und Datenstrukturen 2

Vorlesung 2 KÜRZESTE WEGE

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 10, Henning Meyerhenke

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Grundbegriffe der Informatik

Inhaltsverzeichnis. - Kurzer Überblick Seite ) Einleitung Seite ) Vorbereitungen Seite 2. - ungewichtete und ungerichtete Graphen Seite 2

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

9. November ZHK in dynamischen Graphen Zentralitäten. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 67

15. Elementare Graphalgorithmen

16. All Pairs Shortest Path (ASPS)

Informatik II, SS 2014

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 8, Henning Meyerhenke

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen 13

Graphalgorithmen II. Werner Sembach Werner Sembach Graphalgorithmen II / 22

6. Vorlesung. Power Laws Modell der bevorzugten Verbindung Small World-Phänomen und -Netze Watts-Strogatz Modell. Kompression des Web-Graphen

Vorlesung 2 KÜRZESTE WEGE

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1

ADS: Algorithmen und Datenstrukturen 2

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

Programmiertechnik II

Vorlesung Datenstrukturen

Algorithmen und Datenstrukturen

Programmiertechnik II

Betriebswirtschaftliche Optimierung

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Graphen. Theorie und Beispiele

Einheit 11 - Graphen

Effizienter Planaritätstest Vorlesung am

Grundlagen: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen 2

Betriebliche Optimierung

Effiziente Algorithmen I

Algorithmische Methoden zur Netzwerkanalyse

Lernmodul 7 Algorithmus von Dijkstra

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

Graphentheorie 2. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Kantenzüge Small-World Networks Humor SetlX

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Algorithmische Graphentheorie

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich

10 Kürzeste Pfade SSSP-Problem

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Algorithmische Methoden zur Netzwerkanalyse

Algorithmen und Datenstrukturen 2

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Teil III. Komplexitätstheorie

Gliederung. Algorithmen und Datenstrukturen II. Graphen: All-pairs shortest paths. Graphen: All-pairs shortest paths. Graphen: Kürzeste Pfade III

Beweis: Färbe jede Kante zufällig und unabhängig mit Ws 1 2. Ereignis A i : i-te Clique K (i), i = 1,..., ( n K (i)

Algorithmen und Datenstrukturen 2-1. Seminar -

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Informatik II, SS 2016

Von Aachen nach Halle...

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Algorithmische Graphentheorie

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, Henning Meyerhenke

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Seminar über Algorithmen Alexander Manecke

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

1 Pfade in azyklischen Graphen

Theoretische Informatik 1

Kochrezept für NP-Vollständigkeitsbeweise

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

1.Aufgabe: Minimal aufspannender Baum

Informatik II, SS 2016

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq

Routing Algorithmen. Begriffe, Definitionen

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

Teil 2: Graphenalgorithmen

Algorithmische Methoden zur Netzwerkanalyse

Transkript:

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