Algorithmische Methoden für schwere Optimierungsprobleme

Ähnliche Dokumente
Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 8, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 11, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Algorithmen II Vorlesung am

Algorithmische Methoden zur Netzwerkanalyse

Kombinatorische Optimierung

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Algorithmen II Vorlesung am

Einführung in das Seminar Algorithmentechnik

9. November ZHK in dynamischen Graphen Zentralitäten. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 67

Kombinatorische Optimierung

Algorithmische Methoden für schwere Optimierungsprobleme

Ziel: Zeichnung gibt gute visuelle Repräsentation der Konnektivität zwischen den Knoten

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden für schwere Optimierungsprobleme

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009

DATENSTRUKTUREN UND ALGORITHMEN

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 10, Henning Meyerhenke

Das EM-Modell. Vorlesung 3: Lubys Algorithmus. Graphenalgorithmen und lineare Algebra Hand in Hand

Clusteranalyse für Netzwerke

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Algorithmische Methoden für schwere Optimierungsprobleme

Vorlesung 7 GRAPHBASIERTE BILDSEGMENTIERUNG

Konvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87

Algorithmen für Planare Graphen

Kombinatorische Optimierung

Kombinatorische Optimierung

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

Vorlesung 15 ABSCHLUSS UND ZUSAMMENFASSUNG

Algorithmische Methoden zur Netzwerkanalyse

Heute. Medium Access Control / Färbungen, Teil 2. Kapazität & Scheduling. kurze Wiederholung Schöner verteilter Färbungsalgorithmus

Algorithmen & Komplexität

Heute. Algorithmen für Ad-hoc- und Sensornetze. Erinnerung: MAC-Layer. Erinnerung: Färbungen. Definition

Algorithmische Methoden für schwere Optimierungsprobleme

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

Engineering von Modularity-basiertem Graphenclustern

Algorithmische Methoden zur Netzwerkanalyse

Vorlesung 2 KÜRZESTE WEGE

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse

Theoretische Informatik 1

Vorlesung 3 MINIMALE SPANNBÄUME

Algorithmen 1 Tutorium

Überblick. Organisatorisches. Erinnerung: Motivation Domin. Sets. Algorithmen für Ad-hoc- und Sensornetze

Algorithmische Methoden für schwere Optimierungsprobleme

10. Übung Algorithmen I

9 Minimum Spanning Trees

Theoretische Informatik 1

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Kombinatorische Optimierung

Seminar-Vortrag von Michael Vollmer

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmen I - Tutorium 28 Nr. 11

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Algorithmische Graphentheorie

Graphalgorithmen II. Werner Sembach Werner Sembach Graphalgorithmen II / 22

Lernmodul 7 Algorithmus von Dijkstra

Programmierung 2 Studiengang MI / WI

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Informatik II, SS 2014

Theoretische Grundlagen der Informatik

Algorithmische Methoden für schwere Optimierungsprobleme

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Kombinatorische Optimierung

Schnelle und genaue Routenplanung

Effizienter Planaritätstest Vorlesung am

Vorlesung Datenstrukturen

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Algorithmen für Ad-hoc- und Sensornetze

sort hash uncompress merge & mark hash collisions

durch Einfügen von Knoten konstruiert werden kann.

Vorlesung 4: DATENSTRUKTUREN UND ALGORITHMEN

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

3.2 Generischer minimaler Spannbaum-Algorithmus

Grundlagen: Algorithmen und Datenstrukturen

Wintersemester 2004/ Februar 2005

Sortieren II / HeapSort Heaps

Vorlesung Datenstrukturen

Vergleich von Algorithmen zur Erkennung von Clusterungen variabler Granularität anhand von Zufallsgraphen

Vorlesung 2 KÜRZESTE WEGE

Algorithmen zur Visualisierung von Graphen Lagenlayouts Teil 2

Algorithmen II Vorlesung am

Kapitel 9: Lineare Programmierung Gliederung

Informatik II, SS 2016

8. Übung Algorithmen I

Aufgaben zur Klausurvorbereitung

Transkript:

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