Modelowanie biologicznych układów typu drapieżca - ofiara z wykorzystaniem błądzenia losowego.



Podobne dokumenty
MODELE WIELOPOPULACYJNE. Biomatematyka Dr Wioleta Drobik

Tabele przestawne tabelą przestawną. Sprzedawcy, Kwartały, Wartości. Dane/Raport tabeli przestawnej i wykresu przestawnego.

Programowanie genetyczne, gra SNAKE

Zadania laboratoryjne i projektowe - wersja β

Podstawy OpenCL część 2

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

Dokąd on zmierza? Przemieszczenie i prędkość jako wektory

MODELE ROZWOJU POPULACJI Z UWZGLĘDNIENIEM WIEKU

% sumy wiersza nadrzędnego. % sumy kolumny nadrzędnej. % sumy elementu nadrzędnego. Porządkuj od najmniejszych do największych.

Korzystanie z podstawowych rozkładów prawdopodobieństwa (tablice i arkusze kalkulacyjne)

VinCent Administrator

c - częstość narodzin drapieżników lub współczynnik przyrostu drapieżników,

Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE. Rozwiązania. Wartość bezwzględna jest odległością na osi liczbowej.

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

INSTRUKCJA OBSŁUGI PROGRAMU PRZEDSZKOLE (CZ.1)

System rezerwacji online

Kurs logiki rozmytej - pomoc. Wojciech Szybisty

6.4. Efekty specjalne

Wprowadzenie do modelowania matematycznego w biologii. Na podstawie wykładów dr Urszuli Foryś, MIM UW

pojawianie się na drodze - z prawdopodobieństwem alf a nowe auto pojawia się na początku ulicy z pewną prędkością początkową

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Konspekt lekcji biologii w gimnazjum klasa I

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

MODELOWANIE RZECZYWISTOŚCI

Zadania ze statystyki, cz.6

Badanie zależności położenia cząstki od czasu w ruchu wzdłuż osi Ox

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Ćwiczenie 1: Pierwsze kroki

Filmy o numerycznym prognozowaniu pogody Pogodna matematyka : zakładka: Filmy

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Obliczenia inspirowane Naturą

S P I S T R E Ś C I. Instrukcja obsługi

Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego

1. Otwórz pozycję Piston.iam

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

Instrukcja obsługi KALKULATORA OGRODZEŃ

Algorytmy genetyczne

Drapieżnictwo II. (John Stuart Mill 1874, tłum. własne)

Spacery losowe generowanie realizacji procesu losowego

Wyniki operacji w programie

ALHE. prof. Jarosław Arabas semestr 15Z

idream instrukcja do gry klasowej z rankingiem

Abacus Tychy, ul. Pod Lasem 20 tel

1. Opis okna podstawowego programu TPrezenter.

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

Dane w poniższej tabeli przedstawiają sprzedaż w dolarach i sztukach oraz marżę wyrażoną w dolarach dla:

I. Podstawy języka C powtórka

MODELOWANIE RZECZYWISTOŚCI

UMOWY INSTRUKCJA STANOWISKOWA

Instrukcja obsługi. SpinRyb v0.87. Maciej Nalewczyński

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

- odczytuje sygnały z analizatora sygnałów (siła, przyspieszenie, prędkość obrotowa) i obrazuje je w formie graficznej

Ćw. IV. Tabele przestawne

Instrukcja obsługi programu do projektowania ogrodzeń Firmy JONIEC

MODELE ODDZIAŁYWAŃ MIĘDZY DWIEMA POPULACJAMI

1 Moduł Bramki xcomfort 3

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Instrukcja obsługi programu do projektowania ogrodzeń Firmy JONIEC

Program EWIDENCJA ODZIEŻY ROBOCZEJ INSTRUKCJA UŻYTKOWNIKA Przejdź do strony producenta programu

Ćwiczenie nr 1 Odpowiedzi czasowe układów dynamicznych

Dokument opisuje sposób postępowania prowadzący do wysłania deklaracji VAT, PIT lub CIT drogą elektroniczną za pomocą funkcji systemu ADA modułu FK.

w w w. m o f e m a. c o m

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

1 Moduł Modbus ASCII/RTU 3

