Vorlesung 4 BETWEENNESS CENTRALITY

Ähnliche Dokumente
23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

Algorithmische Methoden zur Netzwerkanalyse

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE

Algorithmen & Komplexität

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Algorithmische Methoden zur Netzwerkanalyse

Wie wird ein Graph dargestellt?

Lernmodul 7 Algorithmus von Dijkstra

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

10 Kürzeste Pfade SSSP-Problem

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kombinatorische Optimierung

Fortgeschrittene Netzwerk- und Graph-Algorithmen

9. November ZHK in dynamischen Graphen Zentralitäten. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 67

Algorithmen II Vorlesung am

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Algorithmische Methoden zur Netzwerkanalyse

Datenstrukturen und Algorithmen (SS 2013)

Kap. 6.6: Kürzeste Wege

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Vorlesung Datenstrukturen

Kap. 6.6: Kürzeste Wege

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

15. Elementare Graphalgorithmen

Übung 5 Algorithmen II

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Algorithmen und Datenstrukturen 2

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden für schwere Optimierungsprobleme

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen & Datenstrukturen 2 Praktikum 3

1 Kürzeste Pfade in Graphen

Übungsblatt 7 - Voronoi Diagramme

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013

Algorithmen und Datenstrukturen

Kürzeste und Schnellste Wege

Algorithmische Graphentheorie

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Aufgaben zur Klausurvorbereitung

SCHNITTERHALTUNG (SPEKTRALE APPROXIMATION)

Algorithmen und Datenstrukturen

10. Übungsblatt zu Algorithmen I im SS 2010

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

Graphalgorithmen II. Werner Sembach Werner Sembach Graphalgorithmen II / 22

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Teil 2: Graphenalgorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS Oktober 2014

Algorithmen und Datenstrukturen Klausur WS 2006/07 Software-Engineering und Technische Informatik Bachelor

Vorlesung Datenstrukturen

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Prüfung Datenstrukturen und Algorithmen, D-INFK. Datenstrukturen & Algorithmen

Lösungsvorschlag Hausübung 8

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012

Datenstrukturen & Algorithmen

Kombinatorische Optimierung

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Relationen und DAGs, starker Zusammenhang

Algorithmen für schwierige Probleme

Grundlagen: Algorithmen und Datenstrukturen

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

Algorithmen auf Sequenzen

Vorlesung 3 MINIMALE SPANNBÄUME

Geradenarrangements und Dualität von Punkten und Geraden

Breitensuche BFS (Breadth First Search)

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale.

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

Transkript:

Vorlesung 4 BETWEENNESS CENTRALITY 101

Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/ images/social_network.jpg]! Aufgabe 2: Finden Sie wichtige Personen im Netzwerk! Wie modellieren Sie wichtig? 102

Zentralität durch kürzeste Wege! Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf einem hohen Anteil kürzester Wege liegt.! Sei ¾ st 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.! Beispiel: Knoten 5 liegt auf allen kürzesten Wegen von 1 nach 8, insgesamt 6 1 2 3 5 6 7 8 4 103

Betweenness Centrality! Intermediationszentralität (Betweenness Centrality) BC: C B (v) = Σ s v t 2 V ¾ st (v) / ¾ st! Folglich: Ein hoher BC-Wert gibt an, dass ein Knoten auf einem hohen Anteil von kürzesten Pfaden liegt! Beispiel: C B (7) = 2,5! 1-2: 0 2-4: 0 3-8: 0,5! 1-3: 0 2-5: 0 4-5: 0! 1-4: 0 2-6: 0 4-6: 0! 1-5: 0 2-8: 0,5 4-8: 0,5! 1-6: 0 3-4: 0 5-6: 0 1 2 3 5 6 8! 1-8: 0,5 3-5: 0 5-8: 0,5! 2-3: 0 3-6: 0 6-8: 0 4 7 104

Weitere Anwendungen! Fehlertoleranz: Knoten mit hoher BC fällt aus => große Auswirkungen! Informationsfluss: Knoten mit hoher BC sind wichtige Informationsvermittler! Weitere? 105

Paar-Abhängigkeit! 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: ± st (v) = ¾ st (v) / ¾ st! C B ist Summe über die Paar-Abhängigkeiten von v: C B (v) = Σ s v t 2 V ¾ st (v) / ¾ st = Σ s v t 2 V ± st (v) 106

Beispiel 2 6 1 3 5 8 C B (5) = 12 7 4 Paar-Abhängigkeiten für Knoten 5: 1-6, 1-7, 1-8, 2-6, 2-7, 2-8, 3-6, 3-7, 3-8, 4-6, 4-7, 4-8 107

Berechnung und Komplexität! Einfache Herangehensweise zur BC-Berechnung:! Berechne Länge und Zahl der kürzesten Wege zwischen allen zulässigen Knotenpaaren! Berechne Summe aller Paar-Abhängigkeiten! Aber: Quadratisch viele Paar-Abhängigkeiten Ø Summierung hat kubischen Aufwand! 108

Zwischenfazit! Knoten-Zentralitäten sind ein Maß für die Wichtigkeit eines Knotens in einem Netzwerk! Betweenness Centrality (BC) nutzt dafür den Anteil der kürzesten Wege, auf dem ein Knoten liegt! Triviale Berechnung von BC hat kubischen Aufwand! Schnelleres Verfahren bereits für recht kleine Graphen notwendig! Frage (MG): Sehen Sie Ansätze für eine schnellere Berechnung? 109

