Simulierte Evolution

Eine einfache Evolutionssimulation

Evolution ist die Veränderung erblicher Phänotypeneigenschaften von biologischen Populationen in aufeinanderfolgenden Generationen. Evolutionäre Prozesse führen zu einer Vielfalt auf allen Ebenen der biologischen Organisation, einschließlich der Arten, einzelner Organismen sowie auf Molekularebene.

Dieser Artikel beschäftigt sich mit der Simulation von künstlichem Leben durch Anwendung von Grundprinzipien der Evolution. Die hier präsentierte Simulation ist die modifizierte Versionen eines Programms, das ursprünglich von Michael Palmiter, Ph.D. beschrieben [1] und später durch eine Artikelserie von A. K. Dewdney, Ph.D. in der Zeitschrift Scientific American bekannt gemacht wurde [2].

Die Simulation zeigt die Entwicklung im Jagdverhalten in einer Räuber / Beute Situation. Gedanklich kann man es sich so vorstellen, das ein kleiner Bereich des Meeresbodens simuliert wird. Mikroorganismen bewegen sich über das Simulationsgebiet und ernähren sich dabei von Bakterien. Die Bakterien sind ihre einzige Energiequelle. Die Bewegung jeder einzelnen Mikrobe wird durch einen Satz von Genen bestimmt. Diese Gene steuern die Wahrscheinlichkeit mit der eine Mikrobe ihre Bewegungsrichtung in einem Zeitschritt ändern wird.

Simulationsregeln

Um Evolution zu simulieren benötigen wir eine Spezies mit leicht zu beobachtendem Verhaltensmuster, das idealerweise nur von einer kleinen Gruppe an Genen bestimmt wird. Die in dieser Simulation verwendeten Gene bestimmen die bevorzugte Bewegung einer Mikrobe. Die Individuen konkurrieren mit anderen Mitgliedern der Art um die Nahrungsmittelversorgung. Wenn ein Individuum genügend Nahrung aufgenommen hat, kann es nach gewisser Zeit Nachkommen in einer Nachbarzelle erzeugen. Jeder der Nachkommen wird mit einem leicht modifiziertem Satz an Genen ausgestattet, der auf den Genen des Vorfahren basiert. Organismen, die bei der Nahrungssuche erfolgreich sind, haben eine höhere Chance auf Nachkommenschaft und können somit ihre Gene erfolgreicher weitergeben.

Gitter und Simulationszeit

Die Simulation befasst sich mit Mikroben, die von unbegrenzt verfügbaren aber zufällig verteilten Nahrungsressourcen leben. Ihr Lebensraum in der Simulation ist ein zweidimensionales Gitter. Sie können sich frei in jede der acht benachbarten Zellen bewegen. Die Ränder des Simulationsgebietes sind miteinander verbunden. Wenn sich eine Mikrobe über den Rand des Gitters bewegt, tritt sie sofort auf der gegenüberliegenden Seite wieder in das Simulationsgebiet ein.

In dieser Simulation werden Mikroben blau dargestellt, während die Nahrung grün gefärbt ist. Aus Gründen der Klarheit werden sie ein wenig größer gezeichnet. Die Anzahl der Mikroben, die sich in einer Gitterzelle befinden ist nicht begrenzt. Befinden sich mehrere Mikroben in einer Zellen, wird nur eine gezeichnet.

Bild 1: Mikroben "leben" auf einem Gitter mit zufällig verteilten Nahrungsressourcen.

Die Simulation erfolgt in diskreten Zeitschritten. Die Mikroben bewegen sich in einer geraden Linie ihrer aktuellen Bewegungsrichtung folgend. Trifft eine Mikrobe auf eine Gitterzelle, in der sich Nahrung befindet, so wird diese konsumiert und die Mikrobe erhält einen Energiebonus. Wenn im gleichen Zeitschritt mehrere Mikroben in eine mit Nahrung belegte Zelle eintreten, so erhält nur die zuerst eingetretenen den Energiebonus.

Mikroben

Mikroben stellen den aktiven Teil der Simulation dar. Sie werden durch blaue Rechtecke dargestellt. Sie bewegen sich über das Gitter und sind der Evolution unterworfen.

Die Bewegung

