Algorithmische Methoden zur Netzwerkanalyse

Ähnliche Dokumente
Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, Henning Meyerhenke

Vorlesung 4 BETWEENNESS CENTRALITY

Kombinatorische Optimierung

Maximale s t-flüsse in Planaren Graphen

8 Diskrete Optimierung

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden der Netzwerkanalyse

Algorithmische Methoden für schwere Optimierungsprobleme

Maximale s t-flüsse in Planaren Graphen

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

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

Algorithmen II Vorlesung am

Kombinatorische Optimierung

Datenstrukturen & Algorithmen

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

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

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

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

4 Greedy-Algorithmen (gierige Algorithmen)

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen

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

Einführung in Heuristische Suche

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016)

Randomisierte Algorithmen

Algorithmische Methoden zur Netzwerkanalyse

Randomisierte Algorithmen

Algorithmen und Datenstrukturen Suchbaum

5 Zwei spieltheoretische Aspekte

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

Kostenmaße. F3 03/04 p.188/395

Programmiertechnik II

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

16. All Pairs Shortest Path (ASPS)

11.1 Grundlagen - Denitionen

Effiziente Algorithmen I

ADS: Algorithmen und Datenstrukturen 2

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:

13. Binäre Suchbäume

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

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

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Abschnitt: Algorithmendesign und Laufzeitanalyse

Customization (Zuschneiden)

Graphen: Datenstrukturen und Algorithmen

Informatik II, SS 2014

Übung zur Vorlesung Algorithmische Geometrie

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Randomisierte Algorithmen

Rechnerische Komplexität

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Zeichnen von Graphen. graph drawing

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

4.7 Der Algorithmus von Dinic für maximalen Fluss

Binäre lineare Optimierung mit K*BMDs p.1/42

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

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 14, Henning Meyerhenke

Einführung in die Informatik 1

Algorithmentheorie Maximale Flüsse

Informatik II, SS 2014

EndTermTest PROGALGO WS1516 A

Das Briefträgerproblem

Informatik I Komplexität von Algorithmen

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg

Prof. Dr. Margarita Esponda

Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6

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

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

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

Syntax von LOOP-Programmen

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Approximationsalgorithmen

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

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

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

Overview. Testen von Planarität. Planare Graphen. Beliebige Knotenpositionen. Gerade Linien. Faces

Algorithmen und Datenstrukturen Kapitel 10

Induktive Beweise und rekursive Definitionen

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

Suchen und Sortieren Sortieren. Heaps

Wiederholung zu Flüssen

3. Musterlösung. Problem 1: Boruvka MST

Vorlesung 3 MINIMALE SPANNBÄUME

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

Netzwerkfluß. Gegeben ist ein System von Wasserrohren: Die Kapazität jedes Rohres ist 3, 5 oder 8 l/s.

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

abgeschlossen unter,,,, R,

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele

Modelle und Statistiken

Viel Spaÿ! Aufgabe 0.1. Laufzeit unter Verdoppelung (-)

Streaming Data: Das Modell

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Spiele in der Informatik

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

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

Komplexität von Algorithmen

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

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

Codierung, Codes (variabler Länge)

Transkript:

Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Die Forschungsuniversität Meyerhenke, in der Institut für Theoretische Informatik Helmholtz-Gemeinschaft www.kit.edu

Vorlesung 9 Programm des Tages: Abschluss Besprechung ÜB2 2 Henning Meyerhenke, Institut für Theoretische Informatik

Inhalt Schnelle Approximation des Durchmessers in großen ungerichteten Graphen 3 Henning Meyerhenke, Institut für Theoretische Informatik

Das Phänomen der kleinen Welt In vielen (komplexen) Netzwerken ist der Abstand zwischen den Knoten sehr klein (O(log n) oder manchmal sogar (fast) konstant) Viele Experimente belegen das für unterschiedliche Netzwerke Kriterium für Kategorie komplex 4 Henning Meyerhenke, Institut für Theoretische Informatik

Das Phänomen der kleinen Welt In vielen (komplexen) Netzwerken ist der Abstand zwischen den Knoten sehr klein (O(log n) oder manchmal sogar (fast) konstant) Viele Experimente belegen das für unterschiedliche Netzwerke Kriterium für Kategorie komplex Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein 4 Henning Meyerhenke, Institut für Theoretische Informatik

