Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ingo Rechenberg PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“ Anwendungsfelder geschachtelter Evolutionsstrategien - Programmierung einer.

Ähnliche Präsentationen


Präsentation zum Thema: "Ingo Rechenberg PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“ Anwendungsfelder geschachtelter Evolutionsstrategien - Programmierung einer."—  Präsentation transkript:

1 Ingo Rechenberg PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“ Anwendungsfelder geschachtelter Evolutionsstrategien - Programmierung einer geschachtelten ES

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

3 2 1,1 1 Zwei unterschiedliche Strategien Beispiel für eine algebraische Operation in einer geschachtelten ES

4 Die Geschachtelte Evolutionsstrategie Höchste Nachahmungsstufe der biologischen Evolution  ' = Zahl der Eltern-Populationen ' = Zahl der Nachkommen-Populationen  = Zahl der Eltern-Individuen   = Zahl der Nachkommen-Individuen  = Generationen der Isolation   '  = Zahl der Populations-Generationen  ' = Mischungszahl Populationen  = Mischungszahl Individuen

5 Biologische Entsprechung der Strategie-Schachtelung | Familie  Gattung { Art [ Varietät ( Individuum ) ] }  |

6 Strategievariablen Objektvariablen SprungvariablenGleitvariablen Qualität Q 1 Qualität Q 2 Springen Klettern Vergangenheit Gegenwart Strategie-Evolution Gemischt ganzzahlige Optimierung Zwei-Ziele-Optimierung Globale Optimierung Ortho-Evolution Anwendungsfelder für geschachtelte Evolutionsstrategien

7 Strategievariablen Objektvariablen Strategie-Evolution Anwendungsfelder für geschachtelte Evolutionsstrategien

8 Angsthase Hitzkopf Kolumbus Amundsen Vier Kletterstrategien im Wettbewerb

9 Algorithmus der (1,  ) – Evolutionstrategie mit MSR Es ist problematisch anzunehmen, dass sich schon nach einer Generation die beste Fortschrittsgeschwindigkeit selektieren lässt.

10 Korrekte mutative Schrittweitenanpassung mit einer geschachtelten Evolutionsstrategie  = 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 Neue Gründerpopulationen Die geschachtelte Evolutionsstrategie

12 Strategievariablen Objektvariablen Strategie-Evolution Anwendungsfelder für geschachtelte Evolutionsstrategien SprungvariablenGleitvariablen Gemischt ganzzahlige Optimierung

13 Gewicht  Minimum Gleitvariable !Sprungvariable ! y x

14 Strategievariablen Objektvariablen SprungvariablenGleitvariablen Strategie-Evolution Gemischt ganzzahlige Optimierung Anwendungsfelder für geschachtelte Evolutionsstrategien Qualität Q 1 Qualität Q 2 Zwei-Ziele-Optimierung

15 Schlagwort „multikriterielle Optimierung“ Mehr-Ziele-Optimierung Zwei-Ziele-Optimierung Pareto-Optimierung Ein 2-Ziele Pareto-Optimum ist ein Zustand, bei dem es nicht möglich ist, eine Qualität Q 1 besser zu machen, ohne dass sich die Qualität Q 2 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 g 1 und g 2 ergibt sich die Pareto-Front! Die Idee der globalen Qualität lässt sich leicht auf mehr als zwei Qualitäten erweitern. Q1Q1 Q2Q2 Das Management entscheidet über die Realisation Pareto Front

16 Eine 2-Ziele-Optimierung SteigZahl

17 Strategievariablen Objektvariablen SprungvariablenGleitvariablen Qualität Q 1 Qualität Q 2 Strategie-Evolution Gemischt ganzzahlige Optimierung Zwei-Ziele-Optimierung Anwendungsfelder für geschachtelte Evolutionsstrategien Springen Klettern Globale Optimierung

18

19 Gründer Populationen

20

21

22

23

24 9 9 3 4 5 6 7 8 9 3 4 5 6 7 8 3 4 5 6 7 8 3 4 5 6 7 8 3 4 5 6 7 3 4 5 6 7 3 4 5 6 3 4 5 6 7 3 4 5 6 7 8 Für n >> 1 sind die weißen Einzugsgebiete der Berge vernachlässigbar klein gegenüber dem schwarzen Gebiet dazwischen ! Wir sind hier

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

26 Evolutionsstrategische Optimierung eines Freiträgers mit minimalem Gewicht

27 Strategievariablen Objektvariablen SprungvariablenGleitvariablen Qualität Q 1 Qualität Q 2 Springen Klettern Strategie-Evolution Gemischt ganzzahlige Optimierung Zwei-Ziele-Optimierung Globale Optimierung Anwendungsfelder für geschachtelte Evolutionsstrategien Vergangenheit Gegenwart Ortho-Evolution

