Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss19:exkurs_genetische_algorithmen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ss19:exkurs_genetische_algorithmen [2019/08/11 12:41]
feuerhahn [Erstes Modell: Cartpole]
ss19:exkurs_genetische_algorithmen [2019/08/11 15:58] (aktuell)
feuerhahn [Zweites Modell: Bipedal Walker]
Zeile 162: Zeile 162:
 Wichtig ist hier besonders die generelle Standardabweichung vom Mittelwert.\\ Wichtig ist hier besonders die generelle Standardabweichung vom Mittelwert.\\
 Je geringer die Abweichung, desto zuverlässiger ist auch, dass er Algorithmus in allen Durchläufen ca. ähnlich funktioniert.\\ Je geringer die Abweichung, desto zuverlässiger ist auch, dass er Algorithmus in allen Durchläufen ca. ähnlich funktioniert.\\
 +
 +{{:​ss19:​c_users_veve_anaconda3_lib_site-packages_ipykernel_launcher.py_2019-08-11_13-13-33.mp4|}}
  
 ==== Zweites Modell: Bipedal Walker ==== ==== Zweites Modell: Bipedal Walker ====
  
 Bei diesem Modell arbeiten wir mit der openAI-gym "​BipedalWalker-v2/​."​.\\ Bei diesem Modell arbeiten wir mit der openAI-gym "​BipedalWalker-v2/​."​.\\
-Hierfür müssen wir das Paket box2d installieren. --> Bei mir hat das auf einem win64 System ​nicht Funktioniert ​per pip install box2d --> daher werde ich das win64 Paket auch in die .zip packen. ​Genaures ​in der readMe.\\+Hierfür müssen wir das Paket box2d installieren. --> Bei mir hat das auf einem Windows 64-Bit ​System per "pip install box2d" nicht funktioniert ​--> daher werde ich das win64 Paket auch in die .zip packen. ​Genaueres ist in der readMe.txt zu finden.\\
  
 Das Modell des Bipedal Walker besitzt einen 24-dimensionalen Zustandsraum.\\ Das Modell des Bipedal Walker besitzt einen 24-dimensionalen Zustandsraum.\\
Zeile 194: Zeile 196:
 Als erstes habe ich mir den Simulierten Ablauf des Walkers angesehen und Referenzwerte erfasst.\\ Als erstes habe ich mir den Simulierten Ablauf des Walkers angesehen und Referenzwerte erfasst.\\
 Die Bewertung des Walkers geschieht hier durch einen reward. Je besser der Walker die Schritte tätigt und dabei vorwärts kommt, desto höher wird der reward.\\ Die Bewertung des Walkers geschieht hier durch einen reward. Je besser der Walker die Schritte tätigt und dabei vorwärts kommt, desto höher wird der reward.\\
-Wenn der Walker fällt ist er gescheitert und sein durchlauf ​beendet.\\+Wenn der Walker fällt ist er gescheitert und sein Durchlauf ​beendet.\\
  
 {{:​ss19:​bipesimu.png?​300|}} {{:​ss19:​bipesimu.png?​300|}}
  
-In der Grafik erkennt man, dass der zu erreichende Wert gegen 300 reward ​punkte ​streben sollte.\\+In der Grafik erkennt man, dass der zu erreichende Wert gegen 300 reward-Punkte ​streben sollte.\\
  
 Jetzt können wir das iphython-Notebook beliebig bearbeiten. Es wird sich auch in der .zip befinden.\\ Jetzt können wir das iphython-Notebook beliebig bearbeiten. Es wird sich auch in der .zip befinden.\\
Zeile 207: Zeile 209:
  
 Der erste Versuch war wie zu erwarten nicht der beste.\\ Der erste Versuch war wie zu erwarten nicht der beste.\\
-Der Mittelwert ging nicht über -30 hinaus und der Maximal ​erreichte Wert ging zum Ende der 100 Generationen gerade ​mal auf 30 zu.+Der Mittelwert ging nicht über -30 hinaus und der maximal ​erreichte Wert ging zum Ende der 100 Generationen gerade ​einmal ​auf 30 zu.
  
 {{:​ss19:​bipe01_1.png?​300|}} {{:​ss19:​bipe01_1.png?​300|}}
 {{:​ss19:​bipe01_2.png?​300|}} {{:​ss19:​bipe01_2.png?​300|}}
  