Das Phänomen der kleinen Welt In vielen (komplexen) Netzwerken ist der Abstand zwischen den Knoten sehr klein (O(log n) oder manchmal sogar (fast) konstant) Viele Experimente belegen das für unterschiedliche Netzwerke Kriterium für Kategorie komplex Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Definition Für einen Graphen 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) 4 Henning Meyerhenke, Institut für Theoretische Informatik

Das Phänomen der kleinen Welt In vielen (komplexen) Netzwerken ist der Abstand zwischen den Knoten sehr klein (O(log n) oder manchmal sogar (fast) konstant) Viele Experimente belegen das für unterschiedliche Netzwerke Kriterium für Kategorie komplex Mathematisch: Mittlere Distanz bzw. Durchmesser ist klein Definition Für einen Graphen 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: Siehe Tafel! 4 Henning Meyerhenke, Institut für Theoretische Informatik

Berechnung des Durchmessers Frage: Welche Implikationen hat ein kleiner Durchmesser für NA-Algorithmen? 5 Henning Meyerhenke, Institut für Theoretische Informatik

Berechnung des Durchmessers Frage: Welche Implikationen hat ein kleiner Durchmesser für NA-Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? 5 Henning Meyerhenke, Institut für Theoretische Informatik

Berechnung des Durchmessers Frage: Welche Implikationen hat ein kleiner Durchmesser für NA-Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? Trivialer Ansatz 1: APSP, Maximum feststellen Aufwand kubisch bzw. O(MM(n) polylog(n)) 5 Henning Meyerhenke, Institut für Theoretische Informatik

Berechnung des Durchmessers Frage: Welche Implikationen hat ein kleiner Durchmesser für NA-Algorithmen? Frage: Wie berechnet man den Durchmesser (schnell)? Trivialer Ansatz 1: APSP, Maximum feststellen Aufwand kubisch bzw. O(MM(n) polylog(n)) Trivialer Ansatz 2 (in ungewichteten Graphen): BFS von jedem Knoten Aufwand: O(n (n + m)) 5 Henning Meyerhenke, Institut für Theoretische Informatik

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

Durchmesser approximieren 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 Approximation mit weniger Aufwand, Näherung reicht in den meisten Fällen ohnehin! Literaturhinweise 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. P. Crescenzi, R. Grossi, M. Habib, L. Lanzi, A. Marino: On computing the diameter of real-world undirected graphs. Theor. Comput. Sci. 514: 84-95 (2013). 6 Henning Meyerhenke, Institut für Theoretische Informatik

Durchmesser approximieren Einfache (untere und obere) Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) v V (1) Die Güte der Schranken hängt natürlich stark vom Knoten v ab! 7 Henning Meyerhenke, Institut für Theoretische Informatik

Durchmesser approximieren Einfache (untere und obere) Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) v V (1) Die Güte der Schranken hängt natürlich stark vom Knoten v ab! Motivation: Schranken iterieren 7 Henning Meyerhenke, Institut für Theoretische Informatik

Durchmesser approximieren Einfache (untere und obere) Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) v V (1) Die Güte der Schranken hängt natürlich stark vom Knoten v ab! Motivation: Schranken iterieren Sei T u der BFS-Baum von G mit Wurzel u Dann: ecc(u) = Höhe von T u 7 Henning Meyerhenke, Institut für Theoretische Informatik

Durchmesser approximieren Einfache (untere und obere) Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) v V (1) Die Güte der Schranken hängt natürlich stark vom Knoten v ab! Motivation: Schranken iterieren Sei T u der BFS-Baum von G mit Wurzel u Dann: ecc(u) = Höhe von T u Wichtig: Guter Startknoten u, weitere Ergebnisse 7 Henning Meyerhenke, Institut für Theoretische Informatik

Notation Definition N i (u): Menge der Knoten auf Ebene i von T u (= i-sprung-nachbarschaft von u) 8 Henning Meyerhenke, Institut für Theoretische Informatik

Notation Definition N i (u): Menge der Knoten auf Ebene i von T u (= i-sprung-nachbarschaft von u) F (u) := N ecc(u) (u): Knoten der untersten Ebene von T u 8 Henning Meyerhenke, Institut für Theoretische Informatik

