Informatik

EvolutionÀrer Algortihmus

Ein evolutionĂ€rer Algorithmus ist eine Art von Algorithmus fĂŒr maschinelles Lernen, der vom biologischen Evolutionsprozess inspiriert ist. Das Ziel von Algorithmen fĂŒr maschinelles Lernen besteht im Allgemeinen darin, eine optimale Lösung fĂŒr ein Optimierungsproblem zu finden. Im Fall dieses Simulators wird das Ziel durch die Aufgabe vorgegeben, die du fĂŒr deine Kreatur ausgewĂ€hlt hast (z.B. „so schnell wie möglich laufen“).

Je besser eine Kreatur diese Aufgabe bewĂ€ltigt, desto höher ist ihr Fitnesswert. Dieser Fitnesswert ist das, was hier optimiert wird. Der Algorithmus versucht, ein Verhalten des Lebewesens zu finden, das den höchstmöglichen Fitnesswert erzeugt. EvolutionĂ€re Algorithmen versuchen, solche optimalen Lösungen durch den Prozess von Versuch und Irrtum zu finden. Sie probieren wiederholt eine Reihe von Lösungskandidaten aus, bewerten sie und generieren dann auf der Grundlage dieser Bewertung eine neue Reihe möglicher Lösungen. (Eine „Lösung“ entspricht in diesem Artikel dem Verhalten eines einzelnen Lebewesens, das durch die Gewichte seines Gehirns bzw. seines neuronalen Netzes definiert wird).

Im Folgenden wird der allgemeine Aufbau eines evolutionÀren Algorithmus beschrieben:

  1. Erstellen einer zufÀlligen Menge von Ausgangslösungen (einer Population) Wiederhole die Schritte 2. - 5. -
  2. Bewerte jede Lösung danach, wie gut sie das Problem löst 3. Auswahl der Elternlösungen, die ihre Eigenschaften an die nĂ€chste Generation weitergeben dĂŒrfen
  3. Erstellen einer neuen Gruppe von Lösungen fĂŒr die nĂ€chste Iteration durch Rekombination von Elternlösungen
  4. HinzufĂŒgen zufĂ€lliger Änderungen (Mutation) zu einigen der neuen Lösungen

Die Mutationen in Schritt 5 zielen darauf ab, die Wahrscheinlichkeit zu verringern, dass der Algorithmus in einem sogenannten lokalen Optimum stecken bleibt. Ein lokales Optimum der Fitnessfunktion ist durch die Fitness einer Lösung gegeben, die sich verschlechtert, wenn man sie in irgendeiner Weise leicht verÀndert. Das Problem dabei ist, dass eine solche (lokale) Lösung nicht unbedingt die globale Lösung ist, nach der man eigentlich sucht.

Die HinzufĂŒgung eines völlig zufĂ€lligen Faktors in jeder Generation kann ausreichen, um neue Lösungen zu erzeugen, die sich so stark von einer lokalen Lösung unterscheiden, dass sie die Population davon abbringen können, in diesem lokalen Optimum stecken zu bleiben.