A. Gebert / A. Henke Ant colony simulation
Inhalt Ameisenkolonien in der Natur Was ist ACO? Anwendungsgebiete Algorithmus im Detail 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“
Ameisenkolonien in der Natur
Was isT „ACO“ ? Ant Colony Optimization / Ameisenalgorithmus Generisches Algorithmus Framework basierend auf dem Verhalten echter Ameisen Schwarmintelligenz Verschiedene Implementierungen
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
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
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
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
Weg-Entscheidung ?
Pheromon update
Pheromon Verdunstung Verhindert schnelles konvergieren hin zu einer suboptimalen Lösung
Live-Demo Implementierung eines simplen ACO Algorithmus Lösung des Shortest-Path Problems GUI mit 2D/3D Visualisierung
Fragen?? ??? :)
ACO Performance #1
ACO Performance #2
ACO Performance #3
Iterations vs. settings