Verteilte, evolutionäre Optimierung von Schwärmen

Diese Seite beschreibt kurz meine Diplomarbeit und bietet diese zum Download an.

Download

Diplomarbeit „Verteilte, evolutionäre Optimierung von Schwärmen“.

Bei manchen Browsern kann es passieren, dass Downloads nicht geladen werden. In diesem Fall auf den Link rechtsklicken und „speichern unter“ auswählen!

Versuchsaufbau

Im Rahmen der Diplomarbeit wurde eine universelle Softwareinfrastruktur für die Durchführung von Experimenten zur Schwarmevolution implementiert. Diese Softwareinfrastruktur wurde zudem so konzipiert, dass Experimente in der Schwarmevolution mit geringem Programmieraufwand realisiert und durch Parallelisierung auf Rechnercluster zeiteffizient und robust durchgeführt werden können. Dies ermöglicht insbesondere große Experimente mit freien Evolutionen von Schwärmen.

Gegenüber anderen wissenschaftlichen Experimenten wurde darauf geachtet, die Entstehung biologischen Verhaltens deutlich weniger zu beschränken (z.B. durch Evolution von Aspekten der Sensorik und Aktorik von Schwärmern, freiere Evolution der Kontrollstrukturen und umfangreiche Evolutionen).

Hierzu wurde u.a. eine physikbasierte Schwarmsimulationssoftware zur effizienten Evaluierung trotz umfangreicher Simulationen, sowie das als Kontrollstruktur genutzte strukturevolvierbare rekurrente neuronale Netz neu konzipiert und implementiert. Da der Rechenaufwand auf viele Rechner verteilt wurde (auch über das Internet), wurde ein Client-Server-Protokollstack implementiert.

Experimente

Nach dieser Implementierungsphase wurde eine Familie von verschiedenen naturinspirierten Evolutionsexperimenten mit geeignet modellierten Schwärmern und variierenden Umwelten durchgeführt, und die evolvierten Schwärmer mit Hilfe der Testsuite einer Vor-Auswertung unterzogen. So konnte vorab entschieden werden, welche evolvierten Schwärmer für die weitere Betrachtung mittels visualisierter Simulation besonders interessant sind und in der Diplomarbeit weiter betrachtet und analysiert wurden. Wie eine Evolution grundsätzlich abläuft und Verhalten entsteht, wird in folgendem Youtube-Video sichtbar.

Im Rahmen der Diplomarbeit wurden zehn Experimente mit insgesamt 100 Evolutionen (10 Evolutionsdurchläufe pro Experiment) durchgeführt und so dargestellt, wie vielfältig Verhaltensweisen sein können, die durch weniger beschränkte Schwarmevolutionen entstehen. Einige davon wurden ausführlich in Text, Bild und Video dokumentiert und analysiert.

Es ist festzuhalten, dass kooperative Mechanismen unter gleichartigen Individuen bei den gegebenen Modellen recht einfach evolvierbar zu sein schienen: In jedem Experiment (sogar vereinzelt in denjenigen Testexperimenten, bei welchen offensichtlich reines Individualverhalten zur Zielerreichung ausreichte) waren Fertigkeiten wichtig für den Schwarm, welche auf Individualebene keinen Sinn machen.

Über die verschiedenen Evolutionen ist eine Fülle an kooperativen Verhaltensweisen entstanden. Von gegenseitiger Hemmung der Vermehrung zum Zwecke der Rationierung vorhandenen Futters, über ausgeprägtes Markierungs-, Aggregations- und Explorationsverhalten bis hin zu Kommunikationsmechanismen, welche einfacher Art, jedoch für die Funktion des Gesamtschwarms unerlässlich waren, sind Verhaltensmerkmale entstanden, welche in der Natur allerorten beobachtet werden können. Die gezeigten – mithilfe des einfachen, exemplarischen Lebewesens- und Umweltmodells evolutionär entstandenen – Verhaltensweisen stellen das Potential von Experimenten mit freien, umfangreichen Evolutionen eindrucksvoll dar, wie auch folgender Vortragstrailer auf YouTube zeigt.

Robustheit und Performanz

Zur Evaluation eines jeden Schwarmgenoms wurde eine Simulation mit 70.000 Simulationsschritten eingesetzt. In einer solchen Simulation „lebten“ durchschnittlich ca. 10 bis 50 Schwärmer gleichzeitig in der Schwarmwelt, zuzüglich ggf. tausender passiver Objekte (Futter, Pheromone). Da ein Schwärmerleben nur ca. 10.000 Schritte dauert, wurden während einer Evaluation verschiedene Generationen der Schwärmerpopulation durchlaufen. Pro Evolution wurden 25.000 solcher Evaluationen, also 1,75 * 10^9 Simulationsschritte durchgeführt. Je nach Experiment und vorhandener Anzahl an beteiligten Computern dauerte ein Zehnfachdurchlauf an Evolutionen (also ein Experiment) mit insgesamt 1,75 * 10^10 Simulationsschritten zwischen 12 Stunden und 4 Tagen. Dies entspricht einer effektiven Simulationsgeschwindigkeit zwischen ca. 50.000 und 400.000 durchgeführten Simulationsschritten pro Sekunde – jeweils unter Berücksichtigung physikalischer Gesetze.

Hierbei ist zu berücksichtigen, dass die Anzahl der beteiligten Rechner (und die Zahl der verfügbaren CPUs pro Rechner) über die Zeit hinweg variabel war, und die Evolution einen Großteil der Zeit künstlich verlangsamt wurde, da die beteiligten Rechner auch für andere Arbeiten nutzbar bleiben sollten. Die Parallelisierung der Evolution war hierbei dennoch zu ca. 85%-90% effizient, es wurde also dieser Anteil der zur Verfügung gestellten Rechenkraft tatsächlich genutzt. Die restliche ungenutzte Zeit verstrich insbesondere für die Übertragungszeiten der zu evaluierenden Genome an die Rechenclients. Dies ist der Tatsache geschuldet, dass der Rechner, auf dem der Evolutionsserver lief, an einer verhältnismäßig upload-schwachen privaten Internetleitung angeschlossen war und daher viele (auch verhältnismäßig schnelle) Rechner nur über diese Verbindung erreichbar waren. Der Rechner wurde trotz der langsamen Anbindung als Evolutionsserver gewählt, da ich hier Verfügbarkeit garantieren konnte.

Fazit

Zusammenfassend sind in dieser Diplomarbeit synthetische Umwelten geschaffen worden, in welchen durch Evolution angepasste Lebewesen einfach entstehen. Es erscheint auf Grundlage dieser Diplomarbeit möglich, das existente Verhalten von Schwärmen und auch anderen Kollektiven in den Kontext des „Verhaltens, wie es noch sein könnte“ zu setzen. Zusätzlich können die einzelnen Softwarebestandteile auch unabhängig voneinander eingesetzt werden, z.B. in der Lehre.

  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf del.icio.us
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Digg
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Furl
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Reddit
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Ask
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Google
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Netscape
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf StumbleUpon
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Technorati
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Live Bookmarks
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Yahoo! Myweb
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Newsvine
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Yahoo! Bookmarks
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Twitter
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf myAOL
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Slashdot
  • Bookmark "Verteilte, evolutionäre Optimierung von Schwärmen" auf Mister Wong
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki