Upload
laurie
View
33
Download
0
Embed Size (px)
DESCRIPTION
Einige Ergänzungen zur Vorlesung Evolutionsstrategie II. Iván Santibáñez Koref FG Bionik & Evolutionstechnik Technische Universität Berlin. Was ist eine Evolutionsstrategie ?. Biologisch motiviertes Suchverfahren Mengenorientiert Stochastisch Rangbasiert. - PowerPoint PPT Presentation
Citation preview
Einige Ergaumlnzungen zur VorlesungEvolutionsstrategie II
Ivaacuten Santibaacutentildeez Koref
FG Bionik amp Evolutionstechnik
Technische Universitaumlt Berlin
Was ist eine Evolutionsstrategie
Biologisch motiviertes Suchverfahrenbull Mengenorientiert
bull Stochastisch
bull Rangbasiert
210423 2
Die neuen Suchpunkte sind Realisierung einer Verteilung
Eine Menge von Suchpunkten wird gleichzeitig benutzt
Es zaumlhlt nur der Rang der Suchpunkte untereinander (nicht die Qualitaumlt)
Einfuumlhrung
Vorteile Evolutionsstrategie
bull Nur schwache Voraussetzungen fuumlr die Qua-litaumltsfunktion (notwendig ist starke Kausalitaumlt)
bull Stoumlrsicher robust gegen Rauschen der Qualitaumltsfunktion
bull Sowohl fuumlr die Optimierung in Computer-Simulationen als auch waumlhrend Experimente nutzbar
bull Sehr einfach in der Realisierung
210423 3Einfuumlhrung
Algorithmus der (μμ λ)-ES
bull Generiere Folge von Punkten (μμλ)-ES
mit
210423 4Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 5Einfuumlhrung
bull xE ndash Erwartungswert bzw Elterbull xN ndash Realisation bzw Nachkommebull C ndash Kovarianzmatrix
Mehrdimensionale Normalverteilung
210423 6Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 7Einfuumlhrung
10
01C
50
01C
52
21C
150
501C
Globale Schrittweite
210423 8Einfuumlhrung
Individuelle Schrittweiten
210423 9Einfuumlhrung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Was ist eine Evolutionsstrategie
Biologisch motiviertes Suchverfahrenbull Mengenorientiert
bull Stochastisch
bull Rangbasiert
210423 2
Die neuen Suchpunkte sind Realisierung einer Verteilung
Eine Menge von Suchpunkten wird gleichzeitig benutzt
Es zaumlhlt nur der Rang der Suchpunkte untereinander (nicht die Qualitaumlt)
Einfuumlhrung
Vorteile Evolutionsstrategie
bull Nur schwache Voraussetzungen fuumlr die Qua-litaumltsfunktion (notwendig ist starke Kausalitaumlt)
bull Stoumlrsicher robust gegen Rauschen der Qualitaumltsfunktion
bull Sowohl fuumlr die Optimierung in Computer-Simulationen als auch waumlhrend Experimente nutzbar
bull Sehr einfach in der Realisierung
210423 3Einfuumlhrung
Algorithmus der (μμ λ)-ES
bull Generiere Folge von Punkten (μμλ)-ES
mit
210423 4Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 5Einfuumlhrung
bull xE ndash Erwartungswert bzw Elterbull xN ndash Realisation bzw Nachkommebull C ndash Kovarianzmatrix
Mehrdimensionale Normalverteilung
210423 6Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 7Einfuumlhrung
10
01C
50
01C
52
21C
150
501C
Globale Schrittweite
210423 8Einfuumlhrung
Individuelle Schrittweiten
210423 9Einfuumlhrung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Vorteile Evolutionsstrategie
bull Nur schwache Voraussetzungen fuumlr die Qua-litaumltsfunktion (notwendig ist starke Kausalitaumlt)
bull Stoumlrsicher robust gegen Rauschen der Qualitaumltsfunktion
bull Sowohl fuumlr die Optimierung in Computer-Simulationen als auch waumlhrend Experimente nutzbar
bull Sehr einfach in der Realisierung
210423 3Einfuumlhrung
Algorithmus der (μμ λ)-ES
bull Generiere Folge von Punkten (μμλ)-ES
mit
210423 4Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 5Einfuumlhrung
bull xE ndash Erwartungswert bzw Elterbull xN ndash Realisation bzw Nachkommebull C ndash Kovarianzmatrix
Mehrdimensionale Normalverteilung
210423 6Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 7Einfuumlhrung
10
01C
50
01C
52
21C
150
501C
Globale Schrittweite
210423 8Einfuumlhrung
Individuelle Schrittweiten
210423 9Einfuumlhrung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Algorithmus der (μμ λ)-ES
bull Generiere Folge von Punkten (μμλ)-ES
mit
210423 4Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 5Einfuumlhrung
bull xE ndash Erwartungswert bzw Elterbull xN ndash Realisation bzw Nachkommebull C ndash Kovarianzmatrix
Mehrdimensionale Normalverteilung
210423 6Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 7Einfuumlhrung
10
01C
50
01C
52
21C
150
501C
Globale Schrittweite
210423 8Einfuumlhrung
Individuelle Schrittweiten
210423 9Einfuumlhrung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Mehrdimensionale Normalverteilung
210423 5Einfuumlhrung
bull xE ndash Erwartungswert bzw Elterbull xN ndash Realisation bzw Nachkommebull C ndash Kovarianzmatrix
Mehrdimensionale Normalverteilung
210423 6Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 7Einfuumlhrung
10
01C
50
01C
52
21C
150
501C
Globale Schrittweite
210423 8Einfuumlhrung
Individuelle Schrittweiten
210423 9Einfuumlhrung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Mehrdimensionale Normalverteilung
210423 6Einfuumlhrung
Mehrdimensionale Normalverteilung
210423 7Einfuumlhrung
10
01C
50
01C
52
21C
150
501C
Globale Schrittweite
210423 8Einfuumlhrung
Individuelle Schrittweiten
210423 9Einfuumlhrung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Mehrdimensionale Normalverteilung
210423 7Einfuumlhrung
10
01C
50
01C
52
21C
150
501C
Globale Schrittweite
210423 8Einfuumlhrung
Individuelle Schrittweiten
210423 9Einfuumlhrung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Globale Schrittweite
210423 8Einfuumlhrung
Individuelle Schrittweiten
210423 9Einfuumlhrung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Individuelle Schrittweiten
210423 9Einfuumlhrung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kovarianzmatrix
210423 10Einfuumlhrung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Wiederholung der Theorie
210423 11Einfuumlhrung
bull Fortschritt an der Kugel
r
Nc
2
2
bull Optimaler Fortschritt an der Kugel
N
rc 2opt
bull Optimale Schrittweite an der Kugel
N
rc
opt
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Was ist eine Evolutionsstrategie
210423 12Einfuumlhrung
10-5
10-4
10-3
10-2
10-1
100
101
-08
-06
-04
-02
0
02
04
06
2
2
c
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Schrittweitenregelung Wo und Wie
bull Varianz
Einstellen der Varianz σ
bull Kovarianz
Einstellen der Kovarianzmatrix C210423 13Einfuumlhrung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Varianzsteuerung (Globale Schw)
Ziel ist die globale Schrittweite σ so einzu-stellen dass der Fortschritt maximal wird
210423 14Varianzsteuerung
Welche Verfahren sind bekanntbull 15 ndash Erfolgsregelbull Mutative Schrittweitenregelung (MSR) mit
Isolationbull Goldene Regel
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 15
Einstellen einer guten Schrittweite durch den Test Welche Schrittweite erzeugt die besten Nachkommen
Umsetzungbull Erzeuge zu jeden Nachkommen eine eigenen Schrittweite Durch logarithmische Variationbull Selektiere die besten Nachkommen und deren zugeh Schrittweitebull Rekombiniere die Nachkommen und deren Schrittweite
Problemebull Wahl des Schrittweitenaumlderungsparameters bullRauschen durch Zufallszahlen bei der Mutationbull Wie werden Schrittweiten rekombiniert
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 16
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Mutative Schrittweiten Regelung (MSR)
210423 Varianzsteuerung - MSR 17
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Mutative Schrittweiten Regelung
210423 18Varianzsteuerung - MSR
Testmethode Es wird ein Vergleich mit der optimalen Schrittweite σopt waumlhrend der Simulation durchgefuumlhrt
Vergleich vonndash Mutative Schrittweiten Steuerung mit bdquoAldquondash Mutative Schrittweiten Steuerung mit bdquoτldquondash Optimale Schrittweite
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010
-8
10-6
10-4
10-2
100
102
104
106
Generationen
Q
(1120)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 19Varianzsteuerung - MSR
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
05
1
15
2
25
(g)opt
fuumlr (1120)-ES
Verh zur opt Schrittweite
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Varianzsteuerung - MSR
0 5000 10000 1500010
-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(6620)-ES
Optimale SchrMSR-OptimalMSR
Mutative Schrittweiten Regelung
210423 20
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
14
(g)opt
fuumlr (6620)-ES
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Varianzsteuerung - MSR
0 05 1 15 2 25 3
x 104
10-10
10-8
10-6
10-4
10-2
100
102
104
Generationen
Q
(101020)-ES
Optimale SchrMSR-OptimalMSR
21
Mutative Schrittweiten Regelung
210423
QualitaumltSchrittweiteOpt Schrittw
1000 1500 2000 2500 3000 3500 40000
02
04
06
08
1
12
(g)opt
fuumlr (101020)-ES
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Varianzsteuerung
210423 22Varianzsteuerung - MSR
Probleme beim Einsatz der MSRbull Parameter τ ist abhaumlngig von N
bull Zur korrekten Arbeit bei Rekombination wird eine [μlsquo(μ μ λ)γ λlsquo]-ES benoumltigt
γ λ μlsquo-facher Aufwand
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
MSR bei (1λ)-ES
210423 23Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Waumlhle dann neue σ
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Varianzsteuerung bei (μμλ)-ES
210423 24Varianzsteuerung - MSR
bull Teste 119977(xEσ2I) mit verschiedenen σbull Realisiere λ2-mal 119977(xEσ2A2I) bzw 119977(xEσ2A-2I) bull Sehe welches bessere Realisierungen liefertbull Rekombiniere selektierte Nachkommen und Schrittweite
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Varianzsteuerung bei (μμλ)-ES
210423 25Varianzsteuerung - MSR
Warum wird eine [μlsquo λ lsquo(μ μ λ)γ]-ES benoumltigtbull Bei (1λ)-ES wird immer mit der gleichen Verteilung getestetbull Bei (μμλ)-ES wird mit anderen Verteilung getestet als die urspruumlngliche
Schachtelung notwendig γ=2 reicht
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Varianzsteuerung (Kumulation)Welche andere Invariante koumlnnte man nutzen
210423 26Varianzsteuerung - Kumulation
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
210423 27Varianzsteuerung - Kumulation
Kumulation
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
KumulationWelche andere Invariante koumlnnte man nutzen Bei optimaler Schrittweite sind zwei aufeinander folgende Schritte im Mittel senkrecht zueinander
210423 28Transformation des Suchraumes
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation
Aufeinaderfolgende Schritte sind im Mittel Orthogonal
210423 29Varianzsteuerung - Kumulation
Die selektierten Mutationen sind alsounkorreliert
Die Laumlnge der Mutationen ist im Mittel χN
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation
210423 30Varianzsteuerung - Kumulation
Da aufeinander folgende Schritte unkorreliert insbesondere die fuumlr die Mutation notwendigen Zufallszahlen Dh die Summe der selektierten Zufallzahlen sollte immer eine bestimmte Laumlnge habenbull Laumlnge von z mit den Komponenten zi~ 119977(01) hellip i=1hellipN ist EχN bzw grosse N bull Die Laumlnge der Summe von γ aufeinander summierte Zufallszahlen waumlchstum den Faktor bull Der Mittelwert von μ standard normalverteilte Zufallszahlen hat die Varianz1 μDh sollte bei optimaler Schrittweite die Laumlnge die der aufsummierten Zufallzahlensein
N
N
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
210423 Varianzsteuerung - Kumulation 31
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2(10)-ES N=500
N12
=1=3=5
Kumulation
Fehlskalierung vs Pfadlaumlnge
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
70
Faktor
Pfad
laumlng
e 1
2
1
2(20)-ES N=500
N12
=1=3=5=6=10
210423 Varianzsteuerung - Kumulation 32
Fehlskalierung vs Pfadlaumlnge
Kumulation
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
210423 Varianzsteuerung - Kumulation 33
Fehlskalierung vs Pfadlaumlnge
Kumulation
05 06 07 08 09 1 11 12 13 14 150
20
40
60
80
100
120
140
160
180
200
Faktor
Pfad
laumlng
e 1
2
1
2(100)-ES N=5000
N12
=1=10=27=50
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 34
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 35
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Alle Nachkommen werden mit der selbenSchrittweite erzeugt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 36
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=pfad+(xE-xEo)sigma if (norm(zC)sqrt(MUNg)gt1) sigma=sigmaA else sigma=sigmaA endend
KommentarSolange Stoppbedingung nicht gilt Generationszaumlhler erhoumlhen Nachkommen erzeugen Elter mutieren Qualitaumlt bestimmen
Qualitaumlten sortieren Vorhergehenden Elter merken Selektierte Nachkommen rekombinieren Pfad kumulieren Pfad zu lang Schrittweite erhoumlhen Pfad zu kurz Schrittweite verkleinern
Die Entscheidung welche Schrittweiten-aumlnderung durchgefuumlhrt wird ist nicht mehr
Zufaumlllig (Derandomisierung)
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 37
0 100 200 300 400 500 60010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
0 100 200 300 400 500 60010-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 1)
210423 Varianzsteuerung - Kumulation 38
0 200 400 600 800 1000 1200 140010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
Probleme bei der Einstellung der Schrittweite Weil die Kumulation nicht bdquovergiszligtldquo dh es werden alte Informationen noch beruumlcksichtigt
Loumlsung Mittelung mit Vergessen
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 2)
210423 39Varianzsteuerung - Kumulation
Besser Mitteln der selektierten Mutationen
Setze c1 und c2 sd
dh
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 2)
210423 40Varianzsteuerung - Kumulation
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 2)
210423 41Varianzsteuerung - Kumulation
Da auszligerdem die Vergangenheit vergessen setze
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 42
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma if (norm(zC)sqrt(MUN)gt1) sigma=sigmaA else sigma=sigmaA endend
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (Algorithmus 2)
210423 Varianzsteuerung - Kumulation 43
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 80010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 90010-10
10-8
10-6
10-4
10-2
100
102
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation
210423 Varianzsteuerung - Kumulation 44
05 06 07 08 09 1 11 12 13 14 150
10
20
30
40
50
60
Faktor
Pfad
laumlng
e 1
2
1
2
(10)-ES N=500
N12
=1=3=5
Wie in Graph zu sehen gibt die Laumlnge nichtnur an ob die Schrittweite zu groszlig oder zu klein Auch gewisse quantitative Informationenuumlber die Abweichung von der Optimalen Schrittweite
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation (finaler Algorithmus)
210423 Varianzsteuerung - Kumulation 45
while ~stop_bedingung(xEg) g=g+1 for l=1LAMBDA xN(l)=xE+sigmarandn(N1) qN(l)=qualitat(xN(l)) end [s_qNidx]=sort(qN) xE_alt=xE xE=mean(xE(idx(1MU))) pfad=c1pfad+sqrt(1-c1^2)(xE-xEo)sigma sigma=sigmaexp(d(norm(p)sqrt(MN)-1))end
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Kumulation
210423 Varianzsteuerung - Kumulation 46
0 200 400 600 800 1000 120010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(1120)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 70010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(6620)-ES
Qualitaumlt
opt
0 100 200 300 400 500 600 700 800 900 100010-10
10-8
10-6
10-4
10-2
100
102
104
Generation
q(x)
opt
(101020)-ES
Qualitaumlt
opt
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Schrittweitensteuerung (Varianz)
bull 15 Erfolgsregel fuumlr bdquo+ldquo-Strategien sinnvollbull MSR funktioniert nicht immer
(Rekombination)bull IsolationSchachtelung fuumlr allgemeine
Probleme grosser Aufwandbull Kumulation fuumlr bestimmte Probleme
moumlglich und effizient
Fazit
210423 47Varianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung
bull Beispiel Linse
Erfordert die gleichzeitige Aumlnderung aber nicht gleiche Aumlnderung der Parameter
Die Objektvariablen sind Korreliert
Dh die Suchverteilung ist nicht mehr Isotrop
210423 48Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 49Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung (Zigarre)
Die Zigarre
Besonderheit
bull Parameter x1 nicht so empfindlich wie die Anderen
210423 50Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung (Zigarre)
210423 51Covarianzsteuerung - Zigarre
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung (Zigarre)
210423 52Covarianzsteuerung - Zigarre
Nur die empfindlichen Variablen werdeneingestellt
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung (Zigarre)
210423 53Covarianzsteuerung - Zigarre
Fuumlr x1 ist die Schrittweite zu klein
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Qualitaumltsfunktionen - Transformation
N
iixaxxQ
2
221)(
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
-2 -15 -1 -05 0 05 1 15 2-2
-15
-1
-05
0
05
1
15
2
A
N
iiyyQ
1
2)(Axy
210423 54Covarianzsteuerung - Transformation des
Suchraumes
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Transformation
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
50
05
70707070
07170717
10
010
210423 55Covarianzsteuerung - Transformation des
Suchraumes
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
210423 Covarianzsteuerung ndash Rosenbrockfunkt 56
1
1
221
2 )1())(()(N
iiiiRosenbrock xxxaxQ 100a
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung (Ortho-Evolution)
210423 57Covarianzsteuerung - Transformation des
Suchraumes
( ) - ES ++[ ]
Aktuelle PositionGruumlnderposition
Ortho-Evolution
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung (Ortho-Evolution)
210423 58Covarianzsteuerung - Transformation des
Suchraumes
bull Geschachtelte Evolutionsstrategie mit Ortho-Evolution[μlsquo(μμ λ)γ λlsquo]-ES
bull Erzeuge Nachkomme
bull Wollen aber
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung
210423 59Covarianzsteuerung - Zerlegung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung
210423 60Covarianzsteuerung - Zerlegung
∙ ∙
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung
210423 61Covarianzsteuerung - Zerlegung
(MATLAB eig)
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung
210423 62Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung
210423 63Covarianzsteuerung ndash Transformation
des Suchraumes
Also sei
und sei
dann ist
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung
210423 64Covarianzsteuerung ndash Transformation
des Suchraumes
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianzsteuerung
210423 65Covarianzsteuerung ndash CMA
Wie kann man die Covarianzmatrix schaumltzen
Gegeben sei eine Menge von Punkten xi
Die Covarianz laumlsst sich abschaumltzen
Wie bei Kumulation Gewichtete Mittelung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianz Matrix Adaption CMAfor g=1GAMMA for l = 1LAMBDA z(l)=randn(N1) nk(l)=xE+Tz(l) fnk(l)=qualitaumlt(nk(l)) end [fnksindi]=sort(fnk) xEo=xE xE=mean(nk(indi(1MU))2) zznk=mean(z(indi(1MU))2) S=(1-c)S+cudelta(xE-xEo) C=(1-ccov)C+ccovSS C=triu(C)+triu(C1) sDelta=(1-c_s)sDelta+cu_sBzznk delta=deltaexp((norm(sDelta)chin-1)d) [BD]=eig(C) D=sqrt(D) T=deltaBDend
210423 66Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianz Matrix Adaption CMA
210423 67Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianz Matrix Adaption CMA
Nur die empfindlichen Variablen werdeneingestellt
210423 68Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianz Matrix Adaption CMA
Adaptation der Covarianz
210423 69Covarianzsteuerung ndash CMA
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Covarianz Matrix Adaption CMA
Variable x1 wird optimiert
210423 70Covarianzsteuerung ndash CMA
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung
Die Covarianz Matrix Adaptation (CMA)
bull CMA ist eine Erweiterung der ESbull Funktioniert in einer grossen Zahl fuumlr eine
grosse Zahl von Problemenbull Effiziente Implementierung trotz
bdquonummerischenldquo-Aufwand moumlglich
Fazit
E
210423 71Covarianzsteuerung