Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Die Forschungsuniversität Meyerhenke, in der Institut für Theoretische Informatik Helmholtz-Gemeinschaft www.kit.edu
Vorlesung 1.12.16 Programm: Clusteranalyse in Graphen Übung zur ZF Modularität Lokale Suchen zur Mod.-Optimierung Metaheuristik VNS 2 Henning Meyerhenke, Institut für Theoretische Informatik
Wiederholung und Ausblick Clustering (= Community Detection) ist ein wichtiges, aber auch schwieriges Problem der Netzwerkanalyse In der Praxis setzt man häufig Heuristiken ein Zwei Heuristiken heute: Direkte Agglomeration (CNM-Methode), meist mit wenigen großen Communitys Mehrebenenansatz mit gieriger lokaler Verbesserung (Louvain-Methode), meist mit guter Qualität und guter Laufzeit Es existieren zahlreiche Abwandlungen Sehr aktiver Forschungsbereich 3 Henning Meyerhenke, Institut für Theoretische Informatik
Wiederholung Modularität 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 ( ( ) ) E(C) q(c) = m v C deg(v) 2 2m C C Modularität hat einige bekannte Nachteile, z. B. das Auflösungsproblem (kann man teilweise durch ein Gewichtungsschema beseitigen) 4 Henning Meyerhenke, Institut für Theoretische Informatik
Inhalt 5 Henning Meyerhenke, Institut für Theoretische Informatik
Lokale Optimierung von Modularität Spektrale Clusteranalyse nicht Maß aller Dinge Nun: Hierarchische Methoden mit Greedy-Ansatz Keine Eingabe der Zahl von Clustern notwendig Literaturhinweise A. Clauset, M.E.J. Newman, C. Moore: Finding community structure in very large networks. Phys. Rev. E 70, 066111 (2004). 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. C.L. Staudt, H. Meyerhenke: Engineering Parallel Algorithms for Community Detection in Massive Networks. IEEE Transactions on Parallel and Distributed Systems vol. 27, no. 1, pp. 171-184, 2016. 6 Henning Meyerhenke, Institut für Theoretische Informatik
Agglomeratives Clustering Dendrogramm zur Visualisierung von aggl. Clusterungen Abbildung: Quelle: Wikipedia 7 Henning Meyerhenke, Institut für Theoretische Informatik
Die CNM-Methode Eingabe: Graph G = (V, E) Start: Jeder Knoten ist sein eigener Cluster Wiederhole, bis Abbruchkriterium (z. B.: Anzahl Knoten = 1) erreicht: Identifiziere Knoten u und v, deren Verschmelzung die ZF (Modularität) am stärksten verbessert (bzw. am wenigsten verschlechtert) Verschmelze u und v zu einem Superknoten Aktualisiere Knoten, Kanten und deren Gewichte return Gefundene Lösung mit bestem ZF-Wert 8 Henning Meyerhenke, Institut für Theoretische Informatik
Die CNM-Methode Eingabe: Graph G = (V, E) Start: Jeder Knoten ist sein eigener Cluster Wiederhole, bis Abbruchkriterium (z. B.: Anzahl Knoten = 1) erreicht: Identifiziere Knoten u und v, deren Verschmelzung die ZF (Modularität) am stärksten verbessert (bzw. am wenigsten verschlechtert) Verschmelze u und v zu einem Superknoten Aktualisiere Knoten, Kanten und deren Gewichte return Gefundene Lösung mit bestem ZF-Wert Beispiel: Siehe Tafel! 8 Henning Meyerhenke, Institut für Theoretische Informatik
Die CNM-Methode Eingabe: Graph G = (V, E) Start: Jeder Knoten ist sein eigener Cluster Wiederhole, bis Abbruchkriterium (z. B.: Anzahl Knoten = 1) erreicht: Identifiziere Knoten u und v, deren Verschmelzung die ZF (Modularität) am stärksten verbessert (bzw. am wenigsten verschlechtert) Verschmelze u und v zu einem Superknoten Aktualisiere Knoten, Kanten und deren Gewichte return Gefundene Lösung mit bestem ZF-Wert Beispiel: Siehe Tafel! Typische Dendrogrammtiefe bei hierarchischen Graphen: O(log n) 8 Henning Meyerhenke, Institut für Theoretische Informatik
Die CNM-Methode Effiziente Implementierung für dünn besetzte Graphen Ziel: Effiziente Implementierung für dünn besetzte Graphen Definition (Dünn besetzter Graph) Ein Graph G = (V, E) heißt dünn besetzt, wenn E = O( V ) gilt. Frage: Wie würden Sie die Kante bestimmen, die die höchste ZF-Verbesserung ergibt? 9 Henning Meyerhenke, Institut für Theoretische Informatik
Die CNM-Methode Effiziente Implementierung für dünn besetzte Graphen Ziel: Effiziente Implementierung für dünn besetzte Graphen Definition (Dünn besetzter Graph) Ein Graph G = (V, E) heißt dünn besetzt, wenn E = O( V ) gilt. Frage: Wie würden Sie die Kante bestimmen, die die höchste ZF-Verbesserung ergibt? Datenstruktur Prioritätswarteschlange: Bspw. Max-Heap, der die möglichen Verbesserungen speichert Optional: Für jeden Knoten Zeiger auf seine Einträge im Max-Heap oder sogar einen Max-Heap pro Knoten 9 Henning Meyerhenke, Institut für Theoretische Informatik
Agglomeration vs lokales Verschieben Experimente: Agglomerative Ansätze ergeben im Durchschnitt deutlich schlechtere Lösungen als lokale Verschiebeverfahren! 10 Henning Meyerhenke, Institut für Theoretische Informatik
Agglomeration vs lokales Verschieben Experimente: Agglomerative Ansätze ergeben im Durchschnitt deutlich schlechtere Lösungen als lokale Verschiebeverfahren! Daher: Jetzt Betrachtung einer lokalen Verschiebeheuristik! 10 Henning Meyerhenke, Institut für Theoretische Informatik
Die Louvain-Methode Initialisierung und Phase 1 Initialisierung: Jeder Knoten ist sein eigener Cluster Danach: Zwei Phasen, die sich wiederholen: Phase 1, lokale Verbesserung: Für jeden Knoten v lokal entscheiden, ob ein Wechsel in die Community des Nachbarn eine Verbesserung der ZF (Modularität) ergibt. Wechsel von v in Community des Nachbarn mit stärkster positiver Verbesserung. Wiederholt, bis keine Verbesserung möglich. Abarbeitungsreihenfolge der Knoten beliebig, z. B. zufällig 11 Henning Meyerhenke, Institut für Theoretische Informatik
Die Louvain-Methode Phase 2 Phase 2, Schrumpfen des Graphen: Kontraktion jeder gefundenen Community 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 Bild zur Verfügung gestellt von M. Ovelgönne 12 Henning Meyerhenke, Institut für Theoretische Informatik
Das Mehrebenen-Paradigma Sinn: Relevante Information auf verschiedenen Skalen einsammeln Nützlich bei großen Problemen, die sich gut vergröbern/interpolieren lassen Zutaten: 1. Vergröberung 2. Initiale Lösung 3. Entgröberung und lokale Verbesserung 4. ggf. Lösungszyklen 13 Henning Meyerhenke, Institut für Theoretische Informatik
Pseudocode der Louvain-Methode 14 Henning Meyerhenke, Institut für Theoretische Informatik
Parallele Move-Phase mod-werte werden ständig aktualisiert muss schnell gehen Parallel über die Knotenmenge iterieren Jeder Knoten berechnet zu jeder inzidenten Kante den aktuellen mod-wert 15 Henning Meyerhenke, Institut für Theoretische Informatik
Parallele Kontraktions-Phase Feiner Graph Community Intra-Community-Kante Inter-Community-Kante Grober Graph Knoten Schleife Kante Mehrfachkanten verschmelzen (Kantengewichte anpassen) 16 Henning Meyerhenke, Institut für Theoretische Informatik
Parallele Kontraktions-Phase Feiner Graph Community Intra-Community-Kante Inter-Community-Kante Grober Graph Knoten Schleife Kante Mehrfachkanten verschmelzen (Kantengewichte anpassen) Parallele Konstruktion des groben Graphen (Tafel!): Kanten des feinen Graphen parallel iterieren Zunächst thread-lokale grobe Graphen erstellen Zum Schluss thread-lokale Graphen verschmelzen 16 Henning Meyerhenke, Institut für Theoretische Informatik
PLM vs PLMR Haben jetzt: Move-Phase Kontraktion Prolongation = Interpolation (übernehme ID des eigenen groben Knotens) 17 Henning Meyerhenke, Institut für Theoretische Informatik
PLM vs PLMR Haben jetzt: Move-Phase Kontraktion Prolongation = Interpolation (übernehme ID des eigenen groben Knotens) Optional: Nach Prolongation auf jeder Ebene: Move-Phase = PLMR (PLM with refinement) 17 Henning Meyerhenke, Institut für Theoretische Informatik
Die Louvain-Methode Testgraphen 18 Henning Meyerhenke, Institut für Theoretische Informatik
Die Louvain-Methode Experimentelle Ergebnisse (2x Intel Xeon E5-2670) Abbildung: Qualität und Laufzeit von PLM 19 Henning Meyerhenke, Institut für Theoretische Informatik
Webgraph uk-2007-05 20 Henning Meyerhenke, Institut für Theoretische Informatik
Zusammenfassung Asymptotische Laufzeit: Exakte Analyse schwierig... 21 Henning Meyerhenke, Institut für Theoretische Informatik
Zusammenfassung Asymptotische Laufzeit: Exakte Analyse schwierig... Clustering (= Community Detection) ist ein wichtiges, aber auch schwieriges Problem der Netzwerkanalyse 21 Henning Meyerhenke, Institut für Theoretische Informatik
Zusammenfassung Asymptotische Laufzeit: Exakte Analyse schwierig... Clustering (= Community Detection) ist ein wichtiges, aber auch schwieriges Problem der Netzwerkanalyse In der Praxis setzt man häufig Heuristiken ein Mehrebenen-Ansatz mit gieriger lokaler Verbesserung (Louvain-Methode), meist mit guter Qualität und guter Laufzeit 21 Henning Meyerhenke, Institut für Theoretische Informatik
Zusammenfassung Asymptotische Laufzeit: Exakte Analyse schwierig... Clustering (= Community Detection) ist ein wichtiges, aber auch schwieriges Problem der Netzwerkanalyse In der Praxis setzt man häufig Heuristiken ein Mehrebenen-Ansatz mit gieriger lokaler Verbesserung (Louvain-Methode), meist mit guter Qualität und guter Laufzeit Es existieren zahlreiche Abwandlungen Sehr aktiver Forschungsbereich 21 Henning Meyerhenke, Institut für Theoretische Informatik