Mikroben können sich frei in ihre Nachbarzellen bewegen. Sie folgen dabei einer von acht möglichen Raumrichtungen. Ihre Bewegungsrichtung wird als Ganzzahlwert gespeichert. Dieser Wert dient als Index, um in einer Tabelle die spezifischen ΔX und ΔY Schrittweiten für jede der acht Raumrichtungen nachzuschlagen. Die Bewegung erfolgt durch aufaddieren der Delta-Werte zur aktuellen Gitterposition der Mikrobe. Die Bewegungstabelle ist so definiert das nur Bewegungen in Nachbarzellen möglich sind.

Bild 2: Die acht möglichen Bewegungsrichtungen einer Mikrobe mit ihrem ganzzahligen Richtungsindex.
Raumrichtungsindex Gitterschritte
Δx Δy
0 -1 1
1 0 1
2 1 1
3 -1 0
4 1 0
5 -1 -1
6 0 -1
7 1 -1
Tabelle 1: Bewegungstabelle mit den möglichen Bewegungsrichtungen der Mikrobe und den dazugehörigen Gitterschrittweiten.

Das Genom

In jedem Zeitschritt ändert die Mikrobe ihre Bewegungsrichtung mit einer bestimmten Wahrscheinlichkeit p in eine der 7 anderen möglichen Richtungen. Die acht Wahrscheinlichkeiten für die möglichen Richtungswechsel bilden das Genom der Mikrobe. Die Gene werden hier mit dem Buchstaben p und einem Index gekennzeichnet. Die Summe aller Wahrscheinlichkeiten ist eins: \[\sum_{n=0}^7 p_n = 1\]

Jedes der Gene steht für ein Segment im Intervall [0,1], dessen Länge proportional zum Wert des Gens ist. Folgende Grafik zeigt ein zufällig ausgewähltes Genom. Jedes Gen repräsentiert die Wahrscheinlichkeit für einen bestimmten Richtungswechsel:

Um die neue Richtung der Mikrobe unter Berücksichtigung der im Genom festgelegten Wahrscheinlichkeiten zu berechnen, muss man eine Zufallszahl \(r\) zwischen 0 und 1 berechnen:

\[r = rnd(1)\]

Danach ermittelt man den Index \(i\) des Genes, in dessen Bereich die Zufallszahl fällt. Dieser Index ist die kleinstmögliche Zahl, für welche folgende Ungleichung erfüllt ist:

\[r \lt \sum_{n=0}^i p_{n}\]

In obigem Beispiel ist i=3. Dies ist der Index des Genes, das den Richtungswechsel bestimmen wird. Die Richtung \(d\) der Mikrobe ist ein Zahlenwert zwischen 0 und 7 der gemäß Tabelle 1 interpretiert wird. Die Richtung im nächsten Zeitschritt \(d_{t+1}\) ergibt sich durch Addition von i zur aktuellen Richtung \(d_t\) und anschließender Bildung des Divisionsrests bei Division mit 8 (der Gesamtzahl der möglichen Richtungen):

\[d_{t+1} = (d_{t} + i)\mod 8\]

Mit dieser Gleichung können wir die Bedeutung der Gene interpretieren:

Gen Bedeutung
Index i Genbezeichner
0 p0 Keine Änderung
1 p1 Leicht Rechts drehen
2 p2 Rechts drehen
3 p3 Scharf Rechts drehen
4 p4 Richtung umkehren
5 p5 Hart Links drehen
6 p6 Nach Links drehen
7 p7 Leicht Links drehen
Tabelle 2: Liste aller Gene einer Mikrobe und ihr Einfluss auf die Bewegungsänderung.

Energiemanagement und Lebenszyklus der Mikroben

Bild 3: Der grüne Pfeil markiert die aktuelle Richtung der Mikrobe. In den Zellen stehen die Werte für die Kosten des jeweiligen Richtungswechsels. Die benötigte Energie hängt vom Ausmaß der Richtungsänderung ab. Findet keine Richtungsänderung statt, so wird keine Energie abgezogen. Eine komplette Richtungsumkehr ist am energieintensivsten (8 Energiepunkte).

