Celem eksperymentów jest zbadanie możliwości ewolucji, której poddane
są stworzenia w warunkach symulowanych, możliwie zbliżonych do warunków życia
na Ziemi. Obejmują one trójwymiarowe środowisko, fakt opisu organizmów
przez genotyp determinujący budowę struktury fizycznej i sieci neuronowej,
pętlę przetwarzania bodźców (środowisko – receptory – mózg – efektory – środowisko),
operacje rekonfiguracji genotypów (mutacje, krzyżowanie, naprawa),
wymagania energetyczne i bilans energetyczny oraz specjalizację.
Symulator pozwala na badanie zarówno ewolucji ukierunkowanej (dane kryterium
dopasowania) jak i swobodnej/otwartej (brak takiego kryterium). W przypadku
ukierunkowania możliwe jest "hodowanie" stworzeń
cechujących się pożądanymi właściwościami, np. prostą budową i łatwością
poruszania się, dużą wytrzymałością, zdolnością do poruszania się w
środowiskach wodnym i lądowym, poszukiwaniem pożywienia, podążaniem za
celami, unikaniem wrogów i wieloma innymi. System pozwala też
użytkownikom tworzyć inne definicje eksperymentów, które
prowadzić mogą do zaskakujących rezultatów i wykształcenia niezwykle złożonych zachowań.
Innym aspektem badanym w projekcie jest wpływ reprezentacji (opisu)
osobników, operatorów rekonfiguracji i reguł tworzenia osobników
na wyniki ewolucji i charakterystykę budowy powstałych stworzeń.
Najistotniejszym elementem prowadzonych badań jest poznanie i ocena
możliwości procesów ewolucyjnych, w tym także z ewolucją nieukierunkowaną
(co dotychczas nie było badane w tak złożonych
warunkach środowiskowych i symulacyjnych).
Możliwości systemu
Framsticks posiada rozbudowany, uniwersalny symulator o szerokich możliwościach,
na które składa się:
Trójwymiarowa, mechaniczna symulacja sztucznego świata (moduł Mechastick):
Stworzeń z wykorzystaniem metody elementów skończonych
Specjalizacji ich kończyn – tarcia, wytrzymałości, zdolności zdobywania energii przez asymilację, wchłanianie itd.
Płaskiego podłoża, terenu składającego się z bloków/wzgórz o różnej wysokości i środowiska wodnego
Kolizji niedestrukcyjnych i destrukcyjnych
Możliwość interakcji użytkownika w symulowany świat (przenoszenie
stworzeń, umieszczanie porcji energii, ożywianie i uśmiercanie osobników)
Symulacja sterowania ("mózgu") stworzeń:
Sieci neuronowej o dowolnej topologii, złożonej z dowolnych neuronów
Interakcji ze środowiskiem: receptorów (zmysłu dotyku, równowagi i lokalizacji energii) i efektorów (mięśni poruszających
stworzenie, sterowanych jego siecią neuronową)
Różnych rodzajów neuronów
Ewolucja:
Utrzymywanie zbioru genotypów pogrupowanych w pule genów
Utrzymywanie zbioru osobników pogrupowanych w populacje
Wiele sposobów opisania osobników (reprezentacje genetyczne)
Modyfikacja opisów stworzeń przy pomocy krzyżowania i mutacji
Ocenianie organizmów pod kątem wielu kryteriów (czasu życia, prędkości itd.)
Utrzymywanie bilansu energetycznego stworzeń (zysków i zużycia energii na poszczególne czynności)
Pomiar osiągów, wielokryterialna ocena
Język skryptowy pozwalający na modyfikację i rozbudowę systemu, tworzenie własnych definicji eksperymentów, własnych rodzajów neuronów, własnych funkcji oceny, makrodefinicji, sposobów wizualizacji, itd.
Parametryzacja większości operacji, środowiska, zasad symulacji i ewolucji, sposobu działania systemu
Interfejs graficzny dla platform Windows i Amiga, tekstowy dla dowolnego systemu
Kierunki badań
różne sposoby opisu genotypowego stworzeń, w tym opis rozwojowy,
umożlwiający efektywne kodowanie ciała i mózgu
wersja sieciowa
sieciowy interfejs w JAVA oddzielony od symulatora
bardziej precyzyjny model symulacji fizycznej
tworzenie definicji eksperymentów dla nieograniczonej, spontanicznej ewolucji i biologicznie uzasadnionej symulacji ekosystemów