E2-08Fo3 - Bionik TU

Werbung
Ingo Rechenberg
PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“
Anwendungsfelder geschachtelter Evolutionsstrategien Programmierung einer geschachtelten ES
Weiterverwendung nur unter
Angabe der Quelle gestattet
Auf dem Weg zu einer evolutionsstrategischen Algebra
[ m , l ( m
+
g
,l) -] ES
+
Beispiel: m = 2, l = 6, l´ = 4, g = 8 , m´ = 2
2 , 4(2, 6)
Selektion der besten
Populationen
8 = (2, 6)8 + (2, 6)8 + (2
Beste
Population
, 6)8 + (2, 6)8
Zweitbeste
Population
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
Notation auf linker Klammerseite bedeutet :
Schrittweite wird von der äußeren Klammer
in die innere Klammer übertragen
= 1,1 … 1,5
[ 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
Der W-klein-A-groß-Denker
A
Eine 2-Ziele-Optimierung
W
A
W
Der -klein-Denker
2
tan WW
StZa
 Min
3
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
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
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)
Das Wunder der
Koordinatentransformation
D‘ARCY THOMSONs Transformationen
Pseudopriacanthus altus
Polyprion
Antigonia capros
Scorpaena sp.
Koordinatentransformation nach Albrecht Dürer
Rätsel der
sogenannten
Schrott-DNA
(junk DNA)
Für KoordinatenTransformation ?
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
y3  a31x1  a32 x 2  a33 x 3  a34 x 4  a35 x 5
n2
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
Statt
n2 benötigen wir nur n ( n  1)
2
Koeffizienten
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
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
)
Modifizierter Algorithmus
einer geschachtelten ES
Mathematische Formulierung einer (1, l )-Ortho-ES
in ungeschachtelter Form
g
 Nk
  Eg  
Variation k = 1, 2, … l Nachkommen
g
g
x Nk
 xEg   Nk
z
 ( xEg  xEg m )  z
g
 Eg 1   NB
g
xEg 1  xNB
Selektion (B = Bester Nachkomme)
Ende
www.bionik.tu-berlin.de
Herunterladen