Visualisierung in der Bioinformatik – 24. Juni 2004 1 - Simulation der Evolution – Computersimulationen von evolutionären Veränderungen durch Mutation und Selektion Bianca Büttner, Bioinformatik 4. Semester, Johann Wolfgang Goethe-Universität Frankfurt am Main, [email protected] Abstract Der folgende Artikel über die Simulation der Evolution oder bestimmter evolutionärer Prozesse soll dem Leser einen Überblick geben, welche Simulationsmodelle es gibt, um die genetischen Veränderungen während der Evolution einer Population, die durch Mutation und Selektion erzeugt werden, zu simulieren und zu untersuchen. Den Meisten dieser Computersimulationsmodelle liegt eine bestimmte biologische Fragestellung zugrunde, die nicht im Labor gelöst werden kann. Da für die Erforschung eines evolutionären Prozesses mehrere Tausend oder Zehntausend Generationen einer Population nötig sind. Selbst die Züchtung kurzlebiger Labortiere, wie der Taufliege, würde Jahrzehnte dauern und entsprechend die Forschungsarbeit in die Länge ziehen. Hier kommt uns die Computersimulation zu Hilfe, die nicht nur viel komplexere evolutionäre Zusammenhänge wie der Forscher im Labor simulieren kann, sondern die Ergebnisse auch viel schneller liefert. Die unterschiedlichen Arten der Visualisierung dieser Ergebnisse werden nun hier an zwei Beispielen gängiger Simulationsmodelle vorgestellt, von denen nicht alle nur für eine rein wissenschaftliche Verwendung entwickelt wurden. So gehört das interaktive PC-Spiel Creatures zu den am schönsten visualisierten Simulationen für die Evolution einer virtuellen Lebensform. Andere mehr an die Wissenschaft angelehnte Simulationen, wie zum Beispiel Avida, arbeiten dagegen mit viel weniger visuellen Effekten, da diese nicht zur Lieferung der gesuchten Ergebnisse benötigt werden. Schlagwörter (Keywords): Computersimulation – Simulationsmodell – Bioinformatik – evolutionäre Prozesse – Mutation – natürliche Selektion – Evolution - Genetischer Algorithmus – Visualisierung – digitale Organismen – virtuelle Welt – Creatures – Avida CR-Kategorien: I.6.8 [Simulation and Modeling]:Types of Simulation --- Visual; I.6.3 [Simulation and Modeling]: Applications; I.2.1 [Artificial Intelligence]: Applications and Expert Systems --- Games, Medicine and Science; J.3 [Life and Medical Sciences]: Biology and genetics 1. Mechanismen der Evolution Die evolutionären Prozesse, die uns und die Natur im Laufe der Evolution geprägt haben, dienen uns nun als Grundlage für Computersimulationen, die die Evolution so naturgetreu, wie es technisch möglich ist, nachahmen. Natürlich können nicht alle Prozesse, die während der Evolution ablaufen, gleichzeitig in einem Computer simuliert werden, da die natürliche Evolution zu komplex ist, als dass sie in allen ihren Einzelheiten von einem Computer dargestellt werden kann. Außerdem dienen diese Simulationen dazu, neue Erkenntnisse über die Evolution und ihrer Prozesse zu gewinnen – würden wir bereits alle Details eines evolutionären Vorgangs, wie zum Beispiel die Evolution einer Fliege, kennen, wären komplizierte Simulationsmodelle auch nicht mehr nötig. Aus diesem Grund schränkt man die Prozesse, auf die eine Simulation der Evolution basieren soll, auf die bereits von Charles Darwin postulierten grundlegenden Mechanismen der Evolution wie den verschiedenen genetischen Mutationen, der natürlichen Selektion (Survival of the Fittest) und dem Wettbewerb der Organismen untereinander ein. Kontroversere oder veraltete Evolutionshypothesen, wie zum Beispiel die Annahme einer religiösen Gruppe, die Erde sei erst vor 6000-10000 Jahren entstanden und somit eine natürliche Evolution gar nicht möglich gewesen (Creationismus) oder die Theorie von Lamarck, die besagt, dass auch die im Leben erworbenen Eigenschaften der Eltern auf die Nachkommen vererbbar sind, werden hier außen vor gelassen (online nachzulesen unter: http://de.wikipedia.org/wiki/Evolutionstheorie). 1.1 Natürliche Selektion Die natürliche Selektion (im Gegensatz zur künstlichen Selektion durch den Menschen, die nicht zufällig ist und sich nicht nach den natürlichen Umweltbedingungen richtet) sorgt dafür, dass nur die Organismen, die einen Selektionsvorteil haben und sich somit besser vermehren können, am Ende überleben und ihre Gene ihren Nachkommen weitergeben können. Dadurch kommt es zu einer besseren phänotypischen Anpassung an die Umwelt und höheren Überlebenschancen. Ein Beispiel für einen Selektionsvorteil sind die Stummelflügel einer Fruchtfliegenmutante. In der Natur sind diese flugunfähigen Insekten gegenüber dem Wildtyp normalerweise stark benachteiligt, aber auf den Kerguelen-Inseln erreichen sie damit, dass sie vom Wind nicht so schnell auf das Meer getrieben werden, wie ihre normalflügeligen Artgenossen. Zu gleich wird hier auch deutlich, dass eine Selektion immer von den Lebensbedingungen eines Lebewesens und den Umweltfaktoren abhängt, da diese den eigentlichen Selektionsdruck ausüben (Evolutionsfaktoren: http://www.webmic.de/evolutionsfaktoren.htm#Selektion). Man unterscheidet drei verschiedene Arten der Selektion: Die stabilisierende, die gerichtete und die unterbrechende Selektion. Die stabilisierende Selektion wirkt auf beide Extremas in der Entwicklung des Phänotyps einer Art. Ein Beispiel wäre die erhöhte Kindersterblichkeit bei Säuglingen über und unter 7,5 Pfund. Die gerichtete Selektion lässt nur ein Extrema überleben, zum Beispiel die Insekten, die gegen DDT resistent waren. Bei der unterbrechenden Selektion gibt es keine einzige bestimmte Variation des Phänotyps mehr, sondern zwei oder mehr gleichzeitig. Zum Beispiel kommt das Weibchen des afrikanischen Schmetterlings Papilo dardanus in mehreren Erscheinungsformen vor, die schlechtschmeckenden anderen Schmetterlingsarten gleichen, um sich so vor seinen Fressfeinden zu schützen. Wirken auf verschiedene Arten von Lebewesen gleiche Umweltbedingungen ein, kann die natürliche Selektion auch verantwortlich für die Entwicklung konvergenter Lebewesen sein. Als Beispiel hierfür kann man die Maulwurfsgrille und den Maulwurf anführen, die beide Visualisierung in der Bioinformatik – 24. Juni 2004 aufgrund ihrer Lebensumstände schaufelartige Vorderextremitäten entwickelt haben (Ernst-Georg Beck, Mechanismen der Evolution: http://www.merian.fr.bw.schule.de/Beck/skripten/13/bs1335.htm). 1.2 Mutation Mutationen sind spontane oder von der Umwelt induzierte Änderungen des Erbgutes. Es gibt drei verschiedene Mutationsarten: Bei der Genommutation treten Fehler bei der Verteilung der Chromosomen während der Zellteilung auf. So kommt es, dass die neu entstandenen Zellen unterschiedlich viele Chromosomen haben. Dies führt zu schweren Erbkrankheiten (z. B. Down-Syndrom – das 21. Chromosom ist ein Triplett). Die zweite Mutationsart ist die Chromosomenmutation, bei der die Chromosomenform verändert ist, z. B. kann das Chromosom verkürzt oder ringförmig sein. Als Genmutation wird eine Mutation bezeichnet, die ein defektes, verändertes oder sogar fehlendes Gen erzeugt, wodurch modifizierte oder defekte Proteine entstehen. Diese Art der Mutation erfolgt meist bei einer fehlerhaften Replikation oder Transkription und ist sehr wichtig für die Evolution eines Organismus, denn nur so verändert sich sein Genom. Die Selektion entscheidet dann je nach Umweltfaktoren, ob sich die Mutation positiv oder negativ für das Lebewesen auswirkt. Die ersten beiden Mutationsarten finden weit seltener statt als die Genmutation und spielen für die Evolution auch keine so große Rolle, daher werden sie bei den Berechnungen für eine Computersimulation auch nicht miteinbezogen. Ein gutes Beispiel für eine Genmutation mit selektiver Wirkung ist der Gendefekt im Gen für die Beta-Kette des Blutfarbstoffs Hämoglobin. Als Folge dieser so entstehenden Krankheit, der sogenannten „Sichelzellenanämie“, kann das Hämoglobin den Sauerstoff schlechter fixieren und die Erythrozyten sind flach statt rund, wodurch ihre Lebensdauer deutlich verkürzt wird. Obwohl diese Krankheit eindeutig einen negativen Effekt auf den Menschen hat, gibt es Gebiete, wo sie sehr gehäuft auftritt. Denn in den afrikanischen Malariagebieten schützt dieser Gendefekt die Bevölkerung, indem er den Erkrankten eine gewisse Resistenz gegen Malaria verleiht. Eine Genmutation kann auch durch äußere Faktoren auftreten, z. B. durch Röntgen- oder radioaktive Strahlung oder durch mutagene Chemikalien. Außerdem unterscheidet man noch zwischen verschiedenen Genmutationen: Die NonsensMutation, die Rastermutation und die Punktmutation. Bei der Punktmutation wird lediglich eine Base vertauscht, was entweder zu einem neuen Protein führen kann (FehlsinnMutation) oder ein Codon erzeugt, das es nicht gibt (Stille Mutation). Die Nonsens-Mutation führt zu einem defekten Protein, indem durch Basenaustausch ein Stopcodon entsteht. Bei der Rastermutation entsteht durch Einfügen (Insertion) oder Entfernen (Deletion) eines Basenpaares ein anderes Triplettraster. Ab der Stelle der Mutation verschieben sich die Codons, was zu nicht funktionsfähigen Proteinen führt (ErnstGeorg Beck: Mutation, Mutagene http://www.merian.fr.bw.schule.de/Beck/skripten/13/bs135b.htm). Wie man anhand der jetzt folgenden Simulationsmodelle sehen wird, genügt es, den virtuellen Organismen Gene zu geben und sie in einer Umwelt mit bestimmten Lebensbedingungen über Generationen hinweg wachsen zu lassen, damit diese grundlegenden Evolutionsprozesse einsetzen und die weitere Entwicklung in Gang setzen können. 2 2. Evolution im Computer Die meisten Computerprogramme, die die Evolution eines oder mehrerer Lebewesen simulieren sollen, werden objektorientiert programmiert. Meist wird die Programmiersprache C++ verwendet, in seltenen Fällen, wenn das Programm weniger komplex ist, wird Java eingesetzt. Die objektorientierte Programmierung ermöglicht es, der Simulation freie Hand in ihrer Entwicklung zu lassen, da sie so nicht gezwungen ist, ein bestimmtes Programm Befehl für Befehl genau abzuarbeiten. Die Plattform auf der eine Simulation läuft, ist vom Entwickler abhängig. Avida wurde zuerst auf Linux-Basis programmiert, wohingegen Creatures für Windows 95 konzipiert wurde. 3. Die Avida-Welt Avida ist eine Software, durch die eine virtuelle Welt mit künstlichen Lebewesen erschaffen wird. Diese virtuellen Lebewesen sind Computerviren sehr ähnlich, allerdings unterscheiden sie sich in einigen Punkten deutlich: Die AvidaOrganismen können nur innerhalb ihrer eigenen Welt existieren und ihr Kopiervorgang, mit dem sie sich reproduzieren, ist fehlerhaft, so dass sie mutieren und zu spontaner Evolution fähig sind. Außerdem kämpfen die digitalen Organismen von Avida miteinander um den größtmöglichen Selektionsvorteil (Energie), hängen von den Bedingungen ihrer Umwelt ab und können Energie zum Überleben dazugewinnen, wenn sie es schaffen, logische Funktionen richtig zu berechnen. Entwickelt wurde diese Avida-Welt von Christoph Adami (Digital Life Laboratory, California Institute of Technology, Pasadena) in Zusammenarbeit mit Richard E. Lenski (Department of Microbiology & Molecular Genetics), Charles Ofria (Department of Computer Science & Engineering) und Robert T. Pennock (Department of Philosophy) von der Michigan State University in East Lansing, Michigan. Die erste virtuelle Welt mit evolutionsfähigen künstlichen Lebewesen wurde bereits 1990 entwickelt und von ihrem Erfinder Thomas Ray „Tierra“ getauft. Der Nachfolger Avida wurde jedoch erst 2003 veröffentlicht. 3.1 Aufbau eines virtuellen Lebewesens Ein Avida-Lebewesen ist nichts anderes als ein einfaches Programm, das sich selbst ausführen und kopieren kann. Sein Genotyp ist ein zirkuläres Genom, bestehend aus einer Kette von Genen, die nichts anderes als elementare Maschinenbefehle sind. Ringförmig ist das Genom, da die Befehle der Reihe nach abgearbeitet werden (außer es werden mehrere gleichzeitig ausgeführt um z. B. eine komplexere Funktion auszurechnen) und nach dem letzten Befehl wieder der erste Befehl folgt. Der Phänotyp eines solchen Organismus’ ist so stark vereinfacht, dass er vom Genotyp kaum zu unterscheiden ist. Es gibt keine sichtbare Benutzeroberfläche oder ähnliches, sondern der Phänotyp ist in diesem Fall einfach der von der Avida-Software simulierte Computer, der die Instruktionsbefehle aus dem Genom ausführt. Dieser virtuelle Computer besteht aus einer virtuellen CPU, die aus zwei Stacks und drei Registern aufgebaut ist (siehe Figure 1). Visualisierung in der Bioinformatik – 24. Juni 2004 Diese CPU kann 32-Bit-Strings verarbeiten und insgesamt 26 verschiedene Instruktionen ausführen. Eine Liste aller Instruktionen ist unter Abbildung 2 zu sehen. 3.2 Stoffwechselfunktionen Diese Instruktionen dienen dem Lebewesen dazu, eine Art Stoffwechsel wie bei einem biologischen Organismus zu simulieren. Eine der Instruktionen ist zum Beispiel der Kopierbefehl mit dem sich das Avida-Lebewesen selbst kopiert. Zu Beginn der Simulation entspricht das Avida-Lebewesen noch einer Art Ur-Form, das sich zwar asexuell fortpflanzen kann, aber nicht in der Lage ist, logische Funktionen zu berechnen. Jedes Lebewesen ist zu Beginn identisch und erhält soviel Energie, wie es entsprechend seines Genoms zur Ausführung seiner Instruktionen benötigt. 3 Während des Kopierens kommt es zu Fehlern, die Punktmutationen, Deletionen und Insertionen entsprechen. Das heißt Gene werden ersetzt, weggelassen oder hinzugefügt. Dadurch variiert die Genomlänge (also die Anzahl der Befehle) von Generation zu Generation mehr. Dies führt natürlich auch dazu, dass sich die Kopiergeschwindigkeit, die ja abhängig von der Genomlänge ist, und andere überlebenswichtige Funktionen von Generation zu Generation verändern. Die meisten Mutationen sind neutral oder sogar nachteilig für einen virtuellen Organismus, aber eine kleine Anzahl von Mutationen verbessern seine Überlebenschancen im Vergleich zu anderen Organismen, die diese Mutation nicht entwickelt haben. Jede Ausführung einer Instruktion kostet das Avida-Lebewesen Energie, irgendwann ist der Energievorrat, den es zu seiner „Geburt“ mitbekommen hat, aufgebraucht, aber nur mit Energie kann es sich weiter fortpflanzen. Also muss das Lebewesen sich weitere Energie verdienen, indem es logische Operationen auf 32-Bit-Strings anwendet. Die Energie ist in Einheiten gleicher Größe aufgeteilt. Mit einer SIP-Einheit (single-instruction processing unit) lässt sich genau eine Instruktion ausführen. Nur eine der 26 Instruktionen, NAND (Not(A And B)), ist eine logische Operation. Mit der NAND-Verknüpfung lassen sich acht weitere logische Operationen ausführen. NAND benötigt immer die Instruktion IO (Input-Output) zu seiner Ausführung und die anderen logischen Funktionen benötigen NAND sowie ein Netzwerk anderer Instruktionen. Jede der insgesamt neun logischen Operationen liefert unterschiedlich viel Energie (siehe folgende Tabelle). Die Funktion EQU liefert mit Abstand die meiste Energie (32 SIPs) und der Organismus, der diese Operation erlernt hat, besitzt damit den größten Selektionsvorteil. Aber für jede erlernte logische Operation bekommt ein Avida-Organismus nur einmal seine bestimmte Menge SIPs, egal wie oft er sie danach noch anwendet. Dadurch ist das Lebewesen gezwungen, immer wieder neue Funktionen zu erlernen, um seinen Selektionsvorteil zu behalten. Die Reihenfolge, in der er diese Operationen erlernt, ist dabei nicht wichtig. Aber es müssen alle logischen Funktionen erreicht sein, bevor das Erlernen der EQU-Operation möglich ist. Um eine logische Funktion ausrechnen zu können, sind viele Mutationen nötig, wobei die EQU-Funktion natürlich am schwersten zu erreichen ist. Wie die EQU-Operation funktioniert, wird in Figure 1 gezeigt. Tabelle mit allen 9 logischen Funktionen und der jeweiligen Belohnung. 3.3 Berechnung der logischen Funktion EQU Abb. 2: Übersicht aller 26 ausführbarer Instruktionen Die Abkürzung EQU kommt von ‚equals’ und meint den Vergleich zweier 32-Bit-Strings auf Gleichheit. Zuerst werden dem Avida-Lebewesen zwei binäre Strings eingegeben (daher auch two-input logic function), durch NAND miteinander verknüpft und in den Registern BX und CX (siehe Abb. Figure 1) in der virtuellen CPU gespeichert. In Register AX kommt Visualisierung in der Bioinformatik – 24. Juni 2004 4 dann das Ergebnis des Vergleichs, das ausgegeben wird. Das Ergebnis kommt zu Stande, indem eine Null gesetzt wird, wenn beide Strings in den BX- und CX-Registern an der gleichen Position eine Eins haben. Andernfalls wird eine Eins gesetzt. Am Ende steht im Ergebnis an jeder Stelle eine Eins, an der sich die beiden Input-Strings gleichen und eine Null, wenn sie unterschiedlich sind. Die Ausgabe des AX-Registers erfolgt durch die Instruktionen IO und nop-A (no operation A). Das Avida-Lebewesen bekommt nur dann seine Energie, wenn es das korrekte Ergebnis erzielt hat. Keine einzelne Mutation ist in der Lage, einem AvidaLebewesen die Fähigkeit, zur Berechnung einer logischen Funktion zu geben. Stattdessen müssen mehrere Mutationen in bestimmten Instruktionen und in einer bestimmten Reihenfolge erfolgen, um zumindest eine der einfachen logischen Operationen zu bewerkstelligen. Dabei ist zu beachten, dass nicht jede Mutation für den Organismus auf den ersten Blick positiv ist, manchmal sind mehrere nachteilige Mutationen nötig, bis es zu einem Selektionsvorteil kommt. Abb. 4: Diagramm zur Feldstudie In den nächsten beiden Diagrammen (Figure 3) wurden weitere Daten, die durch Simulationen erhalten wurden, aufgetragen. Das obere Diagramm zeigt die Kopiereffizienz eines AvidaLebewesens während seiner gesamten Lebensdauer. Wie zu sehen ist, vermehrt sich am Anfang mehr, da es noch viel Energie besitzt und das Genom noch kurz ist. Aber je länger das Genom ist, desto länger dauert der Replikationsvorgang, was die Effizienz verringert. Folglich hat sich das Lebewesen angepasst, indem es sich entweder mehr Energie verdient hat, oder sein Genom verkürzte. Das untere Diagramm zeigt, die Summe aller Energieeinheiten, die es sich im Laufe seines Lebens durch das Erlernen von logischen Funktionen verdient hat. Auf diese Weise werden die meisten Ergebnisse, die eine Avida-Simulation liefert, visualisiert. Mehr Details zur Avida-Simulation finden sich im OriginalNature-Artikel der Entwickler Christoph Adami et. al.: “The Evolutionary Origin of Complex Features“, Ausgabe Mai 2003, Vol. 423, S. 139ff. (online erhältlich unter: http://myxo.css.msu.edu/papers/nature2003/ ). Abb. 3: Ein Beispiel für das kürzeste Programm eines AvidaLebewesens, das mit nur 19 Instruktionen in der Lage ist, die EQUFunktion auszuführen. Mit weniger Instruktionen ist dies nicht mehr möglich. Das Programm wurde von Christoph Adami geschrieben. 3.4 Visualisierung von Ergebnissen Für eine Fallstudie nahmen die Entwickler von Avida 3600 virtuelle Ur-Lebensformen, die sich zwar replizieren konnten, aber zu keinerlei logischen Funktionen fähig waren und ließen sie sich vermehren, bis ca. 16 000 Generationen entstanden waren. Ihre ursprüngliche Genomlänge betrug 50 Instruktionen und die Simulation wurde 50mal durchgeführt. Das Ergebnis war: In 23 von 50 Fällen entwickelten sich EQU-fähige Lebewesen, und zwar jedes Mal andere, deren Genomlänge von 49 – 356 variierte, wobei die Genomlänge 83 jedoch dominierte. Wurde die EQU-Fähigkeit erst einmal entwickelt, ging sie auch durch spätere Mutationen nicht wieder verloren. In dem folgenden Diagramm (Abb. 4) wird veranschaulicht, wie viele Schritte (also Mutationen) nötig sind, um von der Genomlänge 50 zu Beginn, auf die führende Genomlänge 83 am Ende der Simulation zu kommen. Die Y-Achse, phylogenetische Tiefe, zeigt die Anzahl der Generationen eines Individuums, in denen es sich von seinen Eltern durch eine oder mehr Mutationen unterscheidet. Die blaue Linie zeigt, dass 344 Schritte nötig waren, um zu der dominierenden Lebensform mit 83 Genen zu gelangen. Das heißt es wären nur 344 von 16 000 Generationen nötig gewesen, um gezielt von der Ur-Form auf die dominierende Lebensform zu kommen. Visualisierung in der Bioinformatik – 24. Juni 2004 3.5 Vor- und Nachteile von Avida Einige Vorteile der Avida-Simulation wurden eingangs schon erwähnt. Eine Simulation im Computer lässt die Haltung von Labortieren und die dadurch entstehenden Kosten entfallen. Außerdem ist es leichter, die Versuchsbedingungen immer gleich zu halten und die Ergebnisse können schneller ermittelt und ausgewertet werden. Des weiteren kann man die Evolution eines Lebewesens genau nachvollziehen, ohne Missing Links oder ähnliches, wie es in der Natur vorkommt. Zum Nachteil gereicht Avida die starke Vereinfachung der digitalen Organismen. Zum Beispiel ist es Avida nicht möglich, die sexuelle Fortpflanzung mit einzubeziehen. Daher stellt sich die Frage, wie realistisch eine solche Simulation ist. Trotzdem eignet sich Avida dazu, allgemeine Theorien über die Evolution zu überprüfen. Für spezielle Fragestellungen ist Avida wohl nicht komplex genug (Christoph Pöppe, „Simulation: Die Evolution der Computerwürmer“, Artikel im Spektrum der Wissenschaft, September 2003, S.92, online erhältlich auf: http://www.wissenschaft-online.de/abo/spektrum/archiv/6812). 4. Creatures – das interaktive Evolutionsspiel Creatures, das sind pelzige kleine Lebewesen, die in einer virtuellen Umgebung leben. Das besondere an diesen künstlichen Lebensformen – allen voran den Norns - ist, dass sie nach den Prinzipien der Biologie und der Evolution agieren. Das Spiel für den Heimanwender wurde 1996 von dem englischen Lehrer Stephen Grand entwickelt und von der Firma Cyberlife aus Cambridge veröffentlicht. Obwohl die sehr natürlich anmutende Umwelt der Norns überlebensfreundlich programmiert wurde, um den Spieler bei Laune zu halten, wurden viele biologische Systeme in die Welt der Creatures eingebaut. Ein Norn (siehe Abb.5) entspricht einem virtuellem Tomagotchi. Der Spieler überwacht und versorgt es, sobald es aus seinem Ei schlüpft. 5 Spielers) oder durch Erfahrung. Denn Norns besitzen ein primitives Gehirn, dass Erfahrungen speichern kann, und so sein Verhalten von bereits Erlebtem abhängig macht. Ihr Verhalten wird aber nicht nur von Erfahrungen gesteuert, sondern hängt auch von ihren individuellen Launen ab. Jeder Norn hat eine eigene Persönlichkeit und ein bestimmtes Aussehen, die beide genetisch festgelegt sind. Daher sind unerwartete Aktionen der Norns nicht selten. Zusätzlich haben die Norns ein biochemisches System mit Hormonen, Botenstoffen, Antikörper gegen Infektionen und andere chemische Substanzen, die ihnen Gefühle wie zum Beispiel Hunger oder Müdigkeit simulieren und so ihr Verhalten, ganz wie in der Natur, bestimmen. Die Welt der Norns hat sogar einige Mechanismen gegen Überbevölkerung, wie Nahrungsknappheit oder Krankheiten, vor denen der Spieler seine Schützlinge aber bewahren kann. Der Spieler interagiert über die Tastatur mit seinen Norns. Er kann ihnen Wörter beibringen und mit ihnen in einer VerbObjekt-Sprache sprechen (z. B. hole Obst). Oder er kann sie mit der Maus antippen, wenn sie etwas unterlassen sollen, z. B. einen giftigen Pilz essen oder ähnliches. Norns können aber auch untereinander kommunizieren. Außerdem haben sie simulierte Sinne – können sehen, hören und tasten. Ihre genetisch festgelegte Lebensdauer beträgt höchstens 14 Stunden, während dieser Zeit durchlaufen die Norns sechs verschiedene Lebensstadien und legen 4-6 Eier. 4.2 Fortpflanzung der Norns Besonders interessant für die Evolutionsfähigkeit ist natürlich ihre Fortpflanzung. Der Mechanismus der Vererbung wurde, wie schon zu Anfang erklärt, leicht verändert, damit es der Spieler leichter hat gesunde Norns zu züchten. Die Gene der Norns sind lange Zeichenkette aus Bytes mit 320 gleichgroßen Abschnitten. Dieser spezielle Programmcode wurde so programmiert, dass keine tödlichen Mutationen vorkommen und keine der Mutationen einen Grammatikfehler enthalten. Dies geschieht indem lebenswichtige Gene gegen Mutation, Ausfall und Verdopplung gesperrt sind (steht im header eines jeden Gens). Eine weitere Vereinfachung ist das haploide (einzelsträngige) Erbgut. Außerdem sind die geschlechtsspezifischen Gene bei weibliche und männlichen Norns gleichermaßen vorhanden, allerdings ist je nach Geschlecht das eine oder andere Gen einfach stumm geschaltet. Dafür hat Creatures im Gegensatz zur Avida-Welt einen enormen Vorteil: Es gibt eine sexuelle Vermehrung bei der sogar das Crossing-Over (also die Rekombination zweier Chromosomenpaare) stattfindet. Um das Spiel jugendfrei zu halten, besteht die Paarung lediglich aus einem langen Kuss mit einem Plopp am Ende (siehe Abb.6). Abb. 5: Ein Norn. 4.1 Leben in der Creatures-Welt Als Ersatzmutter für seine Schützlinge muss der Spieler keine Aufgaben erledigen wie in anderen Spielen, sondern kann sich ausschließlich der Entwicklung seiner Norn-Babys widmen. Die Programmierung des Spiels sorgt dafür, dass es keinen Algorithmus gibt, der alles bis ins kleinste Detail voraus geplant hat. Stattdessen soll die Entwicklung der Norns selbstständig ablaufen, basierend auf wenigen programmierten elementaren Konzepten (bottom-up-Prinzip). Die Pflege und Erziehung eines Norns kann ganz schön aufwendig sein, denn ein Norn muss erst lernen wie es in seiner Umwelt überlebt, z.B. was es essen kann und was nicht, oder wie es sich gegen seine Feinde – die bösartigen grünen Grendels – verteidigen kann. Angeboren ist ihnen nur der Drang herumzukrabbeln und jedes Objekt, das ihnen in die Quere kommt, in den Mund zu stecken. Dieses angeborene Verhalten wird später durch gelerntes Verhalten ersetzt. Lernen können Norns durch Erziehung (seitens des Abb.6: Ein Norn-Pärchen bei der Paarung. Zur Realisierung dieser Art der Fortpflanzung, verwendete Grand Ideen aus der Technik der genetischen Algorithmen, d.h. Visualisierung in der Bioinformatik – 24. Juni 2004 Programmstücke werden durch Mutation und Selektion modifiziert oder rekombiniert wie bei echtem genetischen Code. Das gesamte Spiel wurde objektorientiert programmiert, wobei jede Substanz, jeder bewegliche Gegenstand ein einzelnes Objekt mit seinen eigenen Attributen und Methoden darstellt. Durch die Abkapselung aller Objekte, lassen sich leicht neue Dinge einführen. Die Rechenkapazität eines PCs genügt, um 10 Norns gleichzeitig wachsen zu lassen. Obwohl das Spiel zweidimensional ist, erscheint die grafische Oberfläche durch ein gutes Grafikprogramm dreidimensional. 1998 wurde bereits eine weitere Version von Creatures veröffentlicht. In Creatures 2 (siehe Abb.) besitzen die Norns sogar noch realistischere biologische Systeme, z. B. eine Atmung, Organe und einen Blutkreislauf. Abb.7: Die Spieler der nächsten Generation: Creatures 2 4.3 Aufbau der biologischen Systeme 4.3.1 Das Gehirn – ein neurales Netzwerk Jedes Gehirn der Creatures im Spiel ist ein heterogenes neurales Netzwerk. Es ist in Bereiche, genannt ‚Lobes’ (siehe Fig.5), unterteilt. Jeder Lobe vereinigt neuronale Zellen mit bestimmten elektrischen, chemischen und morphologischen Eigenschaften miteinander. Die Zellen innerhalb eines Lobes verbinden sich dabei mit den Zellen anderer Lobes (siehe Fig.3) und ahmen so eine Netzwerkarchitektur, wie sie auch in der der Natur vorkommt, nach. Das ursprüngliche Gehirnmodell (s.Fig.5)besteht aus 1000 Neuronen, die in 9 Lobes gruppiert sind, und durch über 5000 Synapsen miteinander in Verbindung stehen. Allerdings wird die Anzahl der Neuronen und Lobes genetisch reguliert und kann nach vielen Generationen bereits stark variieren. Manche Neuronen arbeiten aufgrund einfacher Parameter, andere benötigen komplexere Ausdrücke. Es gibt genetisch definierte Funktionen (sogenannte State-Variable-Rules), die das Verhalten der Neuronen beeinflussen bzw. sie kontrollieren und sich durch evolutionäre Prozesse modifizieren lassen. Signale erhalten die Neuronen von verschiedenen Klassen von 6 Dendriten. Die neuronalen Zellen entsprechen jeweils einer anderen Klasse von Objekten. Der Attention-Lobe (Output-Bereich) verarbeitet niedere Aufgaben, die die gerichtete Aufmerksamkeit auf ein bestimmtes Objekt in Sichtweite des Creatures betrifft. Ein Objekt im Spiel stimuliert ein Neuron im Attention-Lobe (Input des Signal läuft über Stim Source), das dieses Objekt repräsentiert. Die Signale summieren sich und das Objekt, das die höchste Intensität an Signalen erzeugt, wird beachtet. Daraufhin reagiert das Creature auf das Objekt. Um Entscheidungen zu fällen, benutzt das Gehirn drei Lobes: Der Perception-Lobe vereinigt alle Sinne, die Signale von außen aufnehmen. Der große Concept-Lobe speichert Erinnerungen von Ereignissen. Im Decision-Lobe werden Erinnerung an Beziehungen zwischen Creatures gespeichert und Handlungsweisen beschlossen. Je nachdem welche Entscheidungen ein Norn fällt und welche Erfahrungen er damit macht, werden neue Synapsen zwischen den Lobes gebildet oder alte Verbindungen gelöscht. Eine weitere Art zu Lernen ist die Belohnung- oder Bestrafungsmethode. Jeder Norn hat eine bestimmte Menge an chemischen Botenstoffe, die jeweils einen bestimmten Drang (Drive) repräsentieren, wie zum Beispiel den Drang den Hunger zu reduzieren oder Schmerz zu vermeiden. Je höher die Konzentration der Chemikalie, desto höher der Drang. Die Umwelt stimuliert dann die Produktion von Stoffen, die den Drang reduzieren oder verstärken. Die Creatures lernen schnell einen Drang zu reduzieren, um sich ihre Belohnung zu holen und dies nur zu tun, wenn überhaupt ein Drang vorhanden ist. Die Belohnung ist nichts anderes als eine Chemikalie, die „Freude“-Synapsen bildet, während die bestrafende Chemikalie ein Inhibitor ist, der die Bildung freudeerzeugender Synapsen verhindert. 4.3.2 Das Biochemische System Hand in Hand arbeitet das neurale Netzwerk auch mit dem biochemischen System außerhalb des Gehirns. Das System simuliert endokrine Funktionen, einen grundlegenden Metabolismus und ein einfaches Immunsystem. Es basiert auf vier wichtigen Objektklassen: Chemikalien, Botenstoffe, chemische Reaktionen und Rezeptoren, die die Botenstoffe erkennen. Es gibt 256 verschiedene Chemikalien, die einfach nur durch eine Nummer von 0 – 255 repräsentiert werden. Eine zweite Nummer gibt die jeweilige Konzentration der Chemikalie an. Welche Reaktionen eine Chemikalie erzeugen kann, ist genetisch festgelegt und hat nichts mit den Eigenschaften von Molekülen zu tun. Botenstoffe werden von Emitter-Objekten ausgeschüttet. Sie erhalten einen Anhang, der bereits in ihren Genen feststeht und der ihren Zielort repräsentiert. Auch welche chemischen Reaktionen bei bestimmten Chemikalien, abhängig von ihrer Konzentration, stattfinden, ist genetisch festgelegt. Ein Beispiel wie das biochemische System arbeitet ist die Nahrungsaufnahme: Der Norn hat Hunger und verspürt den Drang zu essen. Dadurch Visualisierung in der Bioinformatik – 24. Juni 2004 wird Glucose frei, die teilweise in Glykogen umgewandelt und gespeichert wird. Der Rest liefert Energie und wandert ins Gehirn. Dort werden Synapsen verstärkt, die als Belohnung für das richtige Verhalten des Norns dienen. Weitere Details zu Creatures können im Originalartikel von Stephen Grand et. al.: “Creatures: Artificial Life Autonomous Software Agents for Home Entertainment” unter http://mrl.snu.ac.kr/CourseSyntheticCharacter/grand96creatures. pdf nachgelesen werden. 7 Die folgende Abbildung (Abb.7) zeigt ein Ergebnis von Dawkins Biomorphe mit einer Rekursionstiefe von 29, d.h. es waren 29 Generationen nötig bis zum vorläufigen, in diesem Falle insektenähnlichen, Ergebnis. Die Seitenzweige entsprechen evolutionäre Sackgassen, die keine weiteren Nachkommen haben (online nachzulesen unter: http://www.ra.informatik.tudarmstadt.de/lehre/seminare/studpublik/oleson/biomorphen05.h tml). 4.4 Mehr als nur ein Spiel Inzwischen hat die Firma Cyberlife erkannt, dass sich ihre Spiel-Figuren auch für ganz andere Einsätze eignen. Sie nennt die Norns nun adaptive Kontrollsysteme und benutzt sie als künstliche Intelligenzen, die bestimmte Systeme testen sollen. Zum Beispiel wurden die Norns mit den einfachen Bedürfnissen eines Bankkunden ausgestattet, wobei jeder Norn sein eigenes Temperament und eine kurze Geduldsspanne hatte. In einer Simulation wurde dann getestet, wie viele Schalter geöffnet werden müssen, um alle virtuellen Kunden zufrieden zu stellen und wie schnell sie sich in einer Schalterhalle zurechtfinden. Ein weiteres Beispiel bietet der Flugsimulator der britischen Luftwaffe. In einem Experiment setzte man Norns in ein Flugzeug und wartete bis sie über Generationen hinweg durch Selektion und Mutation so lange ihre Fähigkeiten, ein Flugzeug zu steuern verbesserten, bis sie flogen, als wären sie dafür geboren worden. Heute dienen sie als Simulatoren für Flugschüler, da sie flexibler wie jeder programmierte Computer reagieren können („Das Creatures-Projekt“, Spiegelartikel vom 09. Juni 1998, online erhältlich auf: http://www.hasi.s.bw.schule.de/k5-1/00C0-007.htm [24.06.04]). 5. Ein weiteres Beispiel für eine Simulation Richard Dawkins entwickelte ein Programm – Dawkins Biomorphe – mit dem aus Knoten und Kanten über Mutation und Selektion insektenähnliche digitale Lebewesen erschaffen werden. Als Phänotyp und grafische Grundlage des Algorithmus verwendet Dawkins die Struktur eines zweidimensionalen spiegelsymmetrischen Binärbaums aus Knoten und Kanten. Abb8: Beispiel für einen spiegelsymmetrischen Binärbaum Das Genom eines biomorphen Organismus besteht aus neun Genen, die jeweils aus 19 Allelen (von +9 bis –9) aufgebaut sind. Diese 19 Allele pro Gen ergeben bei 9 Genen ca. 320 Mrd. verschiedene Genotypmöglichkeiten. Die Gene 1 bis 4 legen die Kantenlänge der Figur fest und zwar rekursiv über Modulo 4. Das heißt, die erste Kante wird von Gen 1 bestimmt, die Zweite von Gen 2 und so weiter bis zur fünften Kante, die wieder von Gen 1 festgelegt wird. Die gleiche Funktionsweise gilt für die Gene 5-8, die die Winkel zwischen den Kanten an einem Knoten bestimmen. Das 9. Gen legt die Iterationstiefe des Graphen fest. Bei der asexuellen Vermehrung kann ein biomorpher Organismus bis zu 18 Nachkommen haben, die sich von ihrem Vorgänger um eine Mutation (+/- 1) unterscheiden. Die Geschwister unterscheiden sich untereinander um zwei Werte. Alle biomorphen Lebewesen sind per Definition lebensfähig und der Anwender des Programms kann sogar einen Nachkommen auswählen, auf den dann alle weiteren Nachkommen basieren sollen. Selbstverständlich handelt es sich dann aber um keine natürliche Selektion mehr. 6. Blick in die Zukunft Die Zukunft sieht gut aus für Simulationen der Evolution. Die Leistungsfähigkeit der Computer wird immer höher und die Programme immer komplexer. Auch in der Biologie stehen noch viele Fragen offen, was Details in der Evolution angeht, daher wird es wohl immer eine Nachfrage an solchen Simulationen geben. Es gibt ebenfalls noch viel Ungeklärtes zum Phänomen des Urknalls – dem Beginn der Evolution. Interessant wäre ein Programm, das den Urknall simulieren könnte, allerdings fehlen dazu noch viele Informationen. Das man Evolutionssimulationen mit künstlicher Intelligenz verbinden kann, zeigt das PC-Spiel Creature. Auch da gibt es viele Möglichkeiten, wie man diese Idee weiterentwickeln und einsetzen könnte. Zum Beispiel könnte man virtuelle Lebewesen in den Weltraum schicken. Die Ausbildung eines solchen Astronauten wäre sehr viel einfacher, aufgrund der Anpassungsfähigkeit gründlicher und kostengünstiger. Auch die Größe von Raumfähren könnte so verringert werden, was den Visualisierung in der Bioinformatik – 24. Juni 2004 Energieverbrauch senken und damit die Möglichkeit bieten würde, weiter in den Weltraum vorzudringen. Nichtzuvergessen, dass der bemannte Weltraumflug immer noch sehr viele Risiken für den Menschen birgt. Dies könnte also ein Lösungsansatz sein, der in näherer Zukunft hilfreich wäre. 6. Literaturreferenzen Referenzen zu Kapitel 1: (Ernst-Georg Beck, Juni 2001) - Mutation, Mutagene http://www.merian.fr.bw.schule.de/Beck/skripten/13/bs13-5b.htm [23.06.04] (Ernst-Georg Beck, Oktober 2001) - Mechanismen der Evolution http://www.merian.fr.bw.schule.de/Beck/skripten/13/bs13-35.htm [23.06.04] Webmic’s Page - Evolutionsfaktoren http://www.webmic.de/evolutionsfaktoren.htm#Selektion [28.06.04] Wikipedia – die freie Enzyklopädie http://de.wikipedia.org/wiki/Lamarckismus http://de.wikipedia.org/wiki/Evolutionstheorie [28.06.04] Referenzen zu Avida: (Christoph Adami et. Al.) “The Evolutionary Origin of Complex Features” , Article in Nature, Mai 2003, Vol. 423, S.139ff http://myxo.css.msu.edu/papers/nature2003/ [23.06.04] (Christoph Pöppe) –„ Simulation: Die Evolution der Computerwürmer“ Artikel im Spektrum der Wissenschaft, September 2003, S.92 http://www.wissenschaft-online.de/abo/spektrum/archiv/6812 [23.06.04] The Digital Life Lab at Caltech - Avida-Software http://dllab.caltech.edu/avida/ [23.06.04] Referenzen zu Creatures: (Christoph Pöppe) –„ Künstliches Leben im PC“ Spektrum der Wissenschaft, Ausgabe Oktober 1996, S. 14 http://www.wissenschaft-online.de/abo/spektrum/archiv/1030 [24.06.04] (Stephen Grand et. al.) “Creatures: Artificial Life Autonomous Software Agents for Home Entertainment” http://mrl.snu.ac.kr/CourseSyntheticCharacter/grand96creatures.pdf [24.06.04] „Das Creatures-Projekt“ -Spiegel - Artikel vom 09. Juni 1998 http://www.hasi.s.bw.schule.de/k5-1/00C0-007.htm [24.06.04] (Simonias Creatures) - Cobs http://www.simonias-creatures.de/C2_Base/cobs.html [24.06.04] (Creatures Labs) – Download von Creature-Objekten http://www.gamewaredevelopment.co.uk/creatures_index.php [24.06.04] (Grimmel) – Genetischer Algorithmus http://www.grimmels.de/Mhonzen/Rucksackproblemweb/genetischer_algorithmus.htm [24.06.04] 8 (Björn Olesen) – Dawkins Biomorphe http://www.ra.informatik.tudarmstadt.de/lehre/seminare/studpublik/oleson/biomorphen05.html [28.06.04]