16. November 2011 Zentralitätsmaße H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87
Darstellung in spektraler Form Zentralität genügt Ax = κ 1 x (Herleitung s. Tafel), daher ist x der Eigenvektor von A zum Eigenwert κ 1 Zentralität von i ist proportional zur Zentralität der Nachbarn: x i = κ 1 1 j A ij x j EV-Zentralität kann groß sein, weil ein Knoten viele Nachbarn hat, die Nachbarn hohe EV-Zentralität haben oder beides H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 88
Eigenschaften EV-Zentralitäten sind alle nicht-negativ (Beweis in Übung) Prinzipiell möglich für ungerichtete und gerichtete Netzwerke, aber: Problematisch bei gerichteten Netzwerken wegen Asymmetrie der Adjazenzmatrix Daher gibt es einen linken und einen rechten EV Welcher ist der richtige? Wichtiger ist, wie viele zu mir zeigen, als zu wie vielen ich zeige der rechte EV ist sinnvoller H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 89
EV-Zentralität in gerichteten Netzwerken Weiteres Problem: Knoten mit Eingangsgrad 0 haben EV-Zentralität 0 Problem: Das kann kaskadieren! B A H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 90
Berechnung Frage: Sei der Graph G dünn besetzt. Warum berechnet man nicht einfach A t und multipliziert das Ergebnis mit einem Startvektor? Theorem: A t ist die Zahl der Wege der Länge t von i nach j in G. Beweis: Tafel (oder Übung) Also: Matrix würde sich schnell auffüllen Daher: Fortgesetzte Matrix-Vektor-Multiplikation, auch power method oder power iteration genannt H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 91
Zu beachten bei der Potenzmethode Für die Bestimmung eines einzigen EV in dünnen Graphen effizient Startvektor darf nicht senkrecht zum Eigenvektor sein Lemma: Die Einträge des führenden EV einer nichtnegativen Matrix haben alle dasselbe Vorzeichen. Folgerung: Wähle einen Startvektor, in dem alle Einträge dasselbe Vorzeichen haben! Normalisierung notwendig wegen Zahlengröße Wann ist Konvergenz erreicht? H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 92
Konvergenz Eine Möglichkeit: Zwei verschiedene Startvektoren Nach Normalisierung in jeder Iteration (oder alle paar Iterationen) beide Vektoren vergleichen Funktioniert besonders gut, wenn sich die Vektoren von zwei unterschiedlichen Richtungen annähern Nach Konvergenz auch EW leicht zu berechnen: Man dividiert die Einträge an demselben Index im Vektor vor und nach der Iteration (numerische Fehler möglich!) H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 93
Zeitkomplexität Komplexität des Algorithmus: Kosten pro Iteration Anzahl Iterationen (Konvergenzgeschwindigkeit) Kosten pro Iteration abhängig von Datenstruktur Adjazenzmatrix: O(n^2) Adjazenzliste: O(m) Konvergenzgeschwindigkeit wird bestimmt von den Eigenwerten Weiter an der Tafel H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 94
PageRank H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 95
PageRank Der Algorithmus, mit dem/durch den Google gegründet wurde Zutaten einer Suchmaschine (vereinfacht): Crawler Index Ranking Google war mit PageRank zu seiner Zeit überlegen beim Ranking (und vielleicht heute noch?) Beruhte auf Algorithmus und schneller Berechnung Algorithmus beruht auf dem Modell des zufälligen Web-Surfers Heute ist PageRank ein Maß unter (sehr) vielen H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 96
Ideen hinter PageRank Bewertung von Webseiten anhand der Link-Struktur Je mehr Links auf eine Seite verweisen, desto wichtiger ist sie Ähnlich wie bei EV-Zentralität: Je wichtiger eine Seite ist, desto wichtiger ist ihr Verweis auf eine andere Seite H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 97
Modell des Zufallssurfers Surfer bewegt sich zufällig im Webgraphen und folgt dabei den ausgehenden Kanten mit gleicher Wahrscheinlichkeit (Klick auf Link) Außerdem kann man eine Seite verlassen, indem man sich wegteleportiert, also eine neue URL im Browser eingibt PageRank ist stationärer Zustand eines stochastischen Prozesses H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 98
Die Mathematik von PageRank Zumindest ein wenig... Da PowerPoint nichts taugt bei Formeln: Weiter an der Tafel Verbindung zur Eigenvektorzentralität ergibt sich aus der Umformung direkt, nur die Matrix ist eine andere! H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 99
Fazit zu PageRank Mit entsprechender Hardware und Know-how kann man den 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 H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 100
Intermediationszentralität (Betweenness Centrality) H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 101
Betweenness Centrality 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 die Zahl der kürzesten Wege zwischen s und t, auf denen der Knoten v (als Zwischenknoten) liegt Intermediationszentralität (Betweenness Centrality) BC: C B v = s v t V σ st (v) σ st H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 102
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 Weg zwischen s und t, wenn d(s, v) + d(v, t) = d(s, t) gilt. Paar-Abhängigkeit: C B v = σ st (v) σ st δ st v = σ st(v) s v t V σ st C B v ist Summe über die Paar-Abhängigkeiten von v H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 103
Berechnung und Komplexität Nun einfache Herangehensweise zur BC-Berechnung: Berechne Länge und Zahl der kürzesten Wege zwischen allen Knotenpaaren Berechne Summe aller Paar-Abhängigkeiten Aber: Es gibt quadratisch viele Paar-Abhängigkeiten Die Summierung über alle Knoten hat kubischen Aufwand, viel zu groß für nicht-triviale Netzwerke! Wege zählen durch Berechnung von A t ist zu aufwändig und berechnet mehr Infos als nötig Idee: Zwischenergebnisse mehrfach verwenden! H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 104
Ansatz zur Beschleunigung Kombinatorisches Zählen von Wegen Def. (Vorgänger): P s v = {u V: u, v E, d G s, v = d G s, u + ω(u, v)} Lemma: Für s v V gilt: σ sv = σ su u P s (v) BFS und Dijkstra (mit Fibonacci- Heap) Folgerung: Ist ein Startknoten s V gegeben, lässt sich die Zahl und Länge aller kürzesten Wege zu allen anderen Knoten in Zeit O(m + n log n) für gewichtete Graphen berechen, in O(m) für ungewichtete. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 105
Abhängigkeit eines Knotens Ziel: Nicht alle Paar-Abhängigkeiten summieren müssen Def.: (Abhängigkeit eines Knotens s) δ s v = δ st (v) t V δ st v Diese Summen haben eine rekursive Beziehung! = σ st(v) σ st C B v = δ st (v) s v t V Theorem: Für die Abhängigkeit δ s v eines Startknotens s V zu einem anderen Knoten v V gilt: σ sv δ s v = (1 + δ σ s w ) sw w: v P s (w) H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 106
Abbildung zum Beweis [Brandes 2001] δ s v = σ sv σ sw (1 + δ s w ) w: v P s (w) C B v = δ st v s v t V = δ s (v) s v V H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 107