Von Mäusen und Füchsen |
Von Mäusen und FüchsenDas im folgenden beschriebene Programm habe ich im Rahmen des Seminars "Künstliches Leben" an der Universität Potsdam entwickelt. Das Thema lautete: "Genetische
Algorithmen und evolutionäre Programmierung" Füchse und Mäuse krabbeln auf einem diskreten endlichen Universum (x-y-Gitter) von Punkt zu Punkt und Füchse fressen Mäuse - tragisch, aber so ist das eben. Ziel ist es, eine (quasi-) stabile Versuchs-Population zu erzeugen. Es muß also auf lange Zeit hin ein dynamisches Gleichgewicht zwischen Füchsen und Mäusen entstehen. Genauer gesagt sollte ein Räuber-Beute-Schema entstehen - derart, daß sich die Anzahl von Mäusen und Füchsen ähnlich wie sin(x) und sin(x+pi/2) verhalten. Die unabhängige Variable x ist hier die Zeit, die in diskreten Schritten voranschreitet und im folgenden durch "Tage" umschrieben wird. Als Optimierungs-Verfahren kommt ein genetischer Algorithmus zur Anwendung, welcher nach geeigneten Spezies-Kombinationen sucht. Stirbt eine Maus- oder Fuchs-Spezies aus, gilt der Versuch als gescheitert, denn das bedeutet, dass dieses Paar an Spezies nicht gemeinsam überlebensfähig war. Die Mäuse würden zwar ohne die Füchse prima zurecht kommen - das ist aber nicht der Sinn der Sache. Eine Spezies wird über einen Parameter-Vektor verändert, der folgende Eigenschaften definiert:
Ferner definiert das Programm eine Anzahl von Konstanten, die weitere Eigenschaften bestimmen. Z.B. verringert sich die Überlebenswahrscheinlchkeit von Mäusen und Füchsen in dem Maße, wie sie sich ihrem maximalen Lebensalter annähern. Speziell ist auch fest definiert, wie weit Mäuse und Füchse "sehen" können und welche Entscheidungen sie in Konflikt-Situationen treffen. Mäuse müssen z.B. häufig die Frage Fressen oder flüchten? beantworten. Füchse
können Mäuse fressen und Mäuse ernähren sich von "Pflanzen", an denen
sie herumknabbern und die sich dann nach und nach wieder regenerieren.
Mäuse verhungern also, wenn sie nicht ihren Aufenthaltsort ändern und
zu neuen "Weiden" wandern. Ebenso verhungern Füchse, wenn sie nicht durch
das Universum streifen und so die Wahrscheinlichkeit erhöhen, dass ihnen
Mäuse über den Weg laufen, die sie fressen können. Jedes Tier verfügt
über einen "Energievorrat", der einen bestimmten Pegel nicht unterschreiten
darf. Tritt dieser Fall trotzdem ein, stirbt das Tier an Energiemangel
- es verhungert. Für beide Spezies ist ein maximales Lebensalter
festgelegt. Wird es erreicht, stribt das Tier. Beide Spezies können Kinder
in die Welt setzen. Allerdings nur auf Punkte des Gitters in der direkten
Nachbarschaft der "Mutter", die gerade unbesetzt sind. Der
Evolutions - Algorithmus: Die
Animationen und Diagramme im Anschluß zeigen den Überlebenskampf
von zwei durch den genetischen Algorithmus gefundenen Spezies-Paaren im
Zeitraffer. In den Diagrammen sind die Versuchs-Populationsstärken der
beiden Spezies über der Zeit dargestellt. Dabei ist das erhoffte Räuber-Beute-Schema
klar zu erkennen (auch im zweiten Diagramm: Das große Zeit-Intervall
führt dort lediglich zu einer starken horizontalen Stauchung der
Kurvenverläufe). |
|
Von Mäusen und Füchsen |