Rutkowska07


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ł biolo-
giczne układy typu drapieżca - ofiara. Do tego ma być stworzona
aplikacja umożliwiająca przeprowadzanie symulacji i analizę wyni-
kó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ść popula-
cji 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ż wil-
ków. Wzrost liczebności drapieżników powoduje z pewnym opóznie-
3
niem spadek liczebności ofiar. Zmniejszenie liczby królików powodu-
je 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 wszy-
stkich kierunków. Istnieją dwa warianty błądzenia losowego: z po-
wrotami 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óżnicz-
kowe. 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 po-
mocą układu dwóch równań różniczkowych.
dN
= aN - bNP
dt
dP
= cNP - dP
dt
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
dN dP
czasu mamy odpowiednio i 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ła-
panych 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ów-
nań różniczkowych. Jedną z numerycznych metod iteracji takich
równań jest metoda Rungego - Kutty czwartego rzędu. Posiada-
jąc równanie postaci: y = f(t, y) i wartość początkową: y(t0) = y0,
możemy wyznaczyć kolejne wartości y. Ustalamy krok: h oraz ilość
iteracji. Wartość yn+1 obliczamy za pomocą wzoru:
h
yn+1 = yn + (k1 + 2k2 + 2k3 + k4)
6
gdzie
k1 = f(tn, yn)
h h
k2 = f(tn + , yn + k1)
2 2
h h
k3 = f(tn + , yn + k2)
2 2
k4 = f(tn + h, yn + hk3)
2.3 Wpływ zmian parametrów na wyniki.
Sprawdziłam zachowanie się modelu dla różnych wartości para-
metró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 zaznacza-
nia 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ścio-
wą 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 am-
plitudą 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 otrzymu-
je się wykresy podobne do tego na rysunku 3. Natomiast ciekawy
wynik daje ustalenie początkowej liczby wilków równej 10, a króli-
kó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ól-
nych 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 powo-
dują 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 bNP przedstawia oddziaływanie dra-
pieżników na ofiary (zmniejszając populacje ofiar). Natomiast ilo-
czyn cNP obrazuje to jak liczba ofiar wpływa na liczbę drapieżni-
kó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 wzor-
cowy.
W modelu z rysunku 6 zmianie uległ parametr c. Jego wartość zo-
stała zwiększona z 0.01 do 0.03. Wtedy wartość iloczynu cNP wzro-
sł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żni-
ków, spowodowało wzrost ich populacji (wykres). Wartość iloczynu
dP zmniejszyła się, czyli zmniejszył się odsetek umierających wil-
kó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 powro-
tami. Nie ma cykliczności, ustalone są warunki brzegowe. Każda po-
pulacja 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 (pu-
ste 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 miej-
sce. 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) po-
jawia 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 loso-
wych miejscach, jeśli znajdą się puste. Dodatkowo w przypadku dra-
pieżników przy rozmnażaniu jest podział na dwa schematy. Pierwszy
- gdy choć jeden osobnik nie jest głodny. Drugi - gdy udział w roz-
mnażaniu biorą głodne wilki. Dla każdego z tych schematów można
osobno ustalić liczbę potomstwa, ponadto w drugim losowanie de-
cyduje 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 roz-
mieszczeniu w niej osobników (init). Następnie zadaną jako czas
ilość razy zliczana jest liczebność populacji oraz wywoływana poje-
dyncza tura (oneT our). Ona zaś przeprowadza liczbę losowań osob-
nika równą łącznej sumie obu populacji. Jeśli wylosowanym osobni-
kiem okaże się królik, wywoływana jest metoda nextR, która wyzna-
cza 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ą pod-
czas 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ć odpowied-
nio 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. Przed-
stawię 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 mo-
delu umożliwiło symulowanie rzeczywistych zależności miedzy do-
stę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. Wprowa-
dzenie 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 ry-
sunek 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 mo-
delu 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 central-
nym 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łu-
gi 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ąd-
nych 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 odpowied-
nio sformatowanych wyników w postaci liczbowej do pliku teksto-
wego. 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


Wyszukiwarka

Podobne podstrony:
rutkowskilsw
CV Dawid Rutkowski pdf
rutkowskill
Ewa Pałasz Rutkowska Polacy wobec wojny japońsko rosyjskiej
Rutkowski Wyklad 3
rutkowskibs
rutkowskibmsw
I9G2S1 Joanna Rutkowska lab3
rutkowskilmb
rutkowskibsw

więcej podobnych podstron