Einleitung Teilnehmer Ergebnisse Dokumentation Download Links

Ergebnisse

Hier finden sich die verschiedenen Ergebnisse, die im Rahmen der Projektgruppe erzielt wurden. Dazu gehört natürlich das Programm selbst, die Ergebnisse von Evolutionsläufen die mit diesem Programm erzielt wurden, aber auch die beiden Berichte, die während des einen Jahres entstanden sind.


Das Programm

Eines der Hauptergebnis der Projektgruppe ist natürlich das Programm selbst. Um eine Parallelisierung der Evolution zu ermöglichen, wurde das Programm in zwei Teile geteilt. Einer davon ist der sogenannte Master, der andere ist der Slave.

Der Master

Der Master ist quasi die zentrale Verwaltung für Experimente. Ein Experiment beinhaltet alles, was für die Evolution eines Robotersteuerungsprogramm für eine bestimmte Architektur benötigt wird. Dazu gehören im groben ein Modell des Roboters, mehrere Robotersteuerungsprogramme (Individuen) und verschiedene Parameter, die für die Simulation bzw. für die Evolution der Individuen selbst benötigt werden. Die Gesamtheit aller Individuen wird Pool genannt und die Verwaltung dieses Pools ist ebenfalls die Aufgabe des Masters.

Der Master ermöglicht jedoch nicht nur die Verwaltung eines Experimentes, sondern kann auch mehrere Experimente gleichzeitig verwalten. Die verschiedenen Optionen eines Experimentes können alle grafisch eingestellt werden. Dazu zählen unter anderem:

  • Laden und Speichern von Robotern.
  • Einstellung der Sprachparameter des Roboters.
  • Einstellung der GP-Parameter.
  • Einstellung der Simulations-Parameter.
  • Einstellung der Umwelt-Parameter.
  • Erzeugung zufälliger Individuen.
Das folgende Bild zeigt den Master:

Der Sigel-Master.
Der Sigel-Master. Zum vergrößern darauf klicken.

Der Slave

Der Slave wird benutzt, um den Lauf eines Roboterprogramms zu simulieren. Er kann dabei für zwei unterschiedliche Zwecke benutzt werden. Während einer laufenden Evolution wird der Slave benutzt, um die Fitnesswerte der einzelnen Individuen zu berechnen. Weiterhin kann der Slave benutzt werden, um den Lauf eines Individuums zu visualisieren. Wird der Slave benutzt um Fitnesswerte zu berechnen, wird aus Gründen der Effizienz nicht visualisiert.
Das folgende Bild zeigt den Slave bei der Visualisierung:

Der Sigel-Slave.
Der Sigel-Slave. Zum vergrößern darauf klicken.

Parallelisierung

Der Vorteil dieser Teilung des Programms in zwei Teile ist, dass die Evolution parallelisiert werden kann. Auf dem Master werden alle Einstellungen gemacht und der Pool verwaltet. Die Slaves werden nur noch benutzt, um die Fitnesswerte zu berechnen.


Der Master schickt je ein Individuum mit den Parametern des Experimentes zu einem Slave.


Jeder Slave schickt den von ihm berechneten Fitnesswert zurück zum Master.

Das Programm findet sich im Download-Bereich als Source zum selber kompilieren, sowie als Binary-Version für Solaris als auch Linux.


Evolutionsergebnisse

Hier finden sich die Ergebnisse einiger Evolutionsläufe. Es wird jeweils eine Grafik der verwendeten Roboterarchitektur angezeigt, sowie ein Plot des Evolutionsverlaufes. Desweiteren können das verwendete Experiment, sowie das verwendete Robotermodell runtergeladen werden. Ist zu einem Experiment ein Film vorhanden, so wird auch auf diesen verlinkt. Zu jedem der Ergebnisse findet sich auch ein kleiner Kommentar.

Hammer (Nice walking fitness function)


FilmehammerNiceWalkingFitness.mpg (3,25 MB)
ExperimenthammerNiceWalkingFitnessExperiment.tar.gz (45,8 KB)
Roboter-Modellhammer.tar.gz (18 KB)

Der Hammer war der der ersten Roboter, der richtig im Simulator lief. Von ihm gibt es noch eine Variante: den Short Hammer.

Short Hammer (Nice walking fitness function)


ExperimentshortHammerNiceWalkingFitnessExperiment.tar.gz (423 KB)
Roboter-ModellshortHammer.tar.gz (17 KB)

Der Short Hammer ist eine Variation des Hammers. Die Motivation für die Konstruktion dieses Roboters war es, zu testen, ob der Hammer auch mit weniger Gliedern auskommt.

Octopus (Nice walking fitness function)


FilmeoctopusNiceWalkingFitness.mpg (4,6 MB)
ExperimentoctopusNiceWalkingFitnessExperiment.tar.gz (69,7 KB)
Roboter-Modelloctopus.tar.gz (19 KB)

