Algorithmische Methoden zur Netzwerkanalyse Vorlesung 8, Henning Meyerhenke

Ähnliche Dokumente
Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

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

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 11, Henning Meyerhenke

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

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

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Theoretische Überlegungen zur Ausbreitung von Infektionserregern auf Kontaktnetzen. Hartmut Lentz, Maria Kasper, Ansgar Aschfalk und Thomas Selhorst

10. Übung Algorithmen I

Fortgeschrittene Netzwerk- und Graph-Algorithmen

8. Übung Algorithmen I

durch Einfügen von Knoten konstruiert werden kann.

Algorithmen II Vorlesung am

Algorithmische Methoden für schwere Optimierungsprobleme

Vorlesung 4 BETWEENNESS CENTRALITY

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 14, Henning Meyerhenke

Knotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E.

Breitensuche BFS (Breadth First Search)

Networks, Dynamics, and the Small-World Phenomenon

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Kombinatorische Optimierung

Kombinatorische Optimierung

9. Übung Algorithmen I

Netzwerkanalyse II. Übersicht. VL Forschungsmethoden. 1 Rollen, Positionen, Cluster Strukturelle Äquivalenz Cluster Blockmodels. 2 Beispiele.

Lokalisierung von inneren und äußeren Grenzen in Sensornetzwerken

Grundlagen: Algorithmen und Datenstrukturen

Algorithmische Graphentheorie

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Topological Fisheye Views for Visualizing Large Graphs

Algorithmen II Vorlesung am

Einführung in die Informatik 2

Synergien aus Graph-Theorie und Data-Mining für die Analyse von Netzwerkdaten

Vorlesung 2 KÜRZESTE WEGE

Algorithmen für Ad-hoc- und Sensornetze

Algorithmische Methoden zur Netzwerkanalyse

Kombinatorische Optimierung

Algorithmische Geometrie: Schnittpunkte von Strecken

Kombinatorische Optimierung

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Theoretische Grundlagen der Informatik

Algorithmische Methoden der Netzwerkanalyse

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Seminar Algorithmen für planare Graphen

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Algorithmentechnik - U bung 7 8. Sitzung Tanja Hartmann 04. Februar 2010

P, NP und NP -Vollständigkeit

Rolf Wanka Sommersemester Vorlesung

Kombinatorische Optimierung

Theoretische Grundlagen der Informatik

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Einheit 11 - Graphen

Andre Krischke. Helge Röpcke. Graphen und. Netzwerktheorie. Grundlagen - Methoden - Anwendungen. Mit 137 Bildern und zahlreichen Beispielen

2. Repräsentationen von Graphen in Computern

Hamiltonsche Graphen

UNABHÄNGIGER LASTEN. Vorlesung 9 BALANCIERUNG DYNAMISCHER. Graphenalgorithmen und lineare Algebra Hand in Hand

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

Berechnung von Abständen

Theoretische Grundlagen der Informatik

Dokument Klassifikation. Thomas Uhrig: Data-Mining SS10

Attached! Proseminar Netzwerkanalyse SS 2004 Thema: Biologie

Algorithmen II Vorlesung am

Relationen und DAGs, starker Zusammenhang

Tutorium 23 Grundbegriffe der Informatik (7. Sitzung)

Algorithmen und Datenstrukturen

Algorithmen für schwierige Probleme

9. Übung Algorithmen I

Programmiertechnik II

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Programmiertechnik II

4. Kreis- und Wegeprobleme

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Optimierung. Vorlesung 13

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Vorlesung Datenstrukturen

Minimal spannende Bäume

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen

Data Mining - Wiederholung

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Vorlesung Datenstrukturen

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Master Informatik

Mathematische Grundlagen III

Bemerkung: Der vollständige Graph K n hat n(n 1)

Notfalllogistik in Deutschland Modelle und Verfahren

Vorlesung Sicherheit

Maximale s t-flüsse in Planaren Graphen

Transkript:

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 8, 07.12.2011 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum Methoden in der Helmholtz-Gemeinschaft zur Netzwerkanalyse www.kit.edu

Inhalt Eigenschaften und Struktur von Netzwerken Cluster-Koeffizienten Grundlagen Abwandlungen Berechnung 2 Henning Meyerhenke:

Cluster-Koeffizient Einführung Fragestellung Ihnen gibt jemand einen Graphen und behauptet, es sei ein soziales Netzwerk. Welche Analyse-Möglichkeiten kennen Sie, die Behauptung zu überprüfen? Fallen Ihnen weitere Möglichkeiten ein? 3 Henning Meyerhenke:

Cluster-Koeffizient Einführung Fragestellung Ihnen gibt jemand einen Graphen und behauptet, es sei ein soziales Netzwerk. Welche Analyse-Möglichkeiten kennen Sie, die Behauptung zu überprüfen? Fallen Ihnen weitere Möglichkeiten ein? Hinweis: Erwarten Sie relativ viele oder relativ wenige Dreiecke im Netzwerk? 3 Henning Meyerhenke:

Cluster-Koeffizient Einführung Fragestellung Ihnen gibt jemand einen Graphen und behauptet, es sei ein soziales Netzwerk. Welche Analyse-Möglichkeiten kennen Sie, die Behauptung zu überprüfen? Fallen Ihnen weitere Möglichkeiten ein? Hinweis: Erwarten Sie relativ viele oder relativ wenige Dreiecke im Netzwerk? Aufgabe: Formalisierung dieses Konzeptes 3 Henning Meyerhenke:

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 4 Henning Meyerhenke:

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 4 Henning Meyerhenke:

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%. 4 Henning Meyerhenke:

