340 likes | 476 Views
Ingo Rechenberg. PowerPoint-Folien zur 9. Vorlesung „Evolutionsstrategie I“. Fortschrittstheorie der (1, l ) – Evolutionsstrategie am Kugelmodell. D ARWIN s Denkschema in maximaler Abstraktion. Genauere Nachahmung der biologischen Evolution.
E N D
Ingo Rechenberg PowerPoint-Folien zur 9. Vorlesung „Evolutionsstrategie I“ Fortschrittstheorie der (1, l) – Evolutionsstrategie am Kugelmodell
DARWINs Denkschema in maximaler Abstraktion Genauere Nachahmung der biologischen Evolution
Ergebnis der linearen Theorie mit Tabelle der Fortschrittsbeiwerte Fortschrittsbeiwert
Von der linearen Theorie jlin jkug zur nichtlinearen Theorie
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
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
Das dimensionslose Fortschrittsgesetz Dimensionslose Schrittweite Dimensionslose Fortschrittsgeschwindigkeit mit und folgt das zentrale Fortschrittsgesetz
Methoden zur Erzeugung der Zufallszahlen x Für l gerade (z.B. l = 10) Für l durch 3 teilbar (z.B. l = 9) Für l beliebig (im Programmiermodus) IF RND <.5 THEN xi = aELSE xi= 1/a
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
Drei Fragen zu Beginn eines ES-Experiments 1. Frage nach dem Startpunkt ? 2. Frage nach der Startschrittweite ? 3. Frage nach der Versuchsdauer ?
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
Theorie: Abstand zweier Zufallspunkte X und Yim Hyperkubus Wir deuten einen Zufallspunkt als Start und den anderen Zufallspunkt als Ziel der Optimierung Ziel D l Start l l
Zufallsstart Kantenlänge des Hyperwürfels =l
Zur Ableitung der Generationsformel Es möge jimmer im Maximum laufen folgt Aus Erlaubter relativer Fehler