210 likes | 439 Views
Ant Colony Optimization. Virtuelle Ameisen als Software-Agenten zur Bewältigung komplexer Probleme. Optimierung mit Ameisen.
E N D
Ant Colony Optimization Virtuelle Ameisen als Software-Agentenzur Bewältigung komplexer Probleme Marc Bufé
Optimierung mit Ameisen Dokument-Version 1.2 Autor: Marc BuféDiese Vortragsfolien entstanden im Rahmen des SeminarsSoftcomputing im Sommersemester 2000 an der Fakultät Informatik, Universität Stuttgart, GermanyFolien, Ausarbeitung und Algorithmus sind zu finden unter: http://fly.to/airport Marc Bufé
Natur als Vorbild • Ameisen • Kolonien • Koordination • Kooperation • Schwarmintelligenz Marc Bufé
Futtersuche in Natura Nutzung Tour A-B-C-D-E steigt, A-B-H-D-E fällt - mit Zeit Marc Bufé
Mehragent-System Wie in die Informatik übertragen? • Ameise <> Ein Agent • Kolonie <> Alle Agenten • Bewertung von Teillösungen • Kooperation • Verflüchtigung Marc Bufé
Futtersuche im Graphen Zwecks Übersichtlichkeit hier nur 2 mögl. Wege berücksichtigt! A B C D E F Marc Bufé
Futtersuche mit Agenten 15 15 10 20 15 15 10 20 Marc Bufé
Erweiterungen • Markierung abhängig von Weglänge • Hintergrundspeicher • Umgebungswissen • Daemon Marc Bufé
Sub-optimale Lösungen • Gründe hierfür: • zu langsame Verflüchtigung • ungeeignete Parameterwahl • zu wenige Ameisen Marc Bufé
Parameterwahl a : Gewichtung für Markierungb : Gewichtung für Knotennähe Oliver30, NCMAX=2500 Sehr gute LösungenKeine StagnationØ Stagnation Marc Bufé
Ant-System (AS) Modelle a : Gewichtung für Markierungb : Gewichtung für Knotennäher : Verflüchtigungsfaktor Ergebnis für 10 gemittelte DurchläufeOliver30, NCMAX = 5000 Marc Bufé
Ant-Cycle auf TSP • Tabu List • Random Walk • Prioritäten • Rücklauf und längenabhängige Bewertung 5 1 4 1 1 3 2 Marc Bufé
Tabu List n : Anzahl Städte = Eine Tourm : Anzahl Ameisenk : Index einer Ameises : Zeiger in TabuList (momentane Stadt) Für jede Iteration innerhalb eines Ant-Cycle:Trage für jede Ameise k die besuchte Stadt ein For k := 1 to m do insert town of ant k in Tabuk(s) od Marc Bufé
Random Walk & Prioritäten i,j : Kante zwischen Knoten i,jnij : 1/Distanz(i,j)a : Gewichtung für Markierungenb : Gewichtung für Knotennähe allowedk : für k auf i erlaubte adjazente unbesuchte Städte Aus Ant-Routing-Table: Übergangswahrscheinlichkeit von Stadt i nach j für Ameise k Marc Bufé
Rücklauf und Bewertung i,j : Kante zwischen Knoten i,jtij (t): Markierung zur Zeit tr : Verflüchtigung je (t,t+n) Q/Lk : Const/Tourlänge Ameise k Mit Tabu List,Ant-Routing-Table: Mark_delta = Summe der Markierungen für alle Ameisen k,die Kante (i,j) passiert haben Markierung nach Tour = Verflüchtigung * Mark_alt + Mark_delta Marc Bufé
10-Cities-Problem CCA0 AS-Markierungsverteilung nach Start und nach 100 Zyklen Marc Bufé
Oliver30 Problem Zyklen: 342Länge : 420 a = 1b = 5r = 0.5 Marc Bufé
Kantenbesuche je Knoten Typische Läufe mit Ant-Cycle auf Oliver30 Guter Lauf Stagnationsverhalten (a=5, b=2) Marc Bufé
Vergleich ACO vs EA Marc Bufé
Zusammenfassung • Kombination von Teillösungen • Positive Rückkopplungsschleife • „Vergessen“ fördert Exploration • Selbstadaption - ohne Reinitialisierung! • Geeignet für (A)TSP, Routing... Marc Bufé
Mehr Ameisen • Marco Dorigo IRIDIA, Université Libre de Bruxelles • Spektrum der Wissenschaft Ausgabe 05/2000 • Ant Cam http://www.discovery.com/cams/ant/antmain.html Marc Bufé