Explorables
Evolutions Simulation

Evolutions Simulation

Vollständige Simulation starten

Genetisches Lernen anhand einer Evolutions Simulation

Viele Beispiele des maschinellen Lernens basieren auf dem Prinzip des Lernens durch Beispiele. Dabei wird ein neuronales Netz solange angepasst bis es die gewünschte Ausgabe für eine gegebene Eingabe liefert. Ein anderes Prinzip ist das genetische Lernen, welches auf der Evolutionstheorie basiert. In diesem Exploarable schauen wir uns an, wie es möglich ist, eine KI zu trainieren, ohne genau zu wissen, welches das eigentliche Ziel ist.

Ausgangslage

In einer virtuellen Welt gibt es eine Population von Kreaturen, die sich durch eine Welt bewegen können. Jede Kreatur hat ein eigenes neuronales Netz, welches ihr Verhalten steuert. Zunächst werden die Kreaturen und deren neuronale Netze zufällig erzeugt. Das geschieht so lange, bis sich über 100 Kreaturen in der Welt befinden.

Evolution

In jedem Berechnungsschritt wird die Welt aktualisiert. Es wird neue Nahrung erzeugt und das neuronale Netz jeder Kreatur wird mit den aktuellen Eingaben, wie z.B. ihrer aktuellen Energie berechnet. Die Ausgaben des neuronalen Netzes bestimmen dann unter anderem die Bewegung und die Rotation der Kreatur. Mithilfe der KI hat die Kreatur auch die Möglichkeit sich fortzupflanzen. Dabei wird das neuronale Netz der Eltern-Kreatur vererbt und zufällig mutiert. Das kostet die Kreatur allerdings, wie jede andere Aktion auch, Energie. Daher ist es zum Schluss eine Frage, welche Kreatur den besten Kompromiss findet und daher am längsten überlebt bzw. sein "Erbgut" am besten weitergibt. Sicherlich ist es nicht immer die Kreatur, die am schnellsten ist oder die am meisten Nahrung frisst. Es ist die Kreatur, die am besten an ihre Umgebung angepasst ist. Sichtbar wird das in der Simulation durch die Farbe der Kreaturen. Je nach Generation trägt die Kreatur eine andere Farbe.

Vollständige Simulation starten

Wenn du die vollständige Simulation starten möchtest, klicke auf den Button oben. Dort kannst du die Simulation starten und verschiedenste Parameter einstellen. Du wirst sehen, dass bei gewissen Einstellungen die Kreaturen sich sehr schnell vermehren und bei anderen sich gar kein stabiler Zustand einstellt. Viel Spaß beim Experimentieren!

Credits

Die Simulation wurde von Tim Arnold (opens in a new tab) entwickelt und bereitgestellt. Den Quellcode findest du auf GitHub (opens in a new tab).