Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, 30.11.2011 Henning Meyerhenke



Ähnliche Dokumente
Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 8, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 11, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke

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

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

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 10, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Dieser Graph hat 3 Zusammenhangskomponenten

Kombinatorische Optimierung

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

Algorithmische Methoden zur Netzwerkanalyse

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

10. Übung Algorithmen I

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

Algorithmische Methoden zur Netzwerkanalyse

Kombinatorische Optimierung Vorlesung für den Bereich Diplom/Master Informatik

Maximale s t-flüsse in Planaren Graphen

Algorithmen II Vorlesung am

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Übung zur Vorlesung Diskrete Strukturen I

1. Einige Begriffe aus der Graphentheorie

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

WS 2013/14. Diskrete Strukturen

Algorithmen II Vorlesung am

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Theoretische Informatik 1

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

Das Problem des minimalen Steiner-Baumes

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

Netzwerkverbindungsspiele

Netzwerkstatistiken. Informatik-Seminar Netzwerkanalyse : Kapitel 11 - Netzwerkstatistiken. Jean Botev (SS 2005)

verschiedenen Recheneinheiten, die miteinander kommunizieren können

Maximale s t-flüsse in Planaren Graphen

Vorlesung 2 KÜRZESTE WEGE

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

Algorithmen und Datenstrukturen 2-1. Seminar -

Unendliche Graphen. Daniel Perz 24. Dezember Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind.

Theoretische Informatik 1

Randomisierte Algorithmen

Kombinatorische Optimierung

Graphen. Im Rahmen dieser Vorlesung beschränken wir uns auf einfache ungerichtete Graphen, die wie folgt definiert werden können:

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Algorithmische Methoden zur Netzwerkanalyse

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

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

durch Einfügen von Knoten konstruiert werden kann.

Algorithmische Methoden zur Netzwerkanalyse

Algorithmen II Vorlesung am

Vorlesung 15 ABSCHLUSS UND ZUSAMMENFASSUNG

Kombinatorische Optimierung

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Vorlesung 4 BETWEENNESS CENTRALITY

Informatik II, SS 2016

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei

Maximale s t-flüsse in Planaren Graphen

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

UNABHÄNGIGER LASTEN. Vorlesung 9 BALANCIERUNG DYNAMISCHER. Graphenalgorithmen und lineare Algebra Hand in Hand

8. Übung Algorithmen I

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

Kombinatorische Optimierung

Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009

Algorithmische Methoden zur Netzwerkanalyse

Diskrete Optimierungsverfahren zur Lösung von Sudokus

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

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

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Kombinatorische Optimierung

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Algorithmen II Vorlesung am

Algorithmen und Datenstrukturen

Ableitung einer Betragsfunktion Differenzierbarkeit

Cauchy-Folgen und Kompaktheit. 1 Cauchy-Folgen und Beschränktheit

12. Flächenrekonstruktion aus 3D-Punktwolken und generalisierte Voronoi-Diagramme

Informatik II, SS 2018

Theoretische Grundlagen der Informatik

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

Algorithmische Graphentheorie

Effizienter Planaritätstest Vorlesung am

3. Übung zur Vorlesung Planare Graphen

Eine notwendige und hinreichende Bedingung für einen Graphen mit Durchmesser 5, um 2-Durchmesser-stabil zu sein

Transkript:

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, 30.11.2011 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum Methoden in der Helmholtz-Gemeinschaft zur Netzwerkanalyse www.kit.edu

Inhalt Eigenschaften und Struktur von Netzwerken Abstand und Durchmesser Grundlagen Das Phänomen der kleinen Welt Schnelle Schätzung des Durchmessers in großen ungerichteten Graphen k-kerne im Graphen Grundlagen Betrachtung von Kanten innerhalb von und zwischen Schalen 2 Henning Meyerhenke:

Abstand und Durchmesser Definition Für einen Multigraphen G = (V, E) definieren wir: ecc G (v) = max {d G (v, w), d G (w, v) : 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! 3 Henning Meyerhenke:

Inhalt Eigenschaften und Struktur von Netzwerken Abstand und Durchmesser Grundlagen Das Phänomen der kleinen Welt Schnelle Schätzung des Durchmessers in großen ungerichteten Graphen k-kerne im Graphen Grundlagen Betrachtung von Kanten innerhalb von und zwischen Schalen 4 Henning Meyerhenke:

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)? 5 Henning Meyerhenke:

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)) 5 Henning Meyerhenke:

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)) 5 Henning Meyerhenke:

Inhalt Eigenschaften und Struktur von Netzwerken Abstand und Durchmesser Grundlagen Das Phänomen der kleinen Welt Schnelle Schätzung des Durchmessers in großen ungerichteten Graphen k-kerne im Graphen Grundlagen Betrachtung von Kanten innerhalb von und zwischen Schalen 6 Henning Meyerhenke:

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 7 Henning Meyerhenke:

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. 7 Henning Meyerhenke:

Durchmesserabschätzung Untere und obere Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) (1) Berechenbar in Θ(n + m) Zeit und Platz. Die Güte der Schranken hängt natürlich stark vom Knoten v ab! 8 Henning Meyerhenke:

Durchmesserabschätzung Untere und obere Schranken Offensichtlich (aber nur in ungerichteten Graphen): ecc G (v) diam(g) 2 ecc G (v) (1) 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). (2) In solchen Graphen genügen zwei BFS! Bei irgendeinem Knoten u starten. Dann wiederholen bei einem Knoten v, der maximale Distanz von u hat. 8 Henning Meyerhenke:

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! 9 Henning Meyerhenke:

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 ). (3) 9 Henning Meyerhenke:

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 ). (3) Frage 1: Warum gilt das Lemma? 9 Henning Meyerhenke:

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 ). (3) Frage 1: Warum gilt das Lemma? Frage 2: Wo kriegen wir den Spannbaum her? 9 Henning Meyerhenke:

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 ). (3) Frage 1: Warum gilt das Lemma? Frage 2: Wo kriegen wir den Spannbaum her? Antwort 2: BFS-Baum 9 Henning Meyerhenke:

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) 10 Henning Meyerhenke:

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 (2) Frage: Warum? 10 Henning Meyerhenke:

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 (2) Frage: Warum? Grund: Der BFS-Baum eines hochgradigen Knotens hat oft einen kleinen Durchmesser 10 Henning Meyerhenke:

Überlegungen zur Implementierung Iterieren der Schranken (2) und (3) Frage: Konvergiert die Iteration auf jeden Fall, wenn sie lange genug läuft? 11 Henning Meyerhenke:

Überlegungen zur Implementierung Iterieren der Schranken (2) und (3) Frage: Konvergiert die Iteration auf jeden Fall, wenn sie lange genug läuft? Gegenbeispiel: Kreis aus n Knoten 11 Henning Meyerhenke:

Überlegungen zur Implementierung Iterieren der Schranken (2) und (3) 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) 11 Henning Meyerhenke:

Experimentelle Ergebnisse [Magnien et al., JEA Vol. 13, Feb 2009] 12 Henning Meyerhenke:

Inhalt Eigenschaften und Struktur von Netzwerken Abstand und Durchmesser Grundlagen Das Phänomen der kleinen Welt Schnelle Schätzung des Durchmessers in großen ungerichteten Graphen k-kerne im Graphen Grundlagen Betrachtung von Kanten innerhalb von und zwischen Schalen 13 Henning Meyerhenke:

k-kerne im Graphen Motivation Grad eines Knotens alleine unzureichend als Maß der Verbundenheit zum Graphen Ein robusteres Maß ist die k-kern-struktur Interpretierbar als geschachtelte Zerlegung, die Teile des Graphens anhand ihrer Dichte zerlegt Ermöglicht: Identifikation zentraler Teile eines Netzwerks Herausfiltern unwichtiger Teile 14 Henning Meyerhenke:

k-kerne im Graphen Motivation Grad eines Knotens alleine unzureichend als Maß der Verbundenheit zum Graphen Ein robusteres Maß ist die k-kern-struktur Interpretierbar als geschachtelte Zerlegung, die Teile des Graphens anhand ihrer Dichte zerlegt Ermöglicht: Identifikation zentraler Teile eines Netzwerks Herausfiltern unwichtiger Teile Literaturhinweis M. Baur, M. Gaertler, R. Görke, M. Krug, D. Wagner: Augmenting k-core Generation with Preferential Attachment. Networks and Heterogeneous Media, 3(2):277-294, June 2008. 14 Henning Meyerhenke:

k-kerne im Graphen Definitionen (1) Definition Eine geschachtelte Zerlegung eines schlichten ungerichteten Graphen G = (V, E) ist eine endliche Folge (V 0,..., V k ) von Teilmengen der Knoten mit folgenden Eigenschaften: V 0 = V V i+1 V i für 0 i < k V k = Definition Der i-kern von G ist der eindeutige Teilgraph, den man erhält, indem man nacheinander alle Knoten mit Grad < i entfernt. 15 Henning Meyerhenke:

