Algorithmische Methoden zur Netzwerkanalyse

Ähnliche Dokumente
Graphen: Datenstrukturen und Algorithmen

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Algorithmische Methoden zur Netzwerkanalyse

Kombinatorische Optimierung

Algorithmen und Datenstrukturen 2

Vorlesung 3 MINIMALE SPANNBÄUME

Algorithmen und Datenstrukturen (WS 2007/08) 63

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

8 Diskrete Optimierung

Datenstrukturen & Algorithmen

Methoden der Netzwerkanalyse

Algorithmische Methoden der Netzwerkanalyse

4 Greedy-Algorithmen (gierige Algorithmen)

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Algorithmische Methoden für schwere Optimierungsprobleme

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Algorithmen II Vorlesung am

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

1 topologisches Sortieren

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 14, Henning Meyerhenke

Algorithmen und Datenstrukturen 2

16. All Pairs Shortest Path (ASPS)

Das Briefträgerproblem

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Algorithmische Methoden zur Netzwerkanalyse

WS 2009/10. Diskrete Strukturen

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Algorithmen & Datenstrukturen 1. Klausur

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Praktikum Planare Graphen

2.5. VERBINDUNGSNETZWERKE GESTALTUNGSKRITERIEN DER NETZWERKE TOPOLOGIE ALS GRAPH. Vorlesung 5 TOPOLOGIE: DEFINITIONEN : Sei G = (V, E) ein Graph mit:

Modelle und Statistiken

Anmerkungen zur Übergangsprüfung

Breiten- und Tiefensuche in Graphen

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Fully dynamic algorithms for the single source shortest path problem.

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Periodische Fahrpläne und Kreise in Graphen

EndTermTest PROGALGO WS1516 A

Algorithmentheorie Maximale Flüsse

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

Zeichnen von Graphen. graph drawing

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Die Komplexitätsklassen P und NP

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Algorithmen und Datenstrukturen

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Bäume und Wälder. Bäume und Wälder 1 / 37

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Information Systems Engineering Seminar

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK

Ein Algorithmus für die

Computer Vision: AdaBoost. D. Schlesinger () Computer Vision: AdaBoost 1 / 10

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

2 Lösungen "Peptide de novo Sequencing"

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Kapiteltests zum Leitprogramm Binäre Suchbäume

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Vorlesung : Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Die k kürzesten Wege in gerichteten Graphen

Die in den Suchverfahren konstruierten Graphen waren zusammenhängend und enthielten keine Kreise. Also vereinbaren wir:

Codierung, Codes (variabler Länge)

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

Algorithmen und Datenstrukturen Suchbaum

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Datenstrukturen und Algorithmen

Vergleich von Methoden zur Rekonstruktion von genregulatorischen Netzwerken (GRN)

Binärbäume. Prof. Dr. E. Ehses,

Grundlagen der Programmierung 2. Bäume

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung

Guten Morgen und Willkommen zur Saalübung!

Algorithmen für schwierige Optimierungsprobleme Vorlesung für den Bereich Bachelor Informatik

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

PageRank-Algorithmus

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Netzwerkmodelle. Seminar Netzwerkanalyse. Sommersemester 2005 Jasmine Metzler

Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)

Tutorium Algorithmen & Datenstrukturen

Algorithmen und Datenstrukturen Balancierte Suchbäume

Duplikatfilterung und Sampling von Webseiten

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

Prof. Dr. Jürgen Dassow Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik P E T R I N E T Z E. Vorlesungsskript

Web Algorithmen. Ranking. Dr. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik. Wintersemester 2008/09

Wie Google Webseiten bewertet. François Bry

Laufzeit und Komplexität

Konzepte der Informatik

Maximizing the Spread of Influence through a Social Network

Kompakte Graphmodelle handgezeichneter Bilder

Jenseits der reinen kompetitiven Analyse: Access Graphen

Transkript:

Algorithmische Methoden zur Netzwerkanalyse Juniorprof. 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 4 Programm des Tages: Zusammenhang Kürzeste Wege 2 Henning Meyerhenke, Institut für Theoretische Informatik

Tiefensuche (Haus)Aufgabe: Tiefensuche, SCC Führen Sie DFS auf dem dargestellten Graphen aus. Starten Sie dabei beim Knoten A und beachten Sie die lexikographische Ordnung der Knoten! Führen Sie den SCC-Algorithmus von Kosaraju (z. B. in [Cormen et al., Introduction to Algorithms, 1. Aufl., S. 489]) am Beispiel aus! 3 Henning Meyerhenke, Institut für Theoretische Informatik

Kosarajus Algorithmus Kosarajus Algorithmus 1. Rufe DFS(G) auf, um die Beendigungs-Zeitstempel f [u] für jeden Knoten u zu berechnen 2. Berechne G T, den transponierten Graphen 3. Rufe DFS(G T ) auf, beachte dabei die absteigende Reihenfolge der Zeitstempel f [u] aus Schritt 1 4. Gebe die DFS-Bäume aus Schritt 3 aus, sie bilden die starken ZHKs 4 Henning Meyerhenke, Institut für Theoretische Informatik

Kosarajus Algorithmus Kosarajus Algorithmus 1. Rufe DFS(G) auf, um die Beendigungs-Zeitstempel f [u] für jeden Knoten u zu berechnen 2. Berechne G T, den transponierten Graphen 3. Rufe DFS(G T ) auf, beachte dabei die absteigende Reihenfolge der Zeitstempel f [u] aus Schritt 1 4. Gebe die DFS-Bäume aus Schritt 3 aus, sie bilden die starken ZHKs Kosarajus Algorithmus ist asymptotisch optimal: O(n + m) Aber: Zweifacher Durchlauf in der Praxis nachteilig Daher: In der Praxis z. B. Tarjans Algorithmus verwenden (nur ein Durchlauf) 4 Henning Meyerhenke, Institut für Theoretische Informatik

Definitionen DFS-Nummer, Tiefensuch(halb)ordnung Sei v 1,..., v n die Reihenfolge, in der die Knoten markiert werden. Dann heißt DFS(v i ) die DFS-Nummer von v i. Die DFS-Nummer DFS((v, w)) einer Kante (v, w) sei die DFS-Nummer des Knotens, von dem aus die Kante durchlaufen wird. 5 Henning Meyerhenke, Institut für Theoretische Informatik

Definitionen DFS-Nummer, Tiefensuch(halb)ordnung Sei v 1,..., v n die Reihenfolge, in der die Knoten markiert werden. Dann heißt DFS(v i ) die DFS-Nummer von v i. Die DFS-Nummer DFS((v, w)) einer Kante (v, w) sei die DFS-Nummer des Knotens, von dem aus die Kante durchlaufen wird. Wir definieren eine Tiefensuch(halb)ordnung auf V E durch: DFS(p) DFS(q) p q p, q V E (1) DFS(p) < DFS(q) p q p, q V E (2) 5 Henning Meyerhenke, Institut für Theoretische Informatik

Kantenklassifikation Definition Sei S der Stapel (Stack) der Tiefensuche. Die Kanten werden während der Tiefensuche wie folgt klassifiziert: Zum Zeitpunkt, da die Kante (v, w) markiert wird, wird sie zu einer Baumkante, falls w noch nicht markiert ist, 6 Henning Meyerhenke, Institut für Theoretische Informatik

Kantenklassifikation Definition Sei S der Stapel (Stack) der Tiefensuche. Die Kanten werden während der Tiefensuche wie folgt klassifiziert: Zum Zeitpunkt, da die Kante (v, w) markiert wird, wird sie zu einer Baumkante, falls w noch nicht markiert ist, Rückwärtskante, falls w markiert ist, w v und w S 6 Henning Meyerhenke, Institut für Theoretische Informatik

