2. November 2011 • Gradfolgen • Zusammenhang • Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge eines schlichten ungerichteten Graphen, wenn ≡ 0mod2 und für alle ∈ ≔ 1 ∈ 1 min gilt , H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 38 Beweis (Tafel) Notwendigkeit Betrachte Teilmengen der Knoten , Schätze Zahl der Kanten zwischen und ab Hinlänglichkeit Erweitere Teilrealisierung sukzessive Betrachte kritischen Index Fallunterscheidung H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 39 Satz von Havel und Hakimi H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 40 Algorithmus von Havel und Hakimi Algorithm Havel‐Hakimi( ,…, ) Eingabe: Realisierbare Gradfolge Ausgabe: Graph mit Gradfolge 1. Init: ,…, , ∅, , ∀ ∈ 2. while ( , erfüllt nicht die Gradfolge ) do 3. Sortiere L absteigend gemäß der ersten Komponente 4. Verbinde . in mit den nächsten . Knoten in 5. . . 1 ∀ ∈ 2, … , . 1 6. Entferne aus 7. return , H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 41 Fazit Gradfolgen Wir kennen jetzt Bedingungen für die Existenz eines Graphen bei gegebener Gradfolge. Wenn wir wissen, dass eine Gradfolge realisierbar ist, können wir dazu einen Graphen erstellen. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 42 Beispiel für Power Law Gradverteilung im afrikanischen Web Zahl der URLs mit Eingangsgrad i ist proportional zu iα für eine Konstante α < 0 Quelle: http://www2002.org/CDROM/poster/164/ H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 43 H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 44 Teilgraph Tafel: Teilgraph und induzierter Teilgraph H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 45 Weg und Kreis Definition: Ein (gerichteter) Weg der Länge ist ein Graph mit und wobei verlangt wird. Wir nennen auch einen ‐Weg. Der Graph mit heißt (gerichteter) Kreis der Länge . H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse , 46 Beispiel zu Weg und Kreis Weg der Länge 7 Kreis der Länge 7 H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 47 Existenz minimaler Knotengrad von H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 48 Kürzeste Wege Def.: Sei ein gerichteter und gewichteter Graph G=(V,E) mit der Gewichtsfkt. w: E→R gegeben. Das Gewicht (Länge) eines Weges p = <v0, v1, …, vk> ist die Summe der Gewichte seiner Kanten: k w( p ) w(vi 1 , vi ) i 1 • Def.: Sei G=(V,E) wie oben. Das Gewicht eines kürzesten Weges p zwischen u,v V ist definiert als: (u, v) p min{ w ( p ):u v : sonst • Def.: Sei G=(V,E) wie in Def. 1.2. Ein kürzester Weg zwischen u,v V ist ein Weg p mit w(p) = (u,v). H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 49 All Pairs Shortest Path (APSP) Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,vV die Distanz von u nach v sowie einen kürzesten Weg a b c d e a 0 1 5 5 10 9 b 0 4 5 10 9 c -3 0 1 6 5 d -4 0 0 5 4 e 5 8 9 0 -1 f 0 4 b f c 2 7 -4 1 6 8 a f -1 5 d 5 H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse e 50 Algorithmen für KW bzw. APSP Welche kennen Sie? Dijkstra (SSSP) Bellman‐Ford (SSSP) RIP (APSP‐Protokoll) Außerdem: Floyd‐Warshall (APSP) Matrix‐Multiplikation (APSP) H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 51 H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 52 Zusammenhang Fragestellungen Was bedeutet Zusammenhang? Was sind Zusammenhangskomponenten? Warum kann es wichtig sein, sie zu kennen? H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 53 Zusammenhang Definition (Zusammenhang): Ein Multigraph heißt stark zusammenhängend, falls er für jedes Paar sowohl einen ‐Weg als auch einen enthält. ‐Weg heißt (schwach) zusammenhängend, wenn der symmetrische Multigraph (Kanten doppelt gerichtet) zu stark zusammenhängend ist. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 54 Beispiel Zusammenhang Stark zusammenhängend Schwach zusammenhängend Unzusammenhängend H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 55 Mehrfacher Zusammenhang Ein ungerichteter Multigraph G heißt k‐fach (knoten)zusammenhängend, falls jeder durch Entfernen von höchstens k‐1 beliebigen Knoten (und aller inzidenten Kanten) entstehende Teilgraph von G zusammenhängend ist. G heißt k‐fach kantenzusammenhängend, falls jeder durch Entfernen von höchstens k‐1 beliebigen Kanten entstehende Teilgraph von G zusammenhängend ist. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 56 Komponenten Definition (Komponenten): Zu einem schlichten Multigraphen G heißt ein maximaler stark schwach k‐fach k‐fach kantenzushgd. zusammenhängender Teilgraph starke schwache k‐fache k‐fach kantenzushängende Zusammenhangskomponente. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 57 Beispiel Starke ZHK Quelle: http://www.cs.berkeley.edu/~vazirani/s99cs170/notes/lec12.pdf H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 58 Fragestellungen Wie findet man (effizient) Zusammenhangskomponenten? Wie kann man Zusammenhangskomponenten (alternativ) beschreiben? H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 59 Tiefensuche Ist die Reihenfolge, in der die Knoten markiert werden, so heißt DFS( ) die DFS‐Nummer von Die DFS‐Nummer DFS( ) = DFS( ) einer Kante sei die DFS‐Nummer des Knotens, von dem aus sie durchlaufen wird. Wir definieren eine Tiefensuch(halb)ordnung auf durch: H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 60 Tiefensuche Kantenklassifikation H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 61 Beispiel: Tiefensuche H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 62 Anwendung der Tiefensuche Starke ZHK bestimmen Praxisübung H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 63 ZHK in dynamischen Graphen Ungerichteter schlichter dynamischer Graph Dynamisch: Kanten werden eingefügt und gelöscht Annahme: Skaleninvariantes Netzwerk Aufgabe: Berechnung und kostengünstige Aktualisierung der ZHK ZHK ist globale Eigenschaft Einfacher Fall: Einfügen von Kanten Schwieriger: Löschen von Kanten H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 64 Annahme: Skaleninvarianter Graph Soziale Netzwerke (und weitere) sind oft skaleninvariant Stark unterschiedliche Gradverteilung (power law) Kleine maximale Distanz zwischen beliebigem Knotenpaar (Durchmesser) Was bedeutet das für die Berechnung der ZHK? Die meisten Änderungen innerhalb einer Komponente Einfügungen verschmelzen meist kleine mit einer (der) großen Komponente H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 65 Problemfall: Löschungen Komponenten werden nur selten getrennt Erkenntnis: Der Tiefensuch‐Baum erleichtert einem die Arbeit! Vorschläge? H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 66