subgenius
Diskussionsleiter
Profil anzeigen
Private Nachricht
Link kopieren
Lesezeichen setzen
dabei seit 2009
Profil anzeigen
Private Nachricht
Link kopieren
Lesezeichen setzen
Simulation: Evolution imaginärer Würmer
02.05.2013 um 16:26Ich habe schon einige Evolutionssimulationen geschrieben aber dieses mal in JavaScript so das Jeder die Simulation durch einen Klick in Browser laufen lassen kann. Die Simulation besteht aus einen 2D 'Spielfeld' auf dem 'Würmer' platziert werden. Ein Wurm wird am Anfang mit einen zufälligen Genom und einen Segment ausgestattet (Also ein Einzeller und noch kein richtiger Wurm).
Ein Wurm bewegt sich in dem er vom Kopf (Der Wurm hat ein erstes Segment, das ist der Kopf) aus einen Schritt in ein Nachbarfeld tut. Ist das Feld frei folgen alle Segmente des Wurms dem vorherigen Segment.
Trifft der Wurm auf einen Kopf oder Schwanzende eines anderen Wurms so ißt er diesen,das Opfer verliert das Segment der Wurm wird ein Segment länger. Trift der Wurm einen anderen Wurm in der Mitte dann passiert derzeit folgendes:
Ist das Opfer größer als der Wurm dann blockiert der die Bewegung. Ist der Wurm jedoch größer oder gleichgroß wie sein Opfer Teilt er das Opfer. Der vordere Teil des Opfers darf weiter kriechen, der hintere Teil (ab der Bißstelle) wird ein neuer Wurm mit dem durch Crossover vereinten Genomen des Wurms und seines Opfers.
Trifft ein Wurm auf sich selber dann teilt er sich auch in zwei Teile, der Wurm aus der hinteren Hälfte ist ein Mutant des Wurmes.
Ein Wurm hat eine Lebensenergie, die derzeit pro Schritt um eins verringert wird. Sinkt die Energie auf Null, so verliert der Wurm ein Segment und erhällt dafür einen Energieschub. Veringert sich die Energie eines Einzellers auf Null, dann ist diei Zelle Tod und bleibt als schwarzer Punkt auf dem Spielfeld liegen und kann gegessen werden.
Denken tut der Wurm über ein primitives Neuronales Netz mit ca 12 Eingabe Neuronen, 2 Ausgabe Neuronen und ein Feedback Neuron (Ausgabe wird zur Eingabe im nächsten Schritt)
Sehen kann der Wurm in genau 3 Richtungen (Vorwärts, Links, Rechts) , ist das Feld leer bekommt er eine abgeschwächtes und gemitteltes Signal über die Belegung der Nachbarfelder des betrachteten Feldes.
Bitte schaut auf die Versions Nr .. mit v0.2 ist sicherlich noch nichts Fertig und schon garnicht meinen eigenen Ansprüchen genügend.
Da liegt die Simulation :
http://www.bulldada.de/wordpress/wp-content/uploads/2013/05/wurm.html
Ein Wurm bewegt sich in dem er vom Kopf (Der Wurm hat ein erstes Segment, das ist der Kopf) aus einen Schritt in ein Nachbarfeld tut. Ist das Feld frei folgen alle Segmente des Wurms dem vorherigen Segment.
Trifft der Wurm auf einen Kopf oder Schwanzende eines anderen Wurms so ißt er diesen,das Opfer verliert das Segment der Wurm wird ein Segment länger. Trift der Wurm einen anderen Wurm in der Mitte dann passiert derzeit folgendes:
Ist das Opfer größer als der Wurm dann blockiert der die Bewegung. Ist der Wurm jedoch größer oder gleichgroß wie sein Opfer Teilt er das Opfer. Der vordere Teil des Opfers darf weiter kriechen, der hintere Teil (ab der Bißstelle) wird ein neuer Wurm mit dem durch Crossover vereinten Genomen des Wurms und seines Opfers.
Trifft ein Wurm auf sich selber dann teilt er sich auch in zwei Teile, der Wurm aus der hinteren Hälfte ist ein Mutant des Wurmes.
Ein Wurm hat eine Lebensenergie, die derzeit pro Schritt um eins verringert wird. Sinkt die Energie auf Null, so verliert der Wurm ein Segment und erhällt dafür einen Energieschub. Veringert sich die Energie eines Einzellers auf Null, dann ist diei Zelle Tod und bleibt als schwarzer Punkt auf dem Spielfeld liegen und kann gegessen werden.
Denken tut der Wurm über ein primitives Neuronales Netz mit ca 12 Eingabe Neuronen, 2 Ausgabe Neuronen und ein Feedback Neuron (Ausgabe wird zur Eingabe im nächsten Schritt)
Sehen kann der Wurm in genau 3 Richtungen (Vorwärts, Links, Rechts) , ist das Feld leer bekommt er eine abgeschwächtes und gemitteltes Signal über die Belegung der Nachbarfelder des betrachteten Feldes.
Bitte schaut auf die Versions Nr .. mit v0.2 ist sicherlich noch nichts Fertig und schon garnicht meinen eigenen Ansprüchen genügend.
Da liegt die Simulation :
http://www.bulldada.de/wordpress/wp-content/uploads/2013/05/wurm.html