Sztuczne Życie

Modelowanie i symulacja we Framsticks.

Instalacja dodatku Framclipse

Dodatek do środowiska Eclipse ułatwiający pisanie neuronów i innych skryptów wykonywanych we Framsticks instalujemy wedle instrukcji.

Zadanie 1. Tworzenie neuronu.

Cel: Napisanie neuronu liniowego przy użyciu Framclipse.

Pomoce: kod neuronu progowego Threshold (zapisany w: Program Files > Framsticks > scripts).

Neuron sumujący — podpowiedź.

Aby napisać neuron sumujący, należy skorzystać nie tylko z funkcji go (która jest wywoływana w każdym kroku symulacji neuronu), ale i init (która jest wywoływana tylko raz, w momencie tworzenia neuronu). W funkcji init() potrzebne jest zainicjowanie pola pełniącego rolę zmiennej neuronu (np. Fields.suma_pobudzen) wartością początkową 0, do której następnie (już w funkcji go) będzie dodawana wartość pobudzeń, które otrzymuje neuron. Tworzony neuron może dodawać wartość pobudzeń w czasie całego swojego okresu istnienia (także, gdy będą one wynosiły 0). W miarę potrzeb można na bazie takiego neuronu budować bardziej skomplikowane — dodając dodatkowe warunki, itp.

Jak deklarować pole?

Jeśli deklarujemy jakieś pole (np. Fields.suma_pobudzen), musimy określić jego właściwości w prop (po function go):

prop:
id:suma_pobudzen
name:suma_pobudzen
type:f
flags:32

Podczas pisania skryptów we Framsticks przydatny jest opis dostępnych obiektów, pól i metod. Znajduje się on w folderze Framsticks > classdoc (strona startowa index.html); można go też oglądać online oraz wyszukiwać w samym programie (Ctrl+F1).

Ćwiczenia

Wybór problemu do opracowania podczas samodzielnej pracy w grupach.

Cel: Zamodelowanie lub symulacja wybranego problemu.

Zadania do wyboru znajdują się na stronie http://www.framsticks.com/zadania

Zadania wymagające do pełnej realizacji napisania fragmentu skryptu innego niż neuron (czyli napisania własnej funkcji celu albo fragmentu definicji eksperymentu) oznaczone są gwiazdką.

Pomoce:

Pod koniec semestru nastąpi prezentacja osiągnięć. Proszę wtedy przygotować zwięzłe, 2-stronicowe podsumowanie (krótki przegląd istniejących prac z wybranej tematyki, model i przyjęte założenia, zasada działania, ew. ilustracje/wykresy, zakres zrealizowania zadania). Podsumowanie to może być punktem wyjścia do przedstawienia przeprowadzonego eksperymentu na kole naukowym, PFK, czy też na sesji posterowej lub w raporcie/artykule/na konferencji.

Zadanie domowe (na 5.05):

Podpowiedź: jak używać Ch i ChMux, żeby stworzyć bramkę przesyłającą jeden z dwóch sygnałów:

ChMux przesyła sygnał z pierwszego lub drugiego wejścia Ch w zależności od tego, czy na swoim pierwszym wejściu ma wartość -1 czy 1. Należy wobec tego połączyć go z Thr (koniecznie przez pierwsze wejście), którego sygnał wyjściowy pozwoli zarządzać przepływem sygnałów w bramce. Kod musi zostać umieszczony w ciele Framsticka.

[*][Sin][Ch, -2:1, -1:1][*][Thr, t:0, lo:-1, hi:1,-1:1][ChMux, -1:1,-3:1]

Punktacja: 3 punkty
Ponieważ na następne zajęcia przewidziane jest kolokwium i zaliczenia projektu, zadanie domowe należy przesłać do prowadzących do niedzieli (09.06),

© A. Czoska, M. Komosiński, B. Kroll, A. Kupś, A. Mensfelt, B. Szopka