zur Artikelübersicht

Selbstlernende Computerprogramme und Evolution – Ein Projektbericht aus dem Fellow-Programm Freies Wissen

Christopher Schwarzkopf

1. Dezember 2016

Logo Fellow-Programm, leomaria designbüro, CC BY-SA 4.0

Das Fellow-Programm Freies Wissen wurde 2016 von Wikimedia Deutschland und dem Stifterverband initiiert, um junge Wissenschaftlerinnen und Wissenschaftler dabei zu unterstützen, ihre eigene Forschung und Lehre im Sinne von Open Science zu öffnen und damit für alle zugänglich und nachnutzbar zu machen. In diesem Gastbeitrag stellt der Stipendiat Nicolas Schmelling sein Projekt vor, welches er im Rahmen des Fellow-Programms durchführt. 

Computer spielen in unserer heutigen Gesellschaft eine immer größere Rolle. Zum einen verwenden wir Computer täglich bewusst für die unterschiedlichsten Sachen – vom Wecker bis hin zum Wissenserwerb. Zum anderen steuern Computer auch immer mehr Prozesse ohne unser Mitwirken, wie zum Beispiel der Spamfilter, der ungewollte E-Mails aussortiert. Mit Blick auf die Zukunft wird uns bewusst, dass Computer viele unserer Tätigkeiten übernehmen werden. Eine detaillierte Auseinandersetzung mit dem Thema hat beispielsweise in der diesjährigen ARD-Themenwoche zum Thema “Zukunft der Arbeit” stattgefunden.

Ein wichtiger Aspekt ist dabei das Vermögen von Computern, durch Informationen und Daten zu „lernen”. Anwendungen mit dieser Fähigkeit finden wir in unterschiedlichsten Bereichen, sei es eine Kaufempfehlung im Onlineshop oder der Einsatz von selbstfahrenden Autos auf den Straßen. In einer Zeit, in der Computer datengestützte Vorhersagen machen können, sollte es also auch möglich sein, auf diese Weise neues Wissen zu schaffen und wissenschaftliche Probleme zu lösen.

In meinem Projekt möchte ich daher mithilfe von kleinen autonomen Computerprogrammen Fragestellungen der Evolution beantworten. Im Detail werde ich mich mit der Evolution von Zeitmessern beschäftigen. Unter welchen Umweltbedingungen kann überhaupt eine „innere“ Uhr entstehen? Was für einen Sinn/Vorteil hat ein Zeitmesser für einen Organismus? Dies sind Beispiele für Fragen, denen mein Projekt auf den Grund geht.

Was genau sind eigentlich diese “digitalen Organismen”?

Ein Problem, welches die Erforschung von Evolution mit erschwert, ist die Zeit. Evolution ist normalerweise ein sehr langsamer Prozess. Glücklicherweise gibt es nur drei zentrale Bedingungen, die gegeben sein müssen, damit Evolution auftreten kann:

  • Replikation, also die Fähigkeit, sich zu vermehren und Nachwuchs zu produzieren.
  • Variation, also die Möglichkeit von Veränderungen über Zeit oder Unterschieden zwischen Individuen.
  • Konkurrenz, also der Kampf um Ressourcen und der Druck, besser zu sein als ein Gegenspieler.

All diese Bedingungen können von Computerprogrammen erfüllt werden. Darüber hinaus haben Computer weitere Vorteile – und zwar Geschwindigkeit und die Fähigkeit der Datenaufzeichnung. Diese Kombination erlaubt es, Prinzipien der Evolution in einem Bruchteil der Zeit mit einer Fülle von Daten zu erforschen. Im Zentrum des Projektes stehen daher kleine autonome Computerprogramme oder auch „digitale Organismen“. Wenn ich von digitalen Organismen spreche, dann beziehe ich mich auf Organismen implementiert in Avida, einer Plattform für Computer-basierte Evolutionsbiologie. Diese digitalen Organismen sind tatsächlich ein sehr abstraktes Konstrukt. Nähert man sich jedoch einem Computerprogramm etwas, stellt man fest, dass es auf ähnlichen Prinzipien aufgebaut ist wie etwa Bakterien. Sie verfügen, wie auch normale Organismen, über ein Genom, reproduzieren sich und interagieren mit ihrer Umwelt. Das Genom ist in Avida durch eine zirkuläre Aufreihung von „Instruktionen“ dargestellt. Instruktionen können dabei verschiedenste Funktionen codieren, wie zum Beispiel das Erkennen einer Ressource in der Umgebung oder das Kopieren der Erbinformation. Reproduktion geschieht im simpelsten Fall asexuell durch die Verdopplung der Erbinformation und der anschließenden Teilung in zwei getrennte Individuen. Damit ist auch schon die erste Bedingung für Evolution erfüllt. Während der Reproduktion kann es, wie auch in der Natur, zu Kopierfehlern oder dem Verlust bzw. Gewinn von Erbinformation kommen. Diese Mutationen sorgen für Variation zwischen den einzelnen digitalen Organismen und erfüllen die zweite Bedingung für Evolution.

Wie bereits erwähnt, können digitale Organismen in Avida mit ihrer Umwelt interagieren. Die Interaktion kann dabei die unterschiedlichsten Formen annehmen. In den meisten Fällen beschränkt sie sich jedoch nur auf die Aufnahme von Ressourcen aus der Umwelt. Ressourcen stellen in Avida eine Art Grundversorgung für digitale Organismen dar. Wie kommt nun jedoch die dritte Bedingung für Evolution, die Konkurrenz zwischen den Organismen, zustande? Im einfachsten Fall kämpfen die Organismen in Avida um Platz. Es gibt nur ein begrenztes Raumangebot, und sollte der bestehende Platz besetzt oder erschöpft sein, verdrängen neue Organismen die bereits bestehenden Organismen. Es ist also ein Wettrennen um Lebensraum. Die einzige Methode, um ein Überleben seiner Art zu gewährleisten, ist es, sich schneller und öfter zu vermehren als andere Arten. Das eröffnet die zweite Ebene der Konkurrenz zwischen Organismen – und zwar die um Computerzeit. Am Anfang hat jeder Organismus dieselbe Zeit, um Instruktionen auszuführen. Alle Organismen sind also gleich schnell und vermehren sich gleich oft. Der einzige Weg, um mehr Computerzeit als andere Organismen zu bekommen, ist es, logische Aufgaben zu lösen. Beispielsweise werden dem Organismus zwei Zahlen gezeigt, und er muss diese addieren. Bei einem korrekten Ergebnis erhält der Organismus einen Bonus. Je schwieriger dabei die Aufgaben, desto mehr Boni gibt es für den Organismus, was die dritte Ebene der Konkurrenz darstellt. Zusammenfassend lässt sich die Konkurrenz als Kampf um Lebensraum, Computerzeit, und Komplexität von Aufgaben beschreiben. Weitere Informationen und Anwendungsbeispiele können dem Artikel von Carl Zimmer oder der umfassenden Publikation von Charles Ofria und Claus Wilke entnommen werden.

Wenn deine innere Uhr mal wieder aus dem Gleichgewicht kommt

Jeder kennt das Phänomen, wenn die Uhr umgestellt wird und man auf einmal Probleme mit dem Aufstehen morgens früh hat. Oder aber, wenn man zurück aus dem Urlaub in einem fernen Land kommt und sich erst wieder an die eigene Zeitzone gewöhnen muss. Die Ursachen für dieses Phänomen ist die „innere“ Uhr, auch circadiane Uhr genannt. Die circadiane Uhr hilft dem Körper dabei, sich auf täglich wiederkehrende Erscheinungen einzustellen. Ein bekanntes Beispiel dafür ist der Tag-Nacht-Rhythmus. Die „innere“ Uhr ist also ein zentraler Bestandteil in der Organisation einer Zelle oder eines ganzen Organismus. Variationen davon sind in nahezu allen Lebensformen zu finden [10]; bei uns Menschen und anderen Säugetieren ebenso wie bei Pflanzen und einfachen Organismen, wie z.B. Cyanobakterien. Die Frage, die sich dabei stellt, ist die nach dem Grund für den Besitz einer solchen Uhr. Es konnte bereits an einem exemplarischen Beispiel gezeigt werden, dass eine circadiane Uhr einen Wettbewerbsvorteil für Organismen darstellt [11]. Dieser Vorteil wird jedoch nur unter oszillierenden Bedingungen sichtbar, wie einem Tag-Nacht-Rhythmus. Wie muss nur eine Welt ausgesehen haben, die eine derartige Regulation ermöglicht hat? Die Entstehung der ersten circadianen Uhr geht mehrere Milliarden Jahre zurück [10]. Die Unterschiede zwischen den bekannten Formen von circadianen Uhren sind jedoch so groß, dass man davon ausgeht, dass diese mehrfach im Laufe der Erdgeschichte entstanden sein müssen [10].In meinem Projekt möchte ich die Fragen nach der Entstehung (und Entwicklung) dieser „inneren Uhr“ beantworten. Ich möchte verstehen, wie sehr sich bestimmte Parameter, wie zum Beispiel die Tageslänge, auf die Entstehung einer Uhr auswirken. Braucht man eine Umwelt, die jeden Tag des Jahres ähnlich ist, wie beispielsweise am Äquator, oder kann eine Uhr auch auf einer der Halbkugeln entstehen, wo wir über das Jahr hinweg Unterschiede in der Tageslänge aufweisen? Sobald ich eine genauere Vorstellung über die Umweltbedingungen habe, die eine circadiane Uhr hervorbringen können, möchte ich untersuchen, wie sich der Besitz einer Uhr auf die Fitness des Organismus auswirkt, wenn er mit anderen Organismen in Konkurrenz steht. Wieviel besser ist eine circadiane Uhr im Vergleich zu einem Organismus ohne Uhr oder mit einer unterschiedlich eingestellten Uhr?

Offener Forschungsprozess für alle

Das Projekt ist dabei Teil des Fellow-Programmes “Freies Wissen”, das von Wikimedia und dem Stifterverband ins Leben gerufen wurde. Ziel des Fellow-Programmes ist es, junge Wissenschaftler dabei zu unterstützen, ihre Forschung zu öffnen und einen offenen Wissenschaftsprozess zu führen. Ich habe mich dazu entschlossen, mein Projekt, welches mit dem Beginn des Fellow-Programmes initiiert wurde, so offen wie nur möglich aufzubauen. Um jedem eine einfache Teilnahme am Projekt zu ermöglichen, wurde GitHub, eine Online Plattform für kollaborative Softwareprojekte, ausgewählt. Der ausschlaggebende Faktor für die Wahl von GitHub als Mittelpunkt des Projektes ist die Fähigkeit der Versionsverwaltung von Inhalten durch das Versionsverwaltungssystem Git. Darüber hinaus bietet GitHub weitere Anwendungsmöglichkeiten. Sowohl der Code, der Experimenten und Datenanalyse zugrunde liegt, die produzierten Daten als auch die Dokumentation von Hintergrundwissen und weiterem Informationsmaterial kann hier gesammelt und bearbeitet werden. Des Weiteren kann der beigefügte “Issue Tracker” dafür genutzt werden, Probleme und Fragen offen zu diskutieren. Ich nutze momentan alle vorher genannten Möglichkeiten von GitHub und führe darüber hinaus noch ein offenes Laborbuch, in dem ich Fortschritte und Gedanke festhalte. Mir ist es aber auch wichtig, dass man nicht nur die Fortschritte des Projektes mitverfolgen, sondern auch aktiv teilnehmen kann. Deshalb habe ich mit Avida (für die Experimente) und der Programmiersprache Python (für die Datenauswertung) zwei freie Lösungen mit offenem Quellcode gefunden, die allen eine freie Teilnahme erlauben.

Nebenprojekte

Im Laufe des Projektes sind unter anderem zwei Nebenprojekte entstanden. Während ich mit meinem Projekt angefangen habe, kamen immer wieder Fragen auf, die sich mit dem korrekten Aufbau eines wissenschaftlichen Projekts auf GitHub beschäftigt haben. Welche Lizenz brauche ich, wenn ich überhaupt eine brauche? Was passiert mit meinen Daten und wo speichere ich diese am besten? Das hat dazu geführt, dass ein weiteres Projekt entstanden ist, das eine Anleitung für ähnliche Projekte auf GitHub werden soll. Des Weiteren benutze ich Python für meine Datenanalyse. Damit jedoch jeder die Möglichkeit hat, an meinem Projekt teilzuhaben, war es für mich wichtig eine Referenzsammlung zu erstellen, die jedem den Einstieg erleichtern würde. Beide Projekte sind ebenfalls auf GitHub zu finden und für beide, wie auch dem Hauptprojekt, ist Mithilfe immer gerne gesehen.

Links zu den Projekten


Zum Autor:

Nicolas Schmelling promoviert an der Heinrich Heine Universität in Düsseldorf im Institut für Synthetische Mikrobiologie, wo er sich mit der Diversität und Funktionalität der cirkadianen Uhr in Cyanobakterien befasst. Seit September 2016 ist er Stipendiat im Fellow-Programm Freies Wissen.

 

 

 


  1. Arbeitsgemeinschaft der öffentlich-rechtlichen Rundfunkanstalten der Bundesrepublik Deutschland (ARD): ARD Themenwoche Zukunft der Arbeit, URL: http://www.ard.de/home/themenwoche/ARD_Themenwoche_2016_Zukunft_der_Arbeit/3234726/index.html (Stand: 10. November 2016).
  2. Seite Reproduktion. In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 8. November 2016 um 11:17 UTC. URL: https://de.wikipedia.org/wiki/Reproduktion (Abgerufen: 10. November 2016)
  3. Seite Phänotypische Variation. In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 7. Februar 2016 um 23:00 UTC. URL: https://de.wikipedia.org/wiki/Phänotypische_Variation (Abgerufen: 10. November 2016)
  4. Seite Konkurrenz (Ökologie). In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 20. Oktober 2016 um 20:50 UTC. URL: https://de.wikipedia.org/wiki/Konkurrenz_(Ökologie) (Abgerufen: 10. November 2016)
  5. Ofria, C. and Wilke, C. O. (2004): Avida: A software platform for research in computational evolutionary biology. Journal of Artificial Life, vol. 10, pp. 191–229, International Society of Artificial Life (ISAL)
  6. Randy Olson (2013): Christoph Adami – Introduction to the digital evolution platform Avida veröffentlicht am 11. November 2013 unter https://youtu.be/ouF8wKxXWFQ, zugegriffen am 11. November 2016.
  7. Seite Bakterien. In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 7. November 2016 um 00:49 UTC. URL: https://de.wikipedia.org/wiki/Bakterien (Abgerufen: 10. November 2016)
  8. Zimmer, Carl (2005): Testing Darwin. Discover Magazine. Resort Technology, 5. Februar 2005 online unter: http://discovermagazine.com/2005/feb/cover/#.URRxZOjZrbI, Zugriff: 10. November 2016
  9. Seite Circadiane Rhythmik. In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 30. August 2016 um 17:49 UTC. URL: https://de.wikipedia.org/wiki/Circadiane_Rhythmik (Abgerufen: 10. November 2016)
  10. Rosbash, M. (2009): The Implications of Multiple Circadian Clock Origins. PLoS Biol 7(3): e1000062. doi:10.1371/journal.pbio.1000062
  11. Woelfle, M.A., Yan, O.Y., Phanvijhitsiri, K., Johnson, C.H. (2004): The adaptive value of circadian clocks: An experimental assessment in cyanobacteria. Curr. Biol. 14, 1481-1486.
  12. Wikimedia und Stifterverband Fellow-Programmes “Freies Wissen”, URL: https://wikimedia.de/wiki/BildungWissenschaftKultur/Fellowprogramm (Stand: 21. November 2016).
  13. Seite GitHub. In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 9. Juni 2016 um 16:50 UTC. URL: https://de.wikipedia.org/wiki/GitHub (Abgerufen: 10. November 2016)
  14. Seite Versionsverwaltung. In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 23. Oktober 2016 um 14:29 UTC. URL: https://de.wikipedia.org/wiki/Versionsverwaltung (Abgerufen: 10. November 2016)
  15. Seite Git. In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 17. November 2016 um 00:31 UTC. URL: https://de.wikipedia.org/wiki/Git (Abgerufen: 22. November 2016)
  16. Projekt-Repository “Evolution von circadianen Uhren“, URL:https://github.com/schmelling/clock_evo (Stand: 27. November 2016)
  17. Seite Avida . In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 30. März 2013 um 09:48 UTC. URL: https://de.wikipedia.org/wiki/Avida (Abgerufen: 27. November 2016)
  18. Seite Python (Programmiersprache). In: Wikipedia, die freie Enzyklopädie. Bearbeitungsstand: 20. Oktober 2016 um 15:14 UTC. URL: https://de.wikipedia.org/wiki/Python_(Programmiersprache) (Abgerufen: 10. November 2016)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert