Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ingo Rechenberg PowerPoint-Folien zur 11. Vorlesung „Evolutionsstrategie I“ Sternstunden der Theorie der Evolutionsstrategie Vortrag in Jena anlässlich.

Ähnliche Präsentationen


Präsentation zum Thema: "Ingo Rechenberg PowerPoint-Folien zur 11. Vorlesung „Evolutionsstrategie I“ Sternstunden der Theorie der Evolutionsstrategie Vortrag in Jena anlässlich."—  Präsentation transkript:

1 Ingo Rechenberg PowerPoint-Folien zur 11. Vorlesung „Evolutionsstrategie I“ Sternstunden der Theorie der Evolutionsstrategie Vortrag in Jena anlässlich des 50-jährigen Jubiläums der Evolutionsstrategie

2 18. November 1964 Symposium 18. bis 20. November 2014 in Jena Google Suchbegriff: „zickzack nach darwin“

3 Sternstunden der Theorie der Evolutionsstrategie Eine spektakuläre Lösung der Evolution Erg Chebbi Cebrennus rechenbergi

4 „Einen Naturvorgang verstehen heißt, ihn in Mechanik zu übersetzen“ Herrmann von Helmholtz

5 Mechanische Evolutionsexperimente Zickzackplatte Rohrkrümmer  = 55%  = 79%

6 „Ich behaupte aber, daß in jeder besonderen Naturlehre nur so viel eigentliche Wissenschaft angetroffen werden könne, als darin Mathematik anzutreffen sei“ Immanuel Kant 1786

7 Ließe sich das Vorhandensein eines zusammengesetzten Organs nachweisen, das nicht durch zahlreiche aufeinander folgende geringe Abänderungen entstehen könnte, so müsste meine Theorie zusammenbrechen. Aber ich kenne keinen solchen Fall. Darwins vielleicht wichtigster Ausspruch

8 Die starke Kausalität Es gibt ein universelles Weltverhalten Eingang: Neigung der Kaffeekanne Ausgang: Stärke des Kaffeestroms Kleine Änderung der Ursache → kleine Änderung der Wirkung Warum verhält sich die Welt normalerweise so ???

9 so x y nicht so x y y x Hier gilt starke Kausalität Qualität Q(x, y)

10 Bewegte Strecke bergauf Zahl der Generationen    Definition der Fortschrittsgeschwindigkeit längs des Darwinweges  Der Darwinweg ist nicht unbedingt der Gradientenweg Darwinweg Auf dem Darwinweg Eine Strategie nutzt geschickt vorhersehbare Verhaltensweisen des Gegners Die Evolutionsstrategie nutzt das vorhersehbare stark kausale Verhalten des Gegners „Natur“

11 Theorie der Evolutionsstrategie soll heißen: Entwicklung von Formeln für  für verschiedene Komplexitätsstufen einer Nachahmung der biologischen Evolution In der Theorie der Evolutionsstrategie folgen die Komplexitätsstufen aus einer „ES-Algebra“ Von der zur

12 1 + 1 ( ) - gliedrige Evolutionsstrategie Evolutionsstrategische Algebra

13 (1 + 1)-ES DARWINs Theorie in maximaler Abstraktion

14 1 + 1 ( ) - ES , Evolutionsstrategische Algebra

15 ( ) - ES  +, /  Beispiel  = 2 ( ) - ES  +, / 2 Elter liefert nur die Hälfte der Erbinformation Evolutionsstrategische Algebra

16  ( ) - ES  +, ES mit Drift-Phase (1, 7) (7, 7) = (1,7) 4 (7,7) 3 - ES starke Selektion schwache Selektion Evolutionsstrategische Algebra

17  ( ) - ES  +, Beispiel: = (1, 6) 8 + (1, 6) 8 4 (1, 6) 8 2,2, Beste Population Zweitbeste Population Selektion der besten Populationen , Evolutionsstrategische Algebra [ ]

18 Neue Gründerpopulationen Die geschachtelte Evolutionsstrategie

19 Theorie der Evolutionsstrategie soll heißen: Entwicklung von Formeln für   für verschiedene Komplexitätsstufen einer Nachahmung der biologischen Evolution

