Algorithmische Methoden zur Netzwerkanalyse

Werbung
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
Herunterladen