EvolutionsstrategieN AngewandT AuF DeN MultI GravitY

Werbung
Evolutionsstrategien für das
Multi Gravity Assist Problem
Ein Vergleich mehrerer Evolutionsstrategien angewandt
auf das Cassini-Problem des Multi Gravity Assist Problems
© 2009, Gruber Andy
TU Wien
Inhalt
•
EINLEITUNG
•
EVOLUTIONÄRE ALGORITHMEN
•
MULTI GRAVITIY ASSIST
•
ERGEBNISSE
Einleitung
[Abb 1]
Terminologie

Individuum
◦ Kandidatenlösung. Meist binär oder reell kodierter Vektor

Gen
◦ Eine Stelle des Vektors

Allel
◦ Ausprägung einer Stelle des Vektors

Population
◦ Menge von Individuen

Offspring
◦ Erzeugte Nachkommen
Evolutionäre Algorithmen
Metaheuristik
 Optimierungsverfahren
 Arbeitet mit Population von Kandidatenlösungen
 Relativ robustes Verfahren


Bestandteile eines EAs:
 Rekombination
 Mutation
 Selektion

Nicht bei allen EAs vorhanden
Drei Hauptvertreter:
 Evolutionäres Programmieren
 Genetische Algorithmen
 Evolutionsstrategien
Evolutionäre Algorithmen (2)

Formale Definition:
EA = (I ,Φ ,Ω , s ,ι ,μ ,λ)
◦ Suchraum
◦ Fitnessfunktion
◦ Genetische Operatoren
◦ Selektionsoperator
◦ Abbruchkriterium
◦ Parents
◦ Offsprings
Entnommen aus Evolutionary Algorithms in Theory and Practise, Thomas Bäck
Evolutionäre Algorithmen (3)

Formaler Ablauf:
initialisiere(Eltern);
werte_Aus(Eltern);
while(Abbruchkriterium nicht erfüllt)
rekombiniere(Eltern, Kinder);
mutiere(Kinder);
werte_Aus(Kinder);
selektiere(Kinder,Eltern);
do
Biologischer Hintergrund
1856 Charles Darwin - Evolutionstheorie
 1865 Gregor Mendel - Vererbung


DNA kodiert
Erbinformationen

Variationsfaktoren:
◦ Rekombination(Meiose)
◦ Mutation(Fehler bei Meiose)
[Abb 2]
Evolutionäres Programmieren

Lawrence J. Fogel 1960

Struktur eines EP nicht genau definiert

Jedes Individuum wird als eigene Spezies angesehen
◦ Daher (im Normalfall) keine Rekombination

Anfangs: Voraussagen von Bitfolgen mittels Endliche
Automaten, welche durch Mutation und Selektion optimiert
wurden.
Genetische Algorithmen
Holland und Goldberg um 1970
 DNA wird als [0,1]-Folge betrachtet
 Rekombination wichtiger als Mutation

◦ Mutation: Eine Stelle wird invertiert

Crossover erzeugt neue/zerstört alte Schemata
Gutes Schema
Individuum
Bevorzugter Crossoverpunkt
Suboptimaler Crossoverpunkt
Evolutionsstrategien

Rechenberg und Schwefel 1960

Individuen reell kodiert

Mutation primärer Operator
◦ Oft in Kombination mit Anpassung der Strategieparameter

Rekombination sekundär (teilw. weggelassen)
◦ (1+1)ES – keine Rekombination
ES vs. GA

GA
Int
Bin
Gray
◦ Binär kodiert
0
000
000
◦ Eher für kombinatorische Probleme geeignet
1
001
001
2
010
011
3
011
010
4
100
110
5
101
111
◦ Setzt auf Rekombination
◦ Hamming-Klippe → Gray Code

ES
◦ Reell kodiert
◦ Gut geeignet für kontinuierliche
Optimierungsprobleme
◦ Setzt auf Mutation
[Abb 3]
Rekombinationsarten

Crossover:
Genau ein Rekombinationsstelle wischen zwei
benachbarten Genen

Uniform Crossover:
Verallgemeinerte Version
des Standard Crossovers.
1 – (n-1) Rekombinationsstellen, wobei n die Anzahl
der Gene
Rekombinationsarten (2)

Panmictic discrete:
Ein Parent wird gehalten und zufällig dieser oder ein zufälliger anderer
Parent für jedes Gen ausgewählt

Intermediate:
Offspring besteht aus
Mittelwerten der einzelnen
Gene der Eltern
Rekombinationsarten (3)

Generalized intermediate:
Wie Intermediate, nur werden die Eltern zufällig gewichtet
Bsp:
O[i] = P1[i] * r + P2[i] * (1-r), r = U(0,1)