In diesem Experiment wurde der Octopus mit Hilfe der "Nice Walking"-Fitnessfunktion evolviert. Im Gegensatz zur Evolution des Octopus mit der "Simple"-Fitnessfunktion zeigt dieser Roboter auch eher das Verhalten, welches man als geordnetes Gehen bezeichnen würde.

Octopus (Simple fitness function)


FilmeoctopusSimpleFitness.mpg (5,29 MB)
ExperimentoctopusSimpleFitnessExperiment.tar.gz (27 KB)
Roboter-Modelloctopus.tar.gz (19 KB)

Dieser Octopus wurde mit der "Simple"-Fitnessfunktion evolviert, d.h. es wurde ihm erlaubt mit dem Torso den Boden zu berühren. Das Laufen sieht in diesem Falle zwar nicht sehr elegant aus, ist jedoch effektiver als das Laufen mit der "Nice Walking"-Fitnessfunktion.

Insect (Nice walking fitness function)


FilmeinsectNiceWalkingFitness.mpg (3,52 MB)
ExperimentinsectNiceWalkingFitnessExperiment.tar.gz (26 KB)
Roboter-Modellinsect.tar.gz (32 KB)

Das Insect ist ein symmetrischer sechsbeiniger Roboter. Im Gegensatz zum Walker ist er jedoch nicht achsensymmetrisch.

Walker (Nice walking fitness function)


FilmewalkerNiceWalkingFitness.mpg (3 MB)
ExperimentwalkerNiceWalkingFitnessExperiment.tar.gz (46 KB)
Roboter-Modellwalker.tar.gz (42 KB)

Der Walker ist ein achsensymmetrischer sechsbeiniger Roboter.

Runner (Nice walking fitness function)


FilmerunnerNiceWalkingFitness.mpg (3,6 MB)
ExperimentrunnerNiceWalkingFitnessExperiment.tar.gz (471 KB)
Roboter-Modellrunner.tar.gz (36 KB)

Der Runner ist ein zweibeiniger Roboter, der in diesem Experiment mit Hilfe der "Nice Walking"-Fitnessfunktion dazu gebracht werden sollte, zu laufen ohne umzukippen.

Runner (Simple fitness function)


FilmerunnerSimpleFitness.mpg (4 MB)
ExperimentrunnerSimpleFitnessExperiment.tar.gz (51 KB)
Roboter-Modellrunner.tar.gz (36 KB)

In diesem Experiment wurde es dem Runner gestattet umzufallen, was dieser auch prompt nutzte.

Two Bases 1 (Simple fitness function)


FilmetwoBasesSimpleFitness1.mpg (2,71 MB)
ExperimenttwoBasesSimpleFitness1Experiment.tar.gz (41 KB)
Roboter-ModelltwoBases.tar.gz (12 KB)

Diese Architektur ist mit eine der einfachsten, die im Rahmen der Projektgruppe entstanden ist.

Two Bases 2 (Simple fitness function)


FilmetwoBasesSimpleFitness2.mpg (1,25 MB)
ExperimenttwoBasesSimpleFitness2Experiment.tar.gz (88 KB)
Roboter-ModelltwoBases.tar.gz (12 KB)
Bei diesem Experiment wurde der Einfluss des Importes von Individuen auf die Evolution untersucht. Wie aus dem Plot ersichlich ist, findet schon sehr früh eine starke Steigerung statt. Danach bleibt die Maximal-Fitness jedoch auf einem ziemlich konstanten Niveau.

Two Bases (mit reduziertem Instruktions-Set)


ExperimenttwoBasesReducedInstructionSetExperiment.tar.gz (87 KB)
Roboter-ModelltwoBases.tar.gz (12 KB)

Eine Evolution mit einem reduzierten Instruktions-Set.

Two Bases (mit kaum reduziertem Instruktions-Set)


ExperimenttwoBasesHardlyReducedISExperiment.tar.gz (42 KB)
Roboter-ModelltwoBases.tar.gz (12 KB)

Bei diesem Experiment wurde ein kaum reduziertes Instruktions-Set benutzt.

Two Bases (mit hoher Crossover-Rate)


ExperimenttwoBasesHighCrossOverRateExperiment.tar.gz (41 KB)
Roboter-ModelltwoBases.tar.gz (12 KB)

Bei diesem Experiment wurde die Crossover-Rate sehr hoch gestellt.

Two Bases (mit hoher Mutations-Rate)


ExperimenttwoBasesHighMutationRateExperiment.tar.gz (59 KB)
Roboter-ModelltwoBases.tar.gz (12 KB)

Bei diesem Experiment wurde die Mutations-Rate sehr hoch gestellt.

Berichte

  • Zwischenbericht (1,7 MB)
  • . Der Zwischenbericht wurde nach ca. sechs Monaten geschrieben, um zu sehen, was schon alles in dieser Zeit erreicht wurde.
  • Endbericht (3,15 MB)
  • . Der Endbericht wurde am Ende des Projekts geschrieben. In ihm finden sich noch viele weitere nützliche Informationen, wie zum Beispiel ein kleines Benutzerhandbuch.