-
Simulationsprogramm zur Evolution von Autos mit einem genetischen Algorithmus
- Ziel ist es, mithilfe eines genetischen Algorithmus zufällige zweirädrige Formen über Generationen hinweg zu Autos zu entwickeln
- Basiert auf BoxCar2D, wurde jedoch von Grund auf neu geschrieben und verwendet lediglich dieselbe Physik-Engine (
box2d) - Verwendet die Bibliothek
seedrandom.jsvon David Bau
-
Steuerung und Einstellungen
- Es gibt die Funktion
Save/Restore Population, mit der sich die aktuelle Population lokal speichern und wiederherstellen lässt - Über den Schalter
Surprisekann das Zeichnen ein- und ausgeschaltet werden, um die Simulationsgeschwindigkeit zu erhöhen New Populationstartet nur die Autopopulation neu, während die Strecke erhalten bleibt- Mit demselben Seed wird immer dieselbe Strecke erzeugt, sodass man mit Freunden konkurrieren kann
Mutation rateist die Wahrscheinlichkeit, dass bei der Geburt einer neuen Generation jedes Gen jedes Individuums auf einen Zufallswert mutiertMutation sizeist der Bereich, in dem jedes Gen mutieren kann; je kleiner der Wert, desto näher bleibt er am ursprünglichen WertElite clonesbezeichnet die besten n Autos, die in die nächste Generation kopiert werdenView top replaypausiert die aktuelle Simulation und zeigt das leistungsstärkste Auto an
- Es gibt die Funktion
-
Grafik
- Rot: Höchstpunktzahl jeder Generation
- Grün: Durchschnitt der besten 10 Autos jeder Generation
- Blau: Durchschnitt aller Generationen
-
Genom-Zusammensetzung
- Form (1 pro Eckpunkt, insgesamt 8 Gene)
- Radgröße (1 pro Rad, insgesamt 2 Gene)
- Radposition (1 pro Rad, insgesamt 2 Gene)
- Raddichte (1 pro Rad, insgesamt 2 Gene) - je dunkler, desto höher die Dichte
- Chassisdichte (1 Gen) - je dunkler, desto höher die Dichte
-
Zusätzliche Hinweise
- Die Simulation ist nicht deterministisch, daher zeigt das beste Auto möglicherweise keine konsistente Leistung
- Die Komplexität des Terrains nimmt mit der Distanz zu
- Der Code ist jetzt auf GitHub verfügbar und offen für Beiträge aus der Community
1 Kommentare
Hacker-News-Kommentare
Zusammengefasst:
boxcar2dähnlich, aber ohne Flash umgesetzt)