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: