Ingo Rechenberg PowerPoint-Folien zur 9. Vorlesung Evolutionsstrategie I Fortschrittstheorie der (1,...
-
Upload
helma-reff -
Category
Documents
-
view
120 -
download
4
Transcript of Ingo Rechenberg PowerPoint-Folien zur 9. Vorlesung Evolutionsstrategie I Fortschrittstheorie der (1,...
Ingo Rechenberg
PowerPoint-Folien zur 9. Vorlesung „Evolutionsstrategie I“
Fortschrittstheorie der
(1, ) – Evolutionsstrategie am Kugelmodell
DARWINs Denkschema in maximaler Abstraktion
ES)1( 1
Genauere Nachahmung der biologischen Evolution
ES),( 1
Basis-Algorithmus der (1, ) - Evolutionsstrategie
11 EN zxx gg
2E2N zxx gg
zxx ggEN
eiltnormalvert)1,0(,, /21 nzzz n
ggNBE
1 xx )(),(),()( NNNNB 21minmax/ gggg QQQQ xxxx
,1,1 c zzzc z d)erf(1e2
2 1
1,12
mit
Ergebnis der linearen Theorie
Tabelle der Fortschrittsbeiwerte
1 0
2 0,5642
3 0,8463
4 1,0294
5 1,1630
6 1,2672
7 1,3522
8 1,4236
9 1,4850
10 1,5388
,1c
11 1,5864
12 1,6292
13 1,6680
14 1,7034
15 1,7359
16 1,7660
17 1,7939
18 1,8200
19 1,8445
20 1,8675
,1c
21 1,8892
22 1,9097
23 1,9292
24 1,9477
25 1,9653
26 1.9822
27 1,9983
28 2,0137
29 2,0285
30 2,0428
,1c
35 2,1066
40 2,1608
45 2,2077
50 2,2491
55 2,2860
60 2,3193
65 2,3496
70 2,3774
80 2,4268
90 2,4697
,1c
100 2,5076
200 2,7460
300 2,8778
400 2,9682
500 3,0367
600 3,0917
700 3,1375
800 3,1768
900 3,2111
1000 3,2414
,1c
Fortschrittsbeiwert
Von der linearen Theorie
zur nichtlinearen Theorie
lin
kug
Kugelmodell
E
r
.. .x x2 n
x1
q
N"'N
a
nnq 1
222 arqr
rar
qa 2 2
für2
a linKugel
rnc2
2
,1Kugel
a
"
Linien Fortschritt
N
Für q << r darf a auf x 1
projiziert werden
Mutation der Variablen x 2 bis x
n
Der bis auf x 1 mutierte
Nachkomme N‘ erleidet
den Rückschritt a
Eine geometrische Betrachtung für n >> 1
rnc2
2
,1Kugel
Bestimmung von
02
2dd
,1
rnc n
rc ,1opt
opt
Bestimmung von max
nrc
22,1max
Dimensionsloser Fortschritt
2
2,1
maxmax*
crn
Tabelle des maximalen Fortschritts 2
2,1
max*
c
2 0,1592
3 0,3581
4 0,5298
5 0,6762
6 0,8029
10 1,1839
20 1,7437
50 2,5292
100 3,1440
1000 5,2535
*max,1
parallel
Tabelle des maximalen Fortschritts 2
2,1
max*
c
2 0,1592 0,0796
3 0,3581 0,1194
4 0,5298 0,1325
5 0,6762 0,1352
6 0,8029 0,1338
10 1,1839 0,1184
20 1,7437 0,0872
50 2,5292 0,0506
100 3,1440 0,0314
1000 5,2535 0,0053
*max,1 /*
max,1
parallel seriell
0,1352 Maximum
Optimale Erfolgswahrscheinlichkeit
8erf1
21 1,
optc
We
2 0,1592 0,0796 0,393
3 0,3581 0,1194 0,341
4 0,5298 0,1325 0,309
5 0,6762 0,1352 0,286
6 0,8029 0,1338 0,269
10 1,1839 0,1184 0,227
20 1,7437 0,0872 0,181
50 2,5292 0,0506 0,135
100 3,1440 0,0314 0,109
1000 5,2535 0,0053 0,053
*max,1 /*
max,1 opt1,We
parallel seriell
0,1352
Das dimensionslose Fortschrittsgesetz
rnc2
2
,1Kugel
2,12 cr
n
2,1
2
22
,12,1 422
cr
n
cr
n
cr
n
mit
2,12 cr
n
,12 cr
nund
folgt das zentrale Fortschrittsgesetz2
Dimensionslose Fortschrittsgeschwindigkeit
Dimensionslose Schrittweite
-5 -3 -1 310
0,2
0,1
0,3
1 01 01 01 010
2
Evolutions Fenster
Algorithmus der (1, ) – Evolutionsstrategie mit MSR
1g11 NEN zxx gg
22NE2N zxx ggg
zxx gggNEN
eiltnormalvert)1,0(,, /21 nzzz n
ggNBE
1 xx )(),(),()( NNNNB 21minmax/ gggg QQQQ xxxx
ggNBE
1
11 EN gg
2E2N gg
ggEN
eiltnormalvert schlogarithmi
!
Methoden zur Erzeugung der Zufallszahlen
eiltnormalvertze
Für gerade (z. B. = 10)
521 /11076
Für durch 3 teilbar (z. B. = 9)
321 1654 /1987
Für beliebig (im Programmiermodus)
IF RND <.5 THEN i = ELSE i = 1/
MATLAB-Programm der (1 + 1) ES
v=100; d=1; xe=ones(v,1); qe=sum(xe.^2);
for g=1:1000 xn=xe+d*randn(v,1)/sqrt(v); qn=sum(xn.^2); if qn < qe qe=qn; xe=xn; d=d*1.3; else d=d/(1.3^0.25); end semilogy(g,qe,'b.') hold on; drawnow;end
Zur
Erinnerung
MATLAB-Programm der (1, ) ES
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
Variablenzahl und Startwerte
für Schrittweite und
Variablen-werte des Start-
Elters
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
for g=1:1000
end
Erzeugen der Generationenschleif
e
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
for g=1:1000 qb=1e+20;
end
Initialisierung der Qualität im
Bestwert-Zwischenspeicher
auf nicht verschlechterbaren
Wert
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
for g=1:1000 qb=1e+20; for k=1:10
end
end
Generierung der
Nachkommenschlei
fe
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
for g=1:1000 qb=1e+20; for k=1:10 if rand < 0.5 dn=de*1.3; else dn=de/1.3; end
end
end
Deterministische
Variation der Mutationsschrittweite
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
for g=1:1000 qb=1e+20; for k=1:10 if rand < 0.5 dn=de*1.3; else dn=de/1.3; end xn=xe+dn*randn(v,1)/sqrt(v);
end
end
Erzeugung eines
mutierten Nachkommen
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
for g=1:1000 qb=1e+20; for k=1:10 if rand < 0.5 dn=de*1.3; else dn=de/1.3; end xn=xe+dn*randn(v,1)/sqrt(v); qn=sum(xn.^2);
end
end
Bestimmung der Qualität
des mutierten Nachkommen
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
for g=1:1000 qb=1e+20; for k=1:10 if rand < 0.5 dn=de*1.3; else dn=de/1.3; end xn=xe+dn*randn(v,1)/sqrt(v); qn=sum(xn.^2); if qn < qb qb=qn; db=dn; xb=xn; end end
end
Bei Q-Verbesserung Zwischen-
speicherung der Qualität,
Schritt-weite und
Variablenwerte
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
for g=1:1000 qb=1e+20; for k=1:10 if rand < 0.5 dn=de*1.3; else dn=de/1.3; end xn=xe+dn*randn(v,1)/sqrt(v); qn=sum(xn.^2); if qn < qb qb=qn; db=dn; xb=xn; end end qe=qb; de=db; xe=xb;
end
Nachkomme aus dem
Bestwert-Zwischenspeicher
wird zum Elter der nächsten
Generation
MATLAB-Programm der (1, ) ES
v=100; de=1; xe=ones(v,1);
for g=1:1000 qb=1e+20; for k=1:10 if rand < 0.5 dn=de*1.3; else dn=de/1.3; end xn=xe+dn*randn(v,1)/sqrt(v); qn=sum(xn.^2); if qn < qb qb=qn; db=dn; xb=xn; end end qe=qb; de=db; xe=xb; semilogy(g,qe,'b.') hold on; drawnow;end
Darstellung der Qualität als
Funktion der Generationszahl
Drei Fragen zu Beginn eines ES-Experiments
1. Frage nach dem Startpunkt ?
2. Frage nach der Startschrittweite ?
3. Frage nach der Versuchsdauer ?
?)1( Ex
?)1( E
? g
Abstand D zweier Zufallspunkte
im Quadrat im Hyperkubus
D sehr verschieden D nahezu konstant
Eine Zwischenbetrachtung
Theorie: Abstand zweier Zufallspunkte X und Y im Hyperkubus
6
dd1 2
0
2
1 02
2 lnxyyxl
Dl
y
kkkk
n
k
l
x
l
l
l
D
6/nlD
Simulation im 600-dimensionalen Hyperwürfel der Kantenlänge l = 20
D1=198,23 D2=201,2
5 D3=199,61 D4=209,6
2 D5=205,05
Theorie: Abstand zweier Zufallspunkte X und Y im Hyperkubus
6
dd1 2
0
2
1 02
2 lnxyyxl
Dl
y
kkkk
n
k
l
x
l
l
l
D
Wir deuten einen Zufallspunkt als Start und den anderen Zufallspunkt als Ziel der Optimierung
Start
Ziel
Kantenlänge des Hyperwürfels = l
Zufallsstart
6,1
)1( lcE
61ln2
2,1
c
ng
Dr
Zur Ableitung der Generationsformel
gr
dd Es möge immer im Maximum
laufen
nrc
gr
2dd 2
,1 folgt
E
A
E
A
g
g
r
r
gn
crdr d1
21
2,1 )(
2ln
2,1
AEE
A ggn
crr
nllllr nE 222
21 )()()(
61ln2
2,1
c
ng
6/nlrA
Aus
Erlaubter relativer Fehler
Ende