Ingo Rechenberg PowerPoint-Folien zur 9. Vorlesung Evolutionsstrategie I Fortschrittstheorie der (1, ) – Evolutionsstrategie 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
Von der linearen Theorie zur nichtlinearen Theorie lin kug
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
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,1352
Das dimensionslose Fortschrittsgesetz mitund folgt das zentrale Fortschrittsgesetz Dimensionslose Fortschrittsgeschwindigkeit Dimensionslose Schrittweite
Algorithmus der (1, ) – Evolutionsstrategie mit MSR !
Methoden zur Erzeugung der Zufallszahlen 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/
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; de=1; xe=ones(v,1); Variablenzahl und Startwerte für Schrittweite und Variablen- werte des Start-Elters
M ATLAB -Programm der (1, ) ES v=100; de=1; xe=ones(v,1); for g=1:1000 end Erzeugen der Generationenschleife
M ATLAB -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
M ATLAB -Programm der (1, ) ES v=100; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:10 end Generierung der Nachkommenschleife
M ATLAB -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
M ATLAB -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
M ATLAB -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
M ATLAB -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 Bei Q-Verbesserung Zwischen- speicherung der Qualität, Schritt- weite und Variablenwerte
M ATLAB -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 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; 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 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 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
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
Theorie: Abstand zweier Zufallspunkte X und Y im Hyperkubus l l l D Wir deuten einen Zufallspunkt als Start und den anderen Zufallspunkt als Ziel der Optimierung Start Ziel
Kantenlänge des Hyperwürfels = l Zufallsstart
Zur Ableitung der Generationsformel Es möge immer im Maximum laufen folgt Aus Erlaubter relativer Fehler
Ende