Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 Institutund für Theoretische KIT –Henning Universität desMeyerhenke, Landes Baden-Württemberg nationales Forschungszentrum in der Helmholtz-Gemeinschaft Algorithmische Methoden zur Netzwerkanalyse Informatik www.kit.edu Vorlesung 12 Programm des Tages: Generierung von Graphen Übungsaufgaben 9 und 10 Realisierbarkeit von Gradfolgen R-MAT-Graphen 2 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Wiederholung Zufallsgraphen G (n, m ) und G (n, p ), eher unrealistisch Phasenübergang bei G (n, p ) Gradfolgen: Algorithmus von Havel und Hakimi 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Inhalt Modelle für (Zufalls)Graphen Generierung anhand von Gradfolgen 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für (Zufalls)Graphen Generierung anhand von Gradfolgen Gradfolge Definition (Gradfolge) Gegeben sei ein ungerichteter Multigraph G = (V , E ) mit Knotenmenge V = {v1 , . . . , vn }. Die Folge D (G ) = (deg(v1 ), . . . , deg(vn )) des ungerichteten Graphen G heißt dessen Gradfolge. Theorem (Havel 1955; Hakimi 1962) Eine Folge d1 ≥ · · · ≥ dn ist genau dann Gradfolge eines schlichten ungerichteten Graphen, wenn auch d2 − 1, . . . , dd1 +1 − 1, dd1 +2 , . . . , dn Gradfolge eines solchen Graphen ist. 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für (Zufalls)Graphen Generierung anhand von Gradfolgen Generierung anhand einer Gradfolge Algorithmus von Havel und Hakimi 1: function H AVEL H AKIMI(D = d1 , . . . , dn )) 2: . Eingabe: Realisierbare Gradfolge D . Ausgabe: Graph mit Gradfolge D 3: V ← {v1 , . . . , vn } 4: E←∅ 5: Li = (di , i )∀i ∈ [n] 6: while G = (V , E ) erfüllt D nicht do 7: Sortierte L absteigend gemäß der ersten Komponente 8: Verbinde L1 .second in E mit den nächsten L1 .first Knoten in L 9: Li .first ← Li .first − 1 ∀i ∈ {2, . . . , L1 .first + 1} 10: Entferne L1 aus L 11: end while 12: return G = (V , E ) 13: end function 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für (Zufalls)Graphen Generierung anhand von Gradfolgen Partition einer ganzen Zahl Definition (Partition) Eine Partition einer ganzen Zahl n ist eine Folge p = (p1 , p2 , . . . , pk ) mit p1 ≥ p2 ≥ · · · ≥ pk > 0 und p1 + p2 + · · · + pk = n (1) (2) Beispiel (3, 2, 2, 2, 1) und (3, 3, 3, 1) sind Partitionen von 10. 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für (Zufalls)Graphen Generierung anhand von Gradfolgen Satz von Erdös und Gallai Theorem (Erdös-Gallai) Eine Partition d1 ≥ · · · ≥ dn > 0 einer natürlichen Zahl ist genau dann die Gradfolge eines schlichten ungerichteten Graphen, wenn n ∑ di ≡ 0 mod 2 (3) i =1 und für alle j ∈ [n] gilt: j n i =1 i =j +1 ∑ di ≤ j ( j − 1 ) + ∑ 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse min{di , j } (4) Modelle für (Zufalls)Graphen Generierung anhand von Gradfolgen Satz von Erdös und Gallai Beweisskizze “Partition ist Gradfolge ⇒ D erfüllt Ungleichungen” Betrachte Teilmengen der Knoten U , U Schätze Zahl der Kanten zwischen U und U ab Weiter an der Tafel! “D erfüllt Ungleichungen ⇒ Partition ist Gradfolge” Erweitere Teilrealisierung sukzessive Betrachte kritischen Index Fallunterscheidung nach Beschaffenheit der Nachbarschaft Definition (Teilrealisierung) Eine Teilrealisierung einer nichtaufsteigenden Folge (d1 , . . . , dn ) sei ein Graph mit Knotenmenge {v1 , . . . , vn } derart, dass deg(vi ) ≤ di für 1 ≤ i ≤ n. 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für (Zufalls)Graphen Generierung anhand von Gradfolgen Satz von Erdös und Gallai Beweis: Rückrichtung (konstruktiver Beweis an Tafel) Sei eine Folge D = (d1 , . . . , dn ) mit gerader Summe gegeben D erfülle auch zweite Ungleichung Idee: Wir konstruieren eine Realisierung durch sukzessive Teilrealisierungen Initial: TR mit n Knoten und keinen Kanten Definition (Kritischer Index) In einer Teilrealisierung ist der kritische Index r der größte Index derart, dass deg(vi ) = di für alle 1 ≤ i < r . Sei S = {vr +1 , . . . , vn }. Invariante: S ist unabhängige Menge! 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für (Zufalls)Graphen Generierung anhand von Gradfolgen