Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 Meyerhenke, KIT –Henning Die Forschungsuniversität in der Institut für Theoretische Informatik Helmholtz-Gemeinschaft Algorithmische Methoden für schwere Optimierungsprobleme 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 Algorithmische Methoden für schwere Optimierungsprobleme 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen 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 q (C) = ∑ C ∈C |E (C )| − m ∑v ∈C deg(v ) 2m 2 ! 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Inhalt Clusteranalyse von Graphen Lokale Greedy-Algorithmen 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen Agglomeratives Clustering Dendrogramm zur Visualisierung von aggl. Clusterungen Abbildung: Quelle: Wikipedia 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen Pseudocode der Louvain-Methode 14 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen PLM vs PLMR Haben jetzt: Move-Phase Kontraktion Prolongation = Interpolation (übernehme ID des eigenen groben Knotens) 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen Die Louvain-Methode Testgraphen 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen Webgraph uk-2007-05 20 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen Zusammenfassung Asymptotische Laufzeit: Exakte Analyse schwierig... 21 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen 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 Algorithmische Methoden für schwere Optimierungsprobleme Clusteranalyse von Graphen Lokale Greedy-Algorithmen