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 9 Programm des Tages: Zentralitätsmaße: PageRank, Closeness, Betweenness 2 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Wiederholung Eigenvektorzentralität PageRank 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Inhalt Zentralitätsmaße PageRank Betweenness Centrality Nähezentralität 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße PageRank Modell des Zufallssurfers Surfer bewegt sich zufällig im Webgraphen Er folgt dabei den ausgehenden Kanten mit gleicher Wahrscheinlichkeit (Klick auf Link) Außerdem kann man eine Seite verlassen, indem man sich „wegteleportiert“ (eine neue URL im Browser eingibt) ⇒ PageRank ist stationärer Zustand eines stochastischen Prozesses 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße PageRank Die Mathematik hinter PageRank Zumindest ein wenig davon... Siehe Tafel! Verbindung zur Eigenvektorzentralität ergibt sich aus der Umformung direkt, nur die Matrix ist eine andere! 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße PageRank Zwischenfazit Mit entsprechender Hardware und Know-how kann man PageRank auch für große Graphen in akzeptabler Zeit berechnen Interessantes Maß, reichhaltige mathematische Analyse, in der Praxis nur ein Maß unter vielen Alternativer Algorithmus: Hubs and Authorities von Jon Kleinberg Netzwerkanalyse und das Engineering paralleler Algorithmen können einen reich machen 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße PageRank Inhalt Zentralitätsmaße PageRank Betweenness Centrality Nähezentralität 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Betweenness Centrality Dt.: Intermediationszentralität Sei G ungerichtet. Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf vielen kürzesten Wegen liegt Sei σst = σts die Zahl der kürzesten Wege zwischen s und t Sei σst (v ) = σts (v ) die Zahl der kürzesten Wege zwischen s und t, auf denen der Knoten v (als Zwischenknoten) liegt Definition (Intermediationszentralität (Betweenness Centrality)) Die BC eines Knotens v ∈ V in einem ungerichteten Graphen ist: CB (v ) = ∑ s 6 =v 6 =t ∈V 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse σst (v ) σst Zentralitätsmaße Betweenness Centrality Paar-Abhängigkeiten Folglich: Ein hoher BC-Wert gibt an, dass ein Knoten auf einem hohen Anteil von kürzesten Pfaden liegt Lemma Ein Knoten v liegt genau dann auf dem kürzesten Pfad zwischen s und t, wenn dist(s, v ) + dist(v , t ) = dist(s, t ) gilt. Definition (Paar-Abhängigkeit) Die Paar-Abhängigkeit eines Knotens v ist gegeben durch: δst (v ) = σst (v )/σst Folglich: CB (v ) = ∑ 10 σst (v ) σst ist Summe über Paar-Abhängigkeiten von v Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Berechnung und Komplexität Simpler Algorithmus für BC Berechne Länge und Zahl der kürzesten Wege zwischen allen Knotenpaaren Berechne Summe der Paar-Abhängigkeiten für jeden Knoten Problem: Es gibt quadratisch viele Paar-Abhängigkeiten! Also ergibt sich so kubischer Aufwand! Einsicht: Wege zählen durch Berechnung von At ist zu aufwändig und berechnet mehr Infos als nötig Idee: Zwischenergebnisse mehrfach verwenden! 11 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Ansatz zur Beschleunigung Kombinatorisches Zählen von Wegen Definition (Vorgänger) Die Menge der Vorgänger von v auf einem kürzesten Pfad von s ist: Ps (v ) = {u ∈ V : {u , v } ∈ E , distG (s, v ) = distG (s, u ) + ω (u , v )} Lemma Für s 6= v ∈ V gilt: σsv = ∑u ∈Ps (v ) σsu Lemma Sei ein Startknoten s ∈ V gegeben. Die Zahl und Länge aller kürzesten Pfade zu allen anderen Knoten lässt sich in O(m + n log n) Zeit für gewichtete Graphen berechnen (in O(m ) für ungewichtete). 12 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Abhängigkeit eines Knotens Ziel: Nicht alle Paar-Abhängigkeiten summieren müssen Zur Erinnerung: δst (v ) = σst (v ) σst CB (v ) = ∑s 6=v 6=t ∈V σst (v ) σst Definition (Abhängigkeit eines Knotens s) δs • (v ) = ∑t ∈V δst (v ) Wichtig: Diese Summen haben eine rekursive Beziehung! 13 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Rekursive Abhängigkeit Theorem Für die Abhängigkeit δs • (v ) eines Startknotens s ∈ V zu einem anderen Knoten v ∈ V gilt: δs • (v ) = ∑ w :v ∈Ps (w ) σsv · (1 + δs • (w )) σsw Beweis: Siehe Tafel! 14 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Abbildung zum Beweis [Brandes, 2001] δs • (v ) = ∑w :v ∈Ps (w ) CB (v ) = 15 σsv σsw · (1 + δs • (w )) σ (v ) ∑s 6=v 6=t ∈V stσst = ∑s 6=v ∈V δs • (v ) Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Akkumulation der Abhängigkeiten (1) Beobachtung Ähnlich wie bei Tiefensuche: Bei Berechnung der kürzesten Pfade von einem Startknoten s ∈ V in G entsteht ein Baum aus den Kanten der “ersten Entdeckung”. Folgerung Sei dieser Baum T der kürzesten Pfade von einem Startknoten s ∈ V in G gegeben. Dann lassen sich die Abhängigkeiten von s zu allen anderen Knoten in Zeit O(m ) und Platz O(n + m ) berechnen. 16 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Akkumulation der Abhängigkeiten (2) Zu zeigen: Pro Startknoten Zeit O(m ) und Platz O(n + m ) Beweis. Traversiere die Knoten in nicht-aufsteigender Reihenfolge hinsichtlich ihrer Distanz zu s Akkumuliere dabei die Abhängigkeit in jedem Knoten gemäß des Theorems Wir müssen pro Knoten eine Abhängigkeit und die Liste der Vorgänger speichern Pro Kante gibt es höchstens ein Element in allen diesen Listen 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Der Algorithmus von Brandes Berechne n Kürzeste-Pfade-Bäume, einen pro s ∈ V Währenddessen auch die Mengen Ps (v ) berechnen Berechne für jedes jeweilige s ∈ V und alle anderen v ∈ V die Abhängigkeiten δs • (v ) mit Hilfe des Baumes, der Vorgängermengen und des Theorems: Starte an den Blättern des Baumes, arbeite dich wie auf der vorigen Folie beschrieben schrittweise zur Wurzel voran Akkumuliere den Abhängigkeitswert des Startknotens s zu jedem einzelnen Knoten v im Zentralitätswert von v : sv δs • (v ) = ∑w :v ∈Ps (w ) σσsw · (1 + δs • (w )) CB (v ) = ∑s 6=v ∈V δs • (v ) 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Endresultat BC kann in Zeit O(nm + n2 log n) und Platz O(n + m ) auf gewichteten Graphen berechnet werden Für ungewichtete Graphen reduziert sich die Laufzeit auf O(nm ) Für dünn besetzte Graphen (lineare Anzahl (in n) von Kanten): Verbesserung des naiven Algorithmus mit kubischer Laufzeit um Faktor O( logn n ) bzw. O(n) 19 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Betweenness Centrality Inhalt Zentralitätsmaße PageRank Betweenness Centrality Nähezentralität 20 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Nähezentralität Closeness Centrality Dt.: Nähezentralität Wieder Berücksichtigung der kürzesten Wege Dieses Mal aber deren Länge, nicht deren Zahl Mittlerer kürzester Abstand: 1 li = ∑ dist(i , j ) n j Kleiner Nachteil des MKA: Hohe Werte sprechen für geringen Einfluss im Netzwerk Definition (Nähezentralität) Ci = 21 1 n = li dist (i , j ) ∑j Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Nähezentralität Alternatives Maß Problem: Knoten in verschiedenen Komponenten haben Abstand ∞ Alternativ: Harmonisches Mittel des Abstands: Ci0 = 1 1 ∑ n − 1 j 6=i dist(i , j ) Löst das Problem der unendlichen Abstände und gibt Ähnlichkeit an Trotzdem: In Praxis und Wissenschaft wenig verwendet 22 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Nähezentralität Betrachtung des ganzen Netzwerks Auch Netzwerke kann man anhand bestimmter Maße einordnen Closeness bei einer ZHK: l= 1 n2 1 ∑ dist(i , j ) = n ∑ li i ,j i Bei mehreren ZHK: Wieder Problem mit unendlich großen Abständen Daher Durchschnittsbildung mit harmonischem Mittel: l0 = 23 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse n ∑i Ci0 Zentralitätsmaße Nähezentralität Diskussion Nähezentralität Vorteil: Nähezentralität sehr natürliches Maß Nachteil: Kein breites Spektrum der Ergebnisse Maximaler Abstand typischerweise logarithmisch Beispiel IMDB: Maximum 0, 4143, Minimum: 0, 1154 Nachteil: Behandlung von unzusammenhängenden Graphen problematisch Lösung dafür: Harmonische Mittelbildung 24 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Zentralitätsmaße Nähezentralität