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 geschachtelten.

Ähnliche Präsentationen


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

1 Ingo Rechenberg PowerPoint-Folien zur 3. Vorlesung Evolutionsstrategie II Anwendungsfelder geschachtelter Evolutionsstrategien - Programmierung einer geschachtelten ES Weiterverwendung nur unter Angabe der Quelle gestattet

2 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

3 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

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

5 Angsthase Hitzkopf Kolumbus Amundsen Vier Kletterstrategien im Wettbewerb

6 Algorithmus der (1, ) – Evolutionstrategie mit MSR Es ist problematisch anzunehmen, dass sich schon nach einer Generation die höchste Fortschrittsgeschwindigkeit herauskristallisiert.

7 Korrekte mutative Schrittweitenanpassung mit einer geschachtelten Evolutionsstrategie = 1,1 … 1,5 Notation auf linker Klammerseite bedeutet : Schrittweite wird von der äußeren Klammer in die innere Klammer übertragen

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

9 Gewicht Minimum Gleitvariable !Sprungvariable ! y x

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

11 Eine 2-Ziele-Optimierung

12 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

13

14 Gründer Populationen

15

16

17

18 Für n >> 1 sind die Einzugsgebiete der konvexen Hügel vernachlässigbar klein gegenüber dem grenzenlosen Volumen des gesamten Suchraumes Elter Höchster Gipfel

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

20 Evolutionsstrategische Optimierung eines Freiträgers mit minimalem Gewicht

21 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

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

23 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

24

25 Das Wunder der Koordinatentransformation

26 DA RCY T HOMSON s Transformationen Polyprion Scorpaena sp. Antigonia capros Pseudopriacanthus altus

27 Koordinatentransformation nach Albrecht Dürer

28 Bauanweisung für Protein Dunkle DNA Rätsel der sogenannten Schrott-DNA (junk DNA) Für Koordinaten- Transformation ?

29 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

30 Schiefwinklige lineare Koordinaten-Transformationen

31 Zu viele Koeffizienten für Transformation eines orthogonalen Systems Statt benötigen wir nur Koeffizienten

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

33 Programmierung einer geschachtelten Evolutionsstrategie

34 Algorithmus: Farbe anstelle eines Index !

35 M ATLAB -Programm der (1, ) ES

36 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

37 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

38 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

39 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

40 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

41 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

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

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

44 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

45 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

46 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

47 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

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

49 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

50 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

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

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

53 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

54 Modifizierter Algorithmus einer geschachtelten ES Schrittweite für das Setzen von Gründerpopulationen Schrittweite für das lokale Bergklettern zum Optimum

55 Mathematische Formulierung einer (1, ) - Ortho-ES in ungeschachtelter Form Variation k = 1, 2, … Nachkommen Selektion ( B = Bester Nachkomme)

56 Ende


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

Ähnliche Präsentationen


Google-Anzeigen