Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“

Kopien: 1
Ingo Rechenberg PowerPoint-Folien zur 3. Vorlesung Evolutionsstrategie II Anwendungsfelder geschachtelter Evolutionsstrategien - Programmierung einer geschachtelten.

Ähnliche Präsentationen


Präsentation zum Thema: "PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“"—  Präsentation transkript:

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

17

18 Gründer Populationen

19

20

21

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

28

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


Herunterladen ppt "PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“"

Ähnliche Präsentationen


Google-Anzeigen