k-kerne im Graphen Definitionen (2) Definition Der i-kern ist die Menge aller Knoten mit mindestens i Nachbarn, die auch zum i-kern gehören. Definition Der Kern, Core(G), von G ist der nichtleere k-kern mit maximalem k. Definition Ein Knoten hat die Kernzahl (coreness) i, wenn er zum i-kern gehört, aber nicht zum (i + 1)-Kern. Definition Die i-schale von G besteht aus allen Knoten mit Kernzahl i. 16 Henning Meyerhenke:

Beispiel [Baur et al., 2008] 17 Henning Meyerhenke:

Inhalt Eigenschaften und Struktur von Netzwerken Abstand und Durchmesser Grundlagen Das Phänomen der kleinen Welt Schnelle Schätzung des Durchmessers in großen ungerichteten Graphen k-kerne im Graphen Grundlagen Betrachtung von Kanten innerhalb von und zwischen Schalen 18 Henning Meyerhenke:

Neuverdrahtung Lemma (Neuverdrahtung 1) Sei G = (V, E) ein Graph. Seien u, v V zwei nicht benachbarte Knoten mit derselben Kernzahl. Seien {u, w}, {v, w } E zwei Kanten derart, dass coreness(u) < min{coreness(w), coreness(w )}. Dann gilt: G := (V, E ) mit E := E\{{u, w}, {v, w }} {u, v} hat dieselbe Kernzerlegung wie G. 19 Henning Meyerhenke:

Neuverdrahtung Lemma (Neuverdrahtung 2) Sei G = (V, E) ein Graph. Seien u, v V zwei benachbarte Knoten mit derselben Kernzahl i mit höchstens i 1 Nachbarn in höheren Schalen. Seien w, w V derart, dass coreness(u) < min{coreness(w), coreness(w )} und {u, w}, {v, w } / E. Dann gilt: G := (V, E ) mit E := E\{u, v} {{u, w}, {v, w } hat dieselbe Kernzerlegung wie G. Beispiel an der Tafel, Beweis in der Übung! 20 Henning Meyerhenke:

Beispiel Neuverdrahtung 21 Henning Meyerhenke:

Kantenwechsel Lemma (Kantenwechsel) Sei G = (V, E) ein Graph. Seien u, v, w, w V mit derselben Kernzahl. Seien {u, v}, {w, w } Intra-Schalen-Kanten sowie {u, w}, {v, w } / E. Dann gilt: G := (V, E ) mit E := E\{{u, v}, {w, w }} {{u, w}, {v, w } hat dieselbe Kernzerlegung wie G. Beweis in der Übung! 22 Henning Meyerhenke:

Beispiel Kantenwechsel 23 Henning Meyerhenke:

Untere Schranken Lemma Sei G = (V, E) ein Graph, (V 0,..., V k ) seine Kern-Zerlegung und G i := (V i, E i ) := G[V i ] sein i-kern. Dann lässt sich die Größe jedes i-kerns beschränken durch: i + 1 V i and (i + 1)i 2 E i. (4) 24 Henning Meyerhenke:

Obere und untere Schranken Lemma Sei n i := V i \V i+1 die Zahl der Knoten mit Kernzahl i. Seien m i := E i \E i+1. Per Definition: V k+1 :=, E k+1 :=. Dann lässt sich die Größe der i-schale beschränken durch: 0 n i V (5) i n i 2 } {, if n i > i i ni, if i < k ( n i 2 ) + n m i i (i n i + 1), if n i i i n i i(i+1) (6) 2, if i = k 25 Henning Meyerhenke:

Beispielwerte Abbildung: Charakteristiken des Netzwerkes der autonomen Systeme des Internets im Januar 2002 (mittlere Spalte). Zum Vergleich die Werte des Generators aus [Baur et al., 2008] (rechte Spalte). 26 Henning Meyerhenke:

Fazit k-kerne Die k-kernstruktur gibt ein Maß an, das robuster ist als der Knotengrad zur Bestimmung der Verbindung eines Knotens zum Rest des Graphen Algorithmische Definition und Lemmas Aus den theoretischen Ergebnissen lässt sich ein Generator entwickeln Bei Interesse bzgl. Generator: siehe [Baur et al., 2008] 27 Henning Meyerhenke: