Tierra (sztuczne życie)

Tierra – pierwszy program komputerowy, opracowany przez Thomasa Raya, dzięki któremu można było symulować procesy ewolucji[1]. Jest to system do badań nad sztucznym życiem, a konkretnie – nad zdolnością programów komputerowych („królików”) do ewolucji.

Tierra składa się z prostej maszyny wirtualnej oraz interfejsu badacza. Zaprojektowana była jako komputer o architekturze równoległej MIMD[2]. Zawartość pamięci maszyny nazywana jest „zupą”[3] – przez analogię do „prazupy”, w której nastąpić miała biogeneza. W zupie znajdują się króliki (organizmy), które tworzą i uruchamiają swoje kopie. Ponieważ Tierra jest systemem o niskiej niezawodności, w trakcie tworzenia kopii (a także w trakcie życia królika) może dojść do przekłamań, skutkujących trwałymi zmianami w kodzie wykonywalnym, czyli mutacją. Tierra została wyposażona w moduł „żniwiarz” („kostucha”), którego zadaniem była eliminacja starych, podatnych na błędy królików[4] w razie zbyt dużego zużycia zasobów systemu. W zależności od konfiguracji modułu usuwane mogły być losowe programy, bądź też te, które wywołują najwięcej błędów i najwolniej się powielają. Żniwiarz odgrywał zastępczą rolę drapieżnika (rekompensował jego brak[4]) i umożliwiał zaistnienie doboru naturalnego. Po uruchomieniu pierwszej symulacji przez Raya w systemie dość szybko pojawiały się mutacje prowadzące do powstawania organizmów o mniejszej liczbie instrukcji. Były to wirtualne pasożyty, gdyż liczba instrukcji (45) nie pozwalała na „samodzielną” replikację i potrzebowały one do tego innych organizmów[5][6].

Dobór naturalny w połączeniu z mutacjami daje w efekcie ewolucję, skutkującą przetrwaniem programów najlepiej dostosowanych do warunków panujących w „zupie” – nierzadko korzystających z nietrywialnych strategii przetrwania, jak pasożytnictwo. W odróżnieniu od tradycyjnych algorytmów genetycznych pejzaż dostosowań w systemie Tierra nie był ustalony z góry, ale generowany poprzez interakcje organizmów (królików) z otoczeniem (środowiskiem) i zmieniający się wraz z nimi[7].

Inspiracją do stworzenia Tierry była dla Raya gra go[1], a także gra Core War, w której programy graczy rywalizują o zasoby pamięci[8]. Pracę nad tym programem, pisanym w asemblerze, rozpoczął w 1987 roku[9]. Pierwszy „królik” miał 80 instrukcji. W wyniku ewolucji powstała między innymi jego udoskonalona wersja składająca się tylko z 36 instrukcji, dzięki zastosowaniu rozwinięcia pętli[10]. Nowsze wersje Tierry umożliwiają badania nad „królikami” w systemach rozproszonych.

Przypisy

  1. a b Coveney i Highfield 1997 ↓, s. 317.
  2. Coveney i Highfield 1997 ↓, s. 317-320.
  3. Borkowski 2008 ↓, s. 21.
  4. a b Coveney i Highfield 1997 ↓, s. 319.
  5. Borkowski 2008 ↓, s. 22.
  6. Coveney i Highfield 1997 ↓, s. 322-323.
  7. Coveney i Highfield 1997 ↓, s. 321.
  8. Borkowski 2008 ↓, s. 20.
  9. Coveney i Highfield 1997 ↓, s. 318-319.
  10. Murray Gell-Mann, Kwark i jaguar, Piotr Amsterdamski (tłum.), Warszawa: CIS, 1996, s. 411, ISBN 83-85458-53-0, OCLC 835213528.

Bibliografia

Linki zewnętrzne