20 Lokales Klettern der Evolutionsstrategie

21 Die Grundidee (in einer Dimension) Satz von Funktionen Alle Funktionen haben dieselbe Form T AYLOR Potenzreihenentwicklung in der M AC L AURINschen Form: !   für welches Gebirge ? Nur die Koeffizienten sind verschieden

22 c k d k c k d k c k d k c k c k c k d k Asymptotische Theorie ( n >>1) d k d k Lokales Klettern der Evolutionsstrategie Ebene

23 = lokale Komplexität r Ist fast eine Konstante (1 … 3) Mutationsstreuung

24      2 Zentrales Fortschrittsgesetz

25 Der Evolutionsstratege

26

27 Französische Nationalversammlung Die Linken Die Rechten

28 Kuppenmodell Gratmodell m >> 1

29 Gradienten- Weg ES-Weg für maximalen Fortschritt Fortschritt am Grat Höhen- flächen Der Darwinweg ist nicht immer gleich dem Gradientenweg m >> 1

30 Der Evolutionsstratege

31 Darwin Mendel Die Mischung von Erbmerkmalen (Variablenwerten)

32 (    , )-ES ES mit Mischung der Variablen (Erbanlagen) = 8  = 2  = 2

33 In der Natur werden die Erbanlagen von je zwei Individuen gemischt. In der Nomenklatur der ES wäre die Mischungszahl  = 2. (    , ) - ES  = 2 Nur Phagen könnten bei einer Mehrfachinfektion eines Bakteriums eine Multi- rekombination  =  vollziehen. Das heißt, alle  Eltern mischen ihre Erbanlagen. (    , ) - ES  =  In der Theorie ließ sich bisher nur der unbiologische Fall  =   exakt behandeln. (    , ) = diskrete Mischung aller Variablenwerte (Theorie Thales-Rekombination) (    , ) = kontinuierliche Mischung aller Variablenwerte Zur Nomenklatur der Multirekombination:

34 Aus wird +