- **__ Mein zweiter Versuch:​__** sigma = 0.07, keep_best = 18, population = 200, Durchläufe = je3, Generationen = 100, hidden = 16\\+ **__ Mein zweiter Versuch:​__** sigma = 0.07, keep_best = 18, population = 200, Durchläufe = je 3, Generationen = 100, hidden = 16\\
  
 Diesmal lag der Mittelwert zwar wieder nur im negativen Bereich, jedoch ist das Maximum deutlich angestiegen. Die Maximalen Werte erreichten zumindest zum Ende höhen Richtung 100 reward.\\ Diesmal lag der Mittelwert zwar wieder nur im negativen Bereich, jedoch ist das Maximum deutlich angestiegen. Die Maximalen Werte erreichten zumindest zum Ende höhen Richtung 100 reward.\\
-Da der Algorithmus vielversprechend aussah, habe ich zusätzlich noch einen Zweiten ​Durchlauf gestartet.\\+Da der Algorithmus vielversprechend aussah, habe ich zusätzlich noch einen zweiten ​Durchlauf gestartet.\\
  
 {{:​ss19:​bipe02_1.png?​300|}} ​ {{:​ss19:​bipe02_1.png?​300|}} ​
Zeile 240: Zeile 242:
  **__ Mein fünfter Versuch:​__** sigma = 1/(i+10), keep_best = 20, population = 200, Durchläufe = 3, Generationen = 100, hidden = 16\\  **__ Mein fünfter Versuch:​__** sigma = 1/(i+10), keep_best = 20, population = 200, Durchläufe = 3, Generationen = 100, hidden = 16\\
  
-Diesen Versuch habe ich auf Stefans Ratschlag hin ausprobiert. Interessant ist, dass der Algorithmus bei mir hier nicht Vielversprechend ​aussieht, da das Maximum gerade mal auf 8 reward steigt.\\+Diesen Versuch habe ich auf Stefans Ratschlag hin ausprobiert. Interessant ist, dass der Algorithmus bei mir hier nicht vielversprechend ​aussieht, da das Maximum gerade mal auf 8 reward steigt.\\
 Stefan meinte ,dass es bei ihm funktionierte,​ daher werde ich noch mehr Versuche machen.\\ Stefan meinte ,dass es bei ihm funktionierte,​ daher werde ich noch mehr Versuche machen.\\
  
Zeile 249: Zeile 251:
  **__ Mein sechster Versuch:​__** sigma = 1/(i+10), keep_best = 20, population = 200, Durchläufe = 1, Generationen = 1000, hidden = 16\\  **__ Mein sechster Versuch:​__** sigma = 1/(i+10), keep_best = 20, population = 200, Durchläufe = 1, Generationen = 1000, hidden = 16\\
  
-Bei diesem Versuch habe ich den vorherigen einfach nur um seine Generationen erweitert. Interessant zu beobachten ist, dass der Mittelwert sich der 0 nähert, aber die Maxima immernoch bei 9 stagnieren. Das Bedeutet ​im Umkehrschluss,​ dass nicht die Maxima höher werden, sondern die Minima ansteigen.\\+Bei diesem Versuch habe ich den vorherigen einfach nur um seine Generationen erweitert. Interessant zu beobachten ist, dass der Mittelwert sich der 0 nähert, aber die Maxima immernoch bei 9 stagnieren. Das bedeutet ​im Umkehrschluss,​ dass nicht die Maxima höher werden, sondern die Minima ansteigen.\\
  
 {{:​ss19:​bipe06_1.png?​300|}} {{:​ss19:​bipe06_1.png?​300|}}
