AMEISENALGORITHMEN

18
AMEISEN- ALGORITHMEN Daniel Radeloff

description

AMEISENALGORITHMEN. Daniel Radeloff. Natürliche Ameisen Kommunikation, Optimierung, Modell Künstliche Ameisen Unterschiede, Algorithmen: AS & ACS. Natürliche Ameisen. ?. Das Vorbild aus der Biologie:. Kommunikation: - PowerPoint PPT Presentation

Transcript of AMEISENALGORITHMEN

Page 1: AMEISENALGORITHMEN

AMEISEN-ALGORITHMEN

Daniel Radeloff

Page 2: AMEISENALGORITHMEN

Natürliche Ameisen

Kommunikation, Optimierung, Modell

Künstliche Ameisen

Unterschiede, Algorithmen: AS & ACS

Page 3: AMEISENALGORITHMEN

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)

Page 4: AMEISENALGORITHMEN

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

Page 5: AMEISENALGORITHMEN

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

Page 6: AMEISENALGORITHMEN

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

Page 7: AMEISENALGORITHMEN

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

Page 8: AMEISENALGORITHMEN

Ant System (AS)

Kennzeichen:

übersichtlicher, einfacher Algorithmus

Grundlage anderer, hocheffektiver Ant Colony Optimization (ACO)-Algorithmen

Anwendungsgebiet:

Traveling Salesman Problem (TSP)

Page 9: AMEISENALGORITHMEN

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)

Page 10: AMEISENALGORITHMEN

= 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

Page 11: AMEISENALGORITHMEN

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

Page 12: AMEISENALGORITHMEN

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

Page 13: AMEISENALGORITHMEN

Ant Colony System (ACS)

• Eingeführt werden drei Neuerungen:

- Entscheidungsfindung ( pseudo-zufällig )

- Pheromonmarkierung ( global + lokal )

- Lokale Optimierung ( Kandidaten-Liste )

Page 14: AMEISENALGORITHMEN

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

Page 15: AMEISENALGORITHMEN

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

Page 16: AMEISENALGORITHMEN

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

Page 17: AMEISENALGORITHMEN

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

Page 18: AMEISENALGORITHMEN

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.