Die Idee hinter diesem Systemen kommt aus der Biologie. Wie verhalten sich zwei Arten auf einem Areal, wenn die eine sich einfach auf dem Areal vermehrt und von der anderen gefressen wird, z.B. Wolf und Reh.
Entscheidende Faktoren werden dabei die jeweiligen Vermehrungsraten und die "Fressraten" sein. Zur Simulation wird die jeweilige Veränderung der Population nach einem bestimmten Zeitintervall betrachtet:
Wolf = 0.9*Wolf + 0.001*Wolf*Reh;
Reh = 1,05*Reh - 0,002*Wolf*Reh;
Hier wird berücksichtigt, dass die Wölfe unter sich irgendwann aussterben (Wachstumsrate unter 100%) und nur überleben können, wenn sie auf Rehe treffen. Das wirkt sich aber nur in einem von 1000 Fällen aus.
Die Rehe wiederum würden sich mit 5% pro Zeitintervall vermehren, werden aber dadurch dezimiert, dass sie auf Wölfe treffen.
Verwendet man das folgende Java-Programm:
So erhält man folgende Entwicklung:
![](raeuber_beute.gif)
Am Schluss sind die Wölfe ausgestorben. Man sieht sehr schön, dass viele Rehe dazu führen, dass sich die Wölfe vermehren. Viele Wölfe wiederum bewirken einen Einbruch in der Rehpopulation, was dazu führt, dass nicht alle Wölfe überleben usw.
Um noch "abenteuerlichere" Entwicklungen zu erhalten, muss man nur an den Wachstumsraten für Wolf(0,9) und Reh(1,05) "drehen"
Ein Beispiel für eine seltsame Iteration ist das (3n+1)-Problem. Dieses Problem stammt vom deutschen Mathematiker Lothar Collatz (1910 - 1990), das er sich noch zu seiner Studienzeit gestellt hat. Es ist bis heute nicht gelöst. Die Aufgabe an sich ist einfach und behandelt eine Folge natürlicher Zahlen:
![](3n_plus_1_problem.gif)
Die Frage ist, ob dieser Algorithmus für jede Zahl abbricht. Betrachten wir uns ein paar einfache Beispiel:
16 8 4 2 1, also alle Zweierpotenzen enden bei 1
7 22 11 34 17 52 26 13 40 20 10 5 16 ... siehe oben