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 13.12.2016 Programm: Multilevel-GP Kurz: Spektrale GP Ameisen-Algorithmen 2 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Wiederholung Graphpartitionierung Gängige Problembeschreibung: (Fast) Gleich große Knotenteilmengen Kantenschnitt minimal N P -schwer/-vollständig Behandelte Algorithmen: Multilevel-KL/FM Spektrale Partitionierung Heute: Metaheuristiken (ACO) (Stand der Technik benutzt weitere) 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Wiederholung Graphpartitionierung Behandelte Algorithmen: Multilevel-KL/FM Spektrale Partitionierung Heute: Metaheuristiken (ACO) (Stand der Technik benutzt weitere) Stand der Technik: Sanders, Schulz: KaHiP (Partitionierung), Meyerhenke: DibaP (Repartitionierung von Gitternetzen) Delling et al.: Exakte Bisektionierung, Partitionierung von Straßennetzen Karypis et al.: ParMETIS; Pellegrini: PT-Scotch; Walshaw: Parallel Jostle; Holtgrewe et al.: KaPPa; Boman, Devine et al.: Zoltan (Parallele Partitionierung) Weitere Pakete, s. auch 10th DIMACS Implementation Challenge... 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Inhalt Graphpartitionierung Mehrebenen-Methode Schwarmintelligenz 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Mehrebenen-Verfahren Allgemeiner Ablauf: Rekursives Vergröbern Initiale Partitionierung Interpolation und lokale Verbesserung Ziel: Struktur bei Vergröberung erhalten Einsicht: Initiale Partition bezogen auf Eingabe G viel besser als zufällige 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode 3 Phasen für Mehrebenen-Ansatz 1. Rekursive Vergröberung 2. Initiale Partitionierung 3. Prolongation und lokale Verbesserung 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Vergröberungsverfahren Zu beachten Struktur des Graphen möglichst gut erhalten Knoten zusammenfassen, die vermutlich in einen Block gehören Schwere Kanten möglichst nicht schneiden Gängige Verfahren Matchings maximalen Gewichts Unabhängige Mengen, AMG Verschmelzungsoperation: Siehe Tafel! 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Matching Definition Ein Matching M ist eine Teilmenge von E, bei der keine zwei Kanten einen Knoten gemeinsam haben M größtmögliches Matching (engl.: maximum matching): |M | maximal unter allen Matchings in G M ist Matching maximalen Gewichts: ∑e∈M ω (e ) maximal unter allen Matchings in G 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Matching Definition Ein Matching M ist eine Teilmenge von E, bei der keine zwei Kanten einen Knoten gemeinsam haben M größtmögliches Matching (engl.: maximum matching): |M | maximal unter allen Matchings in G M ist Matching maximalen Gewichts: ∑e∈M ω (e ) maximal unter allen Matchings in G Der beste exakte √MWM-Algorithmus in allgemeinen Graphen hat eine Laufzeit von O( n · m ). Ziel: Bessere Laufzeit bei geringen Qualitätseinbußen. 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Matchings mit maximalem Gewicht in allgemeinen Graphen Gieriger Ansatz: Algorithm 1 Berechnung eines gewichteten Matchings mit Güte 2 1: function G REEDYA PPROX MWM(G = (V , E , w )) 2: Sortiere E absteigend nach Gewicht: E = {e1 , . . . , em }, w (ei ) ≥ w (ej ) ∀i < j 3: M=∅ 4: while E 6= ∅ do 5: Nehme nächste Kante e = (u , v ) aus E und füge diese in M ein 6: Entferne alle Kanten aus E, die zu u oder v inzident sind 7: end while 8: return M 9: end function Beispiel: Siehe Tafel! 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Beispielproblem Eigenschaften des Greedy-Algorithmus Theorem Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei M ∗ ein Matching mit maximalem Gewicht in G. G REEDYA PPROX MWM berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M ) in Zeit O(m log m ). 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Beispielproblem Eigenschaften des Greedy-Algorithmus Theorem Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei M ∗ ein Matching mit maximalem Gewicht in G. G REEDYA PPROX MWM berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M ) in Zeit O(m log m ). Beweis. Laufzeit: Klar. Bleibt noch: Güte. Die als erstes gewählte Kante e = {u , v } ist schwerste Kante in G. Beim Löschen von e und aller inzidenten Kanten werden höchstens zwei Kanten e 0 und e 00 von M ∗ entfernt. Es gilt: w (e 0 ) + w (e 00 ) ≤ 2w (e ). Rest: Übung. 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Linearzeit-Algorithmus mit Güte 2 Algorithm 2 Linearzeit-Berechnung eines MWM mit Güte 2 1: function PATH G ROWING MWM(G = (V , E , w )) 2: M1 = ∅; M2 = ∅; i = 1 3: while E 6= ∅ do 4: Wähle x ∈ V mit deg(x ) > 0 beliebig 5: while x hat Nachbar in G do 6: Sei {x , y } die schwerste zu x inzidente Kante 7: Füge {x , y } zu Mi hinzu 8: Entferne x aus G 9: i = 3−i 10: x =y 11: end while 12: end while 13: return argmax(w (M1 ), w (M2 )) Beispiel: Siehe Folie/Tafel! 11 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode PathGrowing am Beispiel Abbildung: Die ersten Schritte des PathGrowing-Algorithmus am Beispiel 12 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Eigenschaften von PATH G ROWING MWM Theorem Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei M ∗ ein Matching mit maximalem Gewicht in G. PATH G ROWING MWM berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M ) in Zeit O(m ). 13 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Eigenschaften von PATH G ROWING MWM Theorem Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei M ∗ ein Matching mit maximalem Gewicht in G. PATH G ROWING MWM berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M ) in Zeit O(m ). Beweis der Laufzeit. Jeder Knoten wird ≤ einmal in der äußeren Schleife bearbeitet. Die schwerste zu einem Knoten x inzidente Kante kann man in O(deg(x )) finden und entfernen. Pfade nur von Kanten starten ⇒ keine Knoten mit Grad 0. Zahl der Knoten mit Grad mindestens 1 ist O(|E |). Gesamtlaufzeit ≤ Summe der Knotengrade in V : O(|E |). 13 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Beweis der Güte von PATH G ROWING MWM Beweis der Güte. “Vaterknoten” für jede Kante: Immer wenn ein Knoten x entfernt wird, werden alle noch zu x inzidenten Kanten an x zugewiesen. So wird jede Kante von G genau einem Knoten von G zugewiesen. Betrachten MWM M von G: Alle Kanten von M werden an verschiedene Knoten von G zugewiesen (wg. Matching-Eigenschaft). 14 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Beweis der Güte von PATH G ROWING MWM Beweis der Güte. “Vaterknoten” für jede Kante: Immer wenn ein Knoten x entfernt wird, werden alle noch zu x inzidenten Kanten an x zugewiesen. So wird jede Kante von G genau einem Knoten von G zugewiesen. Betrachten MWM M von G: Alle Kanten von M werden an verschiedene Knoten von G zugewiesen (wg. Matching-Eigenschaft). In jedem Schritt des Algorithmus wird die aktuell schwerste Kante, die zu x inzident ist, in Zeile 6 gewählt und zu M1 oder M2 hinzugefügt. ⇒ w (M1 ∪ M2 ) ≥ w (M ) ⇒ max{w (M1 ), w (M2 )} ≥ 21 w (M1 ∪ M2 ) ≥ 12 w (M ) 14 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Zwischenfazit Mehrebenen-Verfahren Mehrebenen-Verfahren allgemein: Durchbruch Mitte der 1990er Jahre Notwendig, um die lokale Suche besser zu steuern Meist schneller und besser als Mehrfach-KL Konzept auch in anderen Bereichen einsetzbar/eingesetzt 15 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Zwischenfazit Mehrebenen-Verfahren Mehrebenen-Verfahren allgemein: Durchbruch Mitte der 1990er Jahre Notwendig, um die lokale Suche besser zu steuern Meist schneller und besser als Mehrfach-KL Konzept auch in anderen Bereichen einsetzbar/eingesetzt Matching-Algorithmen: Einfache Algorithmen für MWM mit Güte 2 Linearzeit bei PathGrowing Andere Linearzeit-Algorithmen mit gleicher Güte existieren Güte 1 − e in Fastlinearzeit Stand der Technik (komplizierter) 15 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode 3 Phasen für Mehrebenen-Ansatz 1. Rekursive Vergröberung 2. Initiale Partitionierung 3. Prolongation und lokale Verbesserung 16 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Spektrale Partitionierung Algorithmus Eingabe: G = (V , E ) Ausgabe: Balancierte Partition (V1 , V2 ) von G 1. Konstruiere L(G ) := D (G ) − A(G ) 2. Berechne das Eigenpaar (λ2 , z2 ) von L(G ) 3. Partitioniere die Indizes von z2 in zwei Hälften anhand des Medians m: V1 := {i | z2 (i ) ≤ m }, V2 := {i | z2 (i ) > m } 4. return (V1 , V2 ) 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Spektrale Partitionierung Diskussion Vorteile: Schnell programmiert (Eigenlöser-Bibliothek vorausgesetzt) Weit verbreitet, zumindest beim Clustering Theoretische Analyse Analyse Einstiegspunkt für weitere Möglichkeiten Häufig zusammenhängende Teile 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Spektrale Partitionierung Diskussion Vorteile: Schnell programmiert (Eigenlöser-Bibliothek vorausgesetzt) Weit verbreitet, zumindest beim Clustering Theoretische Analyse Analyse Einstiegspunkt für weitere Möglichkeiten Häufig zusammenhängende Teile Nachteile: Laufzeit nicht so gut wie schnelle lokale Verfahren Qualität in der Regel nicht so gut wie Multilevel + lokale Heuristik (Praxis) bzw. LP oder SDP (Theorie) 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Spektrale Partitionierung Diskussion Vorteile: Schnell programmiert (Eigenlöser-Bibliothek vorausgesetzt) Weit verbreitet, zumindest beim Clustering Theoretische Analyse Analyse Einstiegspunkt für weitere Möglichkeiten Häufig zusammenhängende Teile Nachteile: Laufzeit nicht so gut wie schnelle lokale Verfahren Qualität in der Regel nicht so gut wie Multilevel + lokale Heuristik (Praxis) bzw. LP oder SDP (Theorie) Trotzdem wertvoll: In der Praxis z. B. als Startlösung Aber: Andere Algorithmen für Startlösung auch weit verbreitet 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Partitionierungs-Werkzeuge... ...und deren Eigenschaften in der Diskussion KaHiP Metis, Jostle, Scotch, Chaco, Party DibaP (Ex-)MSR-Codes Hypergraphen: Zoltan, Patoh, Parkway, Mondriaan ... 19 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Zwischenfazit 3 Phasen für Mehrebenen-Ansatz 1. Rekursive Vergröberung 2. Initiale Partitionierung 3. Prolongation und lokale Verbesserung 20 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Zwischenfazit 3 Phasen für Mehrebenen-Ansatz 1. Rekursive Vergröberung 2. Initiale Partitionierung 3. Prolongation und lokale Verbesserung Passende Algorithmen 1. Approximatives MWM mit GPA 2. Initial: Spektrale Partitionierung 3. Lokale Verbesserung: KL/FM u.v.a. 20 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Zwischenfazit 3 Phasen für Mehrebenen-Ansatz 1. Rekursive Vergröberung 2. Initiale Partitionierung 3. Prolongation und lokale Verbesserung Passende Algorithmen 1. Approximatives MWM mit GPA 2. Initial: Spektrale Partitionierung 3. Lokale Verbesserung: KL/FM u.v.a. Ausblick: Graphpartitionierung mit Ameisenkolonien... 20 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Mehrebenen-Methode Inhalt Graphpartitionierung Mehrebenen-Methode Schwarmintelligenz 21 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Schwarmintelligenz in der Natur Jedes Individuum führt einfache und lokale Strategien aus Überlebensstrategie des Schwarms führt zu komplexem Verhalten Abbildung: [http://www.berlin- maximal.de/branchen/medien/art91, 1971] 22 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Was bedeutet Schwarmintelligenz... ...in der Informatik? Schwarmintelligenz-Algorithmen: Algorithmen, die vom Verhalten großer Tierschwärme inspiriert sind Ameisen, Bienen, Wespen, Termiten, Fische, Vögel 23 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Was bedeutet Schwarmintelligenz... ...in der Informatik? Schwarmintelligenz-Algorithmen: Algorithmen, die vom Verhalten großer Tierschwärme inspiriert sind Ameisen, Bienen, Wespen, Termiten, Fische, Vögel Einfach strukturierte Agenten Kooperation durch Kommunikationsmedium Daraus resultierend: Bewegungen im Such-/Entscheidungsraum 23 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Optimierung mit Ameisenkolonien Geht zurück auf Marco Dorigo (ULB und UPB) Idee: Imitiere das Kooperationsverhalten von Ameisen zum Lösen von Optimierungsproblemen Multiagentensysteme, jeder Agent simuliert eine einzelne Ameise Erfolgreich bei vielen kombinatorischen Optimierungsproblemen [http://www.gute- nachrichten.com.de/2012/12/wisse 24 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Optimierung mit Ameisenkolonien Geht zurück auf Marco Dorigo (ULB und UPB) Idee: Imitiere das Kooperationsverhalten von Ameisen zum Lösen von Optimierungsproblemen Multiagentensysteme, jeder Agent simuliert eine einzelne Ameise Erfolgreich bei vielen kombinatorischen Optimierungsproblemen Echte Ameisen: Suchen kürzeste Wege zu Futterquellen Transportieren Futter in den Bau Eingeschränktes Sehvermögen Kommunikation über Pheromone (indirekte Kooperation) [http://www.gute- nachrichten.com.de/2012/12/wisse 24 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Optimierung mit Ameisenkolonien Geht zurück auf Marco Dorigo (ULB und UPB) Idee: Imitiere das Kooperationsverhalten von Ameisen zum Lösen von Optimierungsproblemen Multiagentensysteme, jeder Agent simuliert eine einzelne Ameise Erfolgreich bei vielen kombinatorischen Optimierungsproblemen Echte Ameisen: Suchen kürzeste Wege zu Futterquellen Transportieren Futter in den Bau Eingeschränktes Sehvermögen Kommunikation über Pheromone (indirekte Kooperation) Beispielexperiment: Siehe Tafel! [http://www.gute- nachrichten.com.de/2012/12/wisse 24 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Optimierung mit Ameisenkolonien Generischer Pseudocode Algorithm 3 Generische ACO 1: function G ENERIC ACO(I) 2: Initialisierung der Pheromon-Pfade 3: repeat 4: for each ant do 5: Konstruktion der Lösung mit dem Pheromonpfad 6: Verflüchtigung des Pheromonpfads 7: Verstärkung guter Lösungen (reinforcement) 8: end for 9: until Abbruchkriterium erreicht 10: return beste gefundene Lösung (oder Menge von Lösungen) 11: end function=0 25 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Komponenten Konstruktion der Lösung Anhand probabilistischer Regel für Zustandsübergang (ähnlich einer Markov-Kette) Künstliche Ameisen kann man als Greedy-Prozeduren ansehen: Lösungskomponenten werden gierig (aber probabilistisch) hinzugefügt, bis komplette Lösung erstellt ist 26 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Komponenten Konstruktion der Lösung Anhand probabilistischer Regel für Zustandsübergang (ähnlich einer Markov-Kette) Künstliche Ameisen kann man als Greedy-Prozeduren ansehen: Lösungskomponenten werden gierig (aber probabilistisch) hinzugefügt, bis komplette Lösung erstellt ist Dabei zu berücksichtigen: Pheromonmengen τ auf Knoten und Kanten Heuristisches Vorwissen η (problemspezifisch) 26 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Komponenten Konstruktion der Lösung Künstliche Ameisen kann man als Greedy-Prozeduren ansehen: Lösungskomponenten werden gierig (aber probabilistisch) hinzugefügt, bis komplette Lösung erstellt ist Dabei zu berücksichtigen: Pheromonmengen τ auf Knoten und Kanten Heuristisches Vorwissen η (problemspezifisch) Beispiel TSP: Jede Ameise berechnet eigene Tour, η ist inverse Distanz β Wählt nächste Stadt j in Nachbarschaft von i mit Wkt. pij = τijα (t )ηij β ∑l ∈Ni τilα (t )ηil α : Wichtigkeit der Steuerung durch Pheromone β : Wichtigkeit der Steuerung durch heuristisches Vorwissen 26 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Komponenten Aktualisierung Pheromonpfade 2 Phasen: Verflüchtigungsphase Verstärkungsphase 27 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Komponenten Aktualisierung Pheromonpfade 2 Phasen: Verflüchtigungsphase Verstärkungsphase Verflüchtigungsphase τij = (1 − ρ)τij , ∀i , j ∈ [1, n] τij Pheromonmenge auf Pfad zwischen i und j und Reduktionsrate ρ ∈ ]0, 1] Zweck: Vermeidung schlechter lokaler Optima 27 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Komponenten Aktualisierung Pheromonpfade 2 Phasen: Verflüchtigungsphase Verstärkungsphase Verstärkungsphase Beispiel TSP: Gewählte Kante erhält Pheromon, dessen Menge proportional zur Tourqualität ist Dient der Intensivierung Verschiedene Strategien denkbar bzgl. Häufigkeit und Qualität der Auswahl 27 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Pseudocode ACO-TSP Talbi, S. 244 28 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz ACO für das GPP Zwei (oder mehr) Kolonien konkurrieren um Futterplätze (Knoten) Ameisen bewegen sich durch den Graphen, um Knoten zu besetzen Bewegungswahrscheinlichkeit für Ameise k pij ,k (t ) = β τijα (t )ηij 0 29 β ∑l ∈Ni ,k τilα (t )ηil Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme j ∈ Ni ,k sonst Graphpartitionierung Schwarmintelligenz ACO für das GPP Zwei (oder mehr) Kolonien konkurrieren um Futterplätze (Knoten) Ameisen bewegen sich durch den Graphen, um Knoten zu besetzen Bewegungswahrscheinlichkeit für Ameise k pij ,k (t ) = β τijα (t )ηij β ∑l ∈Ni ,k τilα (t )ηil 0 j ∈ Ni ,k sonst α : Wichtigkeit der Steuerung durch Pheromone β : Wichtigkeit der Steuerung durch heuristisches Vorwissen 29 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Weitere Aspekte bei ACO-GPP (zumindest gemäß [Korosec et al., IPDPS 2003]) Graph wird auf Gitter abgebildet, um Richtungsänderungen zu vereinfachen Gitter stellt Habitat mit zwei (oder mehr) Ameisennestern dar 30 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Weitere Aspekte bei ACO-GPP (zumindest gemäß [Korosec et al., IPDPS 2003]) Graph wird auf Gitter abgebildet, um Richtungsänderungen zu vereinfachen Gitter stellt Habitat mit zwei (oder mehr) Ameisennestern dar Wenn Futter gefunden wird, nimmt die Ameise es mit zum eigenen Bau Balance: Bau kann nicht mehr als eine bestimmte Menge Futter aufnehmen Wenn Futter zu schwer (Knoten mit hohem Gewicht): Hilfesignal in die Umgebung (es sei denn, man ist im fremden Nest) 30 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Weitere Aspekte bei ACO-GPP (zumindest gemäß [Korosec et al., IPDPS 2003]) Graph wird auf Gitter abgebildet, um Richtungsänderungen zu vereinfachen Gitter stellt Habitat mit zwei (oder mehr) Ameisennestern dar Wenn Futter gefunden wird, nimmt die Ameise es mit zum eigenen Bau Balance: Bau kann nicht mehr als eine bestimmte Menge Futter aufnehmen Wenn Futter zu schwer (Knoten mit hohem Gewicht): Hilfesignal in die Umgebung (es sei denn, man ist im fremden Nest) Pheromon-Intensität darf nicht zu niedrig werden (Diversifizierung) Tabuliste für Futtereinheiten (Knoten) 30 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz if carrying food then if in nest locus then Pseudocode ACO-GPP Drop Food() gathering for food, except when the food is to heavy to pick it up, it does not send a help signal but moves on. With this, we significantly improve our temporary solution. procedure ACO Initialize() while ending condition not satisfied do for all ants do if carrying food then if in nest locus then Drop Food() else Move to Nest() else if food here then Pick Up Food() else if food ahead then Move Forward() else if in nest locus then Move To Away Pheromone() Abbildung: ACO-Algorithmus else Move to Nest() else then 3.3if food Thehere multilevel paradigm Pick Up Food() elseOne if food aheadestablished then already effective way to speed up and Move improve Forward() globally partitioning method is the use of multi else if in nest locus then level techniques. The basic idea is to group vertices together Move To Away Pheromone() to form clusters. These clusters define a new graph. We re else if help signal cursively iterate thisthen procedure until the graph size falls beMovethreshold. To Help() low some This is followed by successive refineelseof these coarsen graphs. This procedure is known as ment Follow Strongest Forward Pheromone() the multilevel paradigm. The multilevel idea was first pro endfor posed by Barnard and Simon [1], as a method of speeding for up allspectral grid cells do bisection and improved by Hendrickson and LeEvaporate land [7] who Pheromone() generalized it to encompass local refinemen endfor algorithms. endwhile end ACO. 3.3.1 Implementation nach [Korosec et al., IPDPS 2003] The implementation itself consists of two parts: graph con- Figure 3. The basic ACO algorithm traction and partition expansion. In first part, we create a coarser graph G!+1 (V!+1 , E!+1 ) from G! (V! , E! ) by find As we have already mentioned, there are some conelse ing the maximal independent subset of graph edges and then that are imposed on our algorithm: First, we must Follow Strongest Forward Pheromone() straints collapse them. Each selected edge is collapsed and the vermention the colony’s storage-capacity constraint. This is endfor tices u , u ∈ V! that are at either end of it are merged implemented1 so 2no single colony can gather all the food for all grid cells do into new vertex u ∈ V!+1 with weight |v| = |u1 | + |u2 | into its nest and the appropriate balance between domains Evaporate Pheromone() Edges that have not been collapsed are inherited by the is maintained. When the pheromone intensity of a certain endfor new graph G!+1 and the edges that become duplicated are cell’s pheromone Henning Meyerhenke, Institut für Theoretische Informatik cell drops below a fixed value, then thatGraphpartitionierung 31 endwhile merged and their weight summed. Because of inheritance intensity is restored to the initial value. With this we mainMethoden für schwere Optimierungsprobleme Schwarmintelligenz endAlgorithmische ACO. the total weight of the graph remains the same and the tota else if help signal then Move To Help() Experimentelle Ergebnisse Qualität: Für sehr kleine Graphen funktioniert ACO recht gut Bei größeren Graphen Mehrebenen-Ansatz zwingend notwendig Konnte qualitativ mit Multilevel-FM mithalten (bzw. sogar besser) 32 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Experimentelle Ergebnisse Qualität: Für sehr kleine Graphen funktioniert ACO recht gut Bei größeren Graphen Mehrebenen-Ansatz zwingend notwendig Konnte qualitativ mit Multilevel-FM mithalten (bzw. sogar besser) Laufzeit: (Parallele) Laufzeit wächst stark mit Zahl der Blöcke (und somit Kolonien) Laufzeit mehrere Größenordnungen langsamer als Multilevel-FM 32 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Zusammenfassung ACO von der Natur inspiriert Andere Metaheuristiken auch (eine davon besprechen wir noch) Achtung: Häufig generiert jedes Individuum des Schwarms eine eigene Lösung (wie bei TSP) 33 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Zusammenfassung ACO von der Natur inspiriert Andere Metaheuristiken auch (eine davon besprechen wir noch) Achtung: Häufig generiert jedes Individuum des Schwarms eine eigene Lösung (wie bei TSP) Wichtige Konzepte: Pheromone markieren die vielversprechenden Regionen des Suchraums Wahl des Nachbarn einer Ameise probabilistisch 33 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz Zusammenfassung ACO von der Natur inspiriert Andere Metaheuristiken auch (eine davon besprechen wir noch) Achtung: Häufig generiert jedes Individuum des Schwarms eine eigene Lösung (wie bei TSP) Wichtige Konzepte: Pheromone markieren die vielversprechenden Regionen des Suchraums Wahl des Nachbarn einer Ameise probabilistisch Qualität mit Mehrebenenansatz durchaus gut bis sehr gut für GPP (mehr Arbeit nötig) Laufzeit deutlich über Multilevel-FM und anderen etablierten Methoden Konvergenzanalysen legen nahe: Globales Optimum wird mit Wkt. 1 − e erreicht 33 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden für schwere Optimierungsprobleme Graphpartitionierung Schwarmintelligenz