E2-14Fo3 - Bionik TU

Werbung
Ingo Rechenberg
PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“
Anwendungsfelder geschachtelter Evolutionsstrategien Programmierung einer geschachtelten ES
Auf dem Weg zu einer evolutionsstrategischen Algebra
g
[ m +, l ( m +,l) -] ES
Beispiel: m = 2, l = 6, l´ = 4, g = 8 , m´ = 2
(2, 6)·(2, 6)·(2, 6)·(2, 6)·(2, 6)·(2, 6) )·(2, 6)·(2, 6)
2 , 4(2, 6)
Selektion der besten
2 Populationen
8 = (2, 6)8 + (2, 6)8 + (2
Beste Population nach
8 Generationen
, 6)8 + (2, 6)8
Zweitbeste Population
nach 8 Generationen
Beispiel für eine algebraische Operation in einer geschachtelten ES
1
1, 2
1
1,
Zwei unterschiedliche Strategien
Die Geschachtelte Evolutionsstrategie
Höchste Nachahmungsstufe der biologischen Evolution
g g


[ m /  , l ( m / , l ) ] - ES
m' = Zahl der Eltern-Populationen
' = Mischungszahl Populationen
l' = Zahl der Nachkommen-Populationen
g ' = Zahl der Populations-Generationen
m = Zahl der Eltern-Individuen
 = Mischungszahl Individuen
l = Zahl der Nachkommen-Individuen
g = Generationen der Isolation
Biologische Entsprechung der Strategie-Schachtelung
| FamilieGattung{Art[Varietät(Individuum)] }|
[ m /  ,
l( m /
, l )g ]g   ES
Strategievariablen
Objektvariablen
Strategie-Evolution
Sprungvariablen
Gleitvariablen
Gemischt ganzzahlige Optimierung
Qualität Q1
Qualität Q2
Zwei-Ziele-Optimierung
Springen
Klettern
Globale Optimierung
Vergangenheit
Gegenwart
Ortho-Evolution
Anwendungsfelder für geschachtelte Evolutionsstrategien
[ m /  ,
l( m /
Strategievariablen
, l )g ]g   ES
Objektvariablen
Strategie-Evolution
Anwendungsfelder für geschachtelte Evolutionsstrategien
Angsthase
Kolumbus
N
Amundsen
Hitzkopf
 [1, 4 (1, 10)20- ES
Vier Kletterstrategien im Wettbewerb
Algorithmus der (1, l ) – Evolutionstrategie mit MSR
 Ng1   Eg  1
xNg1  xEg   Ng1  z1
 Ng2   Eg   2
g
g
g
xN 2  x E   N 2  z 2
z1 , z2 ,  zn  (0, 1/ n )  normalvert eilt
z.B. für l  6 : 1  2  3  1,5
4  5  6  1 / 1,5

 Ngl   Eg  l
g
g
g
xNl  xE   Nl  zl
g
 Eg 1   NB
g 1
g
xE  xNB
Es ist problematisch anzunehmen, dass sich
schon nach einer Generation die beste
Fortschrittsgeschwindigkeit selektieren lässt.


g
Q( xNB
)  max/min Q( xNg1 ), Q( xNg2 ),  Q( xNgl )
Korrekte mutative Schrittweitenanpassung mit
einer geschachtelten Evolutionsstrategie
a
= 1,1 … 1,5
Notation auf der linken Klammerseite bedeutet : Die Schrittweite ist eine Populationseigenschaft. Sie wird in der jeweiligen inneren Klammer benutzt und dort nicht mehr variiert.
[ m , l ( m , l )g ]  ES
m1
l  2
m 1
l 5
g 4
Die geschachtelte
Evolutionsstrategie
Neue Gründerpopulationen
[ m /  ,
l( m /
, l )g ]g   ES
Strategievariablen
Objektvariablen
Strategie-Evolution
Sprungvariablen
Gleitvariablen
Gemischt ganzzahlige Optimierung
Anwendungsfelder für geschachtelte Evolutionsstrategien
Gleitvariable
Sprungvariable
! !
y
x
Gewicht  Minimum
[ m /  ,
l( m /
, l )g ]g   ES
Strategievariablen
Objektvariablen
Strategie-Evolution
Sprungvariablen
Gleitvariablen
Gemischt ganzzahlige Optimierung
Qualität Q1
Qualität Q2
Zwei-Ziele-Optimierung
Anwendungsfelder für geschachtelte Evolutionsstrategien
Schlagwort „multikriterielle Optimierung“
Q2
Mehr-Ziele-Optimierung
Zwei-Ziele-Optimierung
Das Management
entscheidet über
die Realisation
Pareto Front
Pareto-Optimierung
Q1
Ein 2-Ziele Pareto-Optimum ist ein Zustand, bei dem es nicht möglich
ist, eine Qualität Q1 besser zu machen, ohne dass sich die Qualität Q2
verschlechtert. Die Menge der Pareto-Optima bildet die sogenannte
Pareto-Front.
Besser wir lösen eine Zwei-Ziele-Optimierung mit der gewichteten globalen Qualität:
Qglobal  g1Q1  g2Q2  Minimum Maximum 
Für die verschiedenen Gewichtungen g1 und g2 ergibt sich die Pareto-Front!
Die Idee der globalen Qualität lässt sich leicht auf mehr als zwei Qualitäten erweitern.
Der W-klein-A-groß-Denker
A
Eine 2-Ziele-Optimierung
W
A
W
Der -klein-Denker
2
tan WW
StZa
 Min
3
SteigZahl
AA
log(log(tan
StZa) 2) log(
WW) ) 3log(
 log(11/ A
/ A) )
log(
[ m /  ,
l( m /
, l )g ]g   ES
Strategievariablen
Objektvariablen
Strategie-Evolution
Sprungvariablen
Gleitvariablen
Gemischt ganzzahlige Optimierung
Qualität Q1
Qualität Q2
Zwei-Ziele-Optimierung
Springen
Klettern
Globale Optimierung
Anwendungsfelder für geschachtelte Evolutionsstrategien
g
[1, 3 ( m , l ) ]-ES
Gipfelspringen und Gipfelklettern mit der
geschachtelten Evolutionsstrategie
g
[1, 3 ( m , l ) ]-ES
Gründer
Populationen
Gipfelspringen und Gipfelklettern mit der
geschachtelten Evolutionsstrategie
g
[1, 3 ( m , l ) ]-ES
Gipfelspringen und Gipfelklettern mit der
geschachtelten Evolutionsstrategie
g
[1, 3 ( m , l ) ]-ES
Gipfelspringen und Gipfelklettern mit der
geschachtelten Evolutionsstrategie
g
[1, 3 ( m , l ) ]-ES
Gipfelspringen und Gipfelklettern mit der
geschachtelten Evolutionsstrategie
Kameraaugen
mit Hornhaut ausgestattete
Augen der Landwirbeltiere
Komplexaugen
Superpositionsaugen
Neurale
Superposition
Appositionsaugen
Pfeilschwanzkrebs
Spinnen
Fischaugen
Linsenauge
der Kopffüßer
Zwischenformen
Augen mit
Glaskörper
Vorstufen der
Komplexaugen
TapetumBergrücken
Augen mit
Spiegeln
Ruderfußkrebse
Augen mit
Detritus
Nautilus engem Loch
Augen mit
engem Loch
Becheraugen mit
reflektierendem Pigment
Becheraugen mit Pigment
Einfache Lichtwahrnehmung
Fitnesslandschaft der Augen-Evolution (nach M. Land)
3
4
5
6
7
98
3
3
8
6
4
4 5
6 7
4
5
8
6 7
89
Wir sind
hier
9
7
5
4
3
6
7
5
6
7
3
4
Für n >> 1 sind
die weißen Einzugsgebiete
3
5
der Berge vernachlässigbar klein gegenüber
dem schwarzen Gebiet dazwischen !
5
3
4
6
3
4
5
6
7
6 7 8
3 4 5
Lückenwert L
L=
L
(n)

2 n
( ) ( )
L
„weiß“: Einzugsgebiete der Berge
„schwarz“: Zwischenräume
L
Zwischenraum
Kugelraum
( 2)
(100)
 n2  1  1
 0,2732
 5,35 1069
Evolutionsstrategische Optimierung eines
Freiträgers mit minimalem Gewicht
[ m /  ,
l( m /
, l )g ]g   ES
Strategievariablen
Objektvariablen
Strategie-Evolution
Sprungvariablen
Gleitvariablen
Gemischt ganzzahlige Optimierung
Qualität Q1
Qualität Q2
Zwei-Ziele-Optimierung
Springen
Klettern
Globale Optimierung
Vergangenheit
Gegenwart
Ortho-Evolution
Anwendungsfelder für geschachtelte Evolutionsstrategien
Geschachtelte Evolutionsstrategie
g g
+
,
,

[ m l ( m l) ] - ES
+
Aktuelle Position
Gründerposition
Ortho-Evolution !
d0
h
Strahl 2
d1
h
b
d2
h
k
b ( 1) (d d )
2
1
h
R
q2
 = Brechungsindex
F
n
Qstreu 
[ R  h  h(k 1)  b ( 1)(dk  dk1)]  Min
k 1
Qvol  nh 
2
2
n
h
dk  Min

k 1
Qges  Qstreu  w  Qvol  Min
für alle dk  d0
w = Gewichtsfaktor
Zwei-Ziele-Optimierung
Das Wunder der
Koordinatentransformation
D‘ARCY THOMSONs Transformationen
Pseudopriacanthus altus
Polyprion
Antigonia capros
Scorpaena sp.
Koordinatentransformation nach Albrecht Dürer
Das Rätsel der
sogenannten
Schrott-DNA
(junk DNA) ?
Heute weiß man:
Die Schrott-DNA
bildet einen riesigen
Steuerungsapparat
Und das könnte
auch eine Koordinaten-Transformation sein
Bauanweisung für Protein
„Dunkle“ DNA
über 95%
Pleiotropie
Lineare Transformation: Polygenie und Polyphänie
y1  a11x1  a12 x 2  a13 x 3  a14 x 4  a15 x 5
y2  a21x1  a22 x 2  a23 x 3  a24 x 4  a25 x 5
y3  a31x1  a32 x 2  a33 x 3  a34 x 4  a35 x 5
y4  a41x1  a42 x 2  a43 x 3  a44 x 4  a45 x 5
y5  a51x1  a52 x 2  a53 x 3  a54 x 4  a55 x 5
Ein Merkmal (y) wird von vielen Genen (x) gesteuert
Ein Gen (x) steuert viele Merkmale (y)
n=5!
Schiefwinklige lineare
Koordinaten-Transformationen
y1  a11x1  a12 x 2  a13 x 3  a14 x 4  a15 x 5
y2  a21x1  a22 x 2  a23 x 3  a24 x 4  a25 x 5
n2
y3  a31x1  a32 x 2  a33 x 3  a34 x 4  a35 x 5
Koeffizienten
y4  a41x1  a42 x 2  a43 x 3  a44 x 4  a45 x 5
y5  a51x1  a52 x 2  a53 x 3  a54 x 4  a55 x 5
Zu viele Koeffizienten für Transformation eines orthogonalen Systems
Für ein orthogonales System benötigen wir statt:
n2 nur n ( n  1) Koeffizienten
2
y1  a11x1  a12 x 2  a13 x 3  a14 x 4  a15 x 5
y2  a21x1  a22 x 2  a23 x 3  a24 x 4  a25 x 5
y3  a31x1  a32 x 2  a33 x 3  a34 x 4  a35 x 5
y4  a41x1  a42 x 2  a43 x 3  a44 x 4  a45 x 5
y5  a51x1  a52 x 2  a53 x 3  a54 x 4  a55 x 5
Matrizenrechnung
Orthogonalisierungsverfahren
CMA-Methode
Covarianz-Matrix-Adaptation
ES-Hybridverfahren
Programmierung einer
geschachtelten Evolutionsstrategie
g
Nk
g
Nk

x
g
g
E
g
E
  
g
 x   Nk  z
Algorithmus: [1, l (1, l ) ]-ES
g
( Eg )k   Nk
g
g
Nk   E 
g
g
g
xNk  xE   Nk  z
g 1
g
k = 1, ... l
k = 1, ... l
k
g
g 1
g
g
 E   Nb
g 1
g
xE  xNb
 E   Nb
g 1
g
xE  xNb
g
(xEg )k  xNk
g g
 Nb  ( E )b
g
g g
xNb  ( xE )b
Farbe anstelle eines Index !
MATLAB-Programm der (1, l ) ES
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
end
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
end
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
for k=1:kk
end
end
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
for k=1:kk
dn=de*aa^(2*round(rand)-1);
end
end
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
for k=1:kk
dn=de*aa^(2*round(rand)-1);
xn=xe+dn*randn(v,1)/sqrt(v);
end
end
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
for k=1:kk
dn=de*aa^(2*round(rand)-1);
xn=xe+dn*randn(v,1)/sqrt(v);
qn=sum(xn.^2);
end
end
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
for k=1:kk
dn=de*aa^(2*round(rand)-1);
xn=xe+dn*randn(v,1)/sqrt(v);
qn=sum(xn.^2);
if qn < qb
qb=qn; db=dn; xb=xn;
end
end
end
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
for k=1:kk
dn=de*aa^(2*round(rand)-1);
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
MATLAB-Programm der (1, l ) ES
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
for k=1:kk
dn=de*aa^(2*round(rand)-1);
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
Von
der einfachen zur geschachtelten ES
Programmverdopplung
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
for k=1:kk
dn=de*aa^(2*round(rand)-1);
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
v=100;
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5;
for g=1:gg
qb=1e+20;
for k=1:kk
dn=de*aa^(2*round(rand)-1);
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
Programmdifferenzierung
v=100;
gg1=1000; kk1=10; xe1=ones(v,1); de1=1; aa1=1.5;
for g1=1:gg1
qb1=1e+20;
for k1=1:kk1
dn1=de1*aa1^(2*round(rand)-1);
xn1=xe1+dn1*randn(v,1)/sqrt(v);
qn1=sum(xn1.^2);
if qn1 < qb1
qb1=qn1; db1=dn1; xb1=xn1;
end
end
qe1=qb1; de1=db1; xe1=xb1;
semilogy(g1,qe1,'b.')
hold on; drawnow;
end
v=100;
gg0=1000; kk0=10; xe0=ones(v,1); de0=1; aa0=1.5;
for g0=1:gg0
qb0=1e+20;
for k0=1:kk0
dn0=de0*aa0^(2*round(rand)-1);
xn0=xe0+dn0*randn(v,1)/sqrt(v);
qn0=sum(xn0.^2);
if qn0 < qb0
qb0=qn0; db0=dn0; xb0=xn0;
end
end
qe0=qb0; de0=db0; xe0=xb0;
semilogy(g0,qe0,'b.')
hold on; drawnow;
end
Programmschachtelung
v=100;
gg1=1000; kk1=10; xe1=ones(v,1); de1=1; aa1=1.5;
for g1=1:gg1
qb1=1e+20;
for k1=1:kk1
dn1=de1*aa1^(2*round(rand)-1);
xn1=xe1+dn1*randn(v,1)/sqrt(v);
qn1=sum(xn1.^2);
if qn1 < qb1
qb1=qn1; db1=dn1; xb1=xn1;
end
end
qe1=qb1; de1=db1; xe1=xb1;
semilogy(g1,qe1,'b.')
hold on; drawnow;
end
v=100;
gg0=1000; kk0=10; xe0=ones(v,1); de0=1; aa0=1.5;
for g0=1:gg0
qb0=1e+20;
for k0=1:kk0
dn0=de0*aa0^(2*round(rand)-1);
xn0=xe0+dn0*randn(v,1)/sqrt(v);
qn0=sum(xn0.^2);
if qn0 < qb0
qb0=qn0; db0=dn0; xb0=xn0;
end
end
qe0=qb0; de0=db0; xe0=xb0;
semilogy(g0,qe0,'b.')
hold on; drawnow;
end
Programmschachtelung
50
2
v=100;
gg1=1000; kk1=10; xe1=ones(v,1); de1=1; aa1=1.5;
gg0=1000; kk0=10; xe0=ones(v,1); de0=1; aa0=1.5;
for g1=1:gg1
0
qb1=1e+20;
for k1=1:kk1
dn1=de1*aa1^(2*round(rand)-1);
xn1=xe1+dn1*randn(v,1)/sqrt(v);
1.0
de0=dn1; xe0=xn1;
for g0=1:gg0
qb0=1e+20;
for k0=1:kk0
dn0=de0*aa0^(2*round(rand)-1);
xn0=xe0+dn0*randn(v,1)/sqrt(v);
qn0=sum(xn0.^2);
if qn0 < qb0
qb0=qn0; db0=dn0; xb0=xn0;
end
end
qe0=qb0; de0=db0; xe0=xb0;
semilogy(g0,qe0,'b.')
hold on; drawnow;
end
dn1=de0; xn1=xe0;
qn1=sum(xn1.^2);
if qn1 < qb1
qb1=qn1; db1=dn1; xb1=xn1;
end
end
qe1=qb1; de1=db1; xe1=xb1;
semilogy(g1,qe1,'b.')
hold on; drawnow;
end
Programmschachtelung
v=100;
gg1=1000; kk1=2; xe1=ones(v,1); de1=1; aa1=1.5;
gg0=50;
kk0=10; xe0=ones(v,1); de0=1; aa0=1.0;
for g1=1:gg1
qb1=1e+20;
for k1=1:kk1
dn1=de1*aa1^(2*round(rand)-1);
xn1=xe1+0*randn(v,1)/sqrt(v);
de0=dn1; xe0=xn1;
for g0=1:gg0
qb0=1e+20;
for k0=1:kk0
dn0=de0*aa0^(2*round(rand)-1);
xn0=xe0+dn0*randn(v,1)/sqrt(v);
qn0=sum(xn0.^2);
if qn0 < qb0
qb0=qn0; db0=dn0; xb0=xn0;
end
end
qe0=qb0; de0=db0; xe0=xb0;
end
dn1=de0; xn1=xe0;
qn1=sum(xn1.^2);
if qn1 < qb1
qb1=qn1; db1=dn1; xb1=xn1;
end
end
qe1=qb1; de1=db1; xe1=xb1;
semilogy(g1,qe1,'b.')
hold on; drawnow;
end
MATLAB-Programm einer
geschachtelten ES
Programmschachtelung
v=100;
gg1=1000; kk1=2; xe1=ones(v,1); de1=1; aa1=1.5;
gg0=50;
kk0=10; xe0=ones(v,1); de0=1; aa0=1.0;
oo=ones(v,1)
for g1=1:gg1
qb1=1e+20;
for k1=1:kk1
dn1=de1*aa1^(2*round(rand)-1);
xn1=xe1+0*randn(v,1)/sqrt(v);
de0=dn1; xe0=xn1;
for g0=1:gg0
qb0=1e+20;
+oo*randn/sqrt(v);
for k0=1:kk0
dn0=de0*aa0^(2*round(rand)-1);
xn0=xe0+dn0*randn(v,1)/sqrt(v);
qn0=sum(xn0.^2);
if qn0 < qb0
qb0=qn0; db0=dn0; xb0=xn0;
end
end
qe0=qb0; de0=db0; xe0=xb0;
semilogy(g0,qe0,'b.')
hold on; drawnow;
end
dn1=de0; xn1=xe0;
qn1=sum(xn1.^2);
if qn1 < qb1
qb1=qn1; db1=dn1; xb1=xn1;
end
oo=xb1-xe1;
end
qe1=qb1; de1=db1; xe1=xb1;
semilogy(g1,qe1,'b.')
hold on; drawnow;
end
MATLAB-Programm einer
geschachtelten
Ortho-ES
geschachtelten
ES
Programmschachtelung
v=100;
gg1=1000; kk1=2; xe1=ones(v,1); de1=1; aa1=1.5;
gg0=50;
kk0=10; xe0=ones(v,1); de0=1; aa0=1.0;
oo=ones(v,1);
for g1=1:gg1
qb1=1e+20;
for k1=1:kk1
dn1=de1*aa1^(2*round(rand)-1);
xn1=xe1+0*randn(v,1)/sqrt(v);
de0=dn1; xe0=xn1;
for g0=1:gg0
qb0=1e+20;
+oo*randn/sqrt(v);
for k0=1:kk0
dn0=de0*aa0^(2*round(rand)-1);
xn0=xe0+dn0*randn(v,1)/sqrt(v);
qn0=sum(xn0.^2);
if qn0 < qb0
qb0=qn0; db0=dn0; xb0=xn0;
end
end
qe0=qb0; de0=db0; xe0=xb0;
semilogy(g0,qe0,'b.')
hold on; drawnow;
end
dn1=de0; xn1=xe0;
qn1=sum(xn1.^2);
if qn1 < qb1
qb1=qn1; db1=dn1; xb1=xn1;
end
oo=xb1-xe1;
end
qe1=qb1; de1=db1; xe1=xb1;
semilogy(g1,qe1,'b.')
hold on; drawnow;
end
MATLAB-Programm einer
geschachtelten Ortho-ES
Zum Kopieren (Qualitätsfunktion = „Zigarre“ )
v=100;
gg1=1000; kk1=2; xe1=ones(v,1); de1=1; aa1=1.5;
gg0=50;
kk0=10; xe0=ones(v,1); de0=1; aa0=1.0; oo=ones(v,1);
for g1=1:gg1
qb1=1e+20;
for k1=1:kk1
dn1=de1*aa1^(2*round(rand)-1);
xn1=xe1+0*randn(v,1)/sqrt(v);
de0=dn1; xe0=xn1;
for g0=1:gg0
qb0=1e+20;
for k0=1:kk0
dn0=de0*aa0^(2*round(rand)-1);
xn0=xe0+dn0*randn(v,1)/sqrt(v)+oo*randn/sqrt(v);
qn0=xn0(1)^2+1000*sum(xn0(2:v).^2);
if qn0 < qb0
qb0=qn0; db0=dn0; xb0=xn0;
end
end
qe0=qb0; de0=db0; xe0=xb0;
end
dn1=de0; xn1=xe0;
qn1=xn1(1)^2+1000*sum(xn1(2:v).^2);
if qn1 < qb1
qb1=qn1; db1=dn1; xb1=xn1;
end
end
qe1=qb1; de1=db1; oo=xb1-xe1; xe1=xb1;
semilogy(g1,qe1,'b.')
hold on; drawnow;
end
MATLAB-Programm einer
geschachtelten Ortho-ES
[ m , l ( m , l )g ]  ES
m1
l  2
m 1
l 5
g 4
Die geschachtelte
Evolutionsstrategie
Neue Gründerpopulationen
liegen übereinander (bisher)
[ m , l ( m , l )g ]  ES
m1
l  2
m 1
l 5
g 4
Die geschachtelte
Evolutionsstrategie
Neue Gründerpopulationen
variieren ihre Startposition
g
g
 Nk
 E 
g
g
 Nk   E  
g
Schrittweite für das Setzen von Gründerpopulationen
Schrittweite für das lokale Bergklettern zum Optimum
g
g
xNk  xE   Nk  z
x
g
Nk
x
g 1
E
g
E
g
Nk
 x  z
x
g
Nb
g
g
( xEg )k  xNk
k
x

g 1
E
g 1
E
g 1
E

x
g
Nb
g
  Nb
g
  Nb
g
 xNb
k  1,  l
k  1,  l
 (x
g g
E
b
)
Algorithmus einer geschachtelten ES, bei
der nicht nur jede Population eine eigene
Schrittweite besitzt, sondern die
Startposition jeder Gründerpopulation
noch variiert wird
Mathematische Formulierung einer (1, l )-Ortho-ES
in ungeschachtelter Form
g
 Nk
  Eg  
g
g
x Nk
 xEg   Nk
z
Variation k = 1, 2, … l Nachkommen
Elter vor m Generationen
 ( xEg  xEg m )  z
g
 Eg 1   NB
g
xEg 1  xNB
Selektion (B = Bester Nachkomme)
Ende
www.bionik.tu-berlin.de
Herunterladen