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 3 Programm des Tages: 1. Teil Übungsblatt 1 Abschluss Clusterkoeffizienten Zusammenhang 2 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Wiederholung Abschluss k -Kern-Zerlegung Kurze Vorstellung von NetworKit Clusterkoeffizient 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Inhalt Eigenschaften von Netzwerken Cluster-Koeffizienten Zusammenhangskomponenten Teilgraphen und Wege Zusammenhang Berechnung in statischen Graphen 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Cluster-Koeffizienten Globaler CK Definition (Wdh.: Globaler CK) Der globale Cluster-Koeffizient C ist definiert als C := 3 · Zahl der (geschlossenen) Dreiecke Zahl der zusammenhängenden Dreiergruppen Cluster-Koeffizient gibt durchschnittliche Dichte von Dreiecken an Maß zur Bestimmung von Netzwerktypen mit bestimmten Eigenschaften 5 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 Dreiecke mit v Zahl der Tripel (Pfade der Länge 2) mit v als zentralem Knoten Der durchschnittliche lokale Clusterkoeffizient eines Graphen G ist definiert als 1 Clocal (G ) := C (v ) | V 0 | v∑ ∈V 0 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. 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Cluster-Koeffizienten Lokaler Cluster-Koeffizient Anwendung Interessant: Lokaler CK korreliert oft negativ mit Knotengrad. Beurteilung der Häufigkeit struktureller Löcher Viele strukturelle Löcher ⇒ weniger Routing-Alternativen Lokaler CK kann Art von Wichtigkeit des Knotens ausdrücken Interessant: Niedrige Werte bedeuten hohen Einfluss auf Nachbarn! In der Praxis häufig hohe Korrelation zwischen lokalem CK und anderen Maßen zur Wichtigkeit eines Knotens! Achtung, global und lokal nicht verwechseln: Manchmal wird der globale Cluster-Koeffizient anders definiert. Oder er wird Transitivität genannt. 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Cluster-Koeffizienten Approximation des durchschnittlichen lokalen CK 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 8 function A PPROXIMATE L OCAL CK(G = (V , E ), k ) l←0 for i ← 1 to k do r ← UniformRandomNumber(1, |V 0 |) u ← UniformRandomNeighbor(Ar ) repeat w ← UniformRandomNeighbor(Ar ) until u 6= w if {u , w } ∈ E then l ← l +1 end if end for return l/k end function Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Cluster-Koeffizienten Garantien zum Algorithmus Theorem Für einen ungerichteten Graphen G = (V , E ) kann approx ein Wert Clocal (G ) ∈ [Clocal (G ) − e, Clocal (G ) + e] mit Wkt. mindestens ν −1 ν ν in der erwarteten Zeit O( log ) e2 berechnet werden. Beweis. Siehe Tafel! 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Cluster-Koeffizienten Approximation des globalen CK Was ändert sich? Was müssen wir beim Algorithmus noch beachten? Beispiel: Siehe Tafel! Daher: Gewichtsfunktion ω mit ω (v ) = Anzahl der Tripel (deg2(v )) mit v Stichprobe richtet sich dann nach Anzahl der Tripel eines Knotens 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Cluster-Koeffizienten Approximation des globalen CK 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 11 function A PPROXIMATE G LOBAL CK(G = (V , E , ω ), k ) W ← PrefixSum(ω) l←0 for i ← 1 to k do r 0 ← UniformRandomNumber(1, W|V 0 | ) r ← FindIndex(r : Wr −1 < r 0 ≤ Wr ) u ← UniformRandomNeighbor(Ar ) repeat w ← UniformRandomNeighbor(Ar ) until u 6= w if {u , w } ∈ E then l ← l +1 end if end for return l/k end function Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Cluster-Koeffizienten Garantien zum Algorithmus Theorem Für einen ungerichteten Graphen G = (V , E ) approx kann ein Wert Cglobal (G ) ∈ [Cglobal (G ) − e, Cglobal (G ) + e] mit Wkt. mindestens ν −1 ν in der erwarteten Zeit O(n + berechnet werden. log ν e2 · log n) Beweis. Präfixsumme der Gewichte: O(n) Zufälligen Knoten mit passendem Sampling finden: O(log n) Rest wie vorher 12 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Cluster-Koeffizienten Fazit CK 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 Approximation des globalen CK in linearer Laufzeit (unter Annahmen) Approximation des durchschnittlichen lokalen CK in Laufzeit unabhängig von der Graphgröße 13 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Cluster-Koeffizienten Inhalt Eigenschaften von Netzwerken Cluster-Koeffizienten Zusammenhangskomponenten Teilgraphen und Wege Zusammenhang Berechnung in statischen Graphen 14 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Teilgraph Definition Ein Multigraph G = (V , E ) enthält einen Multigraphen G 0 = (V 0 , E 0 ), falls V 0 ⊆ V und E 0 ⊆ E . Wir nennen G 0 auch Teilgraph von G und schreiben G 0 ⊆ G. Tafel: Teilgraph und induzierter Teilgraph 15 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Pfad und Kreis Definition (Pfad, Kreis) Ein [gerichteter] Weg oder Pfad der Länge k ist ein Graph Pk = (V , E ) mit V = {v1 , . . . , vk +1 } und E = {(v1 , v2 ), . . . , (vk , vk +1 )}, wobei |E | = k . Wir nennen Pk auch einen (v1 , vk +1 )-Pfad. Der Graph Ck = (V , E ∪ {(vk +1 , v1 )}) heißt [gerichteter] Kreis der Länge k + 1. 16 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Beispiel 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Existenz eines Kreises Theorem Sei δ(G ) der minimale Knotengrad von G. Jeder schlichte ungerichtete Graph G enthält einen Pfad der Länge δ(G ) und, falls δ(G ) ≥ 2, auch einen Kreis der Länge ≥ δ(G ) + 1. Beweis. Übung! 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Zusammenhang Fragestellungen Was bedeutet Zusammenhang graphentheoretisch? Was sind Zusammenhangskomponenten? Wie überträgt sich das auf reale, z.B. soziale, Netzwerke? Warum kann es wichtig sein, die ZHK zu kennen? 19 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Zusammenhang Definition Definition Ein gerichteter Multigraph G = (V , E ) heißt stark zusammenhängend, falls er für jedes Paar (u , v ) ∈ E sowohl einen (u , v )-Pfad als auch einen (v , u )-Pfad enthält. G heißt schwach zusammenhängend, wenn der symmetrische Multigraph (Kanten doppelt gerichtet) zu G stark zusammenhängend ist. 20 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Beispiel 21 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Berechnung von ZHK Frage: Wie findet man (effizient) die ZHK? 22 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Tiefensuche (Haus)Aufgabe: Tiefensuche, SCC Führen Sie DFS auf dem dargestellten Graphen aus. Starten Sie dabei beim Knoten A und beachten Sie die lexikographische Ordnung der Knoten! Führen Sie den SCC-Algorithmus von Kosaraju (z. B. in [Cormen et al., Introduction to Algorithms, 1. Aufl., S. 489]) am Beispiel aus! 23 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Definitionen DFS-Nummer, Tiefensuch(halb)ordnung Sei v1 , . . . , vn die Reihenfolge, in der die Knoten markiert werden. Dann heißt DFS (vi ) die DFS-Nummer von vi . Die DFS-Nummer DFS ((v , w )) einer Kante (v , w ) sei die DFS-Nummer des Knotens, von dem aus die Kante durchlaufen wird. Wir definieren eine Tiefensuch(halb)ordnung auf V ∪ E durch: DFS (p ) ≤ DFS (q ) ⇔ p q ∀p, q ∈ V ∪ E DFS (p ) < DFS (q ) ⇔ p ≺ q ∀p, q ∈ V ∪ E 24 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse (1) (2) Eigenschaften von Netzwerken Zusammenhangskomponenten Kantenklassifikation Definition Sei S der Stapel (Stack) der Tiefensuche. Die Kanten werden während der Tiefensuche wie folgt klassifiziert: Zum Zeitpunkt, da die Kante (v , w ) markiert wird, wird sie zu einer Baumkante, falls w noch nicht markiert ist, Rückwärtskante, falls w markiert ist, w v und w ∈ S Querkante, falls w markiert ist, w v und w ∈ / S und Vorwärtskante, falls w markiert ist und w v . 25 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Beispiel 26 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten Zwischenfazit Zusammenhang Wiederholung von Grundlagen aus der Graphentheorie Teilgraph Pfad, Kreis Zusammenhang Tiefensuche Anwendung: Berechnen der starken ZHK 27 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Eigenschaften von Netzwerken Zusammenhangskomponenten