Wator
(1985
/ 2000/ 2004)
Der
folgende Textauszug ist der Zeitschrift Computer Persönlich,
Ausgabe 12 vom 29.5.1985 entnommen. Text und Programmautor ist Dr. Piefke.
Das Programm war für einen Apple II+ mit GBasic unter CP/M geschrieben,
und wurde von mir auf einen CBM 4008 übertragen.
Das
Überleben simuliert
"Wator"
ist kein Spielprogramm, wie es zunächst den Anschein haben mag, sondern
besitzt einen ernsten Hintergrund. Es beschreibt ein einfaches ökologisches
System aus zwei Arten von Tieren, nämlich Fischen und Haien, dessen
zeitliche Entwicklung beobachtet werden kann.
Auf dem Planeten
Wator, der von A.K. Dewdney in Spektrum der Wissenschaft, Ausgabe 5/85,
Seite 6 bis 13 beschrieben wurde, leben Fische und Haie in einem rechteckigen
Muster aus Punkten. Die Haie fressen die Fische und müssen verhungern,
wenn sie in bestimmten Zeitabständen keine Nahrung erhalten. Für
die Fische steht unbegrenzt Nahrung zur Verfügung. In einer Woche
darf sich jedes Tier auf einen der vier Nachbarpunkte bewegen. Ein Fisch
kann auf einen freien Nachbarpunkt ziehen. Sind alle besetzt, so bleibt
er an seinem Platz. In einem Alter, das vorgegeben wird, vermehrt er sich
durch Teilung, sofern er ziehen kann. Ein Hai wird versuchen, einen Fisch
auf den vier Nachbarpunkten zu erreichen und zu fressen. Gelingt ihm das
nicht, so zieht er auf einen freien Nachbarpunkt. Auch die Haie vermehren
sich in einem bestimmten Alter durch Teilung.
Zieht ein Fisch
oder ein Hai über einen Rand des Rechtecks, so erscheint er auf der
gegenüberliegenden Seite. Wator besitzt also die Zusammenhangsverhältnisse
eines Torus, den man sich als Autoreifen [oder Schwimmring] vorstellen
kann. Alle Punkte sind gleichberechtigt. Wator besitzt eine hohe Symmetrie.
Alle Züge
eines Tieres sowie die Wahl der Ausgangsverteilung erfolgen zufällig
mit Hilfe der RND-Funktion. Die Lebensgemeinschaft auf Wator wird durch
die nebenstehend abgebildeten Parameter gesteuert. Ziel ist es,
Wator auf lange Teit mit vielen Individuen lebendig zu erhalten. Befinden
sich viele Haie in der Nähe von Fischschwärmen, so vermehren
sie sich sehr stark und fressen ganze Bereiche leer, wonach sie dann zum
Hungertod verurteilt sind. Man kann das dadurch vermeiden, dass das
Vermehrungsalter der Haie hoch und die Fastenzeit niedrig gesetzt
werden. In freien Bereichen können sich Fische stark vermehren, aber
nur so lange, bis noch Bewegungsmöglichkeiten bestehen; danach sterben
sie, wenn keine Teilungen mehr erfolgen können, wodurch nun wieder
Platz geschaffen wird.
In vielen Fällen
beobachtet man tatsächlich ein Anwachsen und späteres Abfallen
der Haianzahl und ein gegenläufiges Verhalten der Fischanzahl, worauf
sich der ganze Vorgang wiederholt. Große Fischschwärme werden
von Haien umlagert und gefressen, während sich einige Fische in leeren
Bereichen zu großen Schwärmen entwickeln. (Dr.
Piefke)
Die
hier zum Download bereitgestellte Version von Wator für den
CBM (WATOR 3.0, 1985) hält sich eng an die Vorlage aus
der
Computer Persönlich, hat jedoch auch einige Zusatzfunktionen.
So kann man beim Start festlegen, ob die einzelnen Bilder (Wochenzyklen)
abgespeichert werden sollen [die Dateien haben dann die Bezeichnung "WATOR
CRT #"] und es wird abgefragt, ob ein alter Stand der Simulation [abgelegt
in der Datei "WATOR DAT"] geladen und weitergeführt werden soll. Es
ist im Verlauf der Simulation auch jederzeit möglich, den aktuellen
Zwischenstand durch Drücken der Taste [S] abzuspeichern.
Wator
für den C128 entstand im Jahr 2000 als Demo für die Hobby
und Elektronik in Stuttgart. Es entsprach der CBM Version (nur die
Bildschirmadresse und einige Pokes mussten angepasst werden). Das jetzt
hier vorgestellte Programm WATOR 3.1 (2004) wurde so überarbeitet,
dass es von einem beliebigen Laufwerk gestartet werden kann. Die Anzahl
der vorbereiteten Zyklen wurde von 140 auf 260 erhöht, es wurden zusätzliche
Optionen eingebaut und Anpassungen für SuperCPU und BASIC128-Compiler
vorgenommen. Die compilierte Version trägt die Bezeichnung "M-WATOR
3.1 128".
Der
Rechenaufwand für WATOR ist beträchtlich. Die BASIC-Programme
brauchen zwischen 6 und 7 Minuten für einen Zyklus. Dies läßt
sich beim C128 beschleunigen. Die compilierte Version schafft ca. 3 Zyklen/Minute,
was etwa dem 20-fachen entspricht. Den gleichen Beschleunigungsfaktor liefert
auch eine SuperCPU, so dass zusammen eine maximale Rate von 60 Zyklen/Minute
erreichbar ist. Wenn man die BASIC-Programme einsetzt, sollte man die Bilder
über Nacht erzeugen, zwischenspeichern und später mit WATOR-FILM
abspielen. |
|
Die
ersten 20 Wochen im Überlebenskampf zwischen Fischen und Haien
|
|
Die
Parameter von Wator (wichtiger Hinweis: das Vermehrungsalter für Fische
darf nicht kleiner als zwei sein)
|
|
|
|
|
Wator
im Internet:
WATOR
Simulation eines Ökosystems
JAVA-Applikation
(deutsch):
www.stud.uni-hamburg.de/users/peter/wator.html
Wator
als JAVA-Applikation (englisch):
www.objectmentor.com/resources/fun/wator/index
Wator
als DOS-Programm:
home.t-online.de/home/matthias.borchardt/wator.htm
Wachstumssimulationen
Wator
und weitere Simulationen: home.wtal.de/schwebin/lsys/exkurs9.htm
Wator
Beschreibung (englisch)
und
Programm für Linux-Systeme:
www.cip.physik.uni-muenchen.de/~wwieser/prg/wator/
|
|
Wator
für CBM 4001 Series und C128:
|
WATOR
für Commodore Rechner
|
Version
für CBM 4001 Series als D64-Imagedatei
|
[Wator
3.0.D64]
|
Version
für den C128 (40 Zeichen Modus) als D81-Imagedatei
|
[Wator
3.1.D81]
|
|
Inhaltsverzeichnis
der Wator-Diskette für den CBM 4001 Series
"WATOR
3.0" ist das Simulationsprogramm
"WATOR-FILM"
dient zum Wiedergeben der zwischengespeicherten Bilder
"WATOR
DAT" enthält den mit der Taste [S] gespeicherten Zwsichenstand der
Simulation
"WATOR
CRT #" sind die jeweiligen Bilddateien der einzelnen Zyklen
|
|
Inhaltsverzeichnis
der Wator-Diskette für den C128 (Ausschnitt)
|
|
|
Tastaturbefehle:
[S]:
speichert Stand der Simulation |
[N]:
Neustart der Simulation (nur C128-Version) |
[X]:
Abbruch der Simulation (nur C128-Version) |
|
|