Ingo Rechenberg PowerPoint-Folien zur 8. Vorlesung Evolutionsstrategie I Nichtlineare Theorie der...

Post on 05-Apr-2015

107 views 4 download

transcript

Ingo Rechenberg

PowerPoint-Folien zur 8. Vorlesung „Evolutionsstrategie I“

Nichtlineare Theorie der (1, ) - Evolutionsstrategie

Fortschritt und Erfolg am Kugelmodell

Weiterverwendung nur unter Angabe der Quelle gestattet

DARWINs Denkschema in maximaler Abstraktion

ES)1( 1

Genauere Nachahmung der biologischen Evolution

ES),( 1

Basis-Algorithmus der (1, ) - Evolutionsstrategie

1E1N 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

Fortschrittsbeiwertn

Zur Erinnerung

Von der linearen Theorie

zur nichtlinearen Theorie

lin

kug

Einfachste isotrope nichtlineare Funktion

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

Projektion erlaubt wenn q << rWir drehen q um die x1-Achse so, dass q in der Bildschirmebene liegt

Vergleich der theoretischen Ergebnisse am Kugelmodell

rn

rnr

n

882erf1

2

1) (18e

rnc2

2

,1) (1,

Die genauere Nachahmung der biologischen Evolution mit Nachkommen führt überraschend zu einer einfacheren Formel als die simple (1 + 1) -ES

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

(1 + 1) - ES versus (1, ) - ES

Vergleich der maximalen Fortschrittsgeschwindigkeiten am Kugelmodell bei seriellem Arbeiten

nr 202,0max)11( n

r 513,0seriellmax)5,1(

max)11(seriellmax)5,1( 67,0

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

Text

-5 -3 -1 310

0,2

0,1

0,3

1 01 01 01 010

2

Evolutions Fenster

Text

Algorithmus der (1, ) – Evolutionsstrategie mit MSR

1g

1NE1N zxx gg

22NE2N zxx ggg

zxx gggNEN

eiltnormalvert)1,0(,, /21 nzzz n

ggNBE

1 xx )(),(),()( NN2N1NB minmax/ gggg QQQQ xxxx

ggNBE

1

1E1N gg

2E2N gg

ggEN

eiltnormalvert schlogarithmi

!

Methoden zur Erzeugung der Variationen

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/

De

term

inis

ieru

ng

Text

Determinisierte mutative Schrittweitenregelung am Kugelmodell

Computer-Demonstration

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

MATLAB 6.5.lnk

Erproben des Programms in MATLAB

Kopieren Sie das Programm der vorangegangenen Folie. Öffnen Sie MATLAB und klicken Sie in der Taskleiste auf File/New/M-file. Fügen Sie das Programm ein und klicken Sie auf das Symbol Run

Ändern Sie die Zahl der Generationen von 1000 auf 2000 [g = 1 : 2000] und die Zahl der Nachkommen von 10 auf 5 [k = 1 : 5]. Ändern Sie die Kurvenfarbe von blau auf rot [semilogy(g,qe,′r.') ]. Sie werden mit der gleichen Zahl von Funktionsaufrufen g × k = 10000 etwas näher an das Optimum herankommen.

Wiederholen sie die Prozedur für:

[g = 1 : 3333], [k = 1 : 3], [semilogy(g,qe,‚g.') ]

[g = 1 : 500], [k = 1 : 20], [semilogy(g,qe,‚y.') ]

Das Ergebnis: Bei 5 Nachkommen [k = 1 : 5] kommen Sie bei der seriellen Arbeitsweise des Rechners dem Optimum (Nullpunkt) am nächsten.

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

Aus der Theorie „Abstand zweier Zufallspunkte und im Hyperkubus“ folgt

l

l

l

D

Wir deuten einen Zufallspunkt als Start und den anderen Zufallspunkt als Ziel der Optimierung.

Start

Ziel

Wir nehmen eine isotrope Quadrik(= Kugelmodell) als Qualitätsfunktion im Suchraum des Hyperwürfels an

D = Start-Ziel -Entfernung

)((opt)Kugel Start Dr )()( (max)Kugel rr

Kantenlänge des Hyperwürfels = l

Zufallsstart

6,1

)1( lcE

61ln2

2,1

c

ng

Dr mit

Zur Ableitung der Generationsformel

gr

dd Es möge immer im Maximum laufen

nrc

gr

2dd 2

,1 folgt

E

A

E

A

d12

12,1

g

g

r

r

gn

crdr

)(2

ln AEE

A2,1 ggn

crr

nllllr n 222

21 )()()(E

61ln2

2,1

c

ng

6/A nlr

Aus

Erlaubter relativer Fehler bezogen auf die Stelllänge

1

)1()( gg rr oder

Text

Ende

www.bionik.tu-berlin.de

In der Formel

ist die Fortschrittsgeschwindigkeit eine Funktion von der Variablenzahl n, dem Höhenlinien-Krümmungsradius r, der Mutationsstreuung und der Nachkommenzahl . Nur eine riesige Schar von Diagrammen könnte den Zusammenhang grafisch veranschaulichen.

In der dimensionslosen Form mit den universellen Parametern und ist der Zusammenhang in einem einzigen Diagramm darstellbar.

rnc2

2

,1Kugel

Das Fortschrittsfenster der Evolutionsstrategie am Kugelmodell hat eine allge-meinen Erkenntniswert. Man könnte, wenn auch politisch verdreht, wie folgt argumentieren: Rechts vom Evolutionsfenster sitzen die Revolutionäre und links davon die Erzkonservativen. Bei den Revolutionären gibt es Rückschritt, bei den Konservativen kommt es zu Stagnation. Sich für die richtige Schrittweite zu entscheiden; das ist die Kunst, die für den Politiker, Manager und Ingenieur gleichermaßen wichtig ist.

Die Verwendung von logarithmisch normalverteilten Zufallszahlen für die Schritt-weitenmutationen gewährleistet erstens, dass keine sinnlosen negativen Schritt-weiten entstehen können und dass zweitens multiplikative Symmetrie herrscht. Schrittweiten werden genauso häufig verdoppelt wie halbiert, genauso häufig verdreifacht wie gedrittelt usw.

Bei der Determinisierung der Schrittweitenmutationen wird diese multiplikative Symmetrie genau gleich auf die Nachkommen aufgeteilt.

Wer mit dem Auto von Berlin Frohnau zum Kurfürstendamm in Berlins Innenstadt fahren möchte und ausrechnen möchte, wie lange die Fahrt dauert, muss

a) wissen, wie viele Kilometer es bis zum Kudamm sind und

b) wissen, wie schnell auf jedem Streckenabschnitt gefahren werden kann.

Genauso ist es auch bei der Vorausberechnung der Generationszahl für eine ES-Optimierung. Die Entfernung zum Ziel ist bekannt: Es ist die Distanz zweier Zufallspunkte in einem Hyper-würfel als Suchraum, wenn voraussetzungsgemäß der Startpunkt zufällig gewählt wird, und wenn das Ziel - weil unbekannt - als zweiter Zufallspunkt interpretiert wird.

Es werde angenommen, dass der Suchraum durch eine isotrope Quadrikfunktion (Kugelmodell) ausgefüllt wird. Funktioniert die mutative Schrittweitenregelung, dann ist die Fortschrittsge-schwindigkeit der ES an jeder Position während der Zielannäherung bekannt ( = max).

Daraus folgt: Es lässt sich eine Mindestgenerationszahl für die Lösung des Optimierungspro-blems ausrechnen.