Kantenklassifikation Definition Sei S der Stapel (Stack) der Tiefensuche. Die Kanten werden während der Tiefensuche wie folgt klassifiziert: Zum Zeitpunkt, da die Kante (v, w) markiert wird, wird sie zu einer Baumkante, falls w noch nicht markiert ist, Rückwärtskante, falls w markiert ist, w v und w S Querkante, falls w markiert ist, w v und w / S und 6 Henning Meyerhenke, Institut für Theoretische Informatik

Kantenklassifikation Definition Sei S der Stapel (Stack) der Tiefensuche. Die Kanten werden während der Tiefensuche wie folgt klassifiziert: Zum Zeitpunkt, da die Kante (v, w) markiert wird, wird sie zu einer Baumkante, falls w noch nicht markiert ist, Rückwärtskante, falls w markiert ist, w v und w S Querkante, falls w markiert ist, w v und w / S und Vorwärtskante, falls w markiert ist und w v. 6 Henning Meyerhenke, Institut für Theoretische Informatik

Dynamische Graphen Ungerichteter schlichter dynamischer Graph Dynamisch: Kanten werden eingefügt und gelöscht Andere Arten von Dynamik existieren! [https://gephi.org/tag/dynamics/] 7 Henning Meyerhenke, Institut für Theoretische Informatik

Dynamische Graphen Ungerichteter schlichter dynamischer Graph Dynamisch: Kanten werden eingefügt und gelöscht Andere Arten von Dynamik existieren! [https://gephi.org/tag/dynamics/] Trivial: Statischen Algorithmus auf veränderten Graphen anwenden 7 Henning Meyerhenke, Institut für Theoretische Informatik

Dynamische Graphen Ungerichteter schlichter dynamischer Graph Dynamisch: Kanten werden eingefügt und gelöscht Andere Arten von Dynamik existieren! [https://gephi.org/tag/dynamics/] Trivial: Statischen Algorithmus auf veränderten Graphen anwenden Annahme: Skaleninvariantes Netzwerk Aufgabe: Berechnung und kostengünstige Aktualisierung der ZHK 7 Henning Meyerhenke, Institut für Theoretische Informatik

ZHK in dynamischen skaleninvarianten Graphen (1) ZHK ist globale Eigenschaft Einfacher Fall: Einfügen von Kanten Schwieriger: Löschen von Kanten 8 Henning Meyerhenke, Institut für Theoretische Informatik

ZHK in dynamischen skaleninvarianten Graphen (1) ZHK ist globale Eigenschaft Einfacher Fall: Einfügen von Kanten Schwieriger: Löschen von Kanten Soziale Netzwerke (und weitere) sind oft skaleninvariant 8 Henning Meyerhenke, Institut für Theoretische Informatik

ZHK in dynamischen skaleninvarianten Graphen (1) ZHK ist globale Eigenschaft Einfacher Fall: Einfügen von Kanten Schwieriger: Löschen von Kanten Soziale Netzwerke (und weitere) sind oft skaleninvariant Bedeutet: Stark unterschiedliche Gradverteilung (power law) Später genauer: Kleine maximale Distanz zwischen beliebigem Knotenpaar (Durchmesser) 8 Henning Meyerhenke, Institut für Theoretische Informatik

ZHK in dynamischen skaleninvarianten Graphen (2) Frage 1: Welche Eigenschaften ergeben sich noch bei Skaleninvarianz? Frage 2: Was bedeutet das für die Berechnung der ZHK? 9 Henning Meyerhenke, Institut für Theoretische Informatik

ZHK in dynamischen skaleninvarianten Graphen (2) Frage 1: Welche Eigenschaften ergeben sich noch bei Skaleninvarianz? Frage 2: Was bedeutet das für die Berechnung der ZHK? Die meisten Änderungen sind innerhalb einer Komponente Einfügungen verschmelzen meist kleine mit einer (der) großen Komponente(n) 9 Henning Meyerhenke, Institut für Theoretische Informatik

ZHK in dynamischen skaleninvarianten Graphen (2) Frage 1: Welche Eigenschaften ergeben sich noch bei Skaleninvarianz? Frage 2: Was bedeutet das für die Berechnung der ZHK? Die meisten Änderungen sind innerhalb einer Komponente Einfügungen verschmelzen meist kleine mit einer (der) großen Komponente(n) Problemfall Löschungen: Komponenten werden nur selten getrennt Erkenntnis: Der Tiefensuch-Baum erleichtert einem die Arbeit Vorschläge? 9 Henning Meyerhenke, Institut für Theoretische Informatik

DFS-Kantentypus hilft bei Löschung Baumkanten bilden Spannbaum Wdh.: Ein Spannbaum ist ein Teilgraph, der alle Knoten des Obergraphen verbindet und ein Baum ist 10 Henning Meyerhenke, Institut für Theoretische Informatik

DFS-Kantentypus hilft bei Löschung Baumkanten bilden Spannbaum Wdh.: 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? 10 Henning Meyerhenke, Institut für Theoretische Informatik

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 11 Henning Meyerhenke, Institut für Theoretische Informatik

Struktur des Algorithmus Aktionen stapelweise abarbeiten Gemäß Startknoten der Kante 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 12 Henning Meyerhenke, Institut für Theoretische Informatik

Datenstruktur STINGER vs NetworKit 13 Henning Meyerhenke, Institut für Theoretische Informatik

Flowchart: Löschen von Kanten 14 Henning Meyerhenke, Institut für Theoretische Informatik

(Parallele) Bestimmung von Dreiecken Aufgabe: Schnell bestimmen, ob Kante Teil eines Dreiecks ist 15 Henning Meyerhenke, Institut für Theoretische Informatik

(Parallele) Bestimmung von Dreiecken Aufgabe: Schnell bestimmen, ob Kante Teil eines Dreiecks ist Gemeinsame Nachbarn finden Frage der Existenz! Eine Möglichkeit: Bit-Vektoren 15 Henning Meyerhenke, Institut für Theoretische Informatik

Pseudocode fürs Löschen von {u, v} F: Flag für Dreieck, R: Zahl der möglichen Aufspaltungen 16 Henning Meyerhenke, Institut für Theoretische Informatik

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 17 Henning Meyerhenke, Institut für Theoretische Informatik

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 Frage: Warum? 17 Henning Meyerhenke, Institut für Theoretische Informatik

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 Frage: Warum? Problemreduktion für den parallelen Fall 17 Henning Meyerhenke, Institut für Theoretische Informatik

Konstruktion des Komponentengraphen 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 18 Henning Meyerhenke, Institut für Theoretische Informatik

Konstruktion des Komponentengraphen 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 18 Henning Meyerhenke, Institut für Theoretische Informatik

Pseudocode fürs Einfügen von {u, v} C: Komponentengraph, M / M : ZHK-Zugehörigkeit 19 Henning Meyerhenke, Institut für Theoretische Informatik

Ein paar experimentelle Ergebnisse (nicht ganz aktuell, beinhalten nicht alle alg. Fortschritte) 20 Henning Meyerhenke, Institut für Theoretische Informatik

Zwischenfazit Zusammenhang: Bestimmung von (starken) ZHK mit DFS Kategorisierung von DFS-Kanten Baumkanten bei der Aktualisierung der ZHK in dynamischen Graphen Aktualisierung um Größenordnungen schneller als statische Neuberechnung 21 Henning Meyerhenke, Institut für Theoretische Informatik

Inhalt Berechnung in statischen Graphen Berechnung in dynamischen Graphen Abstand und Durchmesser Grundlagen Das Phänomen der kleinen Welt Schnelle Schätzung des Durchmessers in großen ungerichteten Graphen 22 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Abstand und kürzeste Wege Definition (Pfadlänge) Sei ein gerichteter und gewichteter Graph G = (V, E) mit der Gewichtsfunktion w : E R gegeben. Das Gewicht (oder die Länge) eines Pfades p =< v 0, v 1,..., v k > ist die Summe der Gewichte seiner Kanten: w(p) := k i=1 w(v i 1, v i ) 23 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Abstand und kürzeste Wege Definition (Pfadlänge) Sei ein gerichteter und gewichteter Graph G = (V, E) mit der Gewichtsfunktion w : E R gegeben. Das Gewicht (oder die Länge) eines Pfades p =< v 0, v 1,..., v k > ist die Summe der Gewichte seiner Kanten: w(p) := k i=1 w(v i 1, v i ) Definition (Kürzester Pfad) Sei G = (V, E) wie oben. Das Gewicht eines kürzesten Pfades p zwischen u, v V ist definiert als: { min{w(p) : u erreicht v über p} d(u, v) = sonst Ein kürzester Pfad zwischen u, v V ist ein Pfad p mit w(p) = d(u, v). 23 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Abstand und Durchmesser Definition Für einen Multigraphen G = (V, E) definieren wir: ecc G (v) = max {d G (v, w) : w V } (Exzentrizität von v) rad(g) = min {ecc G (v) : v V } (Radius von G) diam(g) = max {ecc G (v) : v V } (Durchmesser von G) Beispiel an der Tafel! 24 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Das Phänomen der kleinen Welt In vielen Netzwerken ist der Abstand zwischen den Knoten sehr klein Viele Experimente belegen das für unterschiedliche Netzwerke Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Implikationen für Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? 25 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Das Phänomen der kleinen Welt In vielen Netzwerken ist der Abstand zwischen den Knoten sehr klein Viele Experimente belegen das für unterschiedliche Netzwerke Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Implikationen für Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? Trivialer Ansatz 1: APSP, Maximum feststellen Aufwand kubisch bzw. O(n 2.376 polylog(n)) 25 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Das Phänomen der kleinen Welt In vielen Netzwerken ist der Abstand zwischen den Knoten sehr klein Viele Experimente belegen das für unterschiedliche Netzwerke Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Implikationen für Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? Trivialer Ansatz 1: APSP, Maximum feststellen Aufwand kubisch bzw. O(n 2.376 polylog(n)) Trivialer Ansatz 2 (in ungewichteten Graphen): BFS von jedem Knoten Aufwand: O(n (n + m)) 25 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Durchmesserabschätzung in großen dünnen ungerichteten Graphen Ziel: Durchmesserabschätzung für dünn besetzte Graphen mit Millionen von Knoten Es gibt exakte Methoden, die schneller sind als die trivialen Ansätze Aber: Diese haben aber (fast) quadratischen Aufwand, zu viel für große Graphen 26 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Durchmesserabschätzung in großen dünnen ungerichteten Graphen Ziel: Durchmesserabschätzung für dünn besetzte Graphen mit Millionen von Knoten Es gibt exakte Methoden, die schneller sind als die trivialen Ansätze Aber: Diese haben aber (fast) quadratischen Aufwand, zu viel für große Graphen Abschätzung mit weniger Aufwand, Näherung reicht in den meisten Fällen ohnehin! Literaturhinweis C. Magnien, M. Latapy, M. Habib: Fast Computation of Empirically Tight Bounds for the Diameter of Massive Graphs. Journal of Experimental Algorithmics, Volume 13, February 2009. 26 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Durchmesserabschätzung Untere und obere Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) (3) Berechenbar in Θ(n + m) Zeit und Platz. Die Güte der Schranken hängt natürlich stark vom Knoten v ab! 27 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Durchmesserabschätzung Untere und obere Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) (3) Berechenbar in Θ(n + m) Zeit und Platz. Die Güte der Schranken hängt natürlich stark vom Knoten v ab! Lemma Für Bäume (und bestimmte andere Graphklassen) gilt: Wird v so gewählt, dass d G (u, v) = ecc G (u) für einen Knoten u, dann diam(g) = ecc G (v). (4) In solchen Graphen genügen zwei BFS! Bei irgendeinem Knoten u starten. Dann wiederholen bei einem Knoten v, der maximale Distanz von u hat. 27 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! 28 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! Weitere Verbesserungen möglich: Lemma Sei T ein Spannbaum von G. Dann gilt: diam(g) diam(t ). (5) 28 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! Weitere Verbesserungen möglich: Lemma Sei T ein Spannbaum von G. Dann gilt: diam(g) diam(t ). (5) Frage 1: Warum gilt das Lemma? 28 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! Weitere Verbesserungen möglich: Lemma Sei T ein Spannbaum von G. Dann gilt: diam(g) diam(t ). (5) Frage 1: Warum gilt das Lemma? Frage 2: Wo kriegen wir den Spannbaum her? 28 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Durchmesserabschätzung Untere und obere Schranken Im allgemeinen Fall stimmen Schranke und Durchmesser nicht überein. Aber: (Häufig) Bessere untere Schranke als vorher durch zwei (oder mehr) BFS! Weitere Verbesserungen möglich: Lemma Sei T ein Spannbaum von G. Dann gilt: diam(g) diam(t ). (5) Frage 1: Warum gilt das Lemma? Frage 2: Wo kriegen wir den Spannbaum her? Antwort 2: BFS-Baum 28 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Schranken kombinieren Wir haben jetzt verschiedene untere und obere Schranken Alle mit einfachen Mitteln (BFS) zu berechnen Abwechselnd untere und obere Schranken verbessern Bei zufälligem Knoten starten (oder Heuristik anwenden) 29 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Schranken kombinieren Wir haben jetzt verschiedene untere und obere Schranken Alle mit einfachen Mitteln (BFS) zu berechnen Abwechselnd untere und obere Schranken verbessern Bei zufälligem Knoten starten (oder Heuristik anwenden) Heuristik: Startknoten mit hohem Knotengrad Gut geeignet für Schranke (4) Frage: Warum? 29 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Schranken kombinieren Wir haben jetzt verschiedene untere und obere Schranken Alle mit einfachen Mitteln (BFS) zu berechnen Abwechselnd untere und obere Schranken verbessern Bei zufälligem Knoten starten (oder Heuristik anwenden) Heuristik: Startknoten mit hohem Knotengrad Gut geeignet für Schranke (4) Frage: Warum? Grund: Der BFS-Baum eines hochgradigen Knotens hat oft einen kleinen Durchmesser 29 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Überlegungen zur Implementierung Iterieren der Schranken (4) und (5) Frage: Konvergiert die Iteration auf jeden Fall, wenn sie lange genug läuft? 30 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Überlegungen zur Implementierung Iterieren der Schranken (4) und (5) Frage: Konvergiert die Iteration auf jeden Fall, wenn sie lange genug läuft? Gegenbeispiel: Kreis aus n Knoten 30 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Überlegungen zur Implementierung Iterieren der Schranken (4) und (5) Frage: Konvergiert die Iteration auf jeden Fall, wenn sie lange genug läuft? Gegenbeispiel: Kreis aus n Knoten Abbruch, wenn der Unterschied D D kleiner als Schwellwert ist Alternativer Abbruch: (D D)/D < p für einen anderen Schwellwert p. Aufwand pro Iteration: θ(n + m) 30 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Experimentelle Ergebnisse [Magnien et al., JEA Vol. 13, Feb 2009] 31 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Fazit Durchmesser ist längster kürzester Weg über alle Knotenpaare gesehen Exakte Berechnung hat mindestens quadratische Laufzeit Durchmesser wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) 32 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser

Fazit Durchmesser ist längster kürzester Weg über alle Knotenpaare gesehen Exakte Berechnung hat mindestens quadratische Laufzeit Durchmesser wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) Abschätzen des Durchmessers für große Graphen BFS ist wesentliche Komponente 32 Henning Meyerhenke, Institut für Theoretische Informatik Abstand und Durchmesser