430 likes | 563 Views
Ingo Rechenberg. PowerPoint-Folien zur 8. Vorlesung „Evolutionsstrategie I“. Nichtlineare Theorie der (1, l ) - Evolutionsstrategie Fortschritt und Erfolg am Kugelmodell. Nicht kommerzielle Weiterverwendung für die Lehre gestattet.
E N D
Ingo Rechenberg PowerPoint-Folien zur 8. Vorlesung „Evolutionsstrategie I“ Nichtlineare Theorie der (1, l) - Evolutionsstrategie Fortschritt und Erfolg am Kugelmodell Nicht kommerzielle Weiterverwendung für die Lehre gestattet
DARWINs Denkschema in maximaler Abstraktion Genauere Nachahmung der biologischen Evolution
d s = n Ergebnis der linearen Theorie mit Tabelle der Fortschrittsbeiwerte Fortschrittsbeiwert Zur Erinnerung
Von der linearen Theorie jlin jkug zur nichtlinearen Theorie Einfachste isotrope nichtlineare Funktion
Eine geometrische Betrachtung für n>> 1 Der bis aufx1 mutierte Nachkomme N‘ erleidet den Rückschritt a Für q<< r darfaauf x1 projiziert werden Mutation der Variablen x2 bis xn a Projektion erlaubt wenn q<<r Wir drehen q um die x1-Achse so, dass q in der Bildschirmebene liegt
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
Bestimmung von Bestimmung von Dimensionsloser Fortschritt
Tabelle des maximalen Fortschritts parallel l
Tabelle des maximalen Fortschritts parallel seriell l Maximum 0,1352
Optimale Erfolgswahrscheinlichkeit parallel seriell l 0,1352
(1+1) - ES versus (1, l) - ES Vergleich der maximalen Fortschrittsgeschwindigkeiten am Kugelmodell bei seriellem Arbeiten
Das dimensionslose Fortschrittsgesetz Dimensionslose Schrittweite Dimensionslose Fortschrittsgeschwindigkeit mit und folgt das zentrale Fortschrittsgesetz Text
z normalverteilt Flächengleich Logarithmische Normalverteilung
Methoden zur Erzeugung der Variationen x Für l gerade (z.B. l = 10) Für l durch 3 teilbar (z.B. l = 9) Determinisierung Für l beliebig (im Programmiermodus) IF RND <.5 THEN xi = aELSE xi= 1/a 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, l) ES Variablenzahl und Startwerte für Schrittweite und Variablen-werte des Start-Elters v=100; de=1; xe=ones(v,1);
MATLAB-Programm der (1, l) ES v=100; de=1; xe=ones(v,1); for g=1:1000 end Erzeugen der Generationenschleife
MATLAB-Programm der (1, l) ES Initialisierung der Qualität im Bestwert-Zwischenspeicher auf nicht verschlechterbaren Wert v=100; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; end
MATLAB-Programm der (1, l) ES v=100; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:10 end end Generierung der Nachkommenschleife
MATLAB-Programm der (1, l) 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, l) 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, l) 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, l) ES Bei Q-Verbesserung Zwischen-speicherung der Qualität, Schritt-weite und Variablenwerte 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
MATLAB-Programm der (1, l) ES Nachkomme aus dem Bestwert-Zwischenspeicher wird zum Elter der nächsten Generation 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
MATLAB-Programm der (1, l) 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
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 ? Abgeschlossener Variablenraum
Abstand D zweier Zufallspunkte Eine Zwischenbetrachtung im Hyperkubus im Quadrat D nahezu konstant D sehr verschieden
Theorie: Abstand zweier Zufallspunkte X und Yim Hyperkubus D l l l
Simulation im 600-dimensionalen Hyperwürfel der Kantenlänge l = 20 D1=198,23 D2=201,25 D3=199,61 D4=209,62 D5=205,05
D = Start-Ziel-Entfernung Aus der Theorie „Abstand zweier Zufallspunkte und im Hyperkubus“ folgt Wir deuten einen Zufallspunkt als Start und den anderen Zufallspunkt als Ziel der Optimierung. Ziel D l Start Wir nehmen eine isotrope Quadrik (=Kugelmodell) als Qualitätsfunktion im Suchraum des Hyperwürfels an l l
mit Zufallsstart Kantenlänge des Hyperwürfels =l
Zur Ableitung der Generationsformel Es mögejimmer im Maximum laufen oder folgt Aus Erlaubter relativer Fehler bezogen auf die Stelllänge Text
Ende www.bionik.tu-berlin.de
In der Formel ist die Fortschrittsgeschwindigkeit j eine Funktion von der Variablenzahl n, dem Höhenlinien-Krümmungsradius r, der Mutationsstreuung sund der Nachkommenzahl l. Nur eine riesige Schar von Diagrammen könnte den Zusammenhang grafisch veranschaulichen. In der dimensionslosen Form mit den universellen ParameternF und D ist der Zusammenhang in einem einzigen Diagramm darstellbar.
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 (j =jmax). Daraus folgt: Es lässt sich eine Mindestgenerationszahl für die Lösung des Optimierungspro-blems ausrechnen.