Jede Mikrobe verfügt über einen begrenzten Energievorrat, den sie nur durch Nahrungsaufnahme erhöhen kann. In Jedem Zeitschritt wird ein kleiner Teil davon abgezogen. Dies sind die "Grundgebühren" für Überleben und Bewegung. Zusätzlich dazu kostet auch eine Bewegungsänderung Energie. Je stärker die Bewegungsänderung, umso mehr Energie muss dafür aufgebracht werden. Nur eine kontinuierliche Nahrungsaufnahme gewährleistet das Überleben, denn die Mikrobe stirbt, wenn ihre Energie auf 0 fällt. Hat die Mikrobe genügend Energie aufgenommen, so stellt sie die weitere Nahrungsaufnahme ein.

Sobald eine Mikrobe ein bestimmtes Alter erreicht hat kann sie, genügend Energie vorausgesetzt, Nachkommen erzeugen. Ihre Energie wird dann gleichmäßig zwischen ihr und ihrer Nachkommenschaft geteilt. Das Genom der Nachkommenschaft basiert auf dem Genom der Elterngeneration, enthält aber kleine zufällige Genvariationen.

Folgende Tabelle gibt einen Überblick über die Parameter des Energiemanagements einer Mikrobe in der Simulation:

Parameter Wert
Energiegewinn pro Nahrungsaufnehme 40
Maximalenergie 1500
Reproduktionsenergie 1000
Energieverlust pro Zeitschritt 1
Energieverlust für Richtungswechsel siehe Bild 3
Tabelle 3: Parameter des Mikrobenenergiemanagements.

Nahrungsvorkommen

Die Menge der in der Simulation entstehenden Nahrung ist nicht beschränkt. Jede Gitterzelle kann entweder leer sein, oder Nahrung enthalten. Es gibt keinen Lebenszyklus für die Nahrung, sie ist entweder da oder nicht. Wenn in einer Zelle Nahrung enthalten ist, so verbleibt diese dort bis eine Mikrobe sie aufnimmt. Verschiedene Nahrungsregenerationsmodi sorgen für evolutionären Stress in der Simulation:

  • Gleichverteilte Nahrung
  • Nahrung entsteht bevorzugt in einem kleinen rechteckigen Bereich im Zentrum
  • Nahrung entsteht primär entlang von vertikalen und horizontalen Linien
Option 1: Nahrung entstehe zufällig gleichverteilt.
Option 2: Nahrung entsteht entlang horizontaler und vertikaler Linien.
Option 3: Nahrung entsteht vorzugsweise in einem kleinen rechteckigen Bereich im Zentrum der Simulation.

Gleichmäßige Nahrungsverteilung

Die Simulation beginnt mit viel Nahrung, die in etwa gleichverteilt ist und mit nur wenigen Mikroben. Die Gene der Mikroben werden zufällig gesetzt. Es ist also unwahrscheinlich, dass sie eine bevorzugte Bewegungsrichtung haben. Sie kreiseln ziellos umher und bewegen sich dabei nicht sehr weit von ihrem Ursprungsort fort. Am Anfang ist das noch kein Problem, weil es reichlich Nahrung gibt. Egal, wie ungeschickt sich eine Mikrobe bewegt, sie wird vermutlich genügend Nahrung finden um sich fortzupflanzen. Die Gesamtzahl der Mikroben steigt und plötzlich konkurrieren mehrerer Generationen um die gleichen Nahrungsressourcen. Die Mikroben tendieren immer noch zu Kreiselbewegungen. Das lokale Nahrungsangebot wird schnell reduziert.

In dieser Situation ist es von Vorteil, in der Lage sein, sich von der Konkurrenz fortzubewegen. Mikroben, deren Gene weniger Richtungsänderungen hervorrufen haben plötzlich einen Wettbewerbsvorteil. Sie benötigen weniger Energie zum Überleben, denn Richtungsänderungen kosten Energie und sie können größere Strecken schnell zurück legen und somit neue Nahrungsquellen erschließen.

Bald wird ein Gleichgewicht erreicht und die Population stabilisiert sich. Mikroben wandern weite Strecken geradeaus und ändern gelegentlich ihre Richtung. Die Populationsdynamik ähnelt in diesem Stadium einer normalen Räuber-Beute-Simulation wie zum Beispiel der Wator-Simulation.

