Torusworld

Im zweitem Semester hatte in meinem Studiengang jeder die Aufgabe bekommen eine Jäger-Beute Simulation in Java zu schreiben. Auf einem begrenzten Spielfeld ohne Rand (läuft man nach unten geht es oben weiter u.s.w. -> Form eines Torus) leben Hasen und Wölfe. Die Hasen vermehren sich jeden Zyklus mit einer bestimmten Wahrscheinlichkeit und haben eine einstellbare maximale Lebensdauer. Wann immer sich ein Wolf auf ein Feld mit ein oder mehreren Hasen bewegt, werden alle Hasen auf diesem Feld gefressen und der Wolf zeugt mit einer bestimmten Wahrscheinlichkeit einen neuen Wolf. Auch die Wölfe haben eine maximale Lebensdauer. Als Unterschied zu vielen vergleichbaren Programmen sollte es möglich sein, dass sich mehrere Hasen oder Wölfe auf ein und dem selben Feld befinden können.

Folgene Parameter sind einstellbar

Es lässt sich gut beobachten wie bei bestimmten Parametern mal ein Gleichgewicht zwischen Hasen und Wölfen auftritt oder bei ungünstigen Startparametern die Wölfe oder beide Tierarten aussterben. Bei einem Gleichgewicht sieht es so aus, als ob die Wölfe die Hasen jagen würden obwohl sich beide Tierarten nur zufällig in eine Richtung bewegen. Dies liegt daran dass nur dort wo Hasen sind neue Wölfe entstehen und bei der stark begrenzten Lebensdauer (8 Zyklen in der Standardeinstellung) somit sich die Wölfe kaum weit entfernt von der Hasengruppe aufhalten können. Grenzen Wölfe eine Gruppe Hasen von allen Seiten ein, so vernichten die Wölfe die Hasen von allen Seiten und die Wolfspopulation wächst zum Hasenzentrum hin. In diesem Fall droht ein aussterben der Hasen und somit auch der Wölfe sofern nicht noch woanders auf der Welt Hasen und Wölfe zu finden sind. Ohne Wölfe wächst die Hasenpopulation, bis die eingestellte maximale Anzahl der Hasen erreicht ist.
Eigentlich hatte ich noch weitere Funktionen für mein Programm geplant, so sollte jedes Tier ein paar Werte (als Gene) erhalten die eine bevorzugte Bewegungsrichtung festlegen und diese mit leichten Variationen an ihre Nachkommen weitergeben, jedoch fehlte für solche interessanten Erweiterungen leider die Zeit.
Auf einem aktuellen ~1,5 GHz Rechner ist die Geschwindigkeit bei bis zu 100000 Tieren noch akzeptabel, darüber hinaus wird das Programm leider etwas langsam.

Screenshot von Torusworld
Screenshot des Programms. Grün ist die freie Fläche, Dunkelrot sind die Wölfe und blau die Hasen. Die Anzahl der Tiere auf einem Feld werden durch die Helligkeit der Farben dargestellt.
torusworld_0-3-1.zip
Quellcode von Torusworld 0.3.1. Lizenz: GPL. Verwendung auf eigenes Risiko.


Zur Startseite

zuletzt geändert: 21.10.2006