Spontaniczna ewolucja żarłoków

Celem poniższego programu jest zasymulowanie nieukierunkowanej (z zewnątrz) ewolucji organizmów w bardzo uproszczonym świecie. W dużo bardziej złożonym środowisku Framsticks analogiczną sytuację symuluje eksperyment "reproduction".

Aby uruchomić zamieszczony tu program, wybierz język klikając jeden z dwóch przycisków. Zanim zaczniesz używać programu, przeczytaj poniższe wyjaśnienia.

Reguły w świecie

Na planszy rozróżniamy dwa typy organizmów: rośliny i osobniki poruszające się. Każda roślina i osobnik ma określoną wartość energii. Całkowita energia świata jest stała. Na jednym polu planszy (reprezentowany przez jeden punkt: zielony lub czerwony) może znajdować się nieograniczona liczba osobników i roślin

Rośliny (reprezentowane w programie kolorem zielonym) nie podlegają ewolucji i są umieszczane na planszy losowo tak by nie przekraczać całkowitej energii świata. Rozmieszczanie nowych roślin można regulować i odbywa się to na 2 sposoby:

  • losowo,
  • w zwartych grupach: jeżeli do pełnej energii brakuje <=2 roślin lub na planszy są <=5 rośliny, to umieszczane są losowo 4 rośliny (mogą przekroczyć maksymalną energię świata); w pozostałych przypadkach (lub gdy pozostały rośliny do rozmieszczenia) nowe rośliny umieszczane są w odległości od 0 do 5 kratek (losowa wartość) wzdłuż każdej z osi od losowo wybranej, istniejącej rośliny.

Osobniki (reprezentowane w programie kolorem czerwonym) w przeciwieństwie do roślin mogą się poruszać, jeść rośliny i rozmnażać się. W każdej turze osobnik może zjeść tylko jedną roślinę. Rozmnażanie tych organizmów następuje wtedy, gdy osobnik wyrazi chęć do rozrodu i ma odpowiedni zapas energii. Zapas energii potrzebny jest po to żeby energię tą przekazać nowopowstałemu osobnikowi. Rozmnażanie może odbywać się w dwojaki sposób: przez krzyżowanie i wegetatywnie. Pierwszy sposób polega na tym że chromosomy osobnika chcącego się rozmnożyć i osobnika najbliższego niemu są ze sobą krzyżowane. Powstaje przez to nowy osobnik posiadający cechy zarówno jednego jak i drugiego rodzica. Jest on umieszczany na planszy w połowie drogi między swymi rodzicami. Drugi sposób rozmnażania polega na wydaniu potomstwa prawie identycznego do niego samego. Jedyne różnice jakie mogą zachodzić w potomku to różnice powstałe na wskutek mutacji. Nowy osobnik w tym przypadku umieszczany jest w pobliżu osobnika-rodzica. Osobniki żyją ta długo dopóki posiadają energię i nie przekroczą pewnego granicznego wieku. Z każdą turą wiek osobnika jest zwiększany o 1, a energia zmniejszana o 1.

Ogólne wskazówki dla użytkownika

Gdy w programie uda się uzyskać stabilną, dobrą populację (np. dla ustawienia rozmieszczania roślin na “grupy”) to można zauważyć, że osobniki podążają do najbliższego źródła energii. Tam gdzie pożywienia jest sporo tworzą się olbrzymie grupy osobników, które się rozrastają tak długo, jak długo jest pod dostatkiem ożywienia. Gdy to pożywienie "ucieka" to grupy te podążają za nim. Gdy dla takiej grupy osobników zabraknie pożywienia, a na planszy gdzieś dalej jest inne pożywienie to grupa podąża do niego, ale po drodze się rozsypuje i nie jest już taka zwarta. Wynika to z tego że każdy osobnik ma trochę inne ustawienia parametrów sieci neuronowej i przy dłuższej wędrówce jego zachowania znacznie różnią się od zachowań innych osobników z grupy.

Olbrzymi wpływ na przebieg samej ewolucji mają początkowe parametry systemu, a w szczególności sposób rozmieszczania roślin, oraz ustawienia dotyczące energii osobników, roślin i świata. Sposób rozmieszczanie roślin jest tutaj bardzo ważny, gdyż przy ustawieniu “losowo” bardzo ciężko uzyskać jest populację, która będzie stabilna. Z drugiej strony ustawiając parametr na “grupy” można dosyć szybko uzyskać populację, która będzie w prawidłowy sposób reagować na pożywienie. Niestety takie populacje mogą dosyć szybko zginąć gdy zabraknie pożywienia, a najbliższe skupisko innego pożywienia znajduje się zbyt daleko żeby grupa mogła się tam dostać. Dlatego też po wykształceniu się dobrej populacji przy ustawieniu rozmieszczania roślin na “grupy” można to ustawienie zmienić na “losowo”. Wtedy daje się zaobserwować stabilną populację, która nie powinna wymrzeć. Inne parametry takie jak energia (osobników, roślin, świata) oraz długość życia osobników powinny być uzależnione od wielkości planszy. Gdy damy za małą długość życia osobników lub ich energię a plansza będzie duża to osobniki mogą nie przeżyć podróży od jednego skupiska pożywienia do drugiego skupiska pożywienia.

Zrzuty ekranów uzyskane podczas działania programu:

Program i tekst: Rafał Słomian
Program w javascript: Jacek Jankowski
Prowadzący: Maciej Komosiński