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ść]