Bild 5: Bei gleichverteiltem Nahrungsangebot lernen die Mikroben schnell sich für kurze Zeit gerade fortzubewegen. Dadurch können sie weiter entfernt gelegene Nahrungsmittelressourcen erschließen und der lokalen Konkurrenz entgehen.

Der Garten von Eden

Das nächste Szenario wird in [2] auch als der "Garten von Eden" bezeichnet. Die Nahrung erscheint immer noch zufällig über das Simulationsgebiet verteilt aber es gibt einen kleinen rechteckigen Bereich in der Mitte, in dem deutlich mehr Nahrung entsteht. Mikroben, die diese Region erreichen zeigen bald Degenerationserscheinungen und beginnen sich wild in engen Kreisen zu drehen. Durch dieses Verhalten können es die Mikroben vermeiden sich aus dem "Garten von Eden" herauszubewegen. Sie bleiben in der Region mit dem reichhaltigsten Nahrungsangebot und profitieren daher auf lange Sicht von dem deutlich höheren Nahrungsaufkommen in diesem Gebiet.

Auch außerhalb des "Gartens von Eden" entsteht Nahrung, jedoch in geringerem Maße. Einige Mikroben passen sich sich an und schaffen es dort zu überleben. Die Nahrung ist spärlich und die Mikroben müssen weite Strecken schnell zurück legen um zu überleben. Es bildet sich eine zweite Population mit Genen, die für das Überleben in diesen Randbereichen optimiert sind.

Bild 6: Der Garten von Eden. Degenerationserscheinungen der Mikroben im Garten von Eden führen zu permanenten Kreiselbewegungen der Mikroben dort. Nur Mikroben, die den Garten von Eden nicht verlassen können von seinem reichhaltigen Nahrungsangebot profitieren.

Linienläufer

Was passiert, wenn man den Grundgedanken des "Gartens von Eden" fortführt zeigt sich mit diesen Simulationsparametern. Hier entsteht Nahrung fast ausschließlich entlang gerader, horizontaler und vertikaler Linien. In den Zwischenräumen entsteht gerade genug Nahrung um ein Aussterben der Mikroben zu verhindern. Zunächst fallen die Mikroben auf ihre einfachste Strategie zurück und beginnen sich längere Strecken geradeaus zu bewegen. Richtungswechsel werden seltener, da so Energie gespart werden kann und die Mikrobe schnell in weiter entfernte, noch unberührte Teile des Simulationsgebietes vorstoßen kann. Dieses Verhalten bleibt einige Zeit stabil.

Irgendwann stößt eine der Mikroben durch Zufall auf eine Linie und gewinnt so in kurzer Zeit viel Energie. Damit steigt auch ihre Chance sich fortzupflanzen. Je länger die Strecke ist, die sie auf der Linie zurücklegt, um so größer ist der Gewinn für die Mikrobe. Sie wird die Linie bald wieder verlassen, hat aber in dieser Zeit genug Energie gesammelt, um einen oder mehrere Nachkommen zu erzeugen. Unter diesen Nachkommen gibt es möglicherweise auch Genmutationen, die längere gerade Bewegungen begünstigen. Irgendwann trifft einer der Nachkommen erneut auf eine Linie und der Trend verstärkt sich. Nach einiger Zeit findet eine der Mikroben, die nun kaum noch ihre Richtung ändern eine Linie. Fast alle ihre Nachkommen werden ihr folgen und die Population konzentriert sich fast ausschließlich auf die Linien

Bild 7: Nahrung entsteht vorzugsweise entlang von Linien. Nach einiger Zeit bildet sich eine Population von auf den Linien lebenden Mikroben, welche die Fähigkeit zum Richtungswechsel fast vollständig verloren haben.

Download

Der Evolutionssimulator ist Teil des Educational-Javascripts-Typescript Archivs auf GitHub. Für die Ausführung wird ein HTML 5 fähiger Webbrowser benötigt.

Simulierte Evolution

Quellenverzeichnis

  1. "Simulated Evolution" via Archive.org; ehemalige Webseite von Michael Palmiter, Ph.D., Temple City, CA.
  2. "Computer-Kurzweil 2" Spektrum der Wissenschaft: Verständliche Forschung, 1992, ISBN 3-86025-030-2