Algorithmische Methoden für schwere Optimierungsprobleme

Werbung
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
Herunterladen