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: