JackSparrow hat geschrieben:
Leider versteh ich das Problem nicht. Das Überleben eines Individuums ist von Umwelteinflüssen abhängig, also benötigt man eine Funktion, die die Umwelt simuliert. Man übergibt der Funktion den Gesamtzustand eines Individuums und erhält als Ergebnis die Antwort, ob das Individuum noch einen Tag weiterleben darf.
Ich erkläre es mal ausführlich.
Bei den mir bekannten Programmen (z.B. Avida) findet ein Zyklus statt, bei dem ein Lebewesen sich vermehrt. Dabei (das ist ein Teil des Programms) wird eine Kopie des Lebewesens hergestellt, das dieselben Gene trägt plus einer gewissen Breite an zufällig eingestreuten Änderungen.
Dann wird eine Funktion aufgerufen (die Selektionsfunktion, ein anderer Teil des Programms), in dem entschieden wird, welche Eigenschaften des Gens welche Überlebenswahrscheinlichkeit hervorruft. Dieser Teil ist so programmiert, dass der Ersteller des Programms vorher wissen muss, welche Eigenschaften einen Vorteil bringen. Diese Wahrscheinlichkeit wird bei der Erstellung einer nächsten Kopie berücksichtigt.
Ein Beispiel, das ich gesehen habe, wäre z.B. die Fähigkeit des Lebewesens, eine logische Funktion auszurechnen. Die Gene waren so gestaltet, dass bei der richtigen Zusammensetzung eine logische Funktion ausgerechnet wurde, wie UND oder NICHT. Ziel der Evolution war eine komplexe, zusammengesetzte logische Funktion. Die Forscher wollten wissen, auf welche Weise diese erreicht wurde.
Genau dieses Ziel haben sie in der Selektionsfunktion einprogrammiert. Nach etwa 40.000 Zyklen waren danach Lebewesen vorhanden, die die komplexe Funktion codierten, die Forscher hatten auch Parameterkonfigurationen gefunden, bei denen dieses Ergebnis nicht erreicht wurde.
Ein interessantes Ergebnis, aber das Wissen, was erreicht werden soll, war vorher einprogrammiert.
Das will ich nicht.
Ich will ein System, das auf der einen Seite ein Lebewesen hat, das sich vermehrt und bei dem diese Vermehrung mit gewissen Mutationsraten möglich ist. Dazu benutzt das Lebewesen Ressourcen, Energie, Nahrung, Spurenelemente, was auch immer. Es wird sich immer dann vermehren, wenn genug von den Ressourcen da ist.
In der Umwelt sollen Ressourcen da sein. Diese stellen die Umweltbedingungen dar. Die Programmteile, die die Umwelt darstellen sollen gar nichts mit dem Lebewesen zu tun haben.
Jetzt kommt der schwierige Teil. Das Lebewesen muss die Ressourcen aufnehmen. Das geschieht innerhalb des Zyklus des Lebewesens. Stehen genug Ressourcen zur Verfügung, wird es sich immer weiter vermehren, es gibt keinen Konkurrenzdruck, also keine Evolution.
Um einen Druck aufzubauen, muss das Lebewesen sterben können, z.B. wenn zu wenig Ressourcen da sind. Ist das generell der Fall, dann gibt es auch keine Evolution, denn nach wenigen Zyklen sind keine Lebewesen mehr da.
Ich habe versucht, ein geeignetes Gleichgewicht zwischen Vermehrung und Tod zu bekommen und auch das Lebewesen so zu gestalten, dass komplexere Aktionen Überlebensvorteile bringt (z.B. mehr Energie freischaltet, ich hoffte so etwas wie ein Jäger-Beute Zyklus sehen zu können) . Letztlich ist es mir nicht gelungen, das System so einzustellen, dass eine Evolution stattfindet.
Jetzt verständlich?
Gott würfelt nicht, meinte Einstein. Aber er irrte. Gott nutzt den Zufall - jeden Tag.