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