Zeile 258: Zeile 260:
  **__ Mein siebter Versuch:​__** sigma = 0.07, keep_best = 18, population = 200, Durchläufe = 3, Generationen = 1000, hidden = 16\\  **__ Mein siebter Versuch:​__** sigma = 0.07, keep_best = 18, population = 200, Durchläufe = 3, Generationen = 1000, hidden = 16\\
  
-Hier greife ich nochmal auf meinen zweiten Versuch zurück und erweitere wieder die Genrationsanzahl.\\ +Hier greife ich nochmal auf meinen zweiten Versuch zurück und erweitere wieder die Generationsanzahl.\\ 
-Wieder sehr vielversprechende Ergebnisse. Zwar komme ich nicht annähernd an die 300 reward, jedoch haben meine Walker die Hälfte davon erreichen können.\\+Wieder ​gab es sehr vielversprechende Ergebnisse. Zwar komme ich nicht annähernd an die 300 reward, jedoch haben meine Walker die Hälfte davon erreichen können.\\
 Leider stagniert sich dieser Wert jedoch auch über die Generationen und mag nicht so recht weiter ansteigen.\\ Leider stagniert sich dieser Wert jedoch auch über die Generationen und mag nicht so recht weiter ansteigen.\\
  
Zeile 268: Zeile 270:
  **__ Mein achter Versuch:​__** sigma = 1/(i+10), keep_best = 20, population = 200, Durchläufe = 1, Generationen = 10000, hidden = 16\\  **__ Mein achter Versuch:​__** sigma = 1/(i+10), keep_best = 20, population = 200, Durchläufe = 1, Generationen = 10000, hidden = 16\\
  
-Da mein Computer nach einem Tag Laufzeit den Algorithmus leider nichtmehr weitergeführt hat, sondern einfach abgebrochen ​ist, habe ich leider keine Aufzeichnungen davon.\\+Da mein Computer nach einem Tag Laufzeit den Algorithmus leider nichtmehr weitergeführt hat, sondern einfach abgebrochen ​hat, habe ich leider keine Aufzeichnungen davon.\\
 Zu sagen ist jedenfalls, dass der Algorithmus einen reward bis 100 erreicht hat und danach auf dem Wert stagnierte. Zu sagen ist jedenfalls, dass der Algorithmus einen reward bis 100 erreicht hat und danach auf dem Wert stagnierte.
  
  **__ Mein neunter Versuch:​__** ​ sigma = 0.07, keep_best = 18, population = 200, Durchläufe = 1, Generationen = 10000, hidden = 16\\  **__ Mein neunter Versuch:​__** ​ sigma = 0.07, keep_best = 18, population = 200, Durchläufe = 1, Generationen = 10000, hidden = 16\\
  
-Auch hier hat mein Computer nach einem Tag Laufzeit den Algorithmus leider nichtmehr weitergeführt , sondern einfach abgebrochen,​ daher habe ich leider keine Aufzeichnungen davon. +Auch hier hat mein Computer nach einem Tag Laufzeit den Algorithmus leider nichtmehr weitergeführt,​ sondern ​ihn einfach abgebrochen,​ daher habe ich leider keine Aufzeichnungen davon. 
-Dieses Modell ist in der Laufzeit zu einem reward von ca 190-200 gekommen und Sicherlich ​noch ausbaufähig.\\+Dieses Modell ist in der Laufzeit zu einem reward von ca 190-200 gekommen und sicherlich ​noch ausbaufähig.\\
 Vermutlich könnte man hier an den Voreinstellungen herumschrauben und somit ein besseres Ergebnis erzielen.\\ Vermutlich könnte man hier an den Voreinstellungen herumschrauben und somit ein besseres Ergebnis erzielen.\\
  
-==== .zip Mit allen Informationen ====+{{:​ss19:​bipedal_walker.gif?​200|}} 
 +(--> draufklicken zum Abspielen) 
 + 
 +==== .zip mit allen Informationen ====
  
 {{:​ss19:​evoalgorithmus_miniprojekt.zip|}} {{:​ss19:​evoalgorithmus_miniprojekt.zip|}}
  
ss19/exkurs_genetische_algorithmen.1565520077.txt.gz · Zuletzt geändert: 2019/08/11 12:41 von feuerhahn