Pierwszą koncepcją jaką musimy sobie przyswoić
w dziedzinie dynamiki i chaosu jest iteracja
czyli wykonywanie czegoś w powtarzalny sposób
Przykładowo, pomyślmy o wzroście pewnej populacji
Taki wzrost jest ciągłym procesem
w którym zachodzi cykliczna reprodukcja
W tym celu możemy przyjrzeć się
prostemu modelowi wzrostu populacji
który nazwaliśmy SimplePopulationGrowth.nlogo
Jak zawsze, plik ten dostępny jest w materiałach do kursu
na naszej stronie interentowej
Otwórzmy ten plik
Gdy już mamy otwarty model, klikamy na Setup
i widzimy, że model rozpoczyna się od pojedynczej jednostki
stanowiącej w tym momencie całą naszą populację
Wskaźnik urodzeń wynosi tu 2
co oznacza, że w każdym kroku czasowym ten mały królik
wydaje na świat 2 króliki potomne
po czym umiera
Gdy klikniemy Reproduce zobaczymy jak to się dzieje
pojawiają się dwa króliki potomne
W następnym kroku każdy z tych dwóch królików
wyda na swiat następne dwa po czym umrze
i tak dalej i tak dalej
I widzimy, że bardzo szybko świat zapełnia się królikami
Model udostępnia nam dwa wykresy
ten wyżej pokazuje nam wielkość populacji w czasie
w każdym kroku czasowym populacja ulega podwojeniu
widać, że populacja rośnie bardzo szybko
Mamy także drugi wykres, dający nam nieco inne spojrzenie
w którym mamy na osi X populację zeszłoroczną
a na osi Y populację tegoroczną
Każdy krok czasowy przedstawia tu jeden rok
Jeśli w zeszłym roku mieliśmy, powiedzmy 100 królików
to w tym mamy ich 200
Widzimy to tutaj
A jeśli w zeszłym roku populacja wynosiła 300 to w bieżącym wyniesie 600
Widzimy, że na wykresie mamy linię prostą
Trudno o coś prostszego, prawda?
Ponieważ jest to aż tak proste pokaże Wam
jak przekształcić to w model matematyczny
Zamknijmy na chwilę Netlogo
odłóżmy go na chwilę
I napiszmy kilka równań
Na początek nieco terminologii
Nazwijmy populację małą literą 'n'
Nazwijmy również populację początkową przez'n' ze wskaźnikiem '0'
W naszym modelu populacja początkowa wynosiła 1
mieliśmy na początku tylko jednego królika
Konsekwentnie dalej nazwijmy przez 'n1' populację w roku 1
i tak dalej..
W naszym przypadku w roku 1 populacja wyniosła 2
bo mieliśmy 2 króliki potomne wydane na świat przez pierwszego
który po roku umarł
I dalej, uogólniając
możemy nazwać populację w roku t
jako 'n' ze wskaźnikiem t
dla dowolnej wartości 't'
Mieliśmy również wartość wskaźnika urodzeń
który odpowiadał liczbie potomstwa które rodziło się każdego roku
Zauważyliśmy już, że 'n1' równało się
wskaźnikowi urodzeń
pomnożonemy przez n w roku zero: 'n0'
A więc, mamy 1 na początku, mnożymy to razy 2 i dostajemy 2 króliki potomne
I dalej w roku 2, mamy 'n2' równa się wskaźnik urodzeń
pomnożony przez 'n1'
Możemy to również uogólnić pisząc że n w roku następnym po t, czyli 'n t+1'
to jest dla populacji w roku t+1
równa się wskaźnikowi urodzeń
pomnożonemu przez n w roku t: 'nt'
A więc to równanie
stanowi nasz model
Część iteracyjna modelu pochodzi stąd
że do kalkulacji populacji roku bieżacego używamy populacji z roku poprzedzającego
A w roku kolejnym użyjemy do kalkulacji roku poprzedzającego i tak dalej
właśnie ten proces nazywamy iteracją
W tym przypadku mówimy o wykładniczym wzroście populacji
Możemy to zobrazować w następujący sposób:
Stwórzmy tu tabelę obrazującą wzrost populacji
a więc napiszmy tu rok
a obok 'n' w roku t
a więc jest to rok o numerze 't'
Na początku mamy rok 0, a populacja jak pamiętamy, była 1
a wszystko to przy wskaźniku urodzeń wynoszącym 2
Dla roku 1 mamy populację 2
dla roku 2 populacja wynosi 4
ponieważ populacja podwaja się z każdym rokiem
w roku 3 mamy 8
i tak dalej, mam nadzieję, że dostrzegacie tu zasadę
ponieważ w roku t
populacja wyniesie 2 do potęgi t
a więc 2 do potęgi 1, do potęgi 2, 3 i wreszcie do potęgi t
Nazywamy to funkcją wykładniczą w którym wykładnikiem jest t
to sprawia, że nasza populacja rośnie bardzo, bardzo szybko
Oczywiście taki niekontrolowany wzrost
jest kompletnie nierealny
i oczywiście w rzeczywistym świecie mamy ograniczenia dla wzrostu
Populacja wyczerpie zasoby, pożywienia lub przestrzeni, w kórej może wzrastać
Ale dla naszych potrzeb załóżmy, że nie ma barier dla wzrostu
Teraz powróćmy do tegoż modelu w Netlogo
Jak pamiętamy, mamy tu świat wypełniony królikami
Mamy tu również wykres populacji w czasie
ale możemy też narysować wykres tegorocznej populacji versus zeszłoroczna
Ten pierwszy wykres, wzrost populacji w czasie
jest funkcją wykładniczą
która obrazuje wzór, który uzyskaliśmy: 2 do potęgi t
tak właśnie wygląda funkcja wykładnicza
ale gdy rysujemy wykres tegorocznej populacja w funkcji zeszłorocznej
to otrzymujemy funkcję liniową
Możemy zrobić notatkę do wykresu
by zapamiętać, czym jest ta funkcja
piszemy więc funkcję: mała litera 'n'
indeks 't+1'
równa się wskaźnikowi urodzeń
razy n z indeksem 't'
Informacja dla tych, którzy zapomnieli podstawy algebry
to co napisaliśmy, to równanie linii prostej
mamy tu Y= (nachylenie)*X
To jest nasza oś Y
Nachyleniem jest wskaźnik urodzeń i wynosi 2
i widzimy, że Y otrzymujemy mnożąc X razy 2
To jest równanie liniowe
a jest liniowe z tego powodu
że taka jest esencja systemu liniowego
To co mamy na osi Y otrzymujemy rzutując na linię prostą oś X
Możemy mówić o systemach nieliniowych oraz liniowych
Tu mamy do czynienia z systemem liniowym
a wynika to stąd, że nie ma żadnych interakcji pomiędzy królikami
Mamy tylko prostą reprodukcję; królki rodzą się
i są od siebie niezależne
A niezależność w systemie w sensie, o którym tu mówimy
pociąga za sobą liniowość systemu, liniowy wzrost
Ok, nadszedł czas na krótki test
Załóżmy, że wskaźnik urodzeń rośnie do 3
Niech populacja początkowa wynosi znowu 1 królik
Pytanie brzmi: Jaka jest populacja w cyklu czasowym 4?
[należy wybrać jedną wartość]