Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, 25.01.2012 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 Zerlegungen von Graphen Clusteranalyse Einführung Komplexität Greedy-Algorithmus 2 Henning Meyerhenke:
Schlagwort BIG Data Irregulär strukturierte Daten wachsen mit enormer Geschwindigkeit: Facebook: 800M+ Mitglieder (+50% innerhalb eines Jahres), durchschnittlich 130 Freunde, 1G+ neue Inhalte pro Tag Twitter: 1G Tweets pro Woche Web-Graph Finanztransaktionen 3 Henning Meyerhenke:
Clusteranalyse Auch Community Detection genannt Teile Knoten in Gruppen (oder Cluster oder Communitys) derart ein, dass Knoten derselben Gruppe zueinander ähnlich sind Knoten verschiedener Gruppen zueinander unähnlich sind 4 Henning Meyerhenke:
Clusteranalyse Auch Community Detection genannt Teile Knoten in Gruppen (oder Cluster oder Communitys) derart ein, dass Knoten derselben Gruppe zueinander ähnlich sind Knoten verschiedener Gruppen zueinander unähnlich sind Anwendungen: Komplexitätsreduktion Klassifikation von Genen, Interaktion von Genen Verteiltes Speichern/Berechnen von Daten Visualisierung 4 Henning Meyerhenke:
Zielfunktion Modularität Frage: Wie formalisiert man Ähnlichkeit? 5 Henning Meyerhenke:
Zielfunktion Modularität Frage: Wie formalisiert man Ähnlichkeit? Populäre Zielfunktion (wenn auch mit Nachteilen): Modularität (engl. modularity) Man betrachtet die Differenz aus zwei Verhältnissen, dem Anteil der tatsächlichen Intra-Cluster-Kanten und dem erwarteten Anteil dieser Kanten in einem Zufallsgraphen mit gleicher Gradfolge q(c) = C C ( ( ) ) E(C) m v C deg(v) 2 2m 5 Henning Meyerhenke:
Zielfunktion Modularität Frage: Wie formalisiert man Ähnlichkeit? Populäre Zielfunktion (wenn auch mit Nachteilen): Modularität (engl. modularity) Man betrachtet die Differenz aus zwei Verhältnissen, dem Anteil der tatsächlichen Intra-Cluster-Kanten und dem erwarteten Anteil dieser Kanten in einem Zufallsgraphen mit gleicher Gradfolge q(c) = C C ( ( ) ) E(C) m v C deg(v) 2 2m Formel kann aus Darstellung auf Übungszettel hergeleitet werden Modularität hat einige bekannte Nachteile, z. B. das Auflösungsproblem (kann man durch ein Gewichtungsschema beseitigen) 5 Henning Meyerhenke:
Inhalt Zerlegungen von Graphen Clusteranalyse Einführung Komplexität Greedy-Algorithmus 6 Henning Meyerhenke:
Modularität Komplexität Optimierung bzgl. Modularität ist streng N P-schwer (N P-Schwere gilt aber auch für die meisten anderen interessanten Zielfunktionen auch) Problem 1: MODULARITY Gegeben ein Graph G und eine Zahl K, gibt es eine Clusterung C von G, für die q(c) K gilt? 7 Henning Meyerhenke:
Modularität Komplexität Optimierung bzgl. Modularität ist streng N P-schwer (N P-Schwere gilt aber auch für die meisten anderen interessanten Zielfunktionen auch) Problem 1: MODULARITY Gegeben ein Graph G und eine Zahl K, gibt es eine Clusterung C von G, für die q(c) K gilt? Problem 2: 3-PARTITION Seien 3k positive ganze Zahlen a 1,..., a 3k derart gegeben, dass 3k i=1 a i = kb und b/4 < a i < b/2 für eine ganze Zahl b und alle i = 1,..., 3k. Gibt es eine Partition dieser Zahlen in k Mengen derart, dass die Zahlen in jeder Menge in der Summe b ergeben? 7 Henning Meyerhenke:
Komplexitätsbeweis Vorüberlegungen zur Reduktion 3-PARTITION ist streng N P-vollständig, d.h. das Problem bleibt auch bei unärer Kodierung N P-vollständig Daraus folgt, dass kein Algorithmus das Problem entscheiden kann in einer Zeit, die polynomiell in der Summe der Eingabewerte ist (es sei denn, P = N P) Daher braucht unsere Transformation in der Reduktion auch nur pseudo-polynomiell zu sein 8 Henning Meyerhenke:
Komplexitätsbeweis Hilfsresultate Lemma In einer Clusterung von G(A) mit maximaler Modularität wird keine der Cliquen H 1,..., H k geteilt. Lemma In einer Clusterung von G(A) mit maximaler Modularität enthält jeder Cluster höchstens eine der Cliquen H 1,..., H k. Lemma In einer Clusterung von G(A) mit maximaler Modularität besteht kein Cluster ausschließlich aus Element-Knoten. 9 Henning Meyerhenke:
Komplexitätsbeweis Hauptteil (1) Theorem (Brandes et al., IEEE TKDE 2008) MODULARITY ist streng N P-vollständig. Beweis. In Polynomialzeit lässt sich prüfen, ob q(c) K (A) MODULARITY N P Zum Beweis der Vollständigkeit: Transformation wie an Tafel beschrieben Aus A = {a 1,..., a 3k } wird (G(A), K (A)) 10 Henning Meyerhenke:
Komplexitätsbeweis Hauptteil (1) Theorem (Brandes et al., IEEE TKDE 2008) MODULARITY ist streng N P-vollständig. Beweis. In Polynomialzeit lässt sich prüfen, ob q(c) K (A) MODULARITY N P Zum Beweis der Vollständigkeit: Transformation wie an Tafel beschrieben Aus A = {a 1,..., a 3k } wird (G(A), K (A)) Notation: Sei deg(c i ) = v Ci deg(v) (manchmal auch als Volumen oder vol(c i ) bezeichnet) 10 Henning Meyerhenke:
Komplexitätsbeweis Hauptteil (2) Beweis. Bestimmung von K (A): Betrachte Clusterung in G(A) mit genau k Clique-Clustern Da jede solche Clusterung genau (k 1)a Inter-Cluster-Kanten hat: E(C) m (k 1)a 2(k 1)a = = 1 m m ka(a + 1) = 1 2k 2 k(a + 1) C C Clusterung C = (C 1,..., C k ) mit maximaler Modularität muss deg(c 1 ) 2 + + deg(c k ) 2 minimieren. Erfordert Aufteilung der Element-Knoten zwischen den Clustern, die so gleichmäßig wie möglich bzgl. der Summe der Knotengrade pro Cluster ist 11 Henning Meyerhenke:
Komplexitätsbeweis Hauptteil (3) Beweis. Optimalfall: Jeder Cluster erhält Element-Knoten, die sich zu b = 1/k a aufsummieren Summe der Knotengrade der Element-Knoten in jedem Cliquen-Cluster gleich k 1/k a = a deg(c i ) = a 2 + a für jeden Cliquen-Cluster C i, i = 1,..., k deg(c 1 ) 2 + + deg(c k ) 2 k(a 2 + a) = ka 2 (a + 1) 2 Gleichheit gilt nur, wenn eine Zuweisung von b an jeden Cluster möglich ist Fortsetzung an der Tafel 12 Henning Meyerhenke:
Inhalt Zerlegungen von Graphen Clusteranalyse Einführung Komplexität Greedy-Algorithmus 13 Henning Meyerhenke:
Komplexitätsbeweis Hauptteil (3) Clustering ist schwierig was nun? 14 Henning Meyerhenke:
Komplexitätsbeweis Hauptteil (3) Clustering ist schwierig was nun? Komplexität erfordert Approximation oder Heuristik für nicht-triviale Instanzen Heuristik in Übung: Spektrale Relaxierung Nun: Hierarchische Methode mit Greedy-Ansatz Literaturhinweis Vincent D. Blondel, Jean-Loup Guillaume, Renaud Lambiotte, Etienne Lefebvre: Fast unfolding of communities in large networks. J. Stat. Mech. (2008) P10008. doi:10.1088/1742-5468/2008/10/p10008. 14 Henning Meyerhenke:
Die Louvain-Methode Start: Jeder Knoten ist sein eigener Cluster Danach: Zwei Phasen, die sich wiederholen: Phase 1, lokale Verbesserung: Für jeden Knoten lokal entscheiden, ob ein Wechsel in die Community des Nachbarn eine Verbesserung der Modularität ergibt. Wechsel in Community mit höchster positiver Verbesserung. Wiederholt, bis keine Verbesserung möglich. 15 Henning Meyerhenke:
Die Louvain-Methode Start: Jeder Knoten ist sein eigener Cluster Danach: Zwei Phasen, die sich wiederholen: Phase 1, lokale Verbesserung: Für jeden Knoten lokal entscheiden, ob ein Wechsel in die Community des Nachbarn eine Verbesserung der Modularität ergibt. Wechsel in Community mit höchster positiver Verbesserung. Wiederholt, bis keine Verbesserung möglich. Phase 2, Schrumpfen des Graphen: Kontraktion der Communitys zu einem einzelnen Knoten. Aktualisierung der Knoten- und Kantengewichte: Schleifen erhalten Gewicht aller alten Intra-Cluster-Kanten, die übrigen Kanten erhalten das Gewicht der alten Kanten zwischen den zugehörigen Communitys 15 Henning Meyerhenke:
Zusammenfassung Clustering (= Community Detection) ist ein wichtiges, aber auch schwieriges Problem der Netzwerkanalyse In der Praxis setzt man häufig Heuristiken ein Zwei Heuristiken vorgestellt: Spektrale Relaxierung Agglomeration mit gieriger lokaler Verbesserung (Louvain-Methode) 16 Henning Meyerhenke:
Zusammenfassung Clustering (= Community Detection) ist ein wichtiges, aber auch schwieriges Problem der Netzwerkanalyse In der Praxis setzt man häufig Heuristiken ein Zwei Heuristiken vorgestellt: Spektrale Relaxierung Agglomeration mit gieriger lokaler Verbesserung (Louvain-Methode) Es existieren zahlreiche Abwandlungen Immer noch aktiver Forschungsbereich Heute von besonderem Interesse: Einbezug von Semantik 16 Henning Meyerhenke: