Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Mine Geck Geändert vor über 11 Jahren
1
PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“
Ingo Rechenberg PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“ Anwendungsfelder geschachtelter Evolutionsstrategien - Programmierung einer geschachtelten ES Weiterverwendung nur unter Angabe der Quelle gestattet
2
Selektion der besten Populationen Zweitbeste Population
Auf dem Weg zu einer evolutionsstrategischen Algebra g [ ] m , m , ( l ) - ES + l + Beispiel: m = 2, l = 6, l´ = 4, g = 8 , m´ = 2 2 , 4 (2, 6)8 (2, 6)8 + (2, 6)8 + (2, 6)8 + (2, 6)8 = Selektion der besten Populationen Beste Population Zweitbeste Population
3
Beispiel für eine algebraische Operation in einer geschachtelten ES
1 1, 2 1, 1 Zwei unterschiedliche Strategien
4
Die Geschachtelte Evolutionsstrategie
Höchste Nachahmungsstufe der biologischen Evolution m' = Zahl der Eltern-Populationen l' = Zahl der Nachkommen-Populationen m = Zahl der Eltern-Individuen l = Zahl der Nachkommen-Individuen g = Generationen der Isolation g ' = Zahl der Populations-Generationen r' = Mischungszahl Populationen r = Mischungszahl Individuen
5
| Familie Gattung { Art [ Varietät ( Individuum ) ] } |
Biologische Entsprechung der Strategie-Schachtelung | Familie Gattung { Art [ Varietät ( Individuum ) ] } |
6
Anwendungsfelder für geschachtelte Evolutionsstrategien
Strategievariablen Objektvariablen Strategie-Evolution Sprungvariablen Gleitvariablen Gemischt ganzzahlige Optimierung Qualität Q1 Qualität Q 2 Zwei-Ziele-Optimierung Springen Klettern Globale Optimierung Vergangenheit Gegenwart Ortho-Evolution Anwendungsfelder für geschachtelte Evolutionsstrategien
7
Anwendungsfelder für geschachtelte Evolutionsstrategien
Strategievariablen Objektvariablen Strategie-Evolution Anwendungsfelder für geschachtelte Evolutionsstrategien
8
Vier Kletterstrategien im Wettbewerb
Angsthase Kolumbus Amundsen Hitzkopf Vier Kletterstrategien im Wettbewerb
9
Algorithmus der (1, l ) – Evolutionstrategie mit MSR
Es ist problematisch anzunehmen, dass sich schon nach einer Generation die beste Fortschrittsgeschwindigkeit selektieren lässt.
10
a = 1,1 … 1,5 Korrekte mutative Schrittweitenanpassung mit
einer geschachtelten Evolutionsstrategie a = 1,1 … 1,5 Notation auf linker Klammerseite bedeutet : Schrittweite wird von der äußeren Klammer in die innere Klammer übertragen
11
Die geschachtelte Evolutionsstrategie
Neue Gründerpopulationen Die geschachtelte Evolutionsstrategie
12
Anwendungsfelder für geschachtelte Evolutionsstrategien
Strategievariablen Objektvariablen Strategie-Evolution Sprungvariablen Gleitvariablen Gemischt ganzzahlige Optimierung Anwendungsfelder für geschachtelte Evolutionsstrategien
13
Gleitvariable ! Sprungvariable ! y x Gewicht Minimum
14
Anwendungsfelder für geschachtelte Evolutionsstrategien
Strategievariablen Objektvariablen Strategie-Evolution Sprungvariablen Gleitvariablen Gemischt ganzzahlige Optimierung Qualität Q1 Qualität Q 2 Zwei-Ziele-Optimierung Anwendungsfelder für geschachtelte Evolutionsstrategien
15
Eine 2-Ziele-Optimierung
16
Anwendungsfelder für geschachtelte Evolutionsstrategien
Strategievariablen Objektvariablen Strategie-Evolution Sprungvariablen Gleitvariablen Gemischt ganzzahlige Optimierung Qualität Q1 Qualität Q 2 Zwei-Ziele-Optimierung Springen Klettern Globale Optimierung Anwendungsfelder für geschachtelte Evolutionsstrategien
18
Gründer Populationen
22
9 8 7 6 5 4 8 3 7 6 5 4 3 8 9 6 7 5 Wir sind hier 3 4 9 8 7 7 6 6 5 5 4 4 3 3 7 Für n >> 1 sind die weißen Einzugsgebiete der Berge vernachlässigbar klein gegenüber dem schwarzen Gebiet dazwischen ! 6 5 4 3 7 6 5 6 7 8 6 4 3 4 5 3 5 4 3 22
23
Lückenwert L L = Zwischenraum Kugelraum
„weiß“: Einzugsgebiete der Berge „schwarz“: Zwischenräume
24
Evolutionsstrategische Optimierung eines Freiträgers mit minimalem Gewicht
25
Anwendungsfelder für geschachtelte Evolutionsstrategien
Strategievariablen Objektvariablen Strategie-Evolution Sprungvariablen Gleitvariablen Gemischt ganzzahlige Optimierung Qualität Q1 Qualität Q 2 Zwei-Ziele-Optimierung Springen Klettern Globale Optimierung Vergangenheit Gegenwart Ortho-Evolution Anwendungsfelder für geschachtelte Evolutionsstrategien
26
, , [ m ] m l l ( ) - ES g g + + Ortho-Evolution !
Geschachtelte Evolutionsstrategie [ m , , g ] g m + l ( + l ) - ES Aktuelle Position Gründerposition Ortho-Evolution !
27
e e d h d b h d b ( ) ( d d ) h h R q F 1 Strahl 2 = Brechungsindex
h d 1 Strahl 2 b h d 2 b ( e 1 ) ( d d ) h 2 1 h k R q 2 e = Brechungsindex F w = Gewichtsfaktor Zwei-Ziele-Optimierung
29
Das Wunder der Koordinatentransformation
30
D‘ARCY THOMSONs Transformationen
Pseudopriacanthus altus Polyprion Antigonia capros Scorpaena sp.
31
Koordinatentransformation nach Albrecht Dürer
32
Rätsel der sogenannten Schrott-DNA (junk DNA)
Für Koordinaten- Transformation ? Bauanweisung für Protein „Dunkle“ DNA über 95%
33
Lineare Transformation: Polygenie und Polyphänie
Pleiotropie Lineare Transformation: Polygenie und Polyphänie Ein Merkmal (y) wird von vielen Genen (x) gesteuert n = 5 ! Ein Gen (x) steuert viele Merkmale (y)
34
Schiefwinklige lineare Koordinaten-Transformationen
35
Zu viele Koeffizienten für Transformation eines orthogonalen Systems
Statt benötigen wir nur Koeffizienten
36
ES-Hybridverfahren Matrizenrechnung Orthogonalisierungsverfahren
CMA-Methode Covarianz-Matrix-Adaptation ES-Hybridverfahren
37
Programmierung einer geschachtelten Evolutionsstrategie
38
Algorithmus: Farbe anstelle eines Index !
39
MATLAB-Programm der (1, l ) ES
40
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; Variablenzahl, Generationszahl, Nachkommenzahl und Startwerte für Variablenwerte und Schritt-weite des Start-Elters
41
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg end Erzeugen der Generationenschleife
42
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; end Initialisierung der Qualität im Bestwert-Zwischenspeicher auf nicht verschlechterbaren Wert
43
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; for k=1:kk end Generierung der Nachkommenschleife
44
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; for k=1:kk dn=de*aa^(2*round(rand)-1); end Deterministische Variation der Mutationsschrittweite
45
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; for k=1:kk dn=de*aa^(2*round(rand)-1); xn=xe+dn*randn(v,1)/sqrt(v); end Erzeugung eines mutierten Nachkommen
46
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; for k=1:kk dn=de*aa^(2*round(rand)-1); xn=xe+dn*randn(v,1)/sqrt(v); qn=sum(xn.^2); end Bestimmung der Qualität des mutierten Nachkommen
47
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; for k=1:kk dn=de*aa^(2*round(rand)-1); xn=xe+dn*randn(v,1)/sqrt(v); qn=sum(xn.^2); if qn < qb qb=qn; db=dn; xb=xn; end Bei Q-Verbesserung Zwischen-speicherung der Qualität, Schritt-weite und Variablenwerte
48
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; for k=1:kk dn=de*aa^(2*round(rand)-1); 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; Nachkomme aus dem Bestwert-Zwischenspeicher wird zum Elter der nächsten Generation
49
MATLAB-Programm der (1, l ) ES
v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; for k=1:kk dn=de*aa^(2*round(rand)-1); 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; Darstellung der Qualität als Funktion der Generationszahl
50
Von der einfachen zur geschachtelten ES Programmverdopplung
gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; for k=1:kk dn=de*aa^(2*round(rand)-1); 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; v=100; gg=1000; kk=10; xe=ones(v,1); de=1; aa=1.5; for g=1:gg qb=1e+20; for k=1:kk dn=de*aa^(2*round(rand)-1); 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;
51
Programmdifferenzierung
v=100; gg1=1000; kk1=10; xe1=ones(v,1); de1=1; aa1=1.5; for g1=1:gg1 qb1=1e+20; for k1=1:kk1 dn1=de1*aa1^(2*round(rand)-1); xn1=xe1+dn1*randn(v,1)/sqrt(v); qn1=sum(xn1.^2); if qn1 < qb1 qb1=qn1; db1=dn1; xb1=xn1; end qe1=qb1; de1=db1; xe1=xb1; semilogy(g1,qe1,'b.') hold on; drawnow; v=100; gg0=1000; kk0=10; xe0=ones(v,1); de0=1; aa0=1.5; for g0=1:gg0 qb0=1e+20; for k0=1:kk0 dn0=de0*aa0^(2*round(rand)-1); xn0=xe0+dn0*randn(v,1)/sqrt(v); qn0=sum(xn0.^2); if qn0 < qb0 qb0=qn0; db0=dn0; xb0=xn0; end qe0=qb0; de0=db0; xe0=xb0; semilogy(g0,qe0,'b.') hold on; drawnow;
52
Programmschachtelung
v=100; gg1=1000; kk1=10; xe1=ones(v,1); de1=1; aa1=1.5; for g1=1:gg1 qb1=1e+20; for k1=1:kk1 dn1=de1*aa1^(2*round(rand)-1); xn1=xe1+dn1*randn(v,1)/sqrt(v); qn1=sum(xn1.^2); if qn1 < qb1 qb1=qn1; db1=dn1; xb1=xn1; end qe1=qb1; de1=db1; xe1=xb1; semilogy(g1,qe1,'b.') hold on; drawnow; v=100; gg0=1000; kk0=10; xe0=ones(v,1); de0=1; aa0=1.5; for g0=1:gg0 qb0=1e+20; for k0=1:kk0 dn0=de0*aa0^(2*round(rand)-1); xn0=xe0+dn0*randn(v,1)/sqrt(v); qn0=sum(xn0.^2); if qn0 < qb0 qb0=qn0; db0=dn0; xb0=xn0; end qe0=qb0; de0=db0; xe0=xb0; semilogy(g0,qe0,'b.') hold on; drawnow;
53
Programmschachtelung
50 2 v=100; gg1=1000; kk1=10; xe1=ones(v,1); de1=1; aa1=1.5; for g1=1:gg1 qb1=1e+20; for k1=1:kk1 dn1=de1*aa1^(2*round(rand)-1); xn1=xe1+dn1*randn(v,1)/sqrt(v); gg0=1000; kk0=10; xe0=ones(v,1); de0=1; aa0=1.5; 1.0 for g0=1:gg0 qb0=1e+20; for k0=1:kk0 dn0=de0*aa0^(2*round(rand)-1); xn0=xe0+dn0*randn(v,1)/sqrt(v); qn0=sum(xn0.^2); if qn0 < qb0 qb0=qn0; db0=dn0; xb0=xn0; end qe0=qb0; de0=db0; xe0=xb0; semilogy(g0,qe0,'b.') hold on; drawnow; de0=dn1; xe0=xn1; dn1=de0; xn1=xe0; qn1=sum(xn1.^2); if qn1 < qb1 qb1=qn1; db1=dn1; xb1=xn1; end qe1=qb1; de1=db1; xe1=xb1; semilogy(g1,qe1,'b.') hold on; drawnow;
54
Programmschachtelung
v=100; gg1=1000; kk1=2; xe1=ones(v,1); de1=1; aa1=1.5; for g1=1:gg1 qb1=1e+20; for k1=1:kk1 dn1=de1*aa1^(2*round(rand)-1); xn1=xe1+0*randn(v,1)/sqrt(v); gg0=50; kk0=10; xe0=ones(v,1); de0=1; aa0=1.0; for g0=1:gg0 qb0=1e+20; for k0=1:kk0 dn0=de0*aa0^(2*round(rand)-1); xn0=xe0+dn0*randn(v,1)/sqrt(v); qn0=sum(xn0.^2); if qn0 < qb0 qb0=qn0; db0=dn0; xb0=xn0; end qe0=qb0; de0=db0; xe0=xb0; de0=dn1; xe0=xn1; dn1=de0; xn1=xe0; qn1=sum(xn1.^2); if qn1 < qb1 qb1=qn1; db1=dn1; xb1=xn1; end qe1=qb1; de1=db1; xe1=xb1; semilogy(g1,qe1,'b.') hold on; drawnow; MATLAB-Programm einer geschachtelten ES
55
Programmschachtelung
oo=ones(v,1) v=100; gg1=1000; kk1=2; xe1=ones(v,1); de1=1; aa1=1.5; for g1=1:gg1 qb1=1e+20; for k1=1:kk1 dn1=de1*aa1^(2*round(rand)-1); xn1=xe1+0*randn(v,1)/sqrt(v); gg0=50; kk0=10; xe0=ones(v,1); de0=1; aa0=1.0; for g0=1:gg0 qb0=1e+20; for k0=1:kk0 dn0=de0*aa0^(2*round(rand)-1); xn0=xe0+dn0*randn(v,1)/sqrt(v) qn0=sum(xn0.^2); if qn0 < qb0 qb0=qn0; db0=dn0; xb0=xn0; end qe0=qb0; de0=db0; xe0=xb0; semilogy(g0,qe0,'b.') hold on; drawnow; de0=dn1; xe0=xn1; +oo*randn/sqrt(v); ; dn1=de0; xn1=xe0; qn1=sum(xn1.^2); if qn1 < qb1 qb1=qn1; db1=dn1; xb1=xn1; end qe1=qb1; de1=db1; semilogy(g1,qe1,'b.') hold on; drawnow; oo=xb1-xe1; MATLAB-Programm einer geschachtelten ES MATLAB-Programm einer geschachtelten Ortho-ES xe1=xb1;
56
Programmschachtelung
oo=ones(v,1); v=100; gg1=1000; kk1=2; xe1=ones(v,1); de1=1; aa1=1.5; for g1=1:gg1 qb1=1e+20; for k1=1:kk1 dn1=de1*aa1^(2*round(rand)-1); xn1=xe1+0*randn(v,1)/sqrt(v); gg0=50; kk0=10; xe0=ones(v,1); de0=1; aa0=1.0; for g0=1:gg0 qb0=1e+20; for k0=1:kk0 dn0=de0*aa0^(2*round(rand)-1); xn0=xe0+dn0*randn(v,1)/sqrt(v) qn0=sum(xn0.^2); if qn0 < qb0 qb0=qn0; db0=dn0; xb0=xn0; end qe0=qb0; de0=db0; xe0=xb0; semilogy(g0,qe0,'b.') hold on; drawnow; de0=dn1; xe0=xn1; +oo*randn/sqrt(v); ; dn1=de0; xn1=xe0; qn1=sum(xn1.^2); if qn1 < qb1 qb1=qn1; db1=dn1; xb1=xn1; end qe1=qb1; de1=db1; semilogy(g1,qe1,'b.') hold on; drawnow; oo=xb1-xe1; MATLAB-Programm einer geschachtelten Ortho-ES xe1=xb1;
57
Zum Kopieren (Qualitätsfunktion = „Zigarre“ )
v=100; gg1=1000; kk1=2; xe1=ones(v,1); de1=1; aa1=1.5; gg0=50; kk0=10; xe0=ones(v,1); de0=1; aa0=1.0; oo=ones(v,1); for g1=1:gg1 qb1=1e+20; for k1=1:kk1 dn1=de1*aa1^(2*round(rand)-1); xn1=xe1+0*randn(v,1)/sqrt(v); de0=dn1; xe0=xn1; for g0=1:gg0 qb0=1e+20; for k0=1:kk0 dn0=de0*aa0^(2*round(rand)-1); xn0=xe0+dn0*randn(v,1)/sqrt(v)+oo*randn/sqrt(v); qn0=xn0(1)^2+1000*sum(xn0(2:v).^2); if qn0 < qb0 qb0=qn0; db0=dn0; xb0=xn0; end qe0=qb0; de0=db0; xe0=xb0; dn1=de0; xn1=xe0; qn1=xn1(1)^2+1000*sum(xn1(2:v).^2); if qn1 < qb1 qb1=qn1; db1=dn1; xb1=xn1; qe1=qb1; de1=db1; oo=xb1-xe1; xe1=xb1; semilogy(g1,qe1,'b.') hold on; drawnow; MATLAB-Programm einer geschachtelten Ortho-ES
58
Modifizierter Algorithmus einer geschachtelten ES
Schrittweite für das Setzen von Gründerpopulationen Schrittweite für das lokale Bergklettern zum Optimum Modifizierter Algorithmus einer geschachtelten ES
59
Mathematische Formulierung einer (1, l ) - Ortho-ES
in ungeschachtelter Form Variation k = 1, 2, … l Nachkommen Selektion ( B = Bester Nachkomme)
60
Ende
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.