AMEISENALGORITHMEN
description
Transcript of AMEISENALGORITHMEN
AMEISEN-ALGORITHMEN
Daniel Radeloff
Natürliche Ameisen
Kommunikation, Optimierung, Modell
Künstliche Ameisen
Unterschiede, Algorithmen: AS & ACS
Natürliche Ameisen
Das Vorbild aus der Biologie:
??Kommunikation: indirekt, physikalisches Korrelat (Pheromone), Information nur lokal ablesbar(Stigmergy)
2 Prinzipien:• stärkere Pheromonbelegung höhere Begehungswahrscheinlichkeit (autokatalytischer Mechanismus)• Kürzerer Weg Ameise trifft schneller auf ‘Gegenverkehr’ (implicit solution evaluation)
Probabilistische Entscheidungsfindung:
unten oben Gesamtzahl
oben Anzahl oben keit rel.Häufig
hm
hm
hm
o kUkO
kOmP
)()(
)()(
k = 20, h = 2
Natürliche Ameisen:Der autokatalytische Mechanismus
1. Schritt: Ameisen erreichen Hindernis2. Schritt: Ameisen, die die kürzere Kante wählten (blau), erreichen den Hauptpfad 3. Schritt: entgegen kommende Ameisen (rot) erreichen die Gabelung - und wählen den kürzeren Pfad4. Schritt: Da entgegenkommende Ameisen den unteren Weg benutzen, wird dieser verstärkt mit Pheromon markiert... 5. Schritt: Die kürzere Verbindung wurde als ‚Ameisenstraße‘ etabliert.
Natürliche Ameisen:Implicit Solution Evaluation
Je kürzer ein Weg,desto schneller ist er vollständig markiertdesto schneller wählen Ameisen an Weggabelungen diesen Pfad
Futter Nahrung
1
4
3
2
Natürliche Ameisen:Stagnation
Es werden nur durchschnittliche Lösungen gefunden
Futter Nahrung
1
4
3
2
Futter Nahrung
1
4
3
2
...diese Wege werden überwertig
Futter Nahrung
1
4
3
2
Konvergenz auf ein lokales MaximumBessere Lösungen werden nicht mehr gefunden
Lösung: Pheromonverdampfung
Künstliche Ameisen
Gemeinsamkeiten mit realen Ameisen• Gruppe kleiner, unabhängiger, einfacher Einheiten
• Gemeinschaftliche, dezentrale Lösungsfindung
• Indirekte Kommunikationsform (stigmergy)
• Kostenminimierung als Ziel
Unterschiede
• Diskrete Welt
• Gedächtnis, das zurückgelegten Weg speichert
• Pheromonausschüttung ist abhängig von Güte der Lösung
• Pheromonausschüttung erfolgt nachträglich, sobald Ziel erreicht ist
• Lokale Optimierungsmechanismen
Ant System (AS)
Kennzeichen:
übersichtlicher, einfacher Algorithmus
Grundlage anderer, hocheffektiver Ant Colony Optimization (ACO)-Algorithmen
Anwendungsgebiet:
Traveling Salesman Problem (TSP)
while )( sGroesseGenerationn
töte_alle_Ameisen( )
erzeuge_neue_Ameise( )
while )max( nIterationet
while )( nIterationet
töte_alle_Ameisen( )
while )( sGroesseGenerationn
erzeuge_neue_Ameise( )
)( lSchrittzahs while
Ameise(n) . führe_Schritt_aus( )
Ameise(n) . speichere_Neue_Stadt()
while )( nIterationet
töte_alle_Ameisen( ) while )( sGroesseGenerationn
erzeuge_neue_Ameise( )
)( lSchrittzahs while
Ameise(n) . führe_Schritt_aus( )
Ameise(n) . Memo(NeueStadt)
while )( sGroesseGenerationn
markiere_Weg(Ameise(n).Memo)
= entspricht reziproker Distanz(ij)ijErfahrungsunabhängige KomponenteRelative ‚Kürze‘ der Verbindung
Erfahrungsabhängige KomponenteRelative Pheromonkonzentration
Welchen Nachbarknoten wählt eine Ameise auf Knoten i als nächstes?
Jedem Weg zu einem Nachbarknoten wird ein relatives Gewicht zugeordnet:
kil
il
ijkij ta
tatp
)(
)()(
ililil
ijijij t
tta
][)]([
][)]([)(
Die Wahrscheinlichkeit, dass die Ameise Knoten j wählt, ist abhängig vom relativen Gewicht des Knotens j und dem Gewicht aller noch nicht besuchten Nachbarknoten:
Künstliche Ameisen: Ant System
setzt sich zusammen aus dem alten Pheromonbetrag, vermindert um einen Verdunstungsparameter
)(tij
entspricht der Pheromonmenge nach Iteration t.
)(ttij
)(tij... zuzüglich den neuen Markierungen aller Ameisen
AntSystem: Pheromonausschüttung
• Markierung der Wege erfolgt nachträglich
• Pheromonmenge ist abhängig von der Güte der Lösung
• Um Stagnation zu Verhindern, wird Pheromonverdampfung simuliert
0
)(/1)(
tLt
kkij if
if
)(),( tTji k
)(),( tTji k entspricht der Pheromonmarkierung des Weges(ij) durch Ameise k
kijNur Wege der zurückgelegten Tour
werden markiert)(tT kDer ausgeschüttete Pheromonbetrag verhält sich reziprok der Tourlänge
)(tLk
)()()1()( ttt ijijij
AntSystem: Evaluation
Ant System wurde an gut untersuchten Traveling Salesman Problemen getestet
Ergebnisse:
• kleinere Probleme mit einem Umfang von etwa 30 Städten:
AS stellt sich als bester naturinspirierter Algorithmus heraus
• Probleme mit einer Anzahl um 70 Städten:
AS fand nie die optimale Lösung;
dennoch schnelle Konvergenz auf gute Lösungen
Ant Colony System (ACS)
• Eingeführt werden drei Neuerungen:
- Entscheidungsfindung ( pseudo-zufällig )
- Pheromonmarkierung ( global + lokal )
- Lokale Optimierung ( Kandidaten-Liste )
ACS:pseudo-zufällige Entscheidungsfindung
ijs )()(max ijij
Njt
ki
0qq if
anderenfallsS
arg
ililil
ijijkij t
ttp
][)]([
][)]([)(
Eine Ameise auf Knoten i, wählt den Weg s(ij).
Dieser kann auf zwei Arten ermittelt werden:
1) probabilistisch (wie bei AS)
über relative Wahrscheinlichkeiten
wird der neue Weg ermittelt
und S zugewiesen.
Der gewählte Weg entspricht dem mit größtem relativen Gewicht.
2) deterministisch
1) probabilistisch
Zufallsvariable q, Parameter [0,1]
Über den Parameter wird das Gewicht der Entscheidungsarten beeinflusst:
Ist groß deterministische Lösung wird bevorzugt Konvergenz wird gefördert
Ist klein probabilistische Entscheidung wird bevorzugt Auskundschaften neuer Wege wird unterstützt.
0q
0q
0q
0q
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
2
1
3
2
1
1
0),()1(),( tijtij ntnt )()()1()( ttt ijijij
min/1)( stij mit:
2
1
2
1
4
2
1
2
ACS: Pheromonausschüttung
ACS: Kandidaten-Liste
• lokale statische Liste
• Inhalt: m Knoten in Reihenfolge kürzester Entfernung zu jeweiligem Knoten
• Eine Ameise wählt zunächst unter den Knoten der Kandidaten-Liste
• Erst wenn diese erschöpft ist, kommen restliche Knoten zum Zug
• Es hat sich herausgestellt, dass eine kurze Kandidatenliste die Leistung des Algorithmus‘ steigert
ACS: Evaluation
Problem ACS GA EP SA AG Optimum
Oliver30 420 421 420 424 420 420Eil50 425 428 426 443 436 425Eil75 535 545 542 580 561 535KroA100 21282 21761 - - - 21282
Problem ACS bestes Ergebnis Optimum % Fehler CPU sec
d198 15888 15780 0,68 0.02pcb442 51268 50779 0,96 0.05att532 28147 27686 1,67 0.07rat778 9015 8806 2,37 0.13fl1577 22977 [22137-22249] 3.27-3.79 0.48
Ausblick: Ameisenalgorithmen dynamischer verteilter Systeme
Datennetzwerke bieten sich als Einsatzgebiet von Ameisenalgorithmen an:
• es besteht keine zentrale Instanz
• Datenverkehr verursacht Kosten Daten sollten lokal gespeichert werden
• Ziel: Kostenminimierung eines Graphen:
Server verbunden über Datenleitungen bestimmter Geschwindigkeiten/Kapazitäten
Einige Besonderheiten sind zu beachten:
• Das Netzwerk verändert sich fortwähren schnelle gute Lösung ist besser als langsame optimale Lösung
• Zugrundeliegende Graphen sind meist asymmetrisch (up/download-Geschwindigkeiten unterscheiden sich)
• globale Markierungen sind nicht möglich
• Schritt-für-Schritt-Markierung ist sinnvoll weniger Datentransfer
Prinzip:
• Ameisen reisen durch das Netzwerk
• Sie suchen nach kostenminimalen Verbindungen
• Verbindungen werden in lokalen routing-tables stets neu bewertet (Pheromon-Analogie)
• ankommende Datenpakete werden anhand der routig-tables weitergeleitet.