Panmictic generalized intermediate:
Ein Parent wird festgehalten und für jedes Gen wird zufällig ein zweiter
ausgewählt und von diesen beiden der gewichtete Durchschnitt
genommen.
Mutationsarten

U(0,σ)
 Auf jedes Allel eines Individuums wird eine uniform verteilte Zufallszahl
addiert/subtrahiert
 Konvergenzgeschwindigkeit nicht adäquat
 Zerstört häufig „gute“ Individuen bzw. „vergisst“ gute Bereiche
 „Breiter gefächerte“ Suchraumabdeckung

N(0,σ)
 Gute Individuen, sowie gute Bereiche werden beibehalten
 Wie in Natur → Kleinere Abweichungen häufiger als große
 Präzisere Suchraumabdeckung
 Tendiert eher dazu in lokalen Optima hängen zu bleiben
Strategieparameteranpassung

Schnellere und gezieltere Konvergenz in Richtung Optimum
[Abb 4]

1 Strategieparameter (σ)
 1/5 Regel (Rechenberg): Zu statisch und zu allgemein

n Strategieparameter
 Für jedes Gen eines Individuums wird ein σ mitgeführt

(n²+n) / 2 Strategieparameter - CMA-ES
 Pro Individuum wird eine (Korrelations-)Rotationsmatrix mitgeführt
Strategieparameteranpassung (2)

