Transcript
Page 2: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

INHALT

1. Ameisenkolonien in der Natur2. Was ist ACO?3. Anwendungsgebiete4. Algorithmus im Detail5. ACO Live-Demo

Page 3: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

AMEISENKOLONIEN IN DER NATUR

Ameisen hinterlassen eine Pheromonspur auf ihrem Weg

Ameisen verwenden die Pheromonspuren zur Wegfindung

Verdichtete Pheromonspuren deuten auf „bessere Wege“ hin

Die einzelne Ameise hat limitierte kognitive Fähigkeiten, die Kolonie besitzt jedoch eine gewisse „Intelligenz“

Page 4: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

AMEISENKOLONIEN IN DER NATUR

Page 5: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

WAS IST „ACO“ ?

Ant Colony Optimization / Ameisenalgorithmus

Generisches Algorithmus Framework basierend auf dem Verhalten echter Ameisen

Schwarmintelligenz Verschiedene Implementierungen

Page 6: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

ANWENDUNGSGEBIETE

Alle diskreten Optimierungsprobleme, für die es einen Mechanismus gibt, der auf Teillösungen aufbauend Schritt für Schritt zur vollständigen Lösung führt.

Statische Probleme TSP (Travelling Salesman Problem) QAP (Quadratic Assignment Problem)

Dynamische Probleme Network Routing

Page 7: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

ALGORITHMUS IM DETAIL

Gefundene Lösung ist immer nur eine Annäherung – keine exakte Lösung

Keine Umwelteinflüsse (Algorithmus ist blind)

Ablauf erfolgt in separaten Iterationen von je einer fixen Anzahl Ameisen

Pheromon wird nicht kontinuierlich abgelegt Abgegebene Pheromonmenge abhängig

von der Güte der gefundenen Lösung

Page 8: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

ALGORITHMUS IM DETAIL

Enthält Nodes und Node Connections

Connections haben jeweils ein Pheromon Level

Jede Ameise liefert jeweils eine Lösung Lösungen aller Ameisen ergeben eine

Iteration

Page 9: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

ALGORITHMUS IM DETAIL

Eine Iteration umfasst: Alle Ameisen suchen einen Weg

Weg-Entscheidung anhand Pheromon, Wegstrecke und Zufallswert

Die gefundene Lösung besteht aus Forward- und Backward Path

Backward Path ist optimiert (loop elimination) Pheromon Update

Alle gefundenen Lösungen werden bewertet Auf den Connections der Lösung wird Pheromon

abgelegt (antiproportional zur Tourlänge bzw. Kosten)

Pheromon Verdunstung

Page 10: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

WEG-ENTSCHEIDUNG

?𝒑𝒊𝒋 = ൫𝝉𝒊,𝒋𝜶൯ቀ𝜼𝒊,𝒋𝜷ቁσ൫𝝉𝒊,𝒋𝜶൯ቀ𝜼𝒊,𝒋𝜷ቁ

𝜏𝑖,𝑗 = 𝑃ℎ𝑒𝑟𝑜𝑚𝑜𝑛 𝐿𝑒𝑣𝑒𝑙 𝑎𝑢𝑓 𝑑𝑒𝑟 𝐶𝑜𝑛𝑛𝑒𝑐𝑡𝑖𝑜𝑛 𝑖,𝑗 𝛼 = 𝐺𝑒𝑤𝑖𝑐ℎ𝑡𝑢𝑛𝑔 𝑑𝑒𝑠 𝑃ℎ𝑒𝑟𝑜𝑚𝑜𝑛𝑠 𝜂𝑖,𝑗 = 𝐾𝑜𝑠𝑡𝑒𝑛 𝑑𝑒𝑟 𝐶𝑜𝑛𝑛𝑒𝑐𝑡𝑖𝑜𝑛 𝑖,𝑗 𝛽 = 𝐺𝑒𝑤𝑖𝑐ℎ𝑡𝑢𝑛𝑔 𝑑𝑒𝑟 𝐾𝑜𝑠𝑡𝑒𝑛

Page 11: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

PHEROMON UPDATE𝝉𝒊,𝒋 ← 𝝉𝒊,𝒋+ 𝚫 𝝉𝒊,𝒋 ∀ 𝒍𝒊,𝒋 ∈𝝍𝒌 𝑚𝑖𝑡 Δ 𝜏𝑖,𝑗 = Δ 𝜏𝑖,𝑗𝑘 𝑚

𝑘=1 𝑢𝑛𝑑 Δ 𝜏𝑖,𝑗𝑘 = 1𝐽𝜓𝑘 𝑢𝑛𝑑 𝐽𝜓𝑘 = 𝐿ä𝑛𝑔𝑒 𝑑𝑒𝑟 𝑇𝑜𝑢𝑟 𝜓 𝑘 𝑣𝑜𝑛 𝐴𝑚𝑒𝑖𝑠𝑒 𝑘

Page 12: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

PHEROMON VERDUNSTUNG𝝉𝒊,𝒋 ← ሺ𝟏 − 𝝆ሻ𝝉𝒊,𝒋 𝒎𝒊𝒕 𝝆∈[𝟎,𝟏] 𝜌 = 𝑉𝑒𝑟𝑑𝑢𝑛𝑠𝑡𝑢𝑛𝑔𝑠𝑓𝑎𝑘𝑡𝑜𝑟 𝜏𝑖,𝑗 = 𝑃ℎ𝑒𝑟𝑜𝑚𝑜𝑛 𝐿𝑒𝑣𝑒𝑙 𝑎𝑢𝑓 𝑑𝑒𝑟 𝐶𝑜𝑛𝑛𝑒𝑐𝑡𝑖𝑜𝑛 𝑖,𝑗

Verhindert schnelles konvergieren hin zu einer suboptimalen Lösung

Page 13: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

LIVE-DEMO

Implementierung eines simplen ACO Algorithmus

Lösung des Shortest-Path Problems GUI mit 2D/3D Visualisierung

Page 14: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

FRAGEN??

??? :)

Page 15: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo
Page 16: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

ACO PERFORMANCE #1

Page 17: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

ACO PERFORMANCE #2

Page 18: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

ACO PERFORMANCE #3

Page 19: A. Gebert / A. Henke. 1. Ameisenkolonien in der Natur 2. Was ist ACO? 3. Anwendungsgebiete 4. Algorithmus im Detail 5. ACO Live-Demo

ITERATIONS VS. SETTINGS


Recommended