Cluster-Koeffizient Definition Definition Der globale Cluster-Koeffizient C ist definiert als C := 3 Zahl der (geschlossenen) Dreiecke Zahl der zusammenhängenden Dreiergruppen 5 Henning Meyerhenke:

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 := 6 Zahl der (geschlossenen) Dreiecke Zahl der kantendisjunkten Wege der Länge 2 5 Henning Meyerhenke:

Beispiel Siehe Tafel 6 Henning Meyerhenke:

Beispiel Siehe Tafel (1, 2, 3) (4, 2, 1) (1, 2, 4) (4, 2, 3) (1, 2, 5) (4, 2, 5) (2, 3, 4) (4, 3, 2) (2, 3, 5) (4, 3, 5) (2, 3, 6) (4, 3, 6) (2, 4, 3) (4, 6, 3) (2, 4, 6) (5, 2, 1) (2, 5, 3) (5, 2, 3) (3, 2, 1) (5, 2, 4) (3, 2, 4) (5, 3, 2) (3, 2, 5) (5, 3, 4) (3, 4, 2) (5, 3, 6) (3, 4, 6) (6, 3, 2) (3, 5, 2) (6, 3, 4) (3, 6, 4) (6, 3, 5) (6, 4, 2) (6, 4, 3) 34 Wege der Länge 2 (ohne Zyklen) 6 Henning Meyerhenke:

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? 7 Henning Meyerhenke:

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. 8 Henning Meyerhenke:

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 8 Henning Meyerhenke:

Inhalt Eigenschaften und Struktur von Netzwerken Cluster-Koeffizienten Grundlagen Abwandlungen Berechnung 9 Henning Meyerhenke:

Gerichtete Graphen Definition In gerichteten Graphen: Eine Dreiergruppe ist geschlossen (bildet ein Dreieck), wenn gilt: u v, v w, u w Der Clustering-Koeffizient ergibt sich dann als: C = Zahl der gerichteten Wege der Länge 2, die geschlossen sind Zahl der gerichteten Wege der Länge 2 Wie vorhin: Kantendisjunkte Wege der Länge 2! Korrektur von mehrfach auftretenden Paaren hier nicht mehr notwendig! 10 Henning Meyerhenke:

Lokale Cluster-Koeffizienten 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. 11 Henning Meyerhenke:

Lokale Cluster-Koeffizienten 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: C und C(v) werden auch für die Notation der Nähezentralität verwendet. Manchmal wird der globale Cluster-Koeffizient anders definiert. Oder er wird Transitivität genannt. 11 Henning Meyerhenke:

Lokale Cluster-Koeffizienten Anwendung Interessant: Korrelliert oft negativ mit Knotengrad. Beurteilung der Häufigkeit struktureller Löcher (s. Tafel) Bsp.: Bei vielen strukturellen Löchern hat man weniger Routing-Alternativen. Lokaler CK kann auch eine Art von Zentralität ausdrücken. Interessant: Niedrige Werte bedeuten dabei hohen Einfluss auf Nachbarn! In der Praxis häufig hohe Korrelation zwischen CK und Betweenness! 12 Henning Meyerhenke:

Inhalt Eigenschaften und Struktur von Netzwerken Cluster-Koeffizienten Grundlagen Abwandlungen Berechnung 13 Henning Meyerhenke:

Berechnung des globalen CK Zähler: Iteriere für jeden Knoten über Paare von Nachbarn und zähle die verbundenen Nenner: Iteriere über jeden Knoten v, akkumuliere 1 2 deg(v)(deg(v) 1) Pseudocode: Siehe Tafel! Interessant: Laufzeit hängt von der Gradverteilung ab! 14 Henning Meyerhenke:

Approximation des globalen CK Siehe dazu: Literaturhinweis Thomas Schank, Dorothea Wagner: Approximating Clustering Coefficient and Transitivity. Journal of Graph Algorithms and Applications, 9(2):265-275, 2005. 15 Henning Meyerhenke:

Fallstudie Berechnung lokaler CK in dynamischen Graphen Siehe dazu: Literaturhinweis D. Ediger, K. Jiang, J. Riedy, and D.A. Bader, Massive Streaming Data Analytics: A Case Study with Clustering Coefficients, 4th Workshop on Multithreaded Architectures and Applications (MTAAP), Atlanta, GA, April 23, 2010. 16 Henning Meyerhenke:

Fazit Cluster-Koeffizienten Cluster-Koeffizient gibt durchschnittliche Dichte von Dreiecken an (global bzw. lokal) Weiteres Maß zur Bestimmung von Netzwerktypen mit bestimmten Eigenschaften Auch für gerichtete Graphen möglich bei geeigneter Abwandlung der Definition 17 Henning Meyerhenke:

Fazit Cluster-Koeffizienten Cluster-Koeffizient gibt durchschnittliche Dichte von Dreiecken an (global bzw. lokal) Weiteres 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 Algorithmus abhängig von Knotengradverteilung: O(nd 2 max ) Bester bekannter exakter Algorithmus: O(m 1.41 ) Approximationsalgorithmus: Laufzeit unabhängig von Graphgröße Dynamisierung mit Bloom-Filtern deutlich schneller als statische Neuberechnung 17 Henning Meyerhenke: