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).
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:
- spis neuronów dostępnych we Framsticks: http://www.framsticks.com/neurons_summary
- dokładny opis neuronów: http://www.framsticks.com/brain_simulation
- język skryptowy Framsticks: http://www.framsticks.com/common/formatspec
- tutorial Framsticks i jego zadania neuronowe.
- opis dostępnych obiektów, pól i metod
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):
- Wykonanie co najmniej dwóch ćwiczeń pomocniczych ze strony http://www.framsticks.com/zadania
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),