Ansatz zur Beschleunigung Kombinatorisches Zählen von Wegen! Def. (Vorgänger): P s (v) = {u 2 V: {u, v} 2 E, d G (s, v) = d G (s, u) +!(u, v)} In Worten: Die Vorgängermenge von v bzgl. einer Quelle s besteht aus den Nachbarn u von v, die auf einem kürzesten Weg von s nach v liegen.! Beispiel: 2! s = 1! v = 8! P 1 (8) = {6, 7} 1 3 5 6 7 8 4 110

Vorgänger für schnelle Berechnung! Lemma: Für s v 2 V gilt: ¾ sv = Σ u 2 Ps (v) ¾ su! Folgerung: Ist ein Startknoten s 2 V gegeben, lässt sich die Zahl und Länge der kürzesten Wege zu allen anderen Knoten in Zeit O(m + n log n) für gewichtete Graphen und O(m) für ungewichtete berechnen. BFS und Dijkstra (mit Fibonacci- Heap)! Idee: Zwischenergebnisse mehrfach verwenden! 111

Abhängigkeit eines Knotens! Ziel: Nicht alle Paar-Abhängigkeiten summieren müssen! Def. (Abhängigkeit eines Knotens s von v s): ± s± (v) = Σ t 2 V ± st (v) = Σ t 2 V ¾ st (v) / ¾ st ± st (v) = ¾ st (v) / ¾ st C B (v) = Σ s v 2 V ± s± (v)! Wichtig: Diese Summen haben eine rekursive Beziehung!! Theorem: Für die Abhängigkeit ± s± (v) eines Startknotens s 2 V zu einem anderen Knoten v 2 V gilt: ± s± (v) = Σ w: v 2 Ps (w) (¾ sv / ¾ sw )(1 + ± s± (w)) 112

Abbildung zum Beweis [Brandes 2001] ± s± (v) = Σ w: v 2 Ps (w) (¾ sv / ¾ sw )(1 + ± s± (w)) C B (v) = Σ s v t 2 V ± st (v) 113

Akkumulation der Abhängigkeiten (1)! Beobachtung: Ähnlich wie bei Tiefensuche: Bei Berechnung der kürzesten Wege von einem Startknoten s 2 V in G entsteht ein Baum aus den Kanten der ersten Entdeckung.! Folgerung: Sei der Baum der kürzesten Wege von einem Startknoten s 2 V in G gegeben. Dann lassen sich die Abhängigkeiten von s zu allen anderen Knoten! in Zeit O(m) (ungewichtet) bzw. O(m + n log n) (gewichtet)! und Platz (n+m) berechnen. 114

Akkumulation der Abhängigkeiten (2) Beweis:! Berechnung für jeden Startknoten s:! Führe SSSP bzw. BFS von s durch! Traversiere die Knoten in nicht-aufsteigender Reihenfolge hinsichtlich ihrer Distanz zu s und! akkumuliere die Abhängigkeiten gemäß des Theorems! Aufwand:! Wir müssen pro Knoten eine Abhängigkeit und die Liste der Vorgänger speichern.! Platzbedarf:! Pro Kante gibt es höchstens ein Element in allen diesen Listen. 115

Der Algorithmus von Brandes! Berechne n Kürzeste-Wege-Bäume, einen pro s 2 V! Währenddessen auch die Mengen P s (v) berechnen! Berechne für! jedes jeweilige s 2 V und alle anderen v 2 V! die Abhängigkeiten ± s± (v) mit Hilfe des Baumes, der Vorgängermengen und des Theorems.! Vorgehensweise:! 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 2 Ps (w)} (¾ sv / ¾ sw )(1 + ± s± (w)) C B (v) = Σ s v t 2 V ± st (v) 116

Beispiel! Siehe Tafel 117

Resultat! 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 mit einer linearen Anzahl von Kanten (linear in ) verbessert dies den naiven Algorithmus mit kubischer Laufzeit um den Faktor O(n / log n) bzw. O(n). 118

Pseudocode! Graphenbasiert: Siehe Kopie 119

Algebraische Formulierung! BFS mit Matrix-Vektor-Multiplikation! Vollständige Aktualisierung der Eltern- und Pfadinformationen! Vollständige BC-Aktualisierung! Pseudocode: Siehe Tafel 120

Parallelisierung! Grobgranular: Jede einzelne BFS/SSSP-Operation ist unabhängig von den anderen, wenn die Zentralitätssummen atomar aktualisiert werden! Feingranular: Die einzelnen Teile jeder BFS/SSSP-Operation können parallelisiert werden! Im Detail: Feingranularer Ansatz! Vorteil: Datenstrukturen müssen nicht repliziert werden 121

Feingranulare Parallelisierung! Beim Startknoten k starten! Sukzessive die Grenze der besuchten Knoten expandieren! Dabei die Zahl der kürzesten Wege zählen! Multimenge P(w) für die Vorgänger jedes Knotens w! Knoten in S(i) gleichzeitig bearbeiten! Pseudocode: Siehe Kopie 122

Zusammenfassung! (Knoten-)Zentralitätsmaße: Wichtigkeit von Knoten im Netzwerk! Betweenness Centrality: Summe der Anteile an kürzesten Wegen zwischen Knotenpaaren! Naiver Algorithmus erfordert kubische Laufzeit! Beschleunigung durch rekursive Akkumulation! Algebraisch: Für ungewichtete Graphen recht einfach! Parallel: Feingranular versus grobgranular 123

Übung! In der Übung eine Einheit zur Zusammenfassung und Wiederholung der bisherigen Ergebnisse! Was wurde behandelt?! Gemeinsamkeiten! Unterschiede! Was fällt Ihnen auf, positiv oder negativ? 124