Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“

Ä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

2 , , m   m l l ( ) - ES 2 , 4 (2, 6)8 (2, 6)8 + (2, 6)8 + (2, 6)8 +
Auf dem Weg zu einer evolutionsstrategischen Algebra m , , g [ ] ( m l ) - ES + l + Beispiel: m = 2, l = 6, l´ = 4, g = 8 , m´ = 2 (2, 6)·(2, 6)·(2, 6)·(2, 6)·(2, 6)·(2, 6) )·(2, 6)·(2, 6) 2 , 4 (2, 6)8 (2, 6)8 + (2, 6)8 + (2, 6)8 + (2, 6)8 = Selektion der besten 2 Populationen Beste Population nach 8 Generationen Zweitbeste Population nach 8 Generationen

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 der linken Klammerseite bedeutet : Die Schritt-weite ist eine Populationseigenschaft. Sie wird in der jewei-ligen inneren Klammer benutzt und dort nicht mehr variiert.

11 Die geschachtelte Evolutionsstrategie
Neue Gründerpopulationen weiß = a klein gelb = a groß 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 Schlagwort „multikriterielle Optimierung“
Q1 Q2 Das Management entscheidet über die Realisation Schlagwort „multikriterielle Optimierung“ Mehr-Ziele-Optimierung Zwei-Ziele-Optimierung Pareto Front Pareto-Optimierung Ein 2-Ziele Pareto-Optimum ist ein Zustand, bei dem es nicht möglich ist, eine Qualität Q1 besser zu machen, ohne dass sich die Qualität Q2 verschlechtert. Die Menge der Pareto-Optima bildet die sogenannte Pareto-Front. Besser wir lösen eine Zwei-Ziele-Optimierung mit der gewichteten globalen Qualität: Für die verschiedenen Gewichtungen g1 und g2 ergibt sich die Pareto-Front! Die Idee der globalen Qualität lässt sich leicht auf mehr als zwei Qualitäten erweitern.

16 Eine 2-Ziele-Optimierung
SteigZahl

17 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

19 Gründer Populationen

20

21

22

23

24 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 24

25 Lückenwert L L = Zwischenraum Kugelraum
„weiß“: Einzugsgebiete der Berge „schwarz“: Zwischenräume

26 Beispiel für eine multimodale Optimierung
Evolutionsstrategische Optimierung eines Freiträgers mit minimalem Gewicht Beispiel für eine multimodale Optimierung

27 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

28 , , [ m   ] m l l ( ) - ES  g g + + Ortho-Evolution !
Geschachtelte Evolutionsstrategie [ m , , g ] g m + l ( + l ) - ES Aktuelle Position Gründerposition Ortho-Evolution !

29 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

30 Das Wunder der Koordinatentransformation

31 D‘ARCY THOMSONs Transformationen
Pseudopriacanthus altus Polyprion Antigonia capros Scorpaena sp.

32 Koordinatentransformation nach Albrecht Dürer

33 Das Rätsel der sogenannten Schrott-DNA (junk DNA) ?
Heute weiß man: Die Schrott-DNA bildet einen riesigen Steuerungsapparat Und das könnte auch eine Koordi-naten-Transforma-tion sein Bauanweisung für Protein „Dunkle“ DNA über 95%

34 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)

35 Schiefwinklige lineare Koordinaten-Transformationen

36 Zu viele Koeffizienten für Transformation eines orthogonalen Systems
Für ein orthogonales System benötigen wir statt: nur Koeffizienten

37 ES-Hybridverfahren Matrizenrechnung Orthogonalisierungsverfahren
CMA-Methode Covarianz-Matrix-Adaptation ES-Hybridverfahren

38 Programmierung einer geschachtelten Evolutionsstrategie

39 Algorithmus: Farbe anstelle eines Index !

40 MATLAB-Programm der (1, l ) ES

41 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

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 end Erzeugen der Generationenschleife

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; end Initialisierung der Qualität im Bestwert-Zwischenspeicher auf nicht verschlechterbaren Wert

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 end Generierung der Nachkommenschleife

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); end Deterministische Variation der Mutationsschrittweite

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); end Erzeugung eines 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); end Bestimmung der Qualität des mutierten Nachkommen

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 Bei Q-Verbesserung Zwischen-speicherung der Qualität, Schritt-weite und Variablenwerte

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; Nachkomme aus dem Bestwert-Zwischenspeicher wird zum Elter der nächsten Generation

50 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

51 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;

52 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;

53 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;

54 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;

55 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

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 ES MATLAB-Programm einer geschachtelten Ortho-ES xe1=xb1;

57 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;

58 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

59 Die geschachtelte Evolutionsstrategie
Neue Gründerpopulationen liegen übereinander (bisher) Die geschachtelte Evolutionsstrategie

60 Die geschachtelte Evolutionsstrategie
Neue Gründerpopulationen variieren ihre Startposition Die geschachtelte Evolutionsstrategie

61 Schrittweite für das Setzen von Gründerpopulationen
Schrittweite für das lokale Bergklettern zum Optimum Algorithmus einer geschachtelten ES, bei der nicht nur jede Population eine eigene Schrittweite besitzt, sondern die Startposition jeder Gründerpopulation noch variiert wird

62 Mathematische Formulierung einer (1, l ) - Ortho-ES
in ungeschachtelter Form Variation k = 1, 2, … l Nachkommen Elter vor m Generationen Selektion ( B = Bester Nachkomme)

63 Ende


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

Ähnliche Präsentationen


Google-Anzeigen