35 )1( op t e  1 W  ),(   )1( opt  1  ),(  Biol. Heritabilität Bei maximalem Fortschritt verschlechtert sich die gesamte Nachkommenschaft im Mittel ebenso sehr, wie sich der Spitzen-Nachkomme verbessert Entropiesatz der Evolutionsstrategie: (1, ) -ES Überraschende Beziehungen zwischen der höchsten und der niedrigsten Form einer ungeschachtelten Evolutionsstrategie Einige Sternstunden-Formeln gestört ungestört )1( max  1   ),(  op t ~ ~

36 ≈ 1≈ 1 ≈ 1≈ 1 Ivan Santibañez-Koref

37

38 Danke für Ihre Aufmerksamkeit www.bionik.tu-berlin.de

39 Zum Praktikum / Experimentelle Übung

40 M ATLAB -Programm der (1 + 1) ES v=100; d=1; xe=ones(v,1); qe=sum(xe.^2); for g=1:1000 xn=xe+d*randn(v,1)/sqrt(v); qn=sum(xn.^2); if qn < qe qe=qn; xe=xn; d=d*1.3; else d=d/(1.3^0.25); end semilogy(g,qe,'b.') hold on; drawnow; end ones(m,n): Vektor/Matrix der Dimension m × n mit nur Einsen Nur eine Spalte

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

42 v=100; kk=10; de=1; xe=ones(v,1); Variablenzahl, Nachkommenzahl, Startschrittweite und Variablen- werte des Start-Elters

43 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 end Erzeugen der Generationenschleife

44 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; end Initialisierung der Qualität im Bestwert-Zwischenspeicher auf extrem schlechten Wert (für Minimumsuche)

45 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk end Generierung der Nachkommenschleife

46 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk if rand < 0.5 dn=de*1.3; else dn=de/1.3; end end end Deterministische Variation der Mutationsschrittweite

47 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk if rand < 0.5 dn=de*1.3; else dn=de/1.3; end xn=xe+dn*randn(v,1)/sqrt(v); end end Erzeugung eines mutierten Nachkommen

48 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk if rand < 0.5 dn=de*1.3; else dn=de/1.3; end xn=xe+dn*randn(v,1)/sqrt(v); qn=sum(xn.^2); end end Bestimmung der Qualität des mutierten Nachkommen (Beispiel Kugelmodell)

49 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:10 if rand < 0.5 dn=de*1.3; else dn=de/1.3; end 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

50 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk if rand < 0.5 dn=de*1.3; else dn=de/1.3; end 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

51 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk if rand < 0.5 dn=de*1.3; else dn=de/1.3; end 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(kk*g,qe,'b.') hold on; drawnow; end Darstellung der Qualität als Funktion des seriellen Aufwands Kinderzahl x Generationen

52 Erproben des Programms in M ATLAB Kopieren Sie das Programm der vorangegangenen Folie. Öffnen Sie M ATLAB und klicken Sie in der Taskleiste auf „File/New/Script“. Fügen Sie das Programm ein und klicken Sie auf das Symbol „Save and Run“ (Speichern). Ändern Sie die Zahl der Kinder von 10 auf 5 [ kk = 5 ] und die Zahl der Generationen von 1000 auf 2000 [ g = 1 : 2000 ]. Ändern Sie die Kurvenfarbe von blau auf rot [ semilogy(g,qe,′r.') ]. Sie werden mit der gleichen Zahl von Funktionsaufrufen g × kk = 10000 vielleicht etwas näher an das Optimum herankommen. Wiederholen sie die Prozedur für: [ g = 1 : 3333 ], [ kk = 3 ], [ semilogy(g,qe,‚g.') ] [ g = 1 : 500 ], [ kk = 20 ], [ semilogy(g,qe,‚y.') ] Das Ergebnis: Bei 5 Nachkommen [ k = 1 : 5 ] sollten Sie bei der seriellen Arbeitsweise des Rechners dem Optimum (Nullpunkt) am nächsten kommen. MATLAB R2010a Neu: Programmiersprache R (Microsoft)

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 (1, )-Ortho-ES

54 Option Explicit Dim stopp, fa Private Sub Command1_Click() stopp = 1 End Sub Private Sub Command2_Click() End End Sub Private Sub Command3_Click() Text1 = "": Text2 = "": Text3 = "": Cls End Sub Private Sub Form_Load() fa = 13 End Sub Private Sub start1_Click() myqela1 End Sub Private Sub myqela1() Dim v%, vv%, g0%, gg0%, g1%, gg1%, k0%, kk0%, k1%, kk1%, m0%, mm0%, m1%, mm1%, j% Dim qn0#, qn1#, d0#, d1#, dn0#, dn1#, aa0#, aa1#, pp#, z#, a#, w#, hh# Dim qe0#(), qb0#(), db0#(), b0#(), n0#(), e0#() Dim qe1#(), qb1#(), db1#(), b1#(), n1#(), e1#() If fa < 1 Then fa = 13 fa = fa - 1 Randomize: stopp = 0 vv = Val(Text5): mm1 = Val(Text6): kk1 = Val(Text7): aa1 = Val(Text8) a = Val(Text15): mm0 = Val(Text9): kk0 = Val(Text10): aa0 = Val(Text11): gg0 = Val(Text12) ReDim qe0(mm0), qb0(mm0), db0(mm0), b0(vv, mm0), n0(vv), e0(vv) ReDim qe1(mm1), qb1(mm1), db1(mm1), b1(vv, mm1), n1(vv), e1(vv) d1 = 0.01: e1(1) = 1: For v = 2 To vv: e1(v) = 0: Next v 'Text14 = 2 * vv gg1 = Val(Text14) For g1 = 1 To gg1 DoEvents: If stopp = 1 Then Exit For For m1 = 1 To mm1: qb1(m1) = -1E+20: Next m1 For k1 = 1 To kk1 If k1 = 1 Then dn1 = d1 / aa1 If k1 = 2 Then dn1 = d1 * aa1 If k1 > 2 Then If Rnd > 0.5 Then dn1 = d1 / aa1 Else dn1 = d1 * aa1 End If For v = 1 To vv 'z = Sqr(-2 * Log(1 - Rnd) / vv) * Sin(6.283185 * Rnd) n1(v) = e1(v) + 0 * z Next v d0 = dn1: e0() = n1() For g0 = 1 To gg0 For m0 = 1 To mm0: qb0(m0) = -1E+20: Next m0 For k0 = 1 To kk0 If Rnd > 0.5 Then dn0 = d0 / aa0 Else dn0 = d0 * aa0 For v = 1 To vv z = Sqr(-2 * Log(1 - Rnd) / vv) * Sin(6.283185 * Rnd) n0(v) = e0(v) + dn0 * z Next v qn0 = -n0(1) ^ 2: For v = 2 To vv: qn0 = qn0 - a * n0(v) ^ 2: Next v j = 1: w = qb0(1) For m0 = 2 To mm0: If qb0(m0) < w Then w = qb0(m0): j = m0 Next m0 If qn0 > qb0(j) Then qb0(j) = qn0: db0(j) = dn0 For v = 1 To vv: b0(v, j) = n0(v): Next v End If Next k0 d0 = 1: For m0 = 1 To mm0 qe0(m0) = qb0(m0): d0 = d0 * db0(m0) ^ (1 / mm0) Next m0 For v = 1 To vv e0(v) = 0: For m0 = 1 To mm0: e0(v) = e0(v) + b0(v, m0) / mm0: Next m0 Next v Next g0 dn1 = d0: n1() = e0() qn1 = -n1(1) ^ 2: For v = 2 To vv: qn1 = qn1 - a * n1(v) ^ 2: Next v j = 1: w = qb1(1) For m1 = 2 To mm1: If qb1(m1) < w Then w = qb1(m1): j = m1 Next m1 If qn1 > qb1(j) Then qb1(j) = qn1: db1(j) = dn1 For v = 1 To vv: b1(v, j) = n1(v): Next v End If Next k1 d1 = 1: For m1 = 1 To mm1 qe1(m1) = qb1(m1): d1 = d1 * db1(m1) ^ (1 / mm1) Next m1 For v = 1 To vv e1(v) = 0: For m1 = 1 To mm1: e1(v) = e1(v) + b1(v, m1) / mm1: Next m1 Next v DoEvents: Text1 = g1 * gg0: Text2 = Format(qe1(1), "Scientific"): Text3 = Format(d1, "Scientific") hh = g1 * gg0 / vv FillStyle = 0: FillColor = QBColor(fa): Circle (5000 + 1000 * hh, 1500 - 10000 * Log(-qe1(1))), 50, QBColor(fa) If hh > 8 Then Exit For Next g1 End Sub So sieht ein Basic-Programm einer geschachtelten (   / , )-ES aus !

55 M ATLAB -Programm der (1,  ) ES v=100; kk=10; de=1; xe=ones(v,1); for g=1:1000 qb=1e+20; for k=1:kk if rand < 0.5 dn=de*1.3; else dn=de/1.3; end 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(kk*g,qe,'b.') hold on; drawnow; end Ersetzen Sie die Optimierungs- funktion Kugelmodell durch eine andere zu minimierende Funktion Bei Minimum-Problem umdrehen

56 Zum Beispiel: Ein unregelmäßiges Sechseck, dessen Ecken (Variablenwerte) auf einem Kreis mit dem Durchmesser 1 liegen, soll einen maximalen Inhalt erhalten. Eine 1-Liter Milchtüte (Quader mit den variablen Seiten a, b, c) soll mit minimalem Material (Oberfläche) gefertigt werden. Das Steinersche Verzweigungsproblem. 3 Punkte sollen durch Straßen miteinander verbunden werden. Wo muss die Straßenverzeigung liegen, damit die gesamte Straßen- länge minimal wird. Kann auf viele Verzweigungen (x-y-Variable) erweitert werden. Weitere Probleme im Buch: Heinz J. Claus – Extremwertaufgaben Probleme, ihre Geschichte, Lösungen, Methoden.


Herunterladen ppt "Ingo Rechenberg PowerPoint-Folien zur 11. Vorlesung „Evolutionsstrategie I“ Sternstunden der Theorie der Evolutionsstrategie Vortrag in Jena anlässlich."

Ähnliche Präsentationen


Google-Anzeigen