Notation Definition N i (u): Menge der Knoten auf Ebene i von T u (= i-sprung-nachbarschaft von u) F (u) := N ecc(u) (u): Knoten der untersten Ebene von T u B i (u) := max z Ni (u) ecc(z): max. Exzentrizität der Knoten in N i(u) 8 Henning Meyerhenke, Institut für Theoretische Informatik

Beispiel Siehe Tafel! 9 Henning Meyerhenke, Institut für Theoretische Informatik

Weitere einfache Schranken (1) Beobachtung Für jedes x, y V mit x N i (u) oder y N i (u) gilt: dist(x, y) B i (u). 10 Henning Meyerhenke, Institut für Theoretische Informatik

Weitere einfache Schranken (1) Beobachtung Für jedes x, y V mit x N i (u) oder y N i (u) gilt: dist(x, y) B i (u). Frage: Warum? 10 Henning Meyerhenke, Institut für Theoretische Informatik

Weitere einfache Schranken (1) Beobachtung Für jedes x, y V mit x N i (u) oder y N i (u) gilt: dist(x, y) B i (u). Frage: Warum? Folgt direkt aus dist(x, y) min{ecc(x), ecc(y)} B i (u) 10 Henning Meyerhenke, Institut für Theoretische Informatik

Weitere einfache Schranken (2) Lemma Für alle 1 i, j ecc(u) und für alle x N i (u), y N j (u) gilt: dist(x, y) i + j 2 max{i, j}. 11 Henning Meyerhenke, Institut für Theoretische Informatik

Weitere einfache Schranken (2) Lemma Für alle 1 i, j ecc(u) und für alle x N i (u), y N j (u) gilt: dist(x, y) i + j 2 max{i, j}. Beweis. Definition der N i (u) Betrachte kürzesten Weg zwischen x und y Schlechtester Fall: i Schritte in T u von x bis zur Wurzel u j Schritte in T u von u zu y 11 Henning Meyerhenke, Institut für Theoretische Informatik

Haupttheorem zur Konvergenz Theorem Seien 1 i < ecc(u) und 1 k < i beliebig. Für jedes x N i k (u) mit ecc(x) > 2(i 1) existiert ein y x N j (u) mit j i derart, dass dist(x, y x ) = ecc(x). 12 Henning Meyerhenke, Institut für Theoretische Informatik

Haupttheorem zur Konvergenz Theorem Seien 1 i < ecc(u) und 1 k < i beliebig. Für jedes x N i k (u) mit ecc(x) > 2(i 1) existiert ein y x N j (u) mit j i derart, dass dist(x, y x ) = ecc(x). Beweis. Siehe Tafel! 12 Henning Meyerhenke, Institut für Theoretische Informatik

Abbruchkriterium Proposition Sei y N i.. ecc(u) := N i (u) N i+1 (u) N ecc(u) mit max. Exzentrizität in N i.. ecc(u) und sei ecc(y) > 2(i 1). Dann gilt für alle x N 1..i 1 := N 1 (u) N 2 (u) N i 1 (u): ecc(x) ecc(y). 13 Henning Meyerhenke, Institut für Theoretische Informatik

Abbruchkriterium Proposition Sei y N i.. ecc(u) := N i (u) N i+1 (u) N ecc(u) mit max. Exzentrizität in N i.. ecc(u) und sei ecc(y) > 2(i 1). Dann gilt für alle x N 1..i 1 := N 1 (u) N 2 (u) N i 1 (u): ecc(x) ecc(y). Beweis. x N 1..i 1 beliebig y x N i.. ecc(u) ein Knoten mit ecc(x) = dist(x, y) 13 Henning Meyerhenke, Institut für Theoretische Informatik

Abbruchkriterium Proposition Sei y N i.. ecc(u) := N i (u) N i+1 (u) N ecc(u) mit max. Exzentrizität in N i.. ecc(u) und sei ecc(y) > 2(i 1). Dann gilt für alle x N 1..i 1 := N 1 (u) N 2 (u) N i 1 (u): ecc(x) ecc(y). Beweis. x N 1..i 1 beliebig y x N i.. ecc(u) ein Knoten mit ecc(x) = dist(x, y) Def. Exzentrizität ecc(y x ) ecc(x) = dist(x, y x ) ecc(y) = B i.. ecc(u) (u) ecc(y) ecc(y ) y N i.. ecc(u) (u) 13 Henning Meyerhenke, Institut für Theoretische Informatik

