Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische Informatik nationales Algorithmische Forschungszentrum Methoden in der Helmholtz-Gemeinschaft zur Netzwerkanalyse www.kit.edu
Vorlesung 9 Programm des Tages: PageRank Betweenness evtl. Closeness 2 Henning Meyerhenke, Institut für Theoretische Informatik
Wiederholung Eigenvektorzentralität PageRank 3 Henning Meyerhenke, Institut für Theoretische Informatik
Inhalt PageRank Betweenness Centrality Nähezentralität 4 Henning Meyerhenke, Institut für Theoretische Informatik 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) 5 Henning Meyerhenke, Institut für Theoretische Informatik 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 PageRank
Beispiel [https://de.wikipedia.org/wiki/pagerank#/media/file:pagerank-beispiel.png] 6 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Die Mathematik hinter PageRank Zumindest ein wenig davon... Google-Matrix G Dämpfungsfaktor α (bestimmt Teleport-Wkt.) Transitionsmatrix P für Linkverfolgung Teleport-Vektor v, stochastisch, v 1 = 1 7 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Die Mathematik hinter PageRank Zumindest ein wenig davon... Google-Matrix G Dämpfungsfaktor α (bestimmt Teleport-Wkt.) Transitionsmatrix P für Linkverfolgung Teleport-Vektor v, stochastisch, v 1 = 1 G = αp + (1 α)v1 T 7 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Die Mathematik hinter PageRank Zumindest ein wenig davon... Google-Matrix G Dämpfungsfaktor α (bestimmt Teleport-Wkt.) Transitionsmatrix P für Linkverfolgung Teleport-Vektor v, stochastisch, v 1 = 1 G = αp + (1 α)v1 T Wir werden feststellen: Verbindung zur Eigenvektorzentralität ergibt sich aus der Umformung direkt, nur die Matrix ist eine andere! 7 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Algebraische Notation des Algorithmus x: PageRank-Vektor p ij : Link von Seite j zu Seite i, normalisiert durch den Knotengrad von j Normalisierung erzeugt spaltenstochastische Matrix P, P = AD 1 8 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Algebraische Notation des Algorithmus x: PageRank-Vektor p ij : Link von Seite j zu Seite i, normalisiert durch den Knotengrad von j Normalisierung erzeugt spaltenstochastische Matrix P, P = AD 1 g ij = αp ij + (1 α)(v1 T ) ij (1) = α(ad 1 ) ij + (1 α)v i (2) = α aij d jj + (1 α)v i (3) 8 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Algebraische Notation des Algorithmus x: PageRank-Vektor p ij : Link von Seite j zu Seite i, normalisiert durch den Knotengrad von j Normalisierung erzeugt spaltenstochastische Matrix P, P = AD 1 g ij = αp ij + (1 α)(v1 T ) ij (1) PageRank mit Potenzmethode: x (t+1) = x (t) G = α(ad 1 ) ij + (1 α)v i (2) = α aij d jj + (1 α)v i (3) 8 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Eigenschaften von G (1) Ziel: Aussagen über Konvergenz des Algorithmus G ist spaltenstochastisch i g ij = ( α aij + (1 α)v d i ) (4) i jj = α d jj i a ij + (1 α)v i (5) i = α djj d jj + (1 α) 1 (6) = 1 (7) 9 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Eigenschaften von G (1) Ziel: Aussagen über Konvergenz des Algorithmus G ist spaltenstochastisch i g ij = ( α aij + (1 α)v d i ) (4) i jj = α d jj i a ij + (1 α)v i (5) i = α djj d jj + (1 α) 1 (6) = 1 (7) 9 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Eigenschaften von G (2) Annahme: Graph zus.hgd. Eigenwerte von G: 1 > α λ 2 (P) α λ 3 (P)... Eindeutiger dominanter linker Eigenvektor: π T G = π T 10 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Eigenschaften von G (2) Annahme: Graph zus.hgd. Eigenwerte von G: 1 > α λ 2 (P) α λ 3 (P)... Eindeutiger dominanter linker Eigenvektor: π T G = π T π i ist PageRank der Seite i (Selbstübung) 10 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Potenzmethode 1. Starte mit initialem Vektor x (0) 2. x (t+1) = x (t) G 3. Normalisierung von x 4. Wenn nicht konvergiert: gehe zu 2) 11 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Potenzmethode 1. Starte mit initialem Vektor x (0) 2. x (t+1) = x (t) G 3. Normalisierung von x 4. Wenn nicht konvergiert: gehe zu 2) Tafel: Konvergenzanalyse 11 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Potenzmethode 1. Starte mit initialem Vektor x (0) 2. x (t+1) = x (t) G 3. Normalisierung von x 4. Wenn nicht konvergiert: gehe zu 2) Tafel: Konvergenzanalyse Frage: Was passiert, wenn x (0) orthogonal zum EV gewählt wird? 11 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Potenzmethode bei PageRank Sei die EV-Zerlegung von x (0) gegeben durch n i=1 c iz i. Seien die EW von G absteigend gegeben als 1 = µ 1 > µ 2 µ 3.... Für den Fehler in der Iteration t gilt [x (t) π] T = [x (0) ] T G t π T G. [x (0) ] T G t = = n i=1 c i z T i G t (8) n c i µ t i zt i (9) i=1 = c 1 µ 1 z T 1 + n i=2 c i µ t i zt i = π T + n i=2 c i µ t i zt i (10) Folglich: Keine Konvergenz, wenn c 1 = 0, d. h. wenn x (0) π! 12 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Fazit 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 13 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Fazit 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 Mit Netzwerkanalyse und dem Engineering paralleler Algorithmen kann man reich werden 13 Henning Meyerhenke, Institut für Theoretische Informatik PageRank
Inhalt PageRank Betweenness Centrality Nähezentralität 14 Henning Meyerhenke, Institut für Theoretische Informatik Betweenness Centrality
Betweenness Centrality Dt.: Intermediationszentralität Sei G ungerichtet. Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf vielen kürzesten Wegen liegt 15 Henning Meyerhenke, Institut für Theoretische Informatik 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: C B (v) = σ st (v) σ s =v =t V st 15 Henning Meyerhenke, Institut für Theoretische Informatik 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. 16 Henning Meyerhenke, Institut für Theoretische Informatik 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: C B (v) = σ st (v) σ st ist Summe über Paar-Abhängigkeiten von v 16 Henning Meyerhenke, Institut für Theoretische Informatik 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: 17 Henning Meyerhenke, Institut für Theoretische Informatik 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! 17 Henning Meyerhenke, Institut für Theoretische Informatik 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 A t ist zu aufwändig und berechnet mehr Infos als nötig Idee: Zwischenergebnisse mehrfach verwenden! 17 Henning Meyerhenke, Institut für Theoretische Informatik 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: P s (v) = {u V : {u, v} E, dist G (s, v) = dist G (s, u) + ω(u, v)} 18 Henning Meyerhenke, Institut für Theoretische Informatik 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: P s (v) = {u V : {u, v} E, dist G (s, v) = dist G (s, u) + ω(u, v)} Lemma Für s = v V gilt: σ sv = u Ps (v) σ su 18 Henning Meyerhenke, Institut für Theoretische Informatik 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: P s (v) = {u V : {u, v} E, dist G (s, v) = dist G (s, u) + ω(u, v)} Lemma Für s = 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). 18 Henning Meyerhenke, Institut für Theoretische Informatik Betweenness Centrality
Abhängigkeit eines Knotens Ziel: Nicht alle Paar-Abhängigkeiten summieren müssen Zur Erinnerung: δ st (v) = σ st (v) σ st C B (v) = s =v =t V σ st (v) σ st 19 Henning Meyerhenke, Institut für Theoretische Informatik Betweenness Centrality
Abhängigkeit eines Knotens Ziel: Nicht alle Paar-Abhängigkeiten summieren müssen Zur Erinnerung: δ st (v) = σ st (v) σ st C B (v) = s =v =t V σ st (v) σ st Definition (Abhängigkeit eines Knotens s) δ s (v) = t V δ st (v) Wichtig: Diese Summen haben eine rekursive Beziehung! 19 Henning Meyerhenke, Institut für Theoretische Informatik 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) = σ sv (1 + δ s (w)) σ w:v P s (w) sw Beweis: Siehe Tafel! 20 Henning Meyerhenke, Institut für Theoretische Informatik Betweenness Centrality
Abbildung zum Beweis [Brandes, 2001] δ s (v) = w:v Ps (w) σ sv σ sw (1 + δ s (w)) C B (v) = s =v =t V σ st (v) σ st = s =v V δ s (v) 21 Henning Meyerhenke, Institut für Theoretische Informatik 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. 22 Henning Meyerhenke, Institut für Theoretische Informatik 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. 22 Henning Meyerhenke, Institut für Theoretische Informatik 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 23 Henning Meyerhenke, Institut für Theoretische Informatik 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 23 Henning Meyerhenke, Institut für Theoretische Informatik Betweenness Centrality
Der Algorithmus von Brandes Berechne n Kürzeste-Pfade-Bäume, einen pro s V Währenddessen auch die Mengen P s (v) berechnen 24 Henning Meyerhenke, Institut für Theoretische Informatik Betweenness Centrality
Der Algorithmus von Brandes Berechne n Kürzeste-Pfade-Bäume, einen pro s V Währenddessen auch die Mengen P s (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: δ s (v) = w:v Ps (w) σ sv σ sw (1 + δ s (w)) C B (v) = s =v V δ s (v) 24 Henning Meyerhenke, Institut für Theoretische Informatik Betweenness Centrality
Endresultat BC kann in Zeit O(nm + n 2 log n) und Platz O(n + m) auf gewichteten Graphen berechnet werden Für ungewichtete Graphen reduziert sich die Laufzeit auf O(nm) 25 Henning Meyerhenke, Institut für Theoretische Informatik Betweenness Centrality
Endresultat BC kann in Zeit O(nm + n 2 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( log n n ) bzw. O(n) 25 Henning Meyerhenke, Institut für Theoretische Informatik Betweenness Centrality
Inhalt PageRank Betweenness Centrality Nähezentralität 26 Henning Meyerhenke, Institut für Theoretische Informatik 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: l i = 1 n j dist(i, j) Kleiner Nachteil des MKA: Hohe Werte sprechen für geringen Einfluss im Netzwerk 27 Henning Meyerhenke, Institut für Theoretische Informatik 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: l i = 1 n j dist(i, j) Kleiner Nachteil des MKA: Hohe Werte sprechen für geringen Einfluss im Netzwerk Definition (Nähezentralität) C i = 1 l i = n j dist(i, j) 27 Henning Meyerhenke, Institut für Theoretische Informatik Nähezentralität
Alternatives Maß Problem: Knoten in verschiedenen Komponenten haben Abstand Alternativ: Harmonisches Mittel des Abstands: C i = 1 n 1 1 dist(i, j) j =i Löst das Problem der unendlichen Abstände und gibt Ähnlichkeit an Trotzdem: In Praxis und Wissenschaft wenig verwendet 28 Henning Meyerhenke, Institut für Theoretische Informatik Nähezentralität
Betrachtung des ganzen Netzwerks Auch Netzwerke kann man anhand bestimmter Maße einordnen Closeness bei einer ZHK: l = 1 n 2 dist(i, j) = 1 n i,j i l i 29 Henning Meyerhenke, Institut für Theoretische Informatik Nähezentralität
Betrachtung des ganzen Netzwerks Auch Netzwerke kann man anhand bestimmter Maße einordnen Closeness bei einer ZHK: l = 1 n 2 dist(i, j) = 1 n i,j i l i Bei mehreren ZHK: Wieder Problem mit unendlich großen Abständen Daher Durchschnittsbildung mit harmonischem Mittel: l = n i C i 29 Henning Meyerhenke, Institut für Theoretische Informatik 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 30 Henning Meyerhenke, Institut für Theoretische Informatik Nähezentralität