Ingo Rechenberg PowerPoint-Folien zur 8. Vorlesung „Evolutionsstrategie I“ Nichtlineare Theorie der (1, ) - Evolutionsstrategie Fortschritt und Erfolg am Kugelmodell
D ARWIN s Denkschema in maximaler Abstraktion Genauere Nachahmung der biologischen Evolution
Basis-Algorithmus der (1, ) - Evolutionsstrategie
mit Ergebnis der linearen Theorie Tabelle der Fortschrittsbeiwerte 10 20, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,2414 Fortschrittsbeiwert n Zur Erinnerung Manko der linearen Theorie:
Von der linearen Theorie zur nichtlinearen Theorie lin kug Einfachste isotrope nichtlineare Funktion
Zur Erinnerung Bergsteigen der Evolution Qualität / Fitness Fittness-Landschaft
a 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 Es werde q so um die x 1 -Achse gedreht, dass der q- Pfeil in der Bildschirmebene liegt Wir sind frei in der Wahl des Koordinatensystems. Deshalb wählen wir die Koordinaten so Achtung: x 1 wird zunächst ausgelassen
Vergleich der theoretischen Ergebnisse am Kugelmodell Die genauere Nachahmung der biologischen Evolution mit Nachkommen führt überraschend zu einer einfacheren Formel als die simple (1 + 1) -ES.
Bestimmung von Dimensionsloser Fortschritt
Tabelle des maximalen Fortschritts 20, , , , , , , , , ,2535 parallel
Tabelle des maximalen Fortschritts 20,15920, ,35810, ,52980, ,67620, ,80290, ,18390, ,74370, ,52920, ,14400, ,25350,0053 parallel seriell 0,1352 Maximum
Optimale Erfolgswahrscheinlichkeit 20,15920,07960,393 30,35810,11940,341 40,52980,13250,309 50,67620,13520,286 60,80290,13380, ,18390,11840, ,74370,08720, ,52920,05060, ,14400,03140, ,25350,00530,053 parallel seriell 0, : 3,5
(1 + 1) - ES versus (1, ) - ES Vergleich der maximalen Fortschrittsgeschwindigkeiten am Kugelmodell bei seriellem Arbeiten
Das dimensionslose Fortschrittsgesetz mitund folgt das zentrale Fortschrittsgesetz Dimensionslose Fortschrittsgeschwindigkeit Dimensionslose Schrittweite Text
Das Fortschrittsfenster der Evolutionsstrategie am Kugelmodell hat eine allgemeinen 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 Linken Die Rechten Französische Nationalversammlung 1789
Algorithmus der (1, ) – Evolutionsstrategie mit MSR ! Die Schrittweite, die mehr im Zentrum des Evolutionsfensters liegt, überlebt!
Logarithmische Normalverteilung z normalverteilt Flächengleich
Methoden zur Erzeugung der Variationen Für gerade (z. B. = 10) Für durch 3 teilbar (z. B. = 9) Für beliebig (im Programmiermodus) IF RND <.5 THEN i = ELSE i = 1/ Determinisierung Text
Determinisierte mutative Schrittweitenregelung am Kugelmodell Computer-Demonstration
M ATLAB -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
M ATLAB -Programm der (1, ) ES
v=100; kk=10; de=1; xe=ones(v,1); Variablenzahl, Nachkommenzahl, Startschrittweite und Variablen- werte des Start-Elters ones(m,n): Vektor/Matrix der Dimension m × n mit nur Einsen Nur eine Spalte
M ATLAB -Programm der (1, ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 end Erzeugen der Generationenschleife
M ATLAB -Programm der (1, ) ES v=100; kk=10; 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
M ATLAB -Programm der (1, ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk end Generierung der Nachkommenschleife
M ATLAB -Programm der (1, ) ES 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 end end Deterministische Variation der Mutationsschrittweite
M ATLAB -Programm der (1, ) ES 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); end end Erzeugung eines mutierten Nachkommen
M ATLAB -Programm der (1, ) ES 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); end end Bestimmung der Qualität des mutierten Nachkommen
M ATLAB -Programm der (1, ) ES 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; end end Bei Q -Verbesserung Zwischen- speicherung der Qualität, Schritt- weite und Variablenwerte
M ATLAB -Programm der (1, ) ES 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; end qe=qb; de=db; xe=xb; end Nachkomme aus dem Bestwert- Zwischenspeicher wird zum Elter der nächsten Generation
M ATLAB -Programm der (1, ) ES 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; end qe=qb; de=db; xe=xb; semilogy(kk*g,qe,'b.') hold on; drawnow; end Darstellung der Qualität als Funktion des seriellen Aufwands Kinderzahl x Generationen
Erproben des Programms in M ATLAB Kopieren Sie das Programm der vorangegangenen Folie. Öffnen Sie M ATLAB 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
Drei Fragen zu Beginn eines ES-Experiments 1. Frage nach dem Startpunkt ? 2. Frage nach der Startschrittweite ? 3. Frage nach der Versuchsdauer ? Abgeschlossener Variablenraum
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 l l l D X Y
Simulation im 600-dimensionalen Hyperwürfel der Kantenlänge l = 20 D 1 =198,23 D 2 =201,25 D 3 =199,61 D 4 =209,62 D 5 =205,05
Aus der Theorie „Abstand zweier Zufallspunkte und im Hyperkubus“ folgt l l l D Wir wissen nicht wo das Ziel liegt, d. h. es kann an jeder Stelle mit gleicher Wahrscheinlichkeit liegen. Start Ziel Wir nehmen eine isotrope Quadrik (= Kugelmodell) als Qualitätsfunktion im Suchraum des Hyperwürfels an D = Start-Ziel -Entfernung Das Ziel kann dann als ein Zufallspunkt 1 aufgefasst werden. Jeder Startpunkt ist gleich gut/schlecht. Wir starten deshalb auch an einem Zufallspunkt 2.
Kantenlänge des Hyperwürfels = l Zufallsstart mit
ES-Suchschlauch im Kugelmodell für n ≈ 900 r Die Geschwindigkeit ist an jeder Stelle bekannt, wenn die Schrittweitenregelung der Evolutionsstrategie richtig arbeitet.
Zur Ableitung der Generationsformel Es möge immer im Maximum laufen folgt Aus Erlaubter relativer Fehler bezogen auf die Stelllänge oder Text Genauigkeit
Ende
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.
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.