Traversierung: Bottom up! BFS-Baum T u bottom up traversieren Auf jeder Ebene i Exzentrizitäten von N i (u) berechnen Falls die maximale Exzentrizität c größer als 2(i 1) ist: Abarbeitung der höheren Ebenen unnötig 14 Henning Meyerhenke, Institut für Theoretische Informatik

Traversierung: Bottom up! BFS-Baum T u bottom up traversieren Auf jeder Ebene i Exzentrizitäten von N i (u) berechnen Falls die maximale Exzentrizität c größer als 2(i 1) ist: Abarbeitung der höheren Ebenen unnötig Iteratives Schema: 1. Initialisiere i ecc(u) und M B i (u) 2. Falls M > 2(i 1): 2.1 JA: Gib M zurück. 2.2 NEIN: Setze i i 1, M max{m, B i (u)} und wiederhole Schritt 2. 14 Henning Meyerhenke, Institut für Theoretische Informatik

Traversierung: Bottom up! BFS-Baum T u bottom up traversieren Auf jeder Ebene i Exzentrizitäten von N i (u) berechnen Falls die maximale Exzentrizität c größer als 2(i 1) ist: Abarbeitung der höheren Ebenen unnötig Iteratives Schema: 1. Initialisiere i ecc(u) und M B i (u) 2. Falls M > 2(i 1): 2.1 JA: Gib M zurück. 2.2 NEIN: Setze i i 1, M max{m, B i (u)} und wiederhole Schritt 2. Beobachtung Für den Durchmesser D von G und M := B i (u) gilt: M D, da M eine Exzentrizität angibt Falls M 2(i 1), dann D 2(i 1) 14 Henning Meyerhenke, Institut für Theoretische Informatik

Algorithmus IFUB 1: function IFUB(G = (V, E), u V, unt. Schr. l für D, Fehler k N 0 ) 2: Ausgabe: Wert M mit D M k 3: Berechne T u und i ecc(u) ecc(u) ist Tiefe von T u 4: lb max{ecc(u), l) lower bound lb 5: ub 2 ecc(u) upper bound ub 6: while ub lb > k do 7: Berechne B i (u) BFS von Knoten aus N i (u) 8: if max{lb, B i (u)} > 2(i 1) then Abbr.krit. Proposition 9: return max{lb, B i (u)} 10: else 11: lb max{lb, B i (u)} 12: ub 2(i 1) 13: i i 1 Ebene raufgehen in T u 14: end if 15: end while 16: return lb 17: end function 15 Henning Meyerhenke, Institut für Theoretische Informatik

Korrektheit von IFUB Theorem Algorithmus IFUB arbeitet korrekt. Beweis. Folgt aus Vorüberlegungen. 16 Henning Meyerhenke, Institut für Theoretische Informatik

Laufzeit von IFUB Proposition Algorithmus IFUB führt höchstens D/2 Iterationen durch. Beweis. Übungsaufgabe. 17 Henning Meyerhenke, Institut für Theoretische Informatik

Laufzeit von IFUB Proposition Algorithmus IFUB führt höchstens D/2 Iterationen durch. Beweis. Übungsaufgabe. Corollary Algorithmus IFUB ruft BFS höchstens N D/2.. ecc(u) mal auf. 17 Henning Meyerhenke, Institut für Theoretische Informatik

Wahl des Startknotens Im Paper 3 Strategien: Random selection Highest degree selection 4-Sweep selection 18 Henning Meyerhenke, Institut für Theoretische Informatik

Experimentelle Ergebnisse Details in Crescenzi et al. Highest degree selection funktioniert sehr gut Realweltgraphen: Einige Dutzend BFS reichen oft aus Berechnung von B i (u): trivial parallel 19 Henning Meyerhenke, Institut für Theoretische Informatik

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

Fazit Durchmesser ist längster kürzester Weg über alle Knotenpaare gesehen Durchmesser wichtiges Maß in der Netzwerkanalyse (Phänomen der kleinen Welt) Exakte Berechnung hat mindestens quadratische Laufzeit (im worst case) Approximieren des Durchmessers für große Graphen BFS ist wesentliche Komponente Einfach zu implementieren! Neuere Algorithmen teilweise noch schneller! 20 Henning Meyerhenke, Institut für Theoretische Informatik