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 15 Programm: Fazit Netzwerkmodelle Clusteranalyse in Graphen 2 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Fazit Netzwerkmodelle ER: Gut mathematisch untersucht, unrealistisch BA: Preferential attachment, recht gute Eigenschaften, skaliert schlecht CL: Gradfolge wird im Erwartungswert nachgebildet, gute Eigenschaften R-MAT: Gute Skalierung, schwach ausgeprägte Community-Struktur Hyp. Netzwerke: Gute Eigenschaften, wenig intuitiv Fazit: Wahl des Modells anwendungsabhängig 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Inhalt Clusteranalyse von Graphen Einführung Komplexität 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Einführung Stetig wachsende Datenflut Schlagwort Big Data in aller Munde Rasantes Wachstum der Menge von (irregulär strukturierten) Daten: Teilchenbeschleuniger, Teleskope: Terabytes / Tag Facebook: 1G+ Mitglieder, 1G+ Aktionen/Tag Web-Graph, Log-Dateien, Smartphone-Aktionen Big Data: Nicht nur Graphdaten, aber auch! 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Einführung Was ist BIG? Irregulär strukturierte Daten wachsen mit enormer Geschwindigkeit: Facebook: 1G+ Mitglieder, durchschnittlich 130 Freunde, 1G + neue Inhalte pro Tag Twitter: 1G Tweets pro Woche Web-Graph Finanztransaktionen 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse http://thecursedvalley.wordpress.com Clusteranalyse von Graphen Einführung Gesundheitspolitische Erwägungen Epidemien (Grippe, ...) sind in sozialen Netzwerken nachvollziehbar ⇒ Lassen sich (gesundheits)politische Entwicklungen durch Analyse von sozialen Medien vorhersagen? Zu bedenken: Twitter: 1G+ Tweets/Woche Andere Dienste auch relevant Datenschutz ⇒ Zielkonflikt zwischen Laufzeit und Genauigkeit 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse http://thecursedvalley. wordpress.com Clusteranalyse von Graphen Einführung Community Detection “Natürliche” Gruppen eines Netzwerks identifizieren Komplexität reduzieren: Anwendung teurer Algorithmen nur auf Teile des Netzwerks – aber welche? Clusteranalyse (z. B. geometrisch) Daten desselben Clusters sind sich ähnlich Daten verschiedener Cluster sind sich unähnlich Community Detection Knoten desselben Clusters sind stark miteinander verbunden Knoten verschiedener Cluster sind schwach miteinander verbunden 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse http://renardteipelke. blogspot.com Clusteranalyse von Graphen Einführung Community Detection Problem (Graph Clustering / Community Detection) Eingabe: Graph G = (V , E ) Ausgabe: Clusterung (Partition von V ), die Zielfunktion optimiert Oft: Zielfunktion (ZF) wägt Anteil der internen Kanten, Anteil der externen Kanten und Clustergrößen ab Fast alle (interessanten) ZF sind N P -schwer zu optimieren Weitere Anwendungen Ähnliche Objekte finden (Gene, Produkte, Personen, ...) Verteiltes Rechnen, Speichern Visualisierung 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Einführung 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: Anteil der tatsächlichen Intra-Cluster-Kanten Erwarteter Anteil dieser Kanten in einem Zufallsgraphen mit gleicher Gradfolge q (C) = ∑ C ∈C |E (C )| − m ∑v ∈C deg(v ) 2m 2 ! Erklärung: Tafel/Übung! Modularität hat einige bekannte Nachteile, z. B. das Auflösungsproblem (kann man teilweise durch ein Gewichtungsschema beseitigen) 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Einführung Inhalt Clusteranalyse von Graphen Einführung Komplexität 11 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Komplexität Modularität Komplexität Optimierung bzgl. Modularität ist streng N P -schwer Problem 1: M ODULARITY 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 a1 , . . . , a3k derart gegeben, dass ∑3k i =1 ai = kb und b/4 < ai < 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? Beispiel: Siehe Tafel! 12 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Komplexität 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 ⇒ Kein Algorithmus kann das Problem entscheiden 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 Zeigen: Instanz A = {a1 , . . . , a3k } von 3-PARTITION kann derart in Instanz (G (A), K (A)) von M ODULARITY transformiert werden, dass G (A) genau dann eine Clusterung C mit q (C ) ≥ K hat, wenn 3-PARTITION lösbar ist. 13 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Komplexität Reduktion [Brandes et al., IEEE TKDE 2008] 14 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Komplexität Komplexitätsbeweis Hilfsresultate Lemma In einer Clusterung von G (A) mit maximaler Modularität wird keine der Cliquen H1 , . . . , Hk geteilt. Lemma In einer Clusterung von G (A) mit maximaler Modularität enthält jeder Cluster höchstens eine der Cliquen H1 , . . . , Hk . Lemma In einer Clusterung von G (A) mit maximaler Modularität besteht kein Cluster ausschließlich aus Element-Knoten. 15 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Komplexität Komplexitätsbeweis Hauptteil (1) Theorem (Brandes et al., IEEE TKDE 2008) M ODULARITY ist streng N P -vollständig. Beweis. In Polynomialzeit lässt sich prüfen, ob q (C) ≥ K (A) ⇒ M ODULARITY ∈ N P Zum Beweis der Vollständigkeit: Transformation wie an Tafel beschrieben Aus A = {a1 , . . . , a3k } wird (G (A), K (A)) Notation: Sei deg(Ci ) = ∑v ∈Ci deg(v ) (manchmal auch als Volumen oder vol(Ci ) bezeichnet) 16 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Komplexität 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: ∑ C ∈C m − (k − 1)a 2(k − 1)a 2k − 2 |E (C )| = = 1− = 1− m m ka(a + 1) k (a + 1) ⇒ Clusterung C = (C1 , . . . , Ck ) mit maximaler Modularität muss deg(C1 )2 + · · · + deg(Ck )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 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Komplexität 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(Ci ) = a2 + a für jeden Cliquen-Cluster Ci , i = 1, . . . , k ⇒ deg(C1 )2 + · · · + deg(Ck )2 ≥ k (a2 + a) = ka2 (a + 1)2 Gleichheit gilt nur, wenn eine Zuweisung von b an jeden Cluster möglich ist Fortsetzung an der Tafel 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Clusteranalyse von Graphen Komplexität