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.

Kopien: 1
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 ( ) - 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 Zweitbeste Population Selektion der besten Populationen, [ ], ´ = 2 +

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 linker Klammerseite bedeutet : Schrittweite wird von der äußeren Klammer in die innere Klammer übertragen

11 Neue Gründerpopulationen Die geschachtelte Evolutionsstrategie

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

13 Gewicht Minimum Gleitvariable !Sprungvariable ! y x

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

15 Eine 2-Ziele-Optimierung

16 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

17

18 Gründer Populationen

19

20

21

22 Für n >> 1 sind die weißen Einzugsgebiete der Berge vernachlässigbar klein gegenüber dem schwarzen Gebiet dazwischen ! Wir sind hier

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

24 Evolutionsstrategische Optimierung eines Freiträgers mit minimalem Gewicht

25 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

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

27 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

28

29 Das Wunder der Koordinatentransformation

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

31 Koordinatentransformation nach Albrecht Dürer

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

33 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

34 Schiefwinklige lineare Koordinaten-Transformationen

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

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

37 Programmierung einer geschachtelten Evolutionsstrategie

38 Algorithmus: Farbe anstelle eines Index !

39 M ATLAB -Programm der (1, ) ES

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

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

43 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

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 dn=de*aa^(2*round(rand)-1); end Deterministische Variation der Mutationsschrittweite

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); end end Erzeugung eines mutierten Nachkommen

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); qn=sum(xn.^2); end Bestimmung der Qualität des 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); if qn < qb qb=qn; db=dn; xb=xn; end end Bei Q-Verbesserung Zwischen- speicherung der Qualität, Schritt- weite und Variablenwerte

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 qe=qb; de=db; xe=xb; end Nachkomme aus dem Bestwert- Zwischenspeicher wird zum Elter der nächsten Generation

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; semilogy(g,qe,'b.') hold on; drawnow; end Darstellung der Qualität als Funktion der Generationszahl

50 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

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

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

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; de0=dn1; xe0=xn1; dn1=de0; xn1=xe0;

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

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

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); ; oo=ones(v,1);

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

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

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

60 Ende


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

Ähnliche Präsentationen


Google-Anzeigen