N Strategieparameter:
◦ Werden mit rekombiniert
◦ Schwefel empfiehlt folgende Werte:
τ α ( √(2 √(n) )-1
τʹ α ( √(2n) )-1
→
→
[0,1]
[0,1]
◦ In der Praxis werden meist für τ und τʹ = 1 eingesetzt
σi‘ = σi * exp( τ’ * N(0,1) + τ * Ni(0,1) )
xi‘ = xi + σi‘ * Ni(0,1)
◦ τ und τʹ Lernfaktoren
Strategieparameteranpassung (3)

CMA-ES
◦ N Strategieparameter + Rotationsmatrix pro Individuum
◦ Rotationsmatrix wird mit jeder Generation aktualisiert
◦ „Lernt“ die paarweisen Abhängigkeiten zwischen zwei Variablen
◦ Mutation wird nicht nur auf Achsenrichtungen beschränkt
◦ Gezielteres „abtasten“ des Suchraumes
Selektionsarten

Selektionsdruck
 Quotient aus (Anzahl Kinder)/(Anzahl Eltern)

ES(µ+λ)
 Nächste Generation wird durch λ besten Individuen aus Eltern und
Offspring gebildet. → Fitnesswerte monoton fallend.
 Spezialfall (1+1): Keine Rekombination
Selektionsarten (2)

ES(µ,λ)
 Nächste Generation wird durch λ besten Individuen aus Offspring
gebildet. → Fitnesswerte nicht unbedingt monoton fallend.
(Multi) Gravity Assist
[Abb 5]

Ausnutzen der Gravitation in Kombination
mit der Bewegung eines Planeten

Beschleunigung/Verlangsamung möglich

Energieerhaltungssatz → Raumsonde
behält Geschwindigkeit relativ zum
Planeten.

Mehrfaches Ausnutzen dieses Effektes
nennt man multi gravity assist
GTOP: Cassini/Huygens Problem

Flugbahn E-V-V-E-J-S
◦ Mittels gravity assists zu lösen
◦ Deep space maneuver wird
vernachlässigt

Minimieren des Δv
Budgets
◦ Summe des Aufwandes der
nötigen Impulse zur Änderung
der Geschwindigkeit
[Abb 6]
GTOP: Global Optimization
Trajectory Problems and Solutions

GTOPtoolbox:
◦ Auf der Homepage der ESA erhältlich
◦ „Wettbewerb“
◦ C++ Framework
◦ Enthält mehrere Problemstellungen, in denen es gilt Flugbahnen von
Raumsonden zu optimieren
◦ Darunter auch das Cassini-Problem
 double cassini1(const std::vector &x,
std::vector& rp)
rp1 > 6351.8 km
rp2 > 6351.8 km
rp3 > 6778.1 km
rp4 > 671492 km
Implementierung

OOP in C++
 Pro: Anpassung der Strategieparameter einfacher
 Kontra: Rechen/Laufzeit höher

Individuum
 Double Values[6]
 Double stdDev[6]
 Double Fitness



Verschiedene Rekombinationsarten
(µ,λ), sowie (µ + λ)
Variationsparameter können „zur Laufzeit“ verstellt
werden
Probleme

Lokale Optima
◦ Wie gelangt man wieder heraus?
◦ Ist es schon das globale Optimum?

Suchraumabdeckung
◦ Gezielte, minimal erforderliche Suchraumabdeckung erwünscht

Welche Strategie ist optimal für diese Problemstellung?
Messergebnisse

Parameter:
Strategie
Sel
Best
AVG
Dev
t/Gen[s]
◦ 20 Eltern
No recombination
,
5,68310
7,04252
2,57920
0,1
◦ 100 Kinder
No recombination
+
5,90280
6,98327
1,02741
0,17
◦ 1000
Generationen
Crossover
,
5,20242
5,33467
0,10400
1,795
Crossover
+
5,30392
5,46430
0,29342
1,767
◦ 30 Runs
Uniform Crossover
,
5,06380
6,02480
2,26461
0,659
◦ 10 Initiale
Uniform Crossover
+
5,18885
5,37967
0,19311
0,631
StdDev
Panmictic discrete
,
5,30571
6,01289
1,56185
1,785
Panmictic discrete
+
5,30480
5,92314
0,46828
1,746
Generalized Intermediate
,
5,31651
6,12639
1,34027
0,637
Generalized Intermediate
+
5,14089
5,83976
0,25157
0,616
Panmictic generalized intermediate
,
5,31560
10,9193
2,68076
0,650
Panmictic generalized intermediate
+
5,30850
5,44183
0,28221
0,643
Bestes Ergebnis

Reproduzierbar mit ES(1000,200) nach 800
Generationen:
◦ 4,9656
◦ {-789.229, 155.339, 449.385, 56.252, 1006.671, 4523.828}

Aktuell weltweit bester erreichter Wert:
◦ 4,9307
◦ {-789.812, 158.302, 449.385, 54.748, 1024.362, 4552.307}

Papanek Martin:
◦ PSO: 4.95223
◦ DE mit NM: 4.93071
Andere versuchte Ansätze

ES(µ,λ) zusammen mit k besten Eltern
 Keine signifikante Verbesserung
 Minimal bessere Konvergenz

N(0,µ), wobei µ = Elter[1].val – Elter[2].val
 Keine merkbare Verbesserung
 Werte in der „Mitte“ häufen sich im Verlauf der Generationen

ES(µ,λ) mit k besten Kindern
 Zusätzlich zu den λ-k besten Individuen aus dem Offspring werden die k
fittesten Individuen aus dem Offspring gewählt
Andere versuchte Ansätze (2)

Primitive lokale Optimierung nach EA
 Sehr rechenintensiv
 Schnellere Konvergenz
 Lokale Verbesserungen aber schlussendlich selbe Ergebnisse

% zufällig ausgewählte Kinder
 Keine feststellbare Verbesserung
 Größere Streuung der Fitnesswerte am Anfang
Weitere mögliche Ansätze

Hybrider Ansatz
◦ ES mit einer Lokalen Suchstrategie kombinieren

Linear ranking
◦ Individuen werden ihres Fitnesswerts nach geordnet
◦ Die Wahrscheinlichkeit der Selektion ist proportional zu dessen Rang

Nicht alle Individuen rekombinieren
◦ Nur einen großen Teil (zb. 80%) rekombinieren, Rest direkt
übernehmen
Weitere mögliche Ansätze (2)

Tournament selection
◦ K zufällige Individuen auswählen und das beste davon selektieren

Individuen überleben nur k Generationen
◦ Lebenszeit eines Individuums wird nach jeder Generation
dekrementiert

Search space pruning
◦ Individuen oder ganze Bereiche innerhalb des Suchraumes
ausschließen, da sie „unmöglich“ sind
Erkenntnisse

Populationsgröße nicht unwichtig, aber Anzahl von Generationen
wichtiger → Variationsfaktoren haben großen Einfluss auf die
Ergebnisse

Zu viele Einschränkungen können einen guten Algorithmus
verschlechtern → Z.B. Ständiges Überprüfen auf Duplikate
vernachlässigen.
Referenzen

[Abb 1] http://www.ngcsu.edu/academic/sciences/physics/jones/astr1010home/trajectory_lg.gif

[Abb 2] http://ocw.mit.edu/NR/rdonlyres/Biology/7-A12Fall-2005/D4134A30-F348-4615-8B0AD0CB5ED86081/0/chp_dna.jpg

[Abb 3] Folien Heuristische Optimierungsverfahren WS08, Raidl/Chwatal

[Abb 4] Evolutionary Programming in Theory and Practise, Thomas Bäck

[Abb 5] http://www.math.ubc.ca/~cass/courses/m308/projects/lim/images/Slingshot4.GIF

[Abb 6] http://www.raumfahrer.net/multimedia/4images/details.php?image_id=1792

Allgemein:

MGA – Cassini-Problem: http://www.esa.int/gsp/ACT/inf/op/globopt/evvejs.htm

Evolutionary Programming in Theory and Practise, Thomas Bäck

Folien Heuristische Optimierungsverfahren WS08, Raidl/Chwatal
Danke für die Aufmerksamkeit
Fragen oder Anregungen?
Herunterladen