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 11 Programm des Tages: Generierung von Graphen Modelle für Zufallsgraphen: Erdös-Rényi Generierung anhand von Gradfolgen 2 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Inhalt Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Generierung anhand von Gradfolgen 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Zufallsgraphen Einführung Zufallsgraphen bzw. -netzwerke: Einige Parameter fest Andere Eigenschaften des Netzwerks sind zufällig Zweck: Erzeugung großer Graphen → Test von Algorithmen, Systemen Mathematische Analyse Vorhersage von Eigenschaften, Entwicklungen http://theory.ic.ac.uk/~time/networks/ERn200k4web.jpg 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) G (n, m ) und G (n, p ) Häufig als Erdös-Rényi-Zufallsgraphen bezeichnet Zwei der gängigen Modelle (schlicht, ungerichtet, statisch): G (n, m ): n Knoten, m Kanten zwischen Knotenpaaren zufällig gezogen (unabhängig und gleichverteilt) Andere Sichtweise: Man zieht einen Graphen zufällig und gleichverteilt aus der Menge von Graphen mit n Knoten und m Kanten G (n, p ): n Knoten, zwischen Knotenpaar existiert Kante mit Wkt. p Meist leichter zu analysieren http://epress.anu.edu.au/cs/chap5Newth- final- 5.jpg 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Grundlegendes E[m ] = (n2) · p Durchschnittsgrad: 2m/n = (n − 1)p n Jeder Graph G mit m Kanten tritt mit Wkt. P (G ) = pm (1 − p )(2)−m auf Viele Eigenschaften eng um Mittelwert konzentriert Gradverteilung: Wkt. zu bestimmten k anderen Knoten verbunden zu sein und zu den anderen n − 1 − k nicht: pk (1 − p )n−1−k Die k anderen Knoten, zu denen eine Verbindung besteht, können auf 1 (n − k ) Arten gewählt werden ⇒ Wkt., dass ein Knoten zu genau k anderen adjazent ist: 1 k n −1−k pk = ( n − k )p (1 − p ) ⇒ Binomialverteilung! 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Gradverteilung Bei realen Netzwerken ist der Durchschnittsgrad c häufig konstant in n Dann wird hier allerdings p = c/(n − 1) sehr klein bei großem n Was bedeutet p → 0? 1 k n−1−k poissonsch: Bei n → ∞ wird die Gradverteilung (n− k )p (1 − p ) c ln((1 − p )n−1−k ) = (n − 1 − k ) ln(1 − ) n−1 c ≈ −c ≈ −(n − 1 − k ) n−1 ⇒ (1 − p )n−1−k = e−c für n → ∞ (n −1) ! (n −1)k 1 Außerdem bei n → ∞: (n− k ) = (n−1−k )!k ! ≈ k! k k k k c ⇒ pk ≈ (n−k 1! ) pk e−c = (n−k 1! ) n− e −c = e −c · ck ! 1 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Cluster-Koeffizient Cluster-Koeffizient C: ... Wkt., dass zwei Nachbarn eines Knotens auch selbst zueinander benachbart sind Da zwischen jedem Knotenpaar eine Kante mit Wkt. p = c/(n − 1) ex.: E[C ] = c/(n − 1). ⇒ Großer Unterschied zu realen Netzwerken! 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Zusammenhangskomponenten p = 0: n ZHKs der Größe 1 p = 1: 1 ZHK der Größe n Qualitativer Unterschied: Konstant vs linear abhängig von n Oft wichtig, dass man eine sehr große Komponente hat Fundamentales Ergebnis zu G (n, p ): Phasenübergang des Zusammenhangs Theorem (Erdös-Rényi) Die Funktion t (n) = ln n/n ist eine Grenzfunktion für den Zusammenhang von G (n, p ) bei p = t (n). 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Beweisidee zur Grenzfunktion bei ZHK Die Grenze gilt nicht nur für den Zusammenhang, sondern auch für Existenz isolierter Knoten Start durch Abschätzung der Wkt. für einen isolierten Knoten Bei p = ln n/n strebt diese Wkt. gegen 1/n Bei kleinerem p wird diese Wkt. kleiner, bei größerem p größer Bei größerem p gibt es keine ZHK mit weniger als n/2 Knoten Literaturhinweis Matthew O. Jackson: Social and Economic Networks. Princeton University Press, 2010. Kapitel 4.2. 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Beweis der Grenzfunktion bei ZHK Beweis Wir zeigen zunächst: Falls p/(ln n/n) → 0, dann geht die Wkt. für die Existenz isolierter Knoten gegen 1. Wkt., dass ein gegebener Knoten isoliert ist: (1 − p )n−1 ≈ (1 − p )n für p → 0 (n → ∞ ohnehin) Wegen p/n → 0: (1 − p )n ≈ e −pn , denn limn→∞ (1 − na )n = e −a ⇒ Wkt., dass ein gegebener Knoten isoliert ist, strebt gegen e−pn ⇒ Wkt. bei unserer Wahl von p am Phasenübergang: 11 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse 1 n Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Fortsetzung Beweis (Anzahl isolierter Knoten) Fortsetzung Beweis Wissen nun: P[gegebener Knoten isoliert] → e −pn Wir schreiben daher p := p (n) = wobei f (n) → ∞ und f (n) < ln n. Dann wird aus e −pn : ln n−f (n) , n e f (n ) n ⇒ Erwartete Anzahl isolierter Knoten ist ef (n) → ∞ 12 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Fortsetzung Beweis Fortsetzung Beweis (Existenz) Dass die Zahl isolierter Knoten divergiert, beweist noch nicht, dass P(es gibt einen isolierten Knoten) → 1 Chebyshev-Ungleichung (CU): Sei X eine Zufallsvariable mit Mittelwert µ und Standardabweichung σ. Dann gilt für jedes r > 0: P(|X − µ| > r σ ) < 1/r 2 13 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse (1) Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Fortsetzung Beweis Fortsetzung Beweis (Existenz) CU: P(|X − µ| > r σ ) < 1/r 2 Sei X die Zahl der isolierten Knoten. Wissen: E[X ] = n(1 − p )n−1 → ∞ Beh. gilt (wg. CU), wenn Varianz von X , E[X 2 ] − E[X ]2 , höchstens 2µ = 2E[X ] ist. p Insbesondere gilt dann: P(X < µ − r 2µ) < 1/r 2 . 14 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Fortsetzung Beweis Fortsetzung Beweis Erinnerung: X Zahl der isolierten Knoten p P(X < µ − r 2µ) < 1/r 2 impliziert wegen µ → ∞, dass die Wkt. für ein beliebig großes X gegen 1 geht Brauchen nun obere Schranke für die Varianz E[X (X − 1)] ist erwartete Anzahl geordneter Paare isolierter Knoten E[X (X − 1)] = n(n − 1)(1 − p )n−2 (1 − p )n−2 (1 − p ) = n(n − 1)(1 − p )2n−3 , denn: Beide Knoten eines Paares sind nicht zu den übrigen n − 2 Knoten verbunden Zwischen den Knoten des Paares verläuft auch keine Kante 15 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Fortsetzung Beweis Erinnerung: E [ X ] = n (1 − p )n −1 , p : = p (n ) = ln n−f (n) , f (n ) n < ln n, (1 − p )n ≈ e−pn E[X 2 ] − E[X ]2 = E[X 2 − X ] + E[X ] − E[X ]2 (2) = n(n − 1)(1 − p )2n−3 + E[X ] − E[X ]2 = n(n − 1)(1 − p ) 2 2n−3 ≤ E[X ] + pn (1 − p ) 2 (3) + E[X ] − n (1 − p ) 2n−2 2n−3 (5) = E[X ](1 + pn(1 − p )n−2 ) ≤ E[X ](1 + (ln n − f (n))e ≤ 2E[X ]. (4) − ln n+f (n) (6) (1 − p ) −2 ) (7) (8) Damit ist Teil 1 gezeigt: Wenn p (n)/ lnnn → 0, dann hat G mit hoher Wkt. isolierte Knoten. 16 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Fortsetzung Beweis Jetzt Teil 2: Wenn p (n)/ lnnn → ∞, dann hat G mit hoher Wkt. keine isolierten Knoten (und nur eine große ZHK). Fortsetzung. Sei nun p (n) = ln n+f (n) , n wobei f (n) → ∞, aber f (n)/n → 0. Ähnlich wie zuvor schließen wir: E[X ] → e −f (n) → 0 Wkt., dass X mindestens 1 ist, muss dann auch gegen 0 streben Zeigen noch, dass Wkt. von Komponenten mit Größe 2 bis n/2 gegen 0 strebt X k : Zufallsvariable, die Anzahl der ZHKs mit Größe k angibt k Es genügt zu zeigen, dass E[∑kn/2 =2 X ] → 0 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Fortsetzung Beweis n/2 k =2 n/2 n ∑ k (1 − p)k (n−k ) (Sei nun n := dn3/4 e.) k =2 n/2 n n n k (n −k ) (1 − p ) + ∑ = ∑ ( 1 − p ) k (n −k ) k k k =2 k =n +1 E[ ∑ X k ] ≤ n ≤ ∑ k =2 n ≤ ∑ en k k e −knp ek 2p n/2 + en k k =n +1 ek (1−f (n)) k −k e2k 2 ln n/n k =2 ≤ 3e−f (n) + n−n ∑ k n/2 + ∑ k =n +1 3/4 /5 e −knp/2 en k k e −knp/2 →0 (9) (10) (11) (12) (13) Damit gilt: Alle Komponenten außer der großen verschwinden 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Übersicht Tabelle: Einfluss von p bzw. np auf die erwartete Zahl und Größe der ZHK eines Graphen aus G (n, p ) 19 np < 1 fast nie ZHK, die größer als O (log n) ist np = 1 fast immer eine ZHK, die größer als O (log n) ist np → c > 1 fast immer eine eindeutige riesige ZHK, keine andere ZHK enthält mehr als O (log n) Knoten mhW np > (1 + ε) ln n fast immer zusammenhängend (ε > 0) Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Eigenschaften von G (n, p ) Fazit Gradverteilung ist binomial bzw. poissonsch ⇒ Deutliche Abweichung von den meisten realen Netzwerken So gut wie keine Community-Struktur ⇒ Deutliche Abweichung von den meisten realen Netzwerken Bei passendem p eine riesige ZHK Mathematisch gut analysiert ⇒ Insgesamt (zu) unrealistisch! 20 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Inhalt Modelle für Zufallsgraphen G (n, m ) und G (n, p ) Generierung anhand von Gradfolgen 21 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen Generierung anhand von Gradfolgen Gradfolge Definition (Gradfolge) Gegeben sei ein gerichteter oder ungerichteter Multigraph G = (V , E ) mit Knotenmenge V = {v1 , . . . , vn }. Die Folge D (G ) = (deg− (v1 ), deg+ (v1 ), . . . , deg− (vn ), deg+ (vn )) des gerichteten bzw. D (G ) = (deg(v1 ), . . . , deg(vn )) des ungerichteten Graphen G heißt dessen Gradfolge. 22 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen Generierung anhand von Gradfolgen Hintergrund Motivation: Welche Folgen von natürlichen Zahlen sind Gradfolgen bestimmter Graphen(klassen)? Wie generiere ich einen Graphen zu einer gegebenen Gradfolge? Frage: Warum sind diese Aspekte interessant für uns? 23 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen Generierung anhand von Gradfolgen Generierung anhand einer Gradfolge Satz von Havel und Hakimi 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. Lemma Zu einer Folge D = (d1 , . . . , dn ) mit d1 ≥ · · · ≥ dn sei GD die Menge aller schlichten ungerichteten Graphen mit Knoten {v1 , . . . , vn }, in denen vi den Grad di hat. Falls GD nicht leer ist, dann enthält GD einen Graphen mit N (v1 ) = {v2 , . . . , vd1 +1 }. 24 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen 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 Beispiel: Siehe Tafel! 25 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen Generierung anhand von Gradfolgen Zwischenfazit Gradfolgen Wenn wir wissen, dass eine Gradfolge realisierbar ist, können wir dazu einen Graphen erstellen. Bald: Bedingungen für Existenz eines Graphen bei gegebener Gradfolge. 26 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Modelle für Zufallsgraphen Generierung anhand von Gradfolgen