28  ( ) - ES  +, Geschachtelte Evolutionsstrategie  +, [ ]  Aktuelle Position Gründerposition Ortho-Evolution !

29 b b h  1 )( ( ) d d 21 h h h R d 0 d 1 d 2 q 2 F Strahl 2 k  = Brechungsindex w = Gewichtsfaktor Zwei-Ziele-Optimierung

30 Das Wunder der Koordinatentransformation

31 D‘A RCY T HOMSON s Transformationen Polyprion Scorpaena sp. Antigonia capros Pseudopriacanthus altus

32 Koordinatentransformation nach Albrecht Dürer

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

34 Lineare Transformation: Polygenie und Polyphänie n = 5 ! Pleiotropie Ein Gen (x) steuert viele Merkmale (y) Ein Merkmal (y) wird von vielen Genen (x) gesteuert

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 Orthogonalisierungsverfahren Matrizenrechnung CMA-Methode ES-Hybridverfahren Covarianz-Matrix-Adaptation

38 Programmierung einer geschachtelten Evolutionsstrategie

39 Algorithmus: Farbe anstelle eines Index !

40 M ATLAB -Programm der (1,  ) ES

41 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 M ATLAB -Programm der (1,  ) 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 M ATLAB -Programm der (1,  ) 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 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 M ATLAB -Programm der (1,  ) ES

45 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 M ATLAB -Programm der (1,  ) 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 end Erzeugung eines mutierten Nachkommen

47 M ATLAB -Programm der (1,  ) 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 M ATLAB -Programm der (1,  ) 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 end Bei Q-Verbesserung Zwischen- speicherung der Qualität, Schritt- weite und Variablenwerte

49 M ATLAB -Programm der (1,  ) 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; end Nachkomme aus dem Bestwert- Zwischenspeicher wird zum Elter der nächsten Generation

50 M ATLAB -Programm der (1,  ) 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; end Darstellung der Qualität als Funktion der Generationszahl

51 Programmverdopplung 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; end 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; end Von der einfachen zur geschachtelten ES

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

53 Programmschachtelung 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; end 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; end gg0=1000; kk0=10; xe0=ones(v,1); de0=1; aa0=1.5;

54 Programmschachtelung 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; end 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; end gg0=1000; kk0=10; xe0=ones(v,1); de0=1; aa0=1.5; de0=dn1; xe0=xn1; dn1=de0; xn1=xe0; 1.0 0 50 2

55 Programmschachtelung 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; end 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); 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; end gg0=50; kk0=10; xe0=ones(v,1); de0=1; aa0=1.0; de0=dn1; xe0=xn1; dn1=de0; xn1=xe0; M ATLAB -Programm einer geschachtelten ES

56 Programmschachtelung 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; end 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); 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; end gg0=50; kk0=10; xe0=ones(v,1); de0=1; aa0=1.0; de0=dn1; xe0=xn1; dn1=de0; xn1=xe0; M ATLAB -Programm einer geschachtelten Ortho-ES xe1=xb1; oo=xb1-xe1; +oo*randn/sqrt(v); ; M ATLAB -Programm einer geschachtelten ES oo=ones(v,1)

57 Programmschachtelung 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; end 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); 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; end gg0=50; kk0=10; xe0=ones(v,1); de0=1; aa0=1.0; de0=dn1; xe0=xn1; dn1=de0; xn1=xe0; M ATLAB -Programm einer geschachtelten Ortho-ES xe1=xb1; oo=xb1-xe1; +oo*randn/sqrt(v); ; oo=ones(v,1);

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; end dn1=de0; xn1=xe0; qn1=xn1(1)^2+1000*sum(xn1(2:v).^2); if qn1 < qb1 qb1=qn1; db1=dn1; xb1=xn1; end qe1=qb1; de1=db1; oo=xb1-xe1; xe1=xb1; semilogy(g1,qe1,'b.') hold on; drawnow; end M ATLAB -Programm einer geschachtelten Ortho-ES

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

60 Neue Gründerpopulationen variieren ihre Startposition Die geschachtelte Evolutionsstrategie

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

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

63 Ende www.bionik.tu-berlin.de


Herunterladen ppt "Ingo Rechenberg PowerPoint-Folien zur 3. Vorlesung „Evolutionsstrategie II“ Anwendungsfelder geschachtelter Evolutionsstrategien - Programmierung einer."

Ähnliche Präsentationen


Google-Anzeigen