Nakarm mnie pamięcią operacyjną – rzecz o ewolucji Tierran
Tierra to symulacja komputerowa opracowana przez ekologa Thomasa S. Ray’a na początku lat 90. XX wieku, w której programy komputerowe konkurowały o czas (czas jednostki centralnej) i przestrzeń (dostęp do pamięci operacyjnej). W tym kontekście programy komputerowe w Tierra są uważane za podlegające ewolucji – miały zdolność mutacji, samoreplikacji oraz rekombinacji.
Słowa kluczowe: Tierra Simulator, Avida, Digital Organism, Tierran organisms, open-ended evolution, experimental evolution, Artificial life systems, cyber-ekosystem, Virtual Life
W 1990 roku Thomas Ray [1991] stworzy w swoim komputerze mały wszechświat, który nazwał Tierra. Umieścił w nim programy komputerowe zdolne do replikacji. Programy te mutowały, ewoluowały i miały swoisty „metabolizm”. Rolę energii odgrywał czas procesora (CPU) a materii – pamięć RAM [Hołyst 2019].
Tierra to system sztucznego życia ewoluujący w obrębie komputera cyfrowego [Standish 1999]. Jest równocześnie systemem operacyjnym i językiem programowania. W systemach podobnych do Tierry organizmy cyfrowe same się replikują in silico i nie stoi przed nimi żaden globalny cel do wypełnienia. Organizmy cyfrowe, które nie spełnią zaprogramowanych kryteriów i nie będą wystarczająco szybko się replikować zostaną skasowane [Egri-Nagy i Nehaniv 2003].
Symulator Tierra uruchamiany był na wirtualnej maszynie oraz oprogramowaniu, które zostało napisane w języku C. W świecie Tierra funkcjonowali Tierranie, tzw. „stworzenia”, tj. samoreplikujące się algorytmy (creature – self-replicating algorithm) zamieszkujące pamięć RAM komputera wirtualnego. Pamięci RAM wirtualnego komputera przypisano rolę tzw. zupy* (soup). System operacyjny w świecie Tierra zapewniał m.in. kontrolę nad przebiegiem ewolucji, rozbudowany system monitoringu, prowadził rejestr „narodzin i zgonów”, sekwencjonował kod każdego stworzenia i utrzymywał bank genów udanych genomów. Rejestrował także rodzaje interakcji zachodzących między „stworzeniami” [Tierra 1991].
*Jest to analogia do tzw. zupy pierwotnej lub zupy organicznej, tj. hipotetycznej mieszaniny związków organicznych, która według jednej z teorii dała początek życiu na Ziemi.
Nakarm mnie pamięcią operacyjną
Tierra to środowisko, w którym programy rywalizowały ze sobą o dostęp do procesora i pamięci RAM (ryc. 1). W przypadku Tierry ewolucja przebiegała bez wcześniej zaprogramowanego celu. Organizmy cyfrowe funkcjonowały w wirtualnym świecie pamięci operacyjnej i nie miały styczności z dyskiem twardym. Gdy system operacyjny szukał bloku wolnej pamięci o żądanym rozmiarze, jednak taki blok nie był dostępny, lub gdy „zupa” zapełniała się – wywoływał żniwiarza (reaper). Reaper „zabijał komórki” znajdujące się na szczycie listy stworów (cyfrowych istot) do unicestwienia, tj. kasował programy, zwalniając zasoby pamięci RAM [Tierra 1991].
Gdy system operacyjny szukał bloku wolnej pamięci wywoływał żniwiarza…
Rycina 1. Tierra simulation
Źródło: http://bit.ly/2XvGxck
Organizmy Tierran (Tierran organisms) ewoluowały w kierunku zoptymalizowania własnej replikacji. Mogły wchodzić ze sobą w interakcje, dając początek ekologii fenotypów (ecology of phenotypes) [Standish 2003]. Programy, które w wyniku mutacji utraciły procedurę replikowania wykorzystywały procedurę kopiowania sąsiadów, pełniąc rolę swoistych pasożytów. W trakcie cyber-ewolucji programy dostosowywały się do innych programów [Hołyst 2019]. W przypadku systemu Avida organizmy nie mogły oddziaływać bezpośrednio na siebie, co powodowało stagnację ewolucji. Aby temu przeciwdziałać do systemu dodawane były zadania narzucone zewnętrznie (np. obliczanie operacji logicznej) [Standish 1999].
Avida znaczy sztuczne życie
Nazwa „Avida” to skrót od hiszpańskiego określenia „vida artificial” tzn. sztuczne życie. Avida to platforma oprogramowania (artificial life software platform) do eksperymentów z samoreplikującymi się i ewoluującymi programami komputerowymi (organizmami cyfrowymi). Zapewnia szczegółową kontrolę ustawień eksperymentalnych i protokołów, dużą gamę narzędzi pomiarowych i wyrafinowanych metod analizowania i przetwarzania danych [Ofria i Wilke 2004]. Pierwsza wersja Avidy została zaprojektowana w 1993 roku i była zainspirowana systemem Tierra. W przeciwieństwie do Tierry, Avida przypisuje każdemu organizmowi cyfrowemu swój własny chroniony obszar pamięci. Domyślnie inne organizmy cyfrowe nie mogą uzyskać dostępu do tej przestrzeni i nie mogą wykonywać kodu, który nie znajduje się w ich własnej przestrzeni pamięci [Ofria i Wilke 2004, Smith i in. 2016].
Kres złożoności w ewoluującym (sztucznym) systemie
W ewolucji naturalnej (biologicznej) istnieje pogląd, że życie w swej początkowej formie było proste i ewoluowało w kierunku coraz bardziej złożonych form. Według zasady antropicznej człowiek jest obserwatorem otaczających go procesów i jednocześnie najbardziej rozwiniętym organizmem (ludzie zajmują wyróżnione miejsce we wszechświecie). W rzeczywistości istnieje prawdopodobieństwo, że w przeszłości istniały (lub nadal istnieją) bardziej złożone organizmy niż homo sapiens, lecz ślady ich bytności „rozpływają się we mgle” [Standish 1999]. Wiele artefaktów przeczy ogólnie przyjętej historii oraz ewolucji, przez co są one spychane na margines nauki i często traktowane jakby nie istniały (czytaj: zakazana archeologia).
Świat Tierry został wykorzystany do zbadania in silico podstawowych procesów dynamiki ewolucyjnej i ekologicznej. Godną uwagi różnicą między Tierrą a innymi modelami obliczeń ewolucyjnych, takimi jak algorytmy genetyczne, jest brak wbudowanej w model wyraźnej lub egzogenicznej funkcji przydatności. Często w takich modelach istnieje pojęcie „optymalizacji funkcji”. W przypadku Tierry funkcja sprawności jest endogenna: po prostu przetrwanie i śmierć. Według Thomasa S. Ray’a pozwoliło to na bardziej „otwartą” ewolucję, w której dynamika sprzężenia zwrotnego między procesami ewolucyjnymi i ekologicznymi zmieniała się z czasem.
Krytycy ekosystemu Tierra zarzucają mu brak czynnika ewolucyjnego, czyli wzrostu złożoności cyfrowych organizmów. Podobnie jak w przypadku innych systemów ewolucji cyfrowej, również ekosystem Tierry w końcu osiągał punkt, w którym „nowość” przestawała być tworzona, a cały system się zapętlał i przestawał „ewoluować” [Bedau i McCaskill 2000].
Ewolucja (open-ended evolution) jest przeważnie utożsamiana ze wzrostem złożoności. Biosfera Ziemi wydaje się stale generować nowe i zróżnicowane formy życia. Tymczasem systemy sztucznego życia (Artificial Life systems), takie jak Tierra i Avida, początkowo wytwarzały bogatą różnorodność organizmów, jednak ostatecznie potencjał generowania złożoności wyczerpywał się. W środowisku Tierra nie zaobserwowano wzrostu złożoności cyfrowych organizmów, chociaż ich liczba i rozmiary zwiększały się [Standish 2003]. Pojawia się zatem pytanie przy jaki warunkach (cyfrowy) system ewolucyjny będzie stale wytwarzał nowe formy życia? Pytanie to pozostaje otwarte.
Źródła
- Bedau, M.A., McCaskill, J.S., Packard, N.H., Rasmussen, S., Adami, C., Green, D.G., Ikegami, T., Kaneko, K., Ray, T.S. (2000). Open problems in artificial life. Artificial Life, 6(4), 363-376. https://doi.org/10.1162/106454600300103683
- Egri-Nagy, A., Nehaniv, C.L. (2003). Evolvability of the Genotype-Phenotype Relation in Populations of Self-Replicating Digital Organisms in a Tierra-Like System. In: Banzhaf W., Ziegler J., Christaller T., Dittrich P., Kim J.T. (eds) Advances in Artificial Life. ECAL 2003. Lecture Notes in Computer Science, Vol. 2801. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39432-7_26
- Hołyst, R. (2019). Życie w pamięci RAM – ewolucja cyber-organizmów. Instytut Chemii Fizycznej PAN i Szkoła Nauk Ścisłych, pepe.ichf.edu.pl/Softmatter/wirus/superwirusy.pdf
- Ofria, C., Wilke, C.O. (2004). Avida: A software platform for research in computational evolutionary biology. Artificial Life, 10(2), 191-229. https://doi.org/10.1162/106454604773563612
- Ray, T.S. (1991). An approach to the synthesis ofłife. In C. G. Langton, C. Taylor, J. D. Farmer, and S. Rasmussen (eds.), Artificial Life II, page 371. Addison-Wesley, New York.
- Smith, J.J., Johnson, W.R., Lark, A.M., Mead, L.S., Wiser, M.J., Pennock, R.T. (2016). An Avida-ED digital evolution curriculum for undergraduate biology. Evolution: Education and Outreach, 9(1). https://doi.org/10.1186/s12052-016-0060-0
- Standish, R.K. (1999). Some Techniques for the Measurement of Complexity in Tierra. In: Floreano D., Nicoud JD., Mondada F. (eds) Advances in Artificial Life. ECAL 1999. Lecture Notes in Computer Science, Vol. 1674. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48304-7_16
- Standish, R.K. (2003). Open-ended artificial evolution. International Journal of Computational Intelligence and Applications, 3(02), 167-175.
- Tierra (1991). Tierra.doc 17-3-98 documentation for the Tierra Simulator, https://dendrit.tuke.sk/~newalife/kapitola/1263/Doc.htm