Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

PowerPoint-Folien zur 8. Vorlesung „Evolutionsstrategie I“

Ähnliche Präsentationen


Präsentation zum Thema: "PowerPoint-Folien zur 8. Vorlesung „Evolutionsstrategie I“"—  Präsentation transkript:

1 PowerPoint-Folien zur 8. Vorlesung „Evolutionsstrategie I“
Ingo Rechenberg PowerPoint-Folien zur 8. Vorlesung „Evolutionsstrategie I“ Nichtlineare Theorie der (1, l ) - Evolutionsstrategie Fortschritt und Erfolg am Kugelmodell

2 DARWINs Denkschema in maximaler Abstraktion
Genauere Nachahmung der biologischen Evolution

3 Basis-Algorithmus der (1, l ) - Evolutionsstrategie

4 n d s = Ergebnis der linearen Theorie mit
Tabelle der Fortschrittsbeiwerte Fortschrittsbeiwert l 1 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 Zur Erinnerung l 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 l 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 l 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 l 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

5 j lin j kug Von der linearen Theorie zur nichtlinearen Theorie
Einfachste isotrope nichtlineare Funktion

6  Zur Erinnerung Bergsteigen der Evolution Qualität / Fitness
Fittness-Landschaft Zur Erinnerung Bergsteigen der Evolution

7 Eine geometrische Betrachtung für n >> 1
Wir sind frei in der Wahl des Koordinatensystems. Deshalb wählen wir die Koordinaten so Der bis auf x 1 mutierte Nachkomme N‘ erleidet den Rückschritt a Für q << r darf a auf x 1 projiziert werden Mutation der Variablen x 2 bis x n a Wir drehen q um die x1-Achse so, dass q in der Bildschirmebene liegt

8 Vergleich der theoretischen Ergebnisse am Kugelmodell
Die genauere Nachahmung der biologischen Evolution mit l Nachkommen führt überraschend zu einer einfacheren Formel als die simple (1 + 1) -ES

9 Bestimmung von Bestimmung von j Dimensionsloser Fortschritt

10 l Tabelle des maximalen Fortschritts 2 0,1592 3 0,3581 4 0,5298 5
parallel 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 l

11 l Tabelle des maximalen Fortschritts 2 0,1592 0,0796 3 0,3581 0,1194 4
parallel seriell 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 l 0,1352 Maximum

12 l Optimale Erfolgswahrscheinlichkeit 2 0,1592 0,0796 0,393 3 0,3581
parallel seriell 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 l 0,1352 ggg

13 (1 + 1) - ES versus (1, l) - ES Vergleich der maximalen Fortschrittsgeschwindigkeiten am Kugelmodell bei seriellem Arbeiten

14 Das dimensionslose Fortschrittsgesetz
Dimensionslose Fortschrittsgeschwindigkeit Dimensionslose Schrittweite mit und folgt das zentrale Fortschrittsgesetz Text

15 Text

16 ! Algorithmus der (1, l ) – Evolutionsstrategie mit MSR
Die Schrittweite, die mehr im Zentrum des Evolutionsfensters liegt, überlebt!

17 Logarithmische Normalverteilung
z normalverteilt Flächengleich Logarithmische Normalverteilung

18 Methoden zur Erzeugung der Variationen x
Für l gerade (z. B. l = 10) Determinisierung Für l durch 3 teilbar (z. B. l = 9) Für l beliebig (im Programmiermodus) IF RND <.5 THEN xi = a ELSE xi = 1/a Text

19 Determinisierte mutative Schrittweitenregelung am Kugelmodell
Computer-Demonstration

20 Zur Erinnerung 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; Zur Erinnerung

21 MATLAB-Programm der (1, l ) ES

22 MATLAB-Programm der (1, l ) ES
Variablenzahl, Nachkommenzahl, Startschrittweite und Variablen-werte des Start-Elters v=100; kk=10; de=1; xe=ones(v,1); Nur eine Spalte ones(m,n): Vektor/Matrix der Dimension m × n mit nur Einsen

23 MATLAB-Programm der (1, l ) ES
Erzeugen der Generationenschleife v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 end

24 MATLAB-Programm der (1, l ) ES
Initialisierung der Qualität im Bestwert-Zwischenspeicher auf nicht verschlechterbaren Wert v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; end

25 MATLAB-Programm der (1, l ) ES
Generierung der Nachkommenschleife v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk end

26 MATLAB-Programm der (1, l ) ES
Deterministische Variation der Mutationsschrittweite v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk if rand < 0.5 dn=de*1.3; else dn=de/1.3; end

27 MATLAB-Programm der (1, l ) ES
Erzeugung eines mutierten Nachkommen v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk if rand < 0.5 dn=de*1.3; else dn=de/1.3; end xn=xe+dn*randn(v,1)/sqrt(v);

28 MATLAB-Programm der (1, l ) ES
Bestimmung der Qualität des mutierten Nachkommen v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk 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);

29 MATLAB-Programm der (1, l ) ES
Bei Q -Verbesserung Zwischen-speicherung der Qualität, Schritt-weite und Variablenwerte v=100; kk=10; 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;

30 MATLAB-Programm der (1, l ) ES
Nachkomme aus dem Bestwert-Zwischenspeicher wird zum Elter der nächsten Generation v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk 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; qe=qb; de=db; xe=xb;

31 MATLAB-Programm der (1, l ) ES
Darstellung der Qualität als Funktion des seriellen Aufwands Kinderzahl x Generationen v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk 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; qe=qb; de=db; xe=xb; semilogy(kk*g,qe,'b.') hold on; drawnow;

32 Erproben des Programms in MATLAB
Kopieren Sie das Programm der vorangegangenen Folie. Öffnen Sie MATLAB und klicken Sie in der Taskleiste auf „File/New/Script“. Fügen Sie das Programm ein und klicken Sie auf das Symbol „Save and Run“ (Speichern). Ändern Sie die Zahl der Kinder von 10 auf 5 [kk = 5] und die Zahl der Generationen von 1000 auf 2000 [g = 1 : 2000]. Ändern Sie die Kurvenfarbe von blau auf rot [semilogy(g,qe,′r.') ]. Sie werden mit der gleichen Zahl von Funktionsaufrufen g × kk = vielleicht etwas näher an das Optimum herankommen. Wiederholen sie die Prozedur für: [g = 1 : 3333], [kk = 3], [semilogy(g,qe,‚g.') ] [g = 1 : 500], [kk = 20], [semilogy(g,qe,‚y.') ] Das Ergebnis: Bei 5 Nachkommen [k = 1 : 5] sollten Sie bei der seriellen Arbeitsweise des Rechners dem Optimum (Nullpunkt) am nächsten kommen. MATLAB R2010a

33 Drei Fragen zu Beginn eines ES-Experiments
1. Frage nach dem Startpunkt ? 2. Frage nach der Startschrittweite ? 3. Frage nach der Versuchsdauer ? Abgeschlossener Variablenraum

34 Abstand D zweier Zufallspunkte
Eine Zwischenbetrachtung im Quadrat im Hyperkubus D sehr verschieden D nahezu konstant

35 l l l Theorie: Abstand zweier Zufallspunkte X und Y im Hyperkubus D Y

36 Simulation im 600-dimensionalen Hyperwürfel der Kantenlänge l = 20

37 Aus der Theorie „Abstand zweier Zufallspunkte und im Hyperkubus“ folgt
Wir wissen nicht wo das Ziel liegt, d. h. es kann an jeder Stelle mit gleicher Wahrscheinlichkeit liegen. Das Ziel kann dann als ein Zufallspunkt 1 aufgefasst werden. Ziel Jeder Startpunkt ist gleich gut/schlecht. Wir starten deshalb auch an einem Zufallspunkt 2. D l Start D = Start-Ziel -Entfernung l Wir nehmen eine isotrope Quadrik (= Kugelmodell) als Qualitätsfunktion im Suchraum des Hyperwürfels an l

38 Zufallsstart Kantenlänge des Hyperwürfels = l mit

39 r ES-Suchschlauch im Kugelmodell für n ≈ 900
Die Geschwindigkeit ist an jeder Stelle bekannt, wenn die Schrittweitenregelung der Evolutionsstrategie richtig arbeitet. r

40 Zur Ableitung der Generationsformel
Es möge j immer im Maximum laufen oder Aus folgt Erlaubter relativer Fehler bezogen auf die Stelllänge Genauigkeit Text

41 Ende

42 In der Formel ist die Fortschrittsgeschwindigkeit j eine Funktion von der Variablenzahl n, dem Höhenlinien-Krümmungsradius r, der Mutationsstreuung s und der Nachkommenzahl l. Nur eine riesige Schar von Diagrammen könnte den Zusammenhang grafisch veranschaulichen. In der dimensionslosen Form mit den universellen Parametern F und D ist der Zusammenhang in einem einzigen Diagramm darstellbar.

43 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.

44 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.

45 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 (j = j max). Daraus folgt: Es lässt sich eine Mindestgenerationszahl für die Lösung des Optimierungspro-blems ausrechnen.


Herunterladen ppt "PowerPoint-Folien zur 8. Vorlesung „Evolutionsstrategie I“"

Ähnliche Präsentationen


Google-Anzeigen