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