1 / 35

Proseminar Netzwerkanalyse: Dichte Teilgraphen

Proseminar Netzwerkanalyse: Dichte Teilgraphen. Am LuFG Theoretische Informatik der RWTH Aachen, Prof. Dr. Rossmanith Daniel Neider & Lars Otten (24. Juni 2004). Überblick. Einleitung Zusammenhangskomponenten Cliquen n -Cliquen Soziometrische n -Cliquen / n -Clans k -Plexe / k -Cores

craig
Download Presentation

Proseminar Netzwerkanalyse: Dichte Teilgraphen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Proseminar Netzwerkanalyse:Dichte Teilgraphen Am LuFG Theoretische Informatik der RWTH Aachen, Prof. Dr. Rossmanith Daniel Neider & Lars Otten (24. Juni 2004) Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  2. Überblick • Einleitung • Zusammenhangskomponenten • Cliquen • n-Cliquen • Soziometrische n-Cliquen / n-Clans • k-Plexe / k-Cores • Soziale Kreise • k-zyklische Blöcke Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  3. Was ist Dichte? • Umgangssprachliches Verständnis von Clique: • „Viele direkt zusammenhängende Knoten“ • Intuitiver Ansatz: • Untereinander in hohem Maße verbundene Teilmenge der Knoten • Formalisiert durch Anzahl der im Teilgraph existierenden Kanten im Verhältnis zu maximal möglicher Anzahl von Kanten • Jedoch in der Praxis wegen schlechter Vergleichbarkeit unterschiedlich großer Graphen nur bedingt geeignet • Wozu Dichtebestimmung? • Soziologie: Untersuchung gruppendynamischer Prozesse • WWW-Graph: Thematisch verwandte Seite finden Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  4. Kriterien für Dichte • Als Grundlage der theoretischen Konzepte dienen vier Kriterien: • Gegenseitige, direkte Beziehungen • Nähe und Erreichbarkeit der Knoten • Häufigkeit der Kanten zwischen den Knoten • Höhere Kantendichte innerhalb des Teilgraphen im Vergleich zu seinem Umfeld • Verschiedene Modelle legen unterschiedlich starken Wert auf die einzelnen Punkte • Hier nur für ungerichtete, ungewichtete Graphen Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  5. Definitionen • Distanz zweier Knoten u, u‘ V bezüglich einer KnotenmengeU V: • Algorithmen zum Auffinden von Cliquen und Independent Sets benötigen den Begriff der Nachbarschaft bzw. Nicht-Nachbarschaft: • Die Nachbarschaft N(v) eines Knotens v  V ist definiert als GraphG=(V‘,E‘) mit V‘={v  V\{v} | (v,v‘)  E} und E‘={(v,v‘)  E | v,v‘ V‘} • Die Nicht-Nachbarschaft N(v) eines Knotens v  V wird analog als Graph G=(V‘,E‘) mit V‘={v  V\{v} | (v,v‘) E} und E‘ wie oben definiert Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  6. A B F E D C G Zusammenhangskomponenten • Eine Zusammenhangskomponente ist ein maximal zusammenhängender Teilgraph: • Zwischen je zwei beliebigen Knoten des Teilgraphs existiert ein Pfad • Jeder Knoten ist von jedem anderen aus zu erreichen.Zu Knoten außerhalb der Zusammenhangskomponente existiert keine Verbindung • In gerichteten Graphen unterscheidet man starke und schwache Zusammenhangskomponenten: • starke Komponenten: Jeder Knoten ist durch einen gerichteten Pfad erreichbar • schwache Komponenten: Jeder Knoten ist durch einen Pfad egal welcher Richtung erreichbar Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  7. Finden von Zusammenhangskomponenten • Algorithmus zum Finden von Zusammenhangskomponenten: • Eingabe: Nicht leerer Graph G=(V,E) • Initialisierung: i=0, S=V, Vj leere Knotenmengen, j=1, 2, … • Ausgabe: Zusammenhangskomponenten Vj für 1  j  i 1: while S   do 2: Wähle einen beliebigen Knoten s  S 3: Vi := {s} 4: S := S \ {s} 5: while  s‘  S: (s,s‘)  E, s  Vido 6: Vi := Vi  {s‘} 7: S := S \ {s‘} 8: end while 9: if S   then 10: i := i + 1 11: end if 12: end while Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  8. Komplexität / Motivation • Bei dem Algorithmus handelt es sich um eine erweiterte Form der Tiefen- bzw. Breitensuche in Graphen: • Laufzeit bei effizienter Implementierung linear sowohl in der Anzahl der Knoten als auch in der Anzahl der Kanten • Laufzeit liegt in O(|V| + |E|) • Das Interesse an einer solchen Analyse rührt z.B. von möglichen Ressourcen oder Informationsflüssen in den modellierten Netzwerken her • Das Ergebnis ist eine Zerlegung des Graphen in eine oder mehrere Zusammenhangskomponenten: • „Dichte“ Graphen werden meist durch einige wenige große Komponenten dominiert • Die Zusammenhangskomponenten bilden die Ausgangssituation für weitere Analysen Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  9. Cliquen • Eine Knotenmenge C  V heißt Clique, wenn sie maximal ist mit der Eigenschaft (u,u‘)  E  u  u‘ C • Analog dazu definiert man das später noch benötigteIndependent Set als maximale Knotenmenge I  V mit der Eigenschaft (u,u‘)  E  u  u‘ I Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  10. NP-Vollständigkeit • Das Finden maximaler Cliquen in einem Graphen ist NP-vollständig • Clique  NP gilt offensichtlich: Rate und verifiziere • Eine Polynomialzeitreduktion zeigt die NP-Vollständigkeit des maximalen Cliquen Problems (SAT  NPC gilt nach Satz von Cook) SAT p 3-SAT p Independent Set p Clique Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  11. Greedy-Algorithmus zum Finden von Cliquen • Eine einfache Heuristik zum Finden von Cliquen C(G) bzw. Independent Sets I(G): • C((V,E)): wähle ein v  V als einen Clique-Knoten; rufe rekursiv C(N(v)) auf; • I((V,E)): wähle ein v  V als einen Independent Set-Knoten; rufe rekursiv I(N(v)) auf; • Ein leicht verbesserter Greedy-Algorithmus setzt diese Heuristik um(entsprechend für das Finden von Independent Sets): 1:procedure Greedy(G) 2: if G =  then 3: return  4: end if 5: Wähle ein v  V mit maximalem Grad 6: return {v}Clique(N(v)) 7: end procedure Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  12. Greedy-Algorithmus: Beispiel 1: procedure Greedy(G) 2: if G =  then 3: return  4: end if 5: Wähle ein v  V mit maximalem Grad 6: return {v}  Clique(N(v)) 7: end procedure 1) 2) 3) 4) Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  13. Beobachtung zum Greedy-Algorithmus • Problem des Greedy-Algorithmus: • Ein falscher Knoten wird gewählt; eine größere Clique in dem entsprechend nicht weiter betrachteten Teilgraph zu finden ist • In Anlehnung an die Ramsey-Theorie kann der Greedy-Algorithmus leicht zu der Ramdey-Prozedur erweitert werden • Bei jedem rekursiven Aufruf kann zwischen 2 Cliquen gewählt werden: • Die Clique aus der Nachbarschaft des gewählten Knotens v • Eine Clique mit Knoten aus der Nicht-Nachbarschaft des Knotens v • Die größere der beiden Cliquen wird zurückgegeben 1) 2) Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  14. 1: procedure Ramsey(G) 2: if G =  then 3: return  4: end if 5: Wähle einen Knoten v  V 6: (C1, I1) = Ramsey(N(v)) 7: (C2, I2) = Ramsey(N(v)) 8: return (larger_of(C1  {v}, C2), larger_of(I1, I2  {v})) 9: end procedure Ramsey-Prozedur • Die Ramsey-Prozedur liefert eine Clique C und einIndependent Set I mit |C|·|I|  log2 n/4 • Leider garantiert dies nicht das Auffinden großer Cliquen, denn es könnte auch ein großes Independent Set gefunden werden Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  15. Approximationsalgorithmus für maximale Cliquen • Eine weitere Idee ist, den Graphen während der Suche zu verändern: • Entfernen des von der Ramsey-Prozedur gefundenen Independent Set aus dem Graphen • Wiederholung der Prozedur im veränderten Graphen bis dieser leer ist • In jedem Durchgang kann höchstens ein Knoten aus einer Clique entfernt werden, denn eine Clique und ein Independent Set haben höchstens einen gemeinsamen Knoten 1: procedure Clique(G) 2: i = 1 3: (Ci, Ii) = Ramsey(G) 4: while G   do 5: G = G \ Ii 6: i = i + 1 7: (Ci, Ii) = Ramsey(G) 8: end while 9: return max1ji{Cj} 10: end procedure • Dieser Algorithmus garantiert eine Komplexität von O(|V| / log2 |V|) Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  16. Zusammenfassung Cliquen • Das Clique-Konzept ist ein stark (graphen) theoretisches Konzept • Das Finden maximaler Cliquen ist (wie gesehen) ein schweres Problem: • Es lässt sich nicht in O(|V|½-) für ein 0 approximieren • In der Praxis spielen die hier vorgestellten Cliquen keinegroße Rolle: • In vielen Anwendungen werden keine Cliquen mit mehr als 3 oder 4 Knoten gefunden • Für die praktische Analyse von Netzwerken sind unter Umständen andere Konzepte vorzuziehen Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  17. n-Cliquen • Dieser Ansatz betrachtet die maximale Distanz zwischen zwei Knoten der Clique • Eine Knotenmenge Cn V heißt n-Clique, wenn sie maximal ist mit der Eigenschaft dV(u,u‘)n  uu‘  Cn • Eine 1-Clique ist ein maximal vollständiger Teilgraph (eine Clique im graphentheoretischen Sinn), eine 2-Clique eine Knotenmenge, in der alle Knoten entweder direkt oder über einen Zwischenknoten miteinander verbunden sind • Eine n-Clique ist also ein engerer Verbund von Knotenals eine (n+1)-Clique: • Als Parameter kann ein Wert zwischen 1 und |V|–1 gewählt werden • Meist wird der Parameter auf 2 oder 3 gesetzt Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  18. Beispiele n-Clique Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  19. 1 A D B C E Beobachtung n-Cliquen (1) • Bei der praktischen Analyse von Netzwerken sind bei der Verwendung von n-Cliquen zwei Punkte zu beachten: • Ein Wert von n > 3 ist soziologisch schwer zu interpretieren: • Ein solcher Wert kann zu langen Ketten von Verbindungen führen, welche z.B. für die „small world“-Eigenschaft wichtig sind, allerdings dem Konzept einer Clique widersprechen • Aufgrund der Definition müssen Verbindungen zwischen Cliquenmitgliedern nicht zwangsläufig wieder über Cliquenmitgliedern laufen: • Die Knoten A, B, C, D, E bilden eine 2-Clique.Der Pfad zwischen den Knoten A und Dläuft dabei über Knoten 1;Der Durchmesser beträgt 3 Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  20. 1 A B 2 3 C Beobachtungen n-Cliquen (2) • Die vorige Problematik kann noch weiter verschärft werden • Im Beispiel gibt es zwei 2-Cliquen:Einmal die Knoten A, B und C, dann die Knoten 1, 2 und 3.Allerdings sind beide 2-Cliquen intern völlig unverbunden Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  21. Soziometrische n-Cliquen / n-Clans • Um das Problem der inneren Unverbundenheit von Knoten ausn-Cliquen zu beheben, fordert man, dass der Durchmesser einer soziometrischen n-Clique nicht größer als n ist: • Das ist äquivalent zu der Forderung, dass die Pfade zwischen zwei Knoten der soziometrischen n-Clique selbst wieder über Knoten der Clique laufen • Eine Knotenmenge C‘n V heißt soziometrische n-Clique / n-Clan, wenn sie maximal ist mit der Eigenschaft dC‘n(u,u‘)n  uu‘  Cn • Man findet soziometrische n-Cliquen, indem man zunächst nachn-Cliquen sucht und anschließend alle diejenigen mit einem internen Durchmesser größer n wieder verwirft Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  22. 1 A D B C E Beispiel soziometrische n-Clique • Folgendes Beispiel wurde schon bei n-Cliquen betrachtet: • Die Knoten A,B,C,D und E bilden eine 2-Clique: • Der interne Durchmesser ist 3, also ist dies keine soziometrischen-Clique • Die Knoten 1, A, B, C und D bilden eine 2-Clique mit internem Durchmesser 2, also auch eine soziometrische 2-Clique Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  23. Beobachtung soziometrische n-Clique • Probleme aller geraphentheoretisch formalen Cliquenkonzepte: • Es werden sehr viele, teilweise stark überlappende Cliquenidentifiziert • Explizite Cliquendefinitionen leisten damit also keine disjunkte Aufteilung der Knoten • Dem Vorteil der expliziten Festlegung der internen Cliquenstruktur steht der Nachteil gegenüber, dass die Abgrenzung der Clique gegenüber dem des des Graphen vernachlässigt wurde • Weitere Konzepte greifen diese „Schwachpunkte“ der expliziten Definition von Cliquen auf Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  24. Wiederholung: Dichtekriterien • Gegenseitige, direkte Beziehungen • Cliquen • Nähe und Erreichbarkeit der Knoten • n-Cliquen, n-Clans • Häufigkeit der Kanten zwischen den Knoten • Höhere Kantendichte innerhalb des Teilgraphen im Vergleich zu seinem Umfeld Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  25. k-Plexe • Definition: • Ein Teilgraph GPk= (V‘,E‘), V‘V, E‘ E, |V|=r, ist genau dann ein k-Plex des Graphen G=(V,E), wenn V‘ maximal ist mit degE‘(v) ≥ r–k vV‘. • Anschaulich: • k gibt die maximale Anzahl Knoten an, die von einem beliebigen Knoten aus nicht direkt über eine Kante erreichbar ist. • Jeder Knoten hat mindestens Grad r–k. • Beobachtungen: • Jeder beliebige Graph mit n Knoten ist automatisch ein n-Plex. • Ein 1-Plex entspricht einer maximalen Clique bzw. 1-Clique. • Jeder Graph hat für gegebenes k genau einen k-Plex. Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  26. k-Plex: Beispiele Beobachtung:k-Plex kann aus mehreren stark zusammenhängenden Knotenmengen bestehen, die aber untereinander nur schwach oder gar nicht verbunden sind. Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  27. k-Plex: Eigenschaften • Im Vergleich zu soziometrischen n-Cliquen weist ein k-Plex eine größere Robustheit auf: • Entfernt man einen Knoten aus einem k-Plex, bleibt dieser immer noch ein k-Plex – bei einem n-Clan gilt dies meistens so nicht. Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  28. k-Cores • Entgegengesetzter Begriff zum k-Plex • Definition: • Ein Teilgraph GCk= (V‘,E‘), V‘V, E‘ E, ist genau dann ein k-Core des Graphen G=(V,E), wenn V‘ maximal ist mit degE‘(v) ≥ k vV‘. • Anschaulich: • Jeder Knoten hat mindestens Grad k. • Beobachtungen: • Ein k-Plex mit n Knoten entspricht genau einem (n–k)-Core. • Ein k-Core mit n Knoten entspricht genau einem (n–k)-Plex. • Die beiden Begriffe sind stark verwandt • Daher im Folgenden Beschränkung auf k-Cores. Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  29. Core-Zerlegung • Seien GCk=(Vk,Ek) und GCl=(Vl,Kl) ein k- bzw. l-Core eine Graphen. • k<l Vl  Vk, weil degEl(v)≥ l> k vVl • Die k-Cores eines Graphen sind für steigendes k also „ineinander enthalten“. • Bestimmung der Core-Zerlegung eines Graphen: • Jedem Knoten seinen Core-Grad zuordnen, das heißt das größte k, für das er im entsprechenden k-Core des Graphen enthalten ist. Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  30. Core-Zerlegung: Algorithmus • Grundidee: • Aus dem gegebenen Graphen rekursiv alle Knoten vom Grad kleiner k mitsamt der adjazenten Kanten löschen, um als verbleibenden Teilgraph gerade den k-Core zu erhalten. • Laufzeit: O(|E|) Input: Graph G=(V,E) 1: Berechne degree[v] := deg(v)  vV 2:Ordne V aufsteigend anhand des Knotengrades 3:for allvV (sortiert) do 4:core[v] := degree[v] 5:for alluNachbarn(v) do 6:ifdegree[u] > degree[v] then 7:degree[u] := degree[u]-1 8: Sortiere V entsprechend neu 9:end if 10: end for 11:end for Output: Liste core[v],vV, die für jeden Knoten v dessen Core-Grad enthält Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  31. degree A B C D A B C D E F E core F Core-Zerlegung: Beispiel 1: Berechne degree[v] := deg(v) vV 2: Ordne V aufsteigend anhand des Knotengrades 3: for allvV (sortiert) do 4: core[v] := degree[v] 5: for alluNachbarn(v) do 6: ifdegree[u] > degree[v] then 7: degree[u] := degree[u]-1 8: Sortiere V entsprechend neu 9: end if 10: end for 11: end for A B C F D E Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  32. Implizite Konzepte: Motivation • Probleme expliziter Konzepte: • In der Praxis lassen sich nur relativ kleine dichte Teilgraphen finden. • Gefundene Gruppen überlappen sich gegenseitig. • Viertes Kriterium bei Anwendung expliziter Konzepte oft nicht gegeben. • Deshalb: • Außenabgrenzung betrachten • Anforderung an interne Struktur lockern • Ziel: • Größere, sich nicht überlappende, teilweise disjunkte Gruppen Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  33. Soziale Kreise • Soziale Kreise ergeben sich aus konstruktivem Verfahren: • Sei G=(V,E), |V|=n, |E|=m, G‘=(V‘,E‘) mit V‘V, E‘={(v,w)E |v,wV‘ }. Weiter sei |E‘|=i, |V‘|=n‘, a=|{(v,w)E |vV‘, wV\V‘ }|. • Definiere folgende Dichtemaße: • Konstruktion der sozialen Kreise des Graphen: • Suche (nicht-triviale) geometrischen n-Cliquen. • Lege die zusammen, die sich nur in einem Knoten unterscheiden. • Fasse sich stark überlappende Gebilde nochmals zusammen (Schwellenwert z.B. 2/3 der Knoten). • Prüfe entstehende Zusammenhangskomponenten: • Innendichte i signifikant über Gesamtdichte? • Außendichte a signifikant unter Gesamtdichte? Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  34. k-zyklische Blöcke • Motivation der k-zyklischen Blöcke: • Viele Zyklen mit geringer Länge in einem Teilgraphen sind Indikatoren für Dichte einer Gruppe von Knoten. • Definitionen: • k-Zyklus: Folge (v0,v1, …,vk-1,vk)Vk+1 mit (vi-1,vi)E, 1ik und vi=vj für {i,j}={0,k} bzw. vivj sonst. • k-Brücke: Kante, die keinem k-Zyklus angehört. • Konstruktion der k-zyklischen Blöcke: • Streiche alle k-Brücken aus dem Graphen. • Entstehende Zusammenhangskomponenten sind die k-zyklischen Blöcke. • Weitere Klassifikation einzelner Knoten möglich Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

  35. Zusammenfassung • Explizite Konzepte: • Cliquen • (soziometrische) n-Cliquen • k-Plexe & k-Cores • Vor- / Nachteile: • Formal gut zu handhaben, theoretisch klar und „schön“ • In der Praxis meist nur begrenzt anwendbar • Implizite Kozepte: • Soziale Kreise • k-zyklische Blöcke • Vor- / Nachteile: • Relativ praxisnah, empirisch bestätigt (Soziologie) • Teilweise „schwammige“ Definition, formal schwer zu handhaben • Fazit: • Ideales Konzept existiert nicht Proseminar Netzwerkanalyse: Dichte Teilgraphen, Daniel Neider & Lars Otten

More Related