zufallsgesteuerte algorthmen - der natur abgeschaut
DESCRIPTION
TRANSCRIPT
![Page 1: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/1.jpg)
Seite 1
Zufallsgesteuerte Algorithmen,
Roland MittermeirInstitut für Informatik Systeme
g g ,der Natur abgeschaut
Institut für Informatik-SystemeUniversität Klagenfurt
Gliederung
• Algorithmische Komplexität und NP-vollständige Probleme
• Optimal oder gut genug –Heuristiken und Metaheuristiken
• Swarm Intelligence und Stigmerie
• Kooperationsstrategien von Ameisen
R. Mittermeir - 2 - © MittermeirUniversität Klagenfurt
• Wie künstliche Ameisen das Traveling Salesman Problem lösen
![Page 2: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/2.jpg)
Seite 2
Algorithmische Komplexität
Frage: Wie lange dauert es im schlechtesten Fall, bis dieser Algorithmus das Ergebnis berechnet hat?Algorithmus das Ergebnis berechnet hat?
Antwort: • Das hängt von der Anzahl n der zu verarbeitenden
Daten ab!
R. Mittermeir - 3 - © MittermeirUniversität Klagenfurt
• Das hängt davon ab, wie oft der Algorithmus ein einzelnes Datum „anschauen“ muss.
⇒ Dauer ist eine Funktion von n.
Komplexitätsklassen
• Die (maximale) Bearbeitungsdauer ist durch ein Polynom in n beschreibbar. ⇒ Polynomielle Komplexität:
C = a*nk + b*nk-1 + + c*n2 + d*n1 + eC = a*nk + b*nk-1 + … + c*n2 + d*n1 + e⇒ O(f(n)) = O(nk)
• Behandelbare Probleme (tractable problems) haben niedere polynomielle Komplexität
z.B.: kürzeste Wege … O(n2), Bubblesort … O(n2), Quicksort … (O(n*ld n)
Ni ht b h d lb P bl (i t t bl bl ) h b ti ll
R. Mittermeir - 4 - © MittermeirUniversität Klagenfurt
• Nicht-behandelbare Probleme (intractable problems) haben exponentielle Komplexität.
. C = O(constn)z.B.: Traveling Salesman… O(n!), Teilmengensumme (Rucksackproblem)… O(2i),
![Page 3: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/3.jpg)
Seite 3
Besichtigungs-Rundreise
Sie wollen Ihrem Gast die Sehenswürdigkeiten Kärntens zeigen.
Dabei wollen Sie– nichts auslassen,
– nichts doppelt besuchen,
– insgesamt möglichst wenig Zeit für die Reise zwischen den einzelnen Sehenswürdigkeiten vergeuden.
R. Mittermeir - 5 - © MittermeirUniversität Klagenfurt
In welcher Reihenfolge sollten Sie Kärntens Highlights besuchen?
R. Mittermeir - 6 - © MittermeirUniversität Klagenfurt
![Page 4: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/4.jpg)
Seite 4
Hochosterwitz
Heiligenblut
Spittal
Friesach
KleinkirchheimWolfsberg
Obervellach
LienzMill t tt
Metnitz
Gurk
St.Paul
Klagenfurt
Hochosterwitz.
B.Eisenkappel
Ossiach
Faak
M-Luggau
Villach
Weissensee
Bleiburg
Millstatt
NötschHermagor
Greifenburg
R. Mittermeir - 7 - © MittermeirUniversität Klagenfurt
HeiligenblutObervellach
Ein Netz von Straßen
Friesach
Metnitz
St.Paul
Klagenfurt
Hochosterw.
Gurk
Ossiach
Spittal
M-Luggau
Kleinkirchh
Wolfsberg
Villach
Weissensee
Lienz Millstatt
Nötsch
Hermagor
Greifenburg
Bleiburg
R. Mittermeir - 8 - © MittermeirUniversität Klagenfurt
EisenkappelFaak
![Page 5: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/5.jpg)
Seite 5
Heiligenblut
O.Vell
Reisedauer in Viertelstunden
4 FriesachMetnitz
31
Bleiburg
St.Paul
Klagenfurt
Hochosterw.
Gurk
Ossiach
Spittal
M-Luggau
Kleinkirchheim
Wolfsberg
Villach
Weissensee
Lienz Millstatt
Nötsch
Hermagor
Greifenburg
3
4
2
2
6
3
12
12
3
6
3
2
6
32
26
5
4
2
1
5 3
1
10
2
2
2
24 7
6
7
R. Mittermeir - 9 - © MittermeirUniversität Klagenfurt
Eisenkappel
Faak2 59
2
Graph mit 22 Knoten (Städten) … 22! Wege wären zu berechnen!~ 1,124 * 1021 Wege
Zentralkärnten
Gurk 26
Friesach
Metnitz
1
31
Hochosterwitz
Ossiach
SpittalKleinkirchheim
Millstatt
3
23
2
4
2
532
47
6
4
R. Mittermeir - 10 - © MittermeirUniversität Klagenfurt
Klagenfurt
Eisenkappel
Faak
Villach
5
6
9
12
7
Graph mit 12 Knoten (Städten) … „nur mehr 12! Wege zu berechnen= 479.001.600 Wege
![Page 6: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/6.jpg)
Seite 6
Mögliche Besichtigungsfolgen
Rundreise: (Kl, .. Liste aller anderen Städte .. , Kl) Dauer:
(Kl Vi Fa Ei ) bleibe stecken(Kl, Vi, Fa, Ei, --- ) bleibe stecken
(Kl, Ho, Fr, Gu, Kk, … ) ?? Metnitz verpasst !!
(Kl, Os, Ho, Fr, Me, Gu, Kk, Mi, Sp, Vi, Fa, Ei, Kl)6 + 6 + 1 + 1 + 3 + 6 + 2 + 2 + 2 +1 + 9 + 5 Dauer: 44
R. Mittermeir - 11 - © MittermeirUniversität Klagenfurt
(Kl, Ho, Fr, Me, Gu, Os, Kk, Mi, Sp, Vi, Fa, Ei, Kl)3 + 1 + 1 + 3 + 3 + 4 + 2 + 2 + 2 + 1 + 9 + 5 Dauer: 36
(Kl, Ei, Fa, Vi, Sp, Mi, Kk, Os, Gu, Me, Fr, Ho, Kl)5 + 9 + 1 + 2 + 2 + 2 + 4 + 3 + 3 + 1 + 1 + 3 Dauer: 36
verbotene Kanten/Wege
GurkSpittal
26
1000
Friesach
Metnitz
31Ergänzter Graph:
Hochosterwitz
Ossiach
Spittal
Kleinkirchheim
Millstatt
3
232
4
2
1
532
4
6
7
6
4
R. Mittermeir - 12 - © MittermeirUniversität Klagenfurt
Klagenfurt
Eisenkappl
Faak
Villach
5
6
9
12
7
![Page 7: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/7.jpg)
Seite 7
Kürzester Rundweg (Kreis)
• Initialisiere– bilde Liste aller Sehenswürdigkeiten
– berechne die Reisedauer, nimm an sie sei die Kleinste
• Verbessere– berechne Permutation der Sehenswürdigkeitenliste
– berechne zugehörige Reisedauer
– ist diese kleiner als die bisher berechnete (kleinste) Reisedauerdann
* merke Dir die Reihenfolge der eben berechneten Sehenswürdigkeitenliste
R. Mittermeir - 13 - © MittermeirUniversität Klagenfurt
merke Dir die Reihenfolge der eben berechneten Sehenswürdigkeitenliste
* merke Dir die zugehörige Reisedauer
solange bis alle Permutationen durchprobiert sind!
Liefert mit Sicherheit die optimale Lösung!Aber das dauert noch immer zu lang! (12*11*10*…*3*2*1 Durchläufe).
Systematische Vorgangsweise
Permutiere (L, anf, end)von i := anf bis end mache:
tausche (L[anf], L[i]);wenn anf < end
dannPermutiere(L, anf+1, end)
sonstgib aktuelle Lösung aus;
tausche(L[i] L[anf])
R. Mittermeir - 14 - © MittermeirUniversität Klagenfurt
tausche(L[i], L[anf]).
Aufruf mit Permutiere (Sehenswürdigkeitenliste, 1, 12)
Prüfe auf Zulässigkeit der Lösung
![Page 8: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/8.jpg)
Seite 8
Permutiere ([ A, B, C, D]; 1, 4)anf i A B C D1 1 a B C D
permutiere([B, C, D]; 2, 4)anf i B C D2 2 b C D
permutiere [C, D]; 3, 4)anf i B C D3 3 c D3 3 c D
permutiere [D]; 4, 4) A B C D3 4 d c
permutiere [C]; 4, 4) A B D C2 3 c b D
permutiere [b, D]; 3, 4)3 3 b D
permutiere [D]; 4, 4) A C B D3 4 d b
permutiere [C]; 4, 4) A C D B2 4 d C b
permutiere [C, b]; 3, 4)3 3 C b
permutiere [b]; 4, 4) A D C B3 4 b c
permutiere [C]; 4 4) A D B C
R. Mittermeir - 15 - © MittermeirUniversität Klagenfurt
permutiere [C]; 4, 4) A D B C1 2 b a C D
permutiere([a, C, D]; 2, 4)…
1 3 c B a Dpermutiere([B, a, D]; 2, 4)…
1 4 d B C dpermutiere([a, C, D]; 2, 4)…
Aufwand: 2 => 2; 3 => 3x2 = 6; 4 => 4x(3x2) = 4x6 = 24; …; 100 => 100x99x .. x 2 = 100 ! also n!
Heuristischer AnsatzHeuristischer Ansatz
![Page 9: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/9.jpg)
Seite 9
Heuristiken
• Da intractable problems bei entsprechender Größenordnung
i ü fti Z it i ht kt lö b i d b ü t i hin vernünftiger Zeit nicht exakt lösbar sind, begnügt man sich
mit Näherungslösungen (Approximationsalgorithmen,
Heuristiken).
• Diese liefern in der Regel Ergebnisse in der Nähe der
R. Mittermeir - 17 - © MittermeirUniversität Klagenfurt
• Diese liefern in der Regel Ergebnisse in der Nähe der optimalen Lösung.
– Unklar, ob das berechnete Ergebnis tatsächlich optimal ist.
– Unbekannt, wie weit das berechnete Ergebnis vom Optimum abweicht.
Minimaler spannender Baum 1
Gurk
S itt l
26
Friesach
Metnitz
31
Hochosterwitz
Ossiach
Spittal
Kleinkirchheim
Millstatt
3
23
2
4
2
1
532
4
6
7
6
4
R. Mittermeir - 18 - © MittermeirUniversität Klagenfurt
Klagenfurt
EisenkappelFaak
Villach
5
6
9
12
7
![Page 10: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/10.jpg)
Seite 10
Minimaler spannender Baum 1,2
Gurk
S itt l
26
Friesach
Metnitz
31
Hochosterwitz
Ossiach
Spittal
Kleinkirchheim
Millstatt
3
23
2
4
2
1
532
4
6
7
6
4
R. Mittermeir - 19 - © MittermeirUniversität Klagenfurt
Klagenfurt
EisenkappelFaak
Villach
5
6
9
12
7
Minimaler spannender Baum 1,2,3,++
Gurk 26
Friesach
Metnitz
31
Hochosterwitz
Ossiach
Spittal
Kleinkirchheim
Millstatt
3
23
2
4
2
1
532
4
6
7
6
4
R. Mittermeir - 20 - © MittermeirUniversität Klagenfurt
Klagenfurt
EisenkappelFaak
Villach
5
6
9
12
Gewicht:((((1)+2+2+2)+2)+2)+3+5)+(2+(1+1)) = 23
7
![Page 11: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/11.jpg)
Seite 11
Minimaler Weg über minimalem spannendem Baum
Gurk 26
Friesach
Metnitz
31
Hochosterwitz
Ossiach
Spittal
Kleinkirchheim
Millstatt
3
23
2
4
2
1
532
4
6
7
6
4
R. Mittermeir - 21 - © MittermeirUniversität Klagenfurt
Klagenfurt
Eisenkappel
Faak
Villach
5
6
9
12
Gewicht:((((1)+2+2+2)+2)+2)+3+5)+(2+(1+1)) = 23 - (2+2+2) + (4+9+3)+3 = 36
7
MetaheuristikenMetaheuristiken
![Page 12: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/12.jpg)
Seite 12
Metaheuristiken
• Eine Metaheuristik ist ein Satz algorithmischer Konzepte,
d d t d k H i tik di f ider verwendet werden kann, um Heuristiken, die auf ein
breites Problemfeld anwendbar sind, zu definieren.
• Durch Parametrisierung wird das metaheuristische
R. Mittermeir - 23 - © MittermeirUniversität Klagenfurt
Konzept für konkrete Problemlösungen zugeschnitten.
Von Natur inspirierte Metaheuristiken
• Genetische Algorithmen
• Evolutionary Programming
• Simulated Annealing
• Bakteriologische Algorithmen
R. Mittermeir - 24 - © MittermeirUniversität Klagenfurt
• Bakteriologische Algorithmen
• Bienenstock-Algorithmen
• Ant Systems / Ant Colony Systems
![Page 13: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/13.jpg)
Seite 13
Wie lösen Ameisen das Problem „kurze Reisen“?
Futtersuche von Ameisen
Deneubourg‘s 1. Brückenexperiment mit Iridomyrex humilis: [1987 – 1990]
Futter
• Auf welchem der beiden Wege wird sich eine Ameisenstraße bilden?
R. Mittermeir - 26 - © MittermeirUniversität Klagenfurt
Bau
• Warum bildet sie sich?
![Page 14: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/14.jpg)
Seite 14
Futtersuche von Ameisen
Deneubourg‘s Brückenexperiment mit Lasius Niger:Futter 4 min 8 minFutter Futter
R. Mittermeir - 27 - © MittermeirUniversität Klagenfurt
Bau Bau Bau
Der Ameisen-Trick: Kommunikation über Stigmerie• Duftstoff Pheromon markiert die eigene Spur.
• Rasch gefundenes Futter ⇒ rasch am (eigenen !) Rückweg.
• Dies verstärkt die Pheromonspur.
• Dies lockt andere Ameisen an, der schon markierten Spur zu folgen.
• Auf verlassenen Spuren verdunstet das Pheromon mit der Zeit.
ABER
• Eine Futterstelle ist ja irgendwann erschöpft
R. Mittermeir - 28 - © MittermeirUniversität Klagenfurt
• Eine Futterstelle ist ja irgendwann erschöpft (oder vielleicht gibt es noch eine nähere/bessere):
• Daher wird nicht strikt der stärksten Pheromonspur gefolgt, sondern auch zufällig andere Wege erprobt.
![Page 15: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/15.jpg)
Seite 15
Algorithmische Simulation des Verhaltens von Ameisen
Simulation des Deneubourg Experiments
Wahrscheinlichkeit pkurz bzw. plangdass Ameise azum Zeitpunkt t
Futter
pden kurzen bzw. langen Weg wählt,hängt von der aktuellen Pheromon-Intensität PhIa,w(t) ab:
pa,kurz(t) = PhIv,kurz(t)α / (PhIa,kurz(t)α + PhIa,lang(t)α )
pk p
R. Mittermeir - 30 - © MittermeirUniversität Klagenfurt
pa,lang(t) = PhIa,lang(t)α / (PhIa,kurz(t)α + PhIa,lang(t)α )
Pheromon-Ablagerung auf Hin- und Rückweg!Bau
pkurz plang
![Page 16: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/16.jpg)
Seite 16
Problemlösungsprinzip
• Verstehe das Problemlösungsverhalten des biologischen Systems
• Baue ein entsprechendes mathematisches/algorithmisches Modell
• Prüfe, ob dieses das biologische System darstellen kann
• Wende das so erlernte Problemlösungsverhalten auf klassisch schwer lösbare Probleme an
• Verbessere diese– durch geeignete Parameter-Wahl
R. Mittermeir - 31 - © MittermeirUniversität Klagenfurt
– durch Variation von Details der Problemlösungsstrategie
– durch algorithmische Optimierung
Dies kann zu einer Entfremdung von der biologischen Analogie führen.
Anwendung: Rundreiseproblem
• Modelliere Städte und Verbindungen dazwischen als Graph
• Stelle Städte-Graph als Distanzmatrix D(i,j) dar
• Platziere Ameisen in Ausgangsstädten
• Belege Graphen mit einer Ausgangsmenge von Pheromon t0
• Lass Ameisen laufen:
Diese wählen die noch nicht besuchte nächste Stadt nach– Pheromonkonzentration auf der Wegstrecke dorthin ti,j und
– Erfolgserwartung“ eines kurzen Weges hi j
R. Mittermeir - 32 - © MittermeirUniversität Klagenfurt
„Erfolgserwartung eines kurzen Weges hi,j
– unter Berücksichtigung grundsätzlicher Randbedingung Ω aus.
• Sichere, dass – keine Kreise begangen werden,
– Pheromon entsprechend der Nutzung und Güte der Wege aktualisiert wird.
![Page 17: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/17.jpg)
Seite 17
Matrix d. Distanzen zw. Städtenj 1 2 3 4 5 6 7 8 9 10 11 12
i Städte Fa Fr Gu Ho Kl Kk Me Mi Ob Os Sp Vi
1 Faak 0 1000 1000 1000 7 1000 1000 1000 9 1000 1000 1
2 Friesach 1000 0 2 1 3 1000 1 1000 1000 1000 1000 1000
3 Gurk 1000 2 0 1000 1000 6 3 1000 1000 3 1000 5
4 Hochosterwitz 1000 1 1000 0 3 1000 1000 1000 1000 6 1000 7
5 Klagenfurt 7 3 1000 3 0 1000 1000 1000 5 6 1000 2
6 Kleinkirchheim 1000 1000 6 1000 1000 0 1000 2 1000 4 1000 1000
7 Metnitz 1000 1 3 1000 1000 1000 0 1000 1000 1000 1000 1000
8 Millstatt 1000 1000 1000 1000 1000 2 1000 0 1000 1000 2 4
R. Mittermeir - 33 - © MittermeirUniversität Klagenfurt
8 Millstatt 1000 1000 1000 1000 1000 2 1000 0 1000 1000 2 4
9 Obirhöhle 9 1000 1000 1000 5 1000 1000 1000 0 1000 1000 1000
10 Ossiach 1000 1000 3 6 6 4 1000 1000 1000 0 1000 2
11 Spittal 1000 1000 1000 1000 1000 1000 1000 2 1000 1000 0 2
12 Villach 1 1000 5 7 2 1000 1000 4 1000 2 2 0
Erstes mathematisches Modell
Grundmodell: AS – Ant System [Dorigo 1992]
• Rundreiseproblem wird als Suchproblem aufgefaßt.
• Optimierungsziel (Suchziel) des Rundreiseproblems ist Weg mit geringsten Kosten C (kürzester Weg) .
• Randbedingung Ω:– Alle Sehenswürdigkeiten müssen besucht werden.– Letztlich muss man zum Ausgangspunkt zurückkehren.
R. Mittermeir - 34 - © MittermeirUniversität Klagenfurt
• Ameisen machen sich auf den Weg, um den kürzesten zu finden.
• Sie wählen in Stadt i die jeweils nächste Stadt j zufällig– in Abhängigkeit von Pheromon τij auf den Ausgangswegen– und heuristischer Attraktivität ηij.
![Page 18: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/18.jpg)
Seite 18
Umsetzung der RoutenoptimierungKonstruktionsgraph:
Problemgraph, erweitert um „teure“ verbotene Kanten fl vollständiger Graph,Distanzmatrix zwischen Städten
Randbedingung:Randbedingung:Alle Städte müssen besucht werden fl vollständiges Durchwandern, Liste noch zu besuchender Städte oder Tabuliste
Auswahlhilfe für Ameise:ti,j .. Pheromonspur zwischen Knoten (Stadt) i und jhi,j .. lokale Attraktivität von Knoten (Stadt) i nach j zu gehen
Meist: hi,j = 1/di,j … Kehrwert der Distanz zwischen zwei Städten.
Lösungsansatz:
R. Mittermeir - 35 - © MittermeirUniversität Klagenfurt
g– Jede Ameise wird initial in eine zufällig gewählte Stadt gesetzt. – In jedem Verfahrensschritt besucht sie eine von ihr noch nicht besuchte Stadt.– Nachdem alle Städte besucht wurden, läuft sie ihren Weg zurück und aktualisiert die
Pheromonwerte.
Abbruch des Verfahrens:Wenn sich längere Zeit keine Verbesserungen der besten Lösung mehr ergeben.
Heuristische Attraktivität ηij
Gurk 1/21/6
Friesach
Metnitz
1/1
1/31/1
Hochosterw.
Ossiach
SpittalKleinkirchheim
Millstatt
1/3
1/21/3
1/2
1/4
1/2
1/51/31/2
1/41/7
1/6
R. Mittermeir - 36 - © MittermeirUniversität Klagenfurt
Klagenfurt
Obirhöhle
Faak
Villach
1/5
1/6
1/9
1/11/2
1/7
![Page 19: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/19.jpg)
Seite 19
Gerüst des AS Algorithmus
Prozedur AS {Initialisiere das System;
über tmax Zyklen do {berechne für jede Ameise zufällig deren Weg;ist einer davon kürzer als bisher gefundener Kürzester,
dann merk in dir;
akutalisiere Pheromon-Matrix}
gib beste Lösung aus
R. Mittermeir - 37 - © MittermeirUniversität Klagenfurt
gib beste Lösung aus
}
Auswahl und Pheromon-Update
• lokale Auswahlentscheidung für nächste Stadt
pijk = [ti,j]a x [hi,j ]b / S <l e Ji
k> ([ti,l]a x [hi,l ]b) wenn j e Jik ; sonst 0j ,j ,j , ,
Jik ⊆ Ni
k … Jene Städte in der Nachbarschaft von Stadt i, die von Ameise knoch nicht besucht wurden.
a, b ... Parameter
• Pheromon-Initialisierung:
t0 = # Ameisen / CTour_nächsterNachbar C .. Kosten der Rundreise (Tour)
R. Mittermeir - 38 - © MittermeirUniversität Klagenfurt
• Pheromon-Aktualisierung:ti,j(t‘) ≠ (1 - r) ti,j (t) für alle Kanten (i, j) im Graph (Verdunstung)
ti,j(t+1) ≠ ti,j(t‘) + Sk Dti,jk (t‘) für alle Kanten (i, j) im Graph (Aktualisierung)
Dti,jk (t‘) = 1/ Ck wenn (i,j) auf der Tour Tk von Ameise k; liegt;
sonst 0
![Page 20: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/20.jpg)
Seite 20
AS Algorithmus
{ Initialisiere jede Kante (i,j) mit ti,j(0) = t0};for k = 1 to m do {platziere Ameise k in eine zufällig gewählte Stadt};{initialisiere L+ als Länge der bisher gefundenen kürzesten Tour T+}{ g g }
for t = 1 to tmax do {for k = 1 to m do
while Stadt # Ausgangsstadt do{konstruiere Tour Tk(t) durch Wanderung von Ameise k in die nächste noch nicht besuchte Stadt gemäß pij
k};
for k = 1 to m do {berechne Länge Lk(t) der Tour Tk(t) von Ameise k}wenn Minimum der Längen Lk(t) < L+ dann {L+ := Lk(t)min; T+ := Tk(t)min};
R. Mittermeir - 39 - © MittermeirUniversität Klagenfurt
for jede Kante (i,j) do {aktualisiere Pheromon-Markierung mittelsti,j (t+1) ≠ (1-ρ)ti,j + S1..m Dti,j
k (t) + Dti,je (t) }
}
drucke kürzeste Tour T+ und ihre Länge L+
}
Verbessertes Modell
ACS – Ant Colony System [Dorigo, Gambardella 1997]
• Ziel:Vermeiden von Konvergenz zu lokalen Optimum.
• Zur Lösung von Konvergenzproblemen bei großen Problemstellungen Änderungen bei
R. Mittermeir - 40 - © MittermeirUniversität Klagenfurt
g g– Tour-Konstruktion, Wahl der nächsten Stadt
– geänderte (lokale) Pheromon-Aktualisierung
– globale Pheromon-Aktualisierung durch globalen Dämonen
![Page 21: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/21.jpg)
Seite 21
Tour-Konstruktion bei ACS
Lokale Auswahlentscheidung in i für nächste Stadt j hängt von neuem Parameter q0 [0 ≤ q0 ≤ 1] ab.
An Stelle von:An Stelle von:pij
k = [ti,j]a x [hi,j ]b / S <l e Jik> ([ti,l]a x [hi,l ]b) wenn j e Ji
k ; sonst 0
Jik ⊆ Ni
k … Jene Städte in der Nachbarschaft von Stadt i, die von Ameise knoch nicht besucht wurden.
a, b ... Parameter
gilt:j = argmax l ∈ Ni
k{ti l x [hi,l ]b } wenn Zufallszahl q ≤ q0
R. Mittermeir - 41 - © MittermeirUniversität Klagenfurt
j g l ∈ i { i,l [hi,l ] } q q0sonstj = J gemäß pij
k = [ti,j]1x [hi,j ]b / S <l e Jik> ([ti,l]1 x [hi,l ]b) wenn j e Ji
k ; sonst 0
Pheromon-Update bei ACS
• Bereits nach jeder Verwendung einer Kante führen die Ameisen eine lokalePheromon-Aktualisierung durch:
‘ (1 ξ) + ξ it P t 0 < ξ < 1ti,j ≠ (1 - ξ) ti,j + ξ t0 mit Parameter 0 < ξ < 1
Konsequenz: Verwendung einer Kante reduziert ihre Attraktivität für künftige Ameisen.
• Nachdem alle Ameisen die aktuelle Tour beendet haben, führt ein Dämon eine globale Pheromon-Aktualisierung durch:
ti j‘ ≠ ti j + Dti jbeste
R. Mittermeir - 42 - © MittermeirUniversität Klagenfurt
ti,j ≠ ti,j + Dti,j
mit Dti,jbeste = 1/Cbs oder Dti,j
beste = 1/Cbi
wobei Cbs bzw, Cbi die günstigsten Kosten seit Start der Analyse bzw. innerhalb der aktuellen Tour sind.
• Gesamtkonseqenz: bessere Streuung und geringere algorithm. Komplexität
![Page 22: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/22.jpg)
Seite 22
Struktur der ACS Metaheuristik
ACS – Ant Colony System [Dorigo, Gambardella 1997]
Prozedur ACS_Metaheuristikdefiniere Lösungsansatz
konstruiere Ameisen-Lösung;
aktualisiere Pheromonwerte;
R. Mittermeir - 43 - © MittermeirUniversität Klagenfurt
setze Aktionen globaler Dämonen
beende Optimierungsverfahren.
Grundprinzipien von AS/ACS
• Finde Problemrepräsentation, die Ameisen den schrittweisen Aufbau (Modifikation) einer Lösung auf Grundlage einer
ahrscheinlichkeitsgeste erten Übergangsregel erla ben ndwahrscheinlichkeitsgesteuerten Übergangsregel erlauben und der indirekten Kommunikation über Pheromon erhalten.
• Bestimme ein Maß für die heuristische Wünschbarkeit η von Übergängen.
• Bestimme eine wahrscheinlichkeitsgesteuerte Übergangsregel.
• Finde eine Constraint-Satisfaction-Methode um die Zulässigkeit
R. Mittermeir - 44 - © MittermeirUniversität Klagenfurt
Finde eine Constraint Satisfaction Methode, um die Zulässigkeit von Lösungen zu erzwingen.
• Definiere Pheromon-Aktualisierungs-Regel.
![Page 23: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/23.jpg)
Seite 23
Things to Remember
• Generalisierung von Problemen führt oft erst zur effizienten Lösbarkeit.
• Wahrscheinlichkeitsbasierte Algorithmen sind nicht „exakt“, aber bei NP-vollständigen Problemen sehr effizient und effektiv.
• Kooperationsstrategie schlägt Einzelkämpfertum.
• Biologische Lösung diente der Inspiration, realer (Simulations-)Algorithmus weicht von der
R. Mittermeir - 45 - © MittermeirUniversität Klagenfurt
realer (Simulations )Algorithmus weicht von der Initiallösung ab.
• Zu starker Fokus auf rasche Konvergenz führt zu suboptimalen Lösungen.
Danke für dieAufmerksamkeit !
R. Mittermeir - 46 - © MittermeirUniversität Klagenfurt
![Page 24: Zufallsgesteuerte Algorthmen - der Natur abgeschaut](https://reader033.vdocuments.pub/reader033/viewer/2022051817/54807f4a5806b5d65e8b4a40/html5/thumbnails/24.jpg)
Seite 24
Referenzen[BoDoTh 99] Bonabeau E., Dorigo M., Theraulaz G.: Swarm Intelligence –
From Natural to Artificial Systems; Oxford University Press, 1999.
[BlRo 03] Blum C., Roli A.: Metaheuristics in combinatorial optimization: [ ] , pOverview and conceptual comparison. ACM Computing Surveys, 35(3), pp. 268 – 308.
[DeAGP 90] Deneubourg J.-L., Aron S., Goss S., Pasteels J.-M.: The Self-Organizing Exploratory Pattern of the Argentine Ant. Journal of Insect Behavior, 3, (1990), pp. 159 - 168.
[Dorigo 92] Dorigo M.: Optimization, Learning and Natural Algorithms. PhD thesis, Dipartimento di Elettronica, Politechnico di Milano, Milan.
[DoGa 97a] Dorigo M., Gambardella L.M.: Ant colonies for the traveling
R. Mittermeir - 47 - © MittermeirUniversität Klagenfurt
salesman problem. BioSystems, 43 (2)pp 73 – 81.
[DoGa 97b] Dorigo M., Gambardella L.M.: Ant Colony System: A cooperative learning approach to the traveling salesman problem. IEEE Trans on Evolutionary Computation, 6(4), pp. 31- 365.
[DoSt 04] Dorigo M, Stützle T.: Ant Colony Optimization, MIT Press, 2004.
R. Mittermeir - 48 - © MittermeirUniversität Klagenfurt