Przykładowy opis sterowania węzłem betoniarskim z poziomu panelu operatorskiego wyposażonego w ekran dotykowy.

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Laboratorium 8 ( Android -pierwsza aplikacja)

Munsol - dokument zmian. MUNSOL - Dokument zmian

Maciej Piotr Jankowski

Instrukcja użytkownika systemu medycznego

Laboratorium 9 (Więcej Aktywności, w Androidzie)

5.4. Tworzymy formularze

Instrukcja obsługi programu Do-Exp

Kurs walut. Specyfikacja projektu. Marek Zając

Programowanie genetyczne - gra SNAKE

HISTOGRAM. Dr Adam Michczyński - METODY ANALIZY DANYCH POMIAROWYCH Liczba pomiarów - n. Liczba pomiarów - n k 0.5 N = N =

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej,

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

Krok 2: Dane osobowe pracownika

Arkusz kalkulacyjny MS EXCEL ĆWICZENIA 4

Złożoność obliczeniowa zadania, zestaw 2

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Tworzenie prezentacji w MS PowerPoint

Jak utworzyć diagram

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.

KE PRO - automatyczne korekty kosztów niezapłaconych wydatków zaliczonych do kosztów uzyskania przychodów

Dodanie napisów do filmu AVI w programie Auto Gordian Knot

MODELOWANIE RZECZYWISTOŚCI

Twoje potrzeby. Nasze rozwiązania. Instrukcja do funkcjonalności Zamów kuriera z poziomu WebMobile7

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

THP-100 su Obsługa oprogramowania oraz instrukcja wzorcowania

INTENSE PLATFORM Zmiany w wersji Wersja 7.2

PROGRAMY STEROWANIA I WIZUALIZACJI II

Łukasz Januszkiewicz Technika antenowa

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Układy dynamiczne Chaos deterministyczny

Portal Personelu dostępny jest pod adresem

Zad.2. Korelacja - szukanie zależności.

Transkrypt:

Modelowanie biologicznych układów typu drapieżca - ofiara z wykorzystaniem błądzenia losowego. Anna Rutkowska 135601 27 kwietnia 2007 1

Spis treści 1 Wstęp. 3 1.1 Cel pracy......................... 3 1.2 Układ drapieżca - ofiara................. 3 1.3 Błądzenie losowe..................... 4 2 Model Lotki-Volterry. 4 2.1 Teoria........................... 4 2.2 Realizacja......................... 6 2.3 Wpływ zmian parametrów na wyniki.......... 6 3 Model wykorzystujący błądzenie losowe. 11 3.1 Podstawowe założenia.................. 11 3.2 Realizacja......................... 12 3.3 Przebieg tury i implementacja.............. 13 3.4 Wyniki przeprowadzonych symulacji.......... 14 3.5 Parametry modelu, analiza wyników.......... 17 4 Aplikacja. 20 4.1 Wygląd i rozmieszczenie komponentów......... 20 4.2 Działanie......................... 21 4.3 Bezpieczeństwo...................... 21 4.4 Rozbudowa........................ 22 5 Bibliografia. 22 2

1 Wstęp. 1.1 Cel pracy. Celem pracy jest zaprojektowanie i zaimplementowanie modelu, wykorzystującego błądzenie losowe, który będzie symulował biologiczne układy typu drapieżca - ofiara. Do tego ma być stworzona aplikacja umożliwiająca przeprowadzanie symulacji i analizę wyników. Własny model ma być porównany do już istniejących. 1.2 Układ drapieżca - ofiara. Wzajemne relacja dwóch gatunków, takich jak np. króliki i wilki występujących na jednym areale w ekosystemie, nazywa się układem drapieżca - ofiara. Liczebność populacji wilków i liczebność populacji królików są od siebie zależne. Związek ten przedstawia rysunek 1, na którym widać, że wykresy zależności liczebności od czasu są okresowe. Amplituda ofiar jest większa od amplitudy drapieżników i są one względem siebie przesunięte. Rys.1 Zmiana liczebność w czasie w ukł. drapieżnik - ofiara. Na danym terenie musi występować większa liczba królików niż wilków. Wzrost liczebności drapieżników powoduje z pewnym opóźnie- 3

niem spadek liczebności ofiar. Zmniejszenie liczby królików powoduje wymieranie wilków, to pozwala na odbudowę populacji królików, a w dalszej konsekwencji i wilków. W dalszej części cały cykl powtarza się na nowo. 1.3 Błądzenie losowe. Błądzenie losowe, to proces podejmowania kolejnych kroków. Ustala się długość kroku, a kierunek ruchu jest losowany. Przy czym prawdopodobieństwo wylosowania musi być takie same dla wszystkich kierunków. Istnieją dwa warianty błądzenia losowego: z powrotami i bez powrotów. Rys. 2 Błądzenie z i bez powrotów,przy 4 kierunkach ruchu. Błądzenie bez powrotów zakłada, że nie można wylosować miejsca, na którym było się w poprzednim ruchu. 2 Model Lotki-Volterry. 2.1 Teoria. Zaproponowany przez Lotke i Volterra model wykorzystuje, charakteryzujące się oscylacyjnymi rozwiązaniami równania różniczkowe. Stworzony został układ dynamiczny, którego rozwój 4

w czasie jest przewidywalny, zależny tylko od danych początkowych. Relacje miedzy dwoma gatunkami w ekosystemie opisane są za pomocą układu dwóch równań różniczkowych. dn dt = an bnp dp dt = cnp dp Pierwsze równanie wyznacza liczbę ofiar, drugie liczbę drapieżników. Liczebność jednej populacji w chwili t + 1 zależy od liczebności obu populacji w chwili t. Dla N królików i P wilków w bieżącej jednostce czasu mamy odpowiednio dn i dp osobników w następnej jednostce dt dt czasu. Oprócz początkowej liczby osobników na wejściu podaje się dodatkowe parametry. Za ich pomocą model uwzględnia rozrodczość i śmiertelność populacji oraz skale polowań. Widoczne w równaniach parametry (a, b, c, d) oznaczają: a - współczynnik urodzin królików b - współczynnik symulujący, jak wiele królików zostanie złapanych przez wilka c - współczynnik symulujący, jak wiele wilków może wyżywić się z danej populacji królików d - współczynnik umieralności wilków Wartości tych parametrów dobiera się z przedziału (0,1). 5

2.2 Realizacja. Zastosowanie modelu Lotki - Volterry wymaga rozwiązania równań różniczkowych. Jedną z numerycznych metod iteracji takich równań jest metoda Rungego - Kutty czwartego rzędu. Posiadając równanie postaci: y = f(t, y) i wartość początkową: y(t 0 ) = y 0, możemy wyznaczyć kolejne wartości y. Ustalamy krok: h oraz ilość iteracji. Wartość y n+1 obliczamy za pomocą wzoru: y n+1 = y n + h 6 (k 1 + 2k 2 + 2k 3 + k 4 ) gdzie k 1 = f(t n, y n ) k 2 = f(t n + h 2, y n + h 2 k 1) k 3 = f(t n + h 2, y n + h 2 k 2) k 4 = f(t n + h, y n + hk 3 ) 2.3 Wpływ zmian parametrów na wyniki. Sprawdziłam zachowanie się modelu dla różnych wartości parametrów: a, b, c, d oraz różnych liczebności początkowych populacji. Ponieważ model jest cykliczny, ewolucja populacji nie zależy od ilości iteracji. Podobnie krok zmienia tylko zagęszczenie wyników, a nie ich wartość. To byłoby widoczne tylko w przypadku zaznaczania samych punktów na wykresie, a nie rysowania linii. Dlatego nie testuje modelu w zależności od ilości iteracji i wartości kroku. 6

Dobre wyniki otrzymałam dla początkowej liczby wilków i królików równej 20 oraz dla a = 0.07, b = 0.008, c = 0.01, d = 0.2. Wykres przedstawia rysunek 3. Rys. 3 Model Lotki-Volterry. Dla tych samych wartości parametrów a, b, c, d manipulacja wejściową liczbą drapieżników i ofiar dała poniższe efekty. W przypadku zwiększania liczby wilków, amplitudy obu wykresów rosną, przy czym odległość miedzy amplitudą drapieżników, a amplitudą ofiar się zmniejsza (w miarę zwiększania liczby wilków). Przy proporcjach typu: liczba wilków około 10 razy większa niż królików, amplitudy są praktycznie na tym samym poziomie. Podobne wyniki uzyskuje się pozostawiając wartość wejściową wilków równą 20, a zwiększając liczebność królików. 7

Rys. 4 Wartości początkowe - wilków:150, królików: 20. Przyjmując wartości: wilków - 10, królików od 30 do 40 otrzymuje się wykresy podobne do tego na rysunku 3. Natomiast ciekawy wynik daje ustalenie początkowej liczby wilków równej 10, a królików 20 - rysunek 5. 8

Rys. 5 Wartości początkowe - wilków:10, królików: 20. Przy stałych wartościach początkowych obu populacji równych 20, sprawdziłam jaki wpływ na kształt modelu ma zmiana poszczególnych parametrów (a, b, c, d). Zauważyłam, że przy zmianie wartości tylko jednego parametru w zakresie: a - od 0.07 do 0.04, b - od 0.008 do 0.01, c - od 0.01 do 0.004, d - od 0.2 do 0.5, otrzymujemy wyniki zbliżone do oczekiwanych. Inne zmiany powodują zaburzenia w modelu, które przedstawiają rysunki 6 i 7. 9

Rys. 6 Wartości a=0.07, b=0.008, c=0.03, d=0.2. Rys. 7 Wartości a=0.07, b=0.008, c=0.01, d=0.1. 10

Aby wytłumaczyć wpływ zmian parametrów na model muszę odwołać się do równań modelu: N = an bnp P = cnp dp Warto zauważyć, że iloczyn bn P przedstawia oddziaływanie drapieżników na ofiary (zmniejszając populacje ofiar). Natomiast iloczyn cnp obrazuje to jak liczba ofiar wpływa na liczbę drapieżników (wzrost liczby populacji). Porównam teraz parametry modeli z rysunków 6 i 7 z modelem z rysunku 3, który przyjęłam jako wzorcowy. W modelu z rysunku 6 zmianie uległ parametr c. Jego wartość została zwiększona z 0.01 do 0.03. Wtedy wartość iloczynu cnp wzrosła, co wpłynęło na wzrost liczby populacji drapieżników (wykres). Zwiększenie parametru, obrazującego to ile wilków jest się w stanie wyżywić z danej populacji królików, spowodowało wzrost populacji drapieżników. W modelu z rysunku 7 zmieniony został parametr d, z 0.2 na 0.1. Zmniejszenie parametru, który przedstawia śmiertelność drapieżników, spowodowało wzrost ich populacji (wykres). Wartość iloczynu dp zmniejszyła się, czyli zmniejszył się odsetek umierających wilków. 3 Model wykorzystujący błądzenie losowe. 3.1 Podstawowe założenia. Na kwadratowym polu o określonym rozmiarze rozmieszczona zostaje zadana liczba drapieżników i ofiar. Oba gatunki przemie- 11

szczają się na polu w oparciu o model błądzenia losowego z powrotami. Nie ma cykliczności, ustalone są warunki brzegowe. Każda populacja ma określone funkcje życiowe. Króliki się rozmnażają i giną wskutek zjedzenia przez wilka, wilki polują na króliki, rozmnażają się i umierają z powodu głodu. 3.2 Realizacja. Pole. Areał tworzy tablica dwuwymiarowa, której elementami są liczby. Za ich pomocą jest oznaczano czy pole jest puste, czy zajęte, jeśli zajęte to przez kogo. Wartość zero to miejsce puste, wartość jeden to królik, wartości równe lub większe od dwóch to wilk. Ruch. Drapieżniki i ofiary błądzą losowo. Zastosowałam model błądzenia z powrotami, ponieważ jest on bardziej adekwatny do rzeczywistości. W przypadku ruchu wylosowany zostaje kierunek, w którym nastąpi ruch. Jest nim jedno z ośmiu pól na około, dla zwierząt znajdujących się w środku pola i trzy lub pięć dla osobników na brzegach. To jaka czynność zostanie podjęta, zależy od tego jakie miejsce (puste lub zajęte) zostanie wylosowane. Jeśli osobnik wylosuje puste pole przeskakuje na nie. Polowanie. Gdy wilk wylosuje pole z królikiem zjada go i zajmuje jego miejsce. Jeśli to był wilk głodny odejmuje się mu jeden od głodu. 12

Rozmnażanie. Potomstwo o określonej liczbie (zadanej i zależnej od gatunku) pojawia się, gdy w wyniku losowania np królik wylosuje miejsce, na którym znajduje się drugi królik. Liczba młodych jest zliczana przez całą turę. Po jej zakończeniu potomstwo zostaje umieszczone w losowych miejscach, jeśli znajdą się puste. Dodatkowo w przypadku drapieżników przy rozmnażaniu jest podział na dwa schematy. Pierwszy - gdy choć jeden osobnik nie jest głodny. Drugi - gdy udział w rozmnażaniu biorą głodne wilki. Dla każdego z tych schematów można osobno ustalić liczbę potomstwa, ponadto w drugim losowanie decyduje czy mają się pojawić młode. Śmierć wśród wilków. Przy każdym ruchu wilka, przy którym nie polował, dolicza mu się jeden do głodu. Ustalana jest liczba tur, jaką może przeżyć drapieżnik bez jedzenia. Jeśli wilk osiągnie wartość równą tej liczbie, ginie w następnej turze. 3.3 Przebieg tury i implementacja. Wywołanie modelu rozpoczyna się od stworzenia tablicy i rozmieszczeniu w niej osobników (init). Następnie zadaną jako czas ilość razy zliczana jest liczebność populacji oraz wywoływana pojedyncza tura (onet our). Ona zaś przeprowadza liczbę losowań osobnika równą łącznej sumie obu populacji. Jeśli wylosowanym osobnikiem okaże się królik, wywoływana jest metoda nextr, która wyznacza kierunek. Jeśli królik trafi na puste pole, przemieszcza się (go) jeśli na drugiego królika rozmnaża się. Jeśli jednak wylosowanym osobnikiem jest wilk wywoływana jest metoda nextw. W jej wy- 13

niku drapieżnik albo się przemieszcza (goordie), albo konsumuje królika (eat) albo się rozmnaża. Ostatnią metodą wywołaną podczas jednej tury jest addy, która umieszcza narodzone potomstwo na polu. setvalues() { init(bok,rabbit2,wolf2); onetour(bok); nextr(m,c,1.0,bok); go(m,c,ms,cs,who); smallr = smallr + sr; nextw(m,c,pole[m][c],bok); goordie(m,c,ms,cs,who); eat(m,c,ms,cs,who); smallw = smallw + sw2; smallw = smallw + sw; addy(smallr, smallw, bok); } 3.4 Wyniki przeprowadzonych symulacji. Zaproponowany przeze mnie model jest niedeterministyczny, w dużej mierze zależy od losowości. To sprawia, że niekiedy staje się on niestabilny. W wyniku przeprowadzenia wielu symulacji, udało mi się wyznaczyć takie wartości parametrów przy, których otrzymuje się dobre wyniki. W tym modelu podaje się na wejściu: bok pola (b) liczbę początkowa drapieżników (w) liczbę początkowa ofiar (k) przedział czasowy liczba tur, jakie może przeżyć wilk bez jedzenia (mg) 14

rozrodczość królików (lk) rozrodczość wilków głodnych (lw) rozrodczość wilków,gdy choć jeden nie jest głodny (lw2) Model daje żądane efekty przy czwórkach (mg,lk,lw,lw2) takich jak: 3301, 4801, 3311, 3501. Co do pola to powinno ono być odpowiednio duże, populacja królików powinna być liczniejsza od populacji wilków o około połowę, oraz zajmować od 40-60 procent pola. Przedstawię wyniki kilku symulacji (wszystkie były przeprowadzane dla przedziału czasowego 200). Rys. 8 Wartości b=15, k=150, w=70, mg=3, lk=3, lw=0, lw2=1 15

Rys. 9 Wartości b=15, k=150, w=70, mg=4, lk=8, lw=0, lw2=1 Rys. 10 Wartości b=15, k=150, w=70, mg=3, lk=5, lw=0, lw2=1 16

Rys. 11 Wartości b=15, k=150, w=70, mg=3, lk=3, lw=1, lw2=1 3.5 Parametry modelu, analiza wyników. W modelu z błądzeniem losowym występują cztery parametry: mg, lk, lw, lw2 (skróty wyjaśnione wyżej). Za pomocą parametru mg można kontrolować żołądki wilków. Wprowadzenie go do modelu umożliwiło symulowanie rzeczywistych zależności miedzy dostępnością pożywienia, a śmiertelnością drapieżników. Parametr lk powinien być zawsze większy od parametrów lw i lw2, ponieważ rozrodczość królików jest większa od rozrodczości wilków. Wprowadzenie dwóch parametrów opisujących rozrodczość wilków, miało na celu większe uzależnienie populacji drapieżników od populacji ofiar. Słuszna wydaje się hipoteza, że głodne wilki mniej się rozmnażają (szukają pożywienia a nie partnera). Przeprowadzane przeze mnie symulacje z różnymi wartościami parametrów wykazały że: 17

-wprowadzenie podziału na lw i lw2 było słuszne, ponieważ wykres liczebności wilków jest wtedy bardziej regularny, mniej poszarpany oraz bardziej kształtem zbliżony do sinusoidy (rysunek 8 a 11) -dodatkowo rozrodczość drapieżników nie powinna przekraczać 1, ponieważ wtedy liczebność wilków przewyższa liczebność królików, a wygląd wykresów odbiega znacznie od oczekiwań (rysunek 12) -zbyt duże mg może spowodować wymarcie królików (rysunek 13) -większe wartości lk powodują częste wahania liczebności populacji (rysunek 14) Rys. 12 mg=3, lk=3, lw=1, lw2=2. 18

Rys. 13 mg=6, lk=3, lw=1, lw2=1. Rys. 14 mg=3, lk=7, lw=0, lw2=1. 19

4 Aplikacja. 4.1 Wygląd i rozmieszczenie komponentów. Okno aplikacji zawiera dwie zakładki, każda dotyczy jednego modelu. W zakładkach znajdują się pola, w których należy podać parametry oraz pola z wykresem. Wygląd aplikacji przedstawia rysunek 15. Rys. 15 Aplikacja. Wyjaśnienie oznaczeń do rysunku 2: 1. Zakładki z modelami. 20

2. Tutaj podaje się parametry modelu. 3. Po wywołaniu modelu w tym miejscu pokaże się wykres. 4. Po naciśnięciu pojawia się okienko z krótką informacją o modelu z aktywnej zakładki. 5. Przyciski Rysuj i Zamknij. 4.2 Działanie. Aplikacja posiada interface użytkownika, za pomocą którego następuje komunikacja. Użytkownik wybiera model, według którego chce przeprowadzić symulację. Następnie podaje dane wejściowe i parametry modelu. Po uruchomieniu (przycisk Rysuj ) w centralnym panelu pojawia się wykres. W okienku z krótkim opisem modelu znajdują się przykładowe parametry, jakie można zastosować. 4.3 Bezpieczeństwo. Z powodu istniejącej komunikacji użytkownika z programem i jego wpływu na wyniki symulacji, konieczne było stworzenie obsługi błędów. Jeśli użytkownik poda dane w nieodpowiednim formacie (np. stringa zamiast inta),obliczenia modelu nie zostaną wykonane. Pojawi się okienko informujące o błędzie oraz o tym jakie dane są akceptowalne. Rys. 16 Komunikat o błędzie. 21

Aplikacja jest też zabezpieczona przed wprowadzaniem nierozsądnych danych. Przykładem takiej sytuacji może być: podanie przez użytkownika takiej początkowej liczby osobników, których suma jest większa niż liczba miejsc na polu. W tym przypadku liczba drapieżników i ofiar będzie zmniejszana o połowę do momentu, aż ich suma nie będzie przekraczać wielkości pola. Pojawi się także okienko z komunikatem o zaistniałym błędzie i zastosowanym rozwiązaniu. 4.4 Rozbudowa. Daną aplikacje można poszerzyć o nowe funkcjonalności. Oprócz wyników w postaci wykresów, można by udostępnić zapis odpowiednio sformatowanych wyników w postaci liczbowej do pliku tekstowego. Inną opcją jest stworzenie animacji, która przedstawiała by ruch na polu w trakcie działania modelu. 5 Bibliografia. Mathematical biology J.D. Murry Modelowanie rzeczywistości I. Białynicki-Birula, I. Białynicka- Birula Wstęp do analizy numerycznej Anthony Ralston Wielka encyklopedia PWN 22