9. November 2011 • ZHK in dynamischen Graphen • Zentralitäten

Werbung
9. November 2011
• ZHK in dynamischen Graphen
• Zentralitäten
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
67
ZHK in dynamischen Graphen
 Ungerichteter schlichter dynamischer Graph
 Dynamisch: Kanten werden eingefügt und gelöscht
 Annahme: Skaleninvariantes Netzwerk
 Aufgabe: Berechnung und kostengünstige Aktualisierung der ZHK
 ZHK ist globale Eigenschaft
 Einfacher Fall: Einfügen von Kanten
 Schwieriger: Löschen von Kanten
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
68
Annahme: Skaleninvarianter Graph
 Soziale Netzwerke (und weitere) sind oft skaleninvariant
 Stark unterschiedliche Gradverteilung (power law)
 Kleine maximale Distanz zwischen beliebigem Knotenpaar (Durchmesser)
 Was bedeutet das für die Berechnung der ZHK?
 Die meisten Änderungen innerhalb einer Komponente
 Einfügungen verschmelzen meist kleine mit einer (der) großen Komponente
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
69
Problemfall: Löschungen
 Komponenten werden nur selten getrennt
 Erkenntnis: Der Tiefensuch‐Baum erleichtert einem die Arbeit!
 Vorschläge?
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
70
DFS‐Kantentypus hilft bei Löschung
 Baumkanten bilden Spannbaum
 Ein Spannbaum ist ein Teilgraph, der alle Knoten des Obergraphen verbindet und ein Baum ist
 Wenn die zu löschende Kante keine Baumkante ist, wird die Komponente nicht zerschnitten
 Nur bei wenigen Löschungen müssen aufwändigere Verfahren zum Einsatz kommen
 Was könnte die „nächst‐aufwändigere“ Aktion sein?
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
71
Datenhaltung vs. Analyse
 Annahmen bzw. Entwurfsentscheidungen:
 Kantenaktionen (Einfügungen, Löschungen) treffen kontinuierlich ein
 Die Analyse findet in regelmäßigen Abständen statt
 Aktionen werden stapelweise bearbeitet
 Während der Analyse werden neu eintreffende Aktionen gepuffert
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
72
Struktur des Algorithmus
 Aktionen im Stapel aufbereiten
 Gemäß Startknoten sortieren
 In unterschiedliche Warteschlangen (ins/del) einfügen
 Aktualisieren der Datenstruktur
 ZHK‐Analyse: Löschungen durchführen
 Baumkante?
 Dreieck in Nachbarschaft?
 Falls zu viele mögliche Aufspaltungen: Statische Neuberechnung, sonst Einfügungen durchführen
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
73
Datenstruktur STINGER
EType Array
Len Hi Ptr
0
 Spatio‐
temporal Interactive Networks and
Graphs (STING) Extensible Representation
Physical Vertex ID
High Water Mark
Length
EType 0
1
EType 1
Z
EType Z
Logical Vertex Array
0 a0 T0 W0 7
6
1 a1 T1 W1 6
0
2 a2 T2 W2 0
1
3
4 a4 T4 W4 2 17
5 a5 T5 W5 23 5
Physical
to
Logical
6 a6 T6 W6 1
0
Mapper
Edge Block
Edge Block Header
Next Block
# Edges
EType
Pointer
Vertex ID
in this
Block
Edge 1
High
Water Mark Smallest
Largest
in this
Timestamp Timestamp
Block
Edge 2
Edge 3
Edge 4
Adj Vertex
Edge
ID
Weight
Timestamp Timestamp
1
2
Edge X
N-1
Physical Vertex out-deg
Vertex ID Weight
in-deg
Edge Block
Pointer
VType
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
74
Analyse: Löschen von Kanten
Baumkante?
j
n
Ist zu löschende Kante Teil eines Dreiecks?
j
n
Vermerke mögliche Aufspaltung!
Keine Aufspaltung!
j
Statische Neuberech‐
nung!
Weitere Kanten vorhanden?
n
Zahl möglicher Aufspaltungen über Grenzwert?
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
j
75
Parallele Bestimmung von Dreiecken
 Dreieck: Drei Knoten sind paarweise Nachbarn zueinander
 Aufgabe: Schnell bestimmen, ob Kante Teil eines Dreiecks ist
 Gemeinsame Nachbarn finden
 Frage der Existenz!
 Eine Möglichkeit: Bit‐Vektoren
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
76
Pseudocode fürs Löschen von {u,v}
F: Flag für Dreieck, R: Zahl der möglichen Aufspaltungen
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
77
Paralleles Einfügen von Kanten
 Sequentieller trivialer Ansatz:
 Falls die Kante zwei Knoten derselben Komponente verbindet: keine Änderung
 Falls die beide Knoten in unterschiedlichen Komponenten liegen: Verschmelze Komponenten
 So parallel schwierig umzusetzen
 Warum?
 Problemreduktion parallel
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
78
Aufbau des Komponentengraphs
 Für jede einzufügende Kante wird zunächst geprüft, ob sie den Komponentengraphen verändert
 Das muss parallel natürlich koordiniert werden
 Verschiedene Datenstrukturen möglich
 Schließlich: ZHK‐Algorithmus auf Komponentengraphen C
 C ist sehr viel kleiner als G, daher geringer Aufwand
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
79
Einfügen von Kanten
C: Komponentengraph, M / M‘: ZHK‐Zugehörigkeit
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
80
Ein paar Ergebnisse
(nicht ganz aktuell, beinhalten nicht alle algorithmischen Fortschritte)
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
81
Zusammenfassung
Wege und Zusammenhang
 Wege:
 Wiederholung von grundlegenden Definitionen
 Kurze Wiederholung bekannter Algorithmen zur Bestimmung kürzester Wege
 Vertiefung APSP in den Übungen
 Zusammenhang:
 Bestimmung von (starken) ZHK mit DFS
 Kategorisierung von DFS‐Kanten
 Baumkanten bei der Aktualisierung der ZHK in dynamischen Graphen
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
82
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
83
Zentralitäten
 Maße für die Bedeutung eines Knotens (oder evtl. auch einer Kante) in einem Netzwerk
 Beispiel: Gradzentralität
 Grad des Knotens
 Gibt einen „Bonuspunkt“ für jeden Nachbarn
 Kann ein Indikator für die Bedeutung sein
 Aber: Was wird dadurch schlecht modelliert?
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
84
Eigenvektorzentralität
 Nicht alle Nachbarn sind gleich wichtig
 Die Wichtigkeit einer Person in einem Netzwerk hängt auch von der Wichtigkeit seiner Nachbarn ab
 Wert der Nachbarn soll proportional eingehen in eigenen Wert, Berechnung:
 Sei der Zentralitätsvektor, sei der initiale Zustand
 Aktualisierung:
∑
 Matrixnotation:
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
85
Exkurs: Eigenwerte & Eigenvektoren
H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse
86
Darstellung in spektraler Form
 Zentralität genügt (Herleitung s. Tafel),
daher ist der Eigenvektor von zum Eigenwert  Zentralität von ist proportional zur Zentralität der Nachbarn:
 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
87
Herunterladen