Jednoduché modely se složitým chováním, tj. chaosem
Technologie

Jednoduché modely se složitým chováním, tj. chaosem

Počítač je stále více používaným nástrojem vědců k odhalování tajemství pečlivě ukrytých přírodou. Modelování se spolu s experimentem a teorií stává třetím způsobem, jak studovat svět.

Před třemi lety jsme na Slezské univerzitě zahájili program integrace počítačových metod do vzdělávání. Díky tomu vzniklo mnoho mimořádně vzrušujících didaktických materiálů, které usnadňují a prohlubují studium mnoha témat. Jako hlavní nástroj byl zvolen Python, který je spolu se silou dostupných vědeckých knihoven pravděpodobně tím nejlepším řešením pro „počítačové experimenty“ s rovnicemi, obrázky či daty. Jednou z nejzajímavějších implementací kompletního pracovního stolu je Sage [2]. Jedná se o otevřenou integraci systému počítačové algebry s jazykem Python a také umožňuje okamžitě začít hrát pomocí webového prohlížeče a jedné z možných možností přístupu prostřednictvím cloudové služby [3] nebo jediného výpočetního serveru, na kterém je interaktivní verze tohoto článku je založena na [4] .

Chaos s ekologií

V 1. letech na Oxfordské univerzitě studoval australský vědec Robert May teoretické aspekty demografické dynamiky. Svou práci shrnul v článku, který vyšel v časopise Nature pod provokativním názvem „Simple Mathematical Models with Very Complex Dynamics“ [XNUMX]. V průběhu let se tento článek stal jednou z nejcitovanějších prací teoretické ekologie. Co způsobilo takový zájem o tuto práci?

Klasickým problémem populační dynamiky je vypočítat budoucí populaci konkrétního druhu vzhledem k jeho současnému stavu. Matematicky byly ekosystémy považovány za nejjednodušší, ve kterých život jedné generace populace trvá jednu sezónu. Dobrým příkladem je populace hmyzu, která projde úplnou metamorfózou během jedné sezóny, jako jsou například motýli. Čas je přirozeně rozdělen do diskrétních období2 odpovídajících životním cyklům populace. Rovnice popisující takový ekosystém tedy přirozeně mají tzv diskrétní čas, tzn. t = 1,2,3…. Robert May se mimo jiné zabýval takovou dynamikou. Ve své úvaze zjednodušil ekosystém na jediný druh, jehož populace byla kvadratickou funkcí populace předchozího roku. Kde se tento model vzal?

Nejjednodušší diskrétní rovnicí popisující vývoj populace je lineární model:

kde Ni je množství v i-té sezóně a Ni + 1 popisuje populaci v příští sezóně. Je snadné vidět, že taková rovnice může vést ke třem scénářům. Když a = 1, evoluce nezmění velikost populace a <1 vede k vyhynutí, a případ a > 1 znamená neomezený růst populace. To povede k nerovnováze v přírodě. Protože vše v přírodě je omezené, má smysl upravit tuto rovnici tak, aby zohledňovala omezené množství zdrojů. Představte si, že škůdci žerou obilí, které je každý rok úplně stejné. Je-li hmyzu vzácnost ve srovnání s množstvím potravy, kterou dokáže rozmnožit, může se rozmnožovat s plnou reprodukční silou, matematicky určenou konstantou a > 1. S rostoucím počtem škůdců však bude potravy ubývat a reprodukční schopnost se sníží. V kritickém případě si lze představit, že se rodí tolik hmyzu, že sežerou všechno obilí, než se stihne rozmnožit, a populace zemře. Model, který bere v úvahu tento efekt omezeného přístupu k potravinám, poprvé navrhl Verhulst v roce 1838. V tomto modelu není tempo růstu konstantní, ale závisí na stavu populace:

Vztah mezi rychlostí růstu a a Ni by měl mít následující vlastnost: pokud se populace zvýší, rychlost růstu by se měla snížit, protože přístup k potravě je obtížný. Samozřejmě existuje mnoho funkcí s touto vlastností: jedná se o funkce shora dolů. Verhulst navrhl následující vztah:

kde a>0 a konstanta K>0 charakterizují potravní zdroje a nazývají se kapacitou prostředí. Jak změna K ovlivňuje rychlost růstu populace? Pokud se K zvyšuje, Ni/K klesá. To zase vede k tomu, že 1-Ni/K roste, což znamená, že roste. To znamená, že tempo růstu se zvyšuje a populace roste rychleji. Upravme tedy předchozí model (1) za předpokladu, že se rychlost růstu mění jako v rovnici (3). Pak dostaneme rovnici

Tuto rovnici lze zapsat jako rekurzivní rovnici

kde xi = Ni / K a xi + 1 = Ni + 1 / K označují přeškálované populace v čase i a čase i + 1. Rovnice (5) se nazývá logistická rovnice.

Může se zdát, že s tak malou úpravou je náš model snadno analyzovatelný. Pojďme to zkontrolovat. Uvažujme rovnici (5) pro parametr a = 0.5 počínaje počáteční populací x0 = 0.45. Sekvenční hodnoty populace lze získat pomocí rekurzivní rovnice (5):

x1= sekera0(1st0)

x2= sekera1(1st1)

x3= sekera2(1st2)

Pro usnadnění výpočtů v (6) můžeme použít následující program (je napsán v Pythonu a lze jej spustit mimo jiné na platformě Sage. Doporučujeme si přečíst knihu http://icse.us.edu .pl/e-book . ), napodobující náš model:

a = 0.5 x = 0.45 pro i v dosahu (10):      x \u1d a * x * (XNUMX-x)      tisknout x

Vypočítáme postupné hodnoty xi a všimneme si, že mají tendenci k nule. Experimentováním s výše uvedeným kódem je také snadné zjistit, že to platí bez ohledu na počáteční hodnotu x0. To znamená, že populace neustále umírá.

Ve druhé fázi analýzy zvýšíme hodnotu parametru a na libovolnou hodnotu v rozsahu ae (1,3). Ukazuje se, že pak posloupnost xi jde do určitého množství x * > 0. Interpretujeme-li to z hlediska ekologie, můžeme říci, že velikost populace je pevně stanovena na určité úrovni, která se nemění sezónu od sezóny . Stojí za zmínku, že hodnota x * nezávisí na počátečním stavu x0. To je důsledek snahy ekosystému o stabilizaci – populace přizpůsobuje svou velikost schopnosti se živit. Matematicky se říká, že soustava tíhne ke stabilnímu pevnému bodu, tzn. splnění rovnosti x = f(x) (to znamená, že v dalším okamžiku je stav stejný jako v předchozím okamžiku). Pomocí Sage můžeme tento vývoj graficky znázornit vykreslením populace v průběhu času.

Takový stabilizační efekt výzkumníci očekávali a logistická rovnice (5) by nevzbudila velkou pozornost, kdyby nebylo překvapení. Ukázalo se, že pro určité hodnoty parametru se model (5) chová nepředvídatelně. Za prvé, existují periodické a multiperiodické stavy. Za druhé, s každým časovým krokem se populace mění nerovnoměrně, jako náhodný pohyb. Za třetí, existuje velká citlivost na počáteční podmínky: dva téměř nerozeznatelné počáteční stavy vedou ke zcela odlišné populační evoluci. Všechny tyto rysy jsou charakteristické pro chování, které připomíná zcela náhodný pohyb a nazývá se deterministický chaos.

Pojďme prozkoumat tuto nemovitost!

Nejprve nastavíme hodnotu parametru a = 3.2 a podíváme se na vývoj. Může se zdát překvapivé, že tentokrát populace nedosahuje jedné hodnoty, ale hned dvou, které se vyskytují za sebou každou druhou sezónu. Ukázalo se však, že tím problémy nekončí. Při a = 4 již systém není předvídatelný. Podívejme se na obrázek (2) nebo si posloupnost čísel vygenerujeme sami pomocí počítače. Výsledky se zdají být čistě náhodné a zcela odlišné pro mírně odlišné výchozí populace. Pozorný čtenář by však měl namítnout. Jak se může systém popsaný deterministickou rovnicí1, byť velmi jednoduchou, chovat nepředvídatelně? No, možná.

Charakteristickým rysem tohoto systému je jeho pozoruhodná citlivost na počáteční podmínky. Stačí začít se dvěma počátečními podmínkami, které se liší o jednu miliontinu, a v několika krocích dostaneme úplně jiné hodnoty populace. Zkontrolujeme na počítači:

a = 4.0

x = 0.123 y = 0.123 + 0.000001 PCC = [] pro i v dosahu (25): x = a*x* (1-x) y = a*y*(1-y) tisknout x, y

Zde je jednoduchý model deterministické evoluce. Ale tento determinismus je klamný, je to jen matematický determinismus. Z praktického hlediska se systém chová nepředvídatelně, protože počáteční podmínky nikdy nedokážeme nastavit matematicky přesně. Ve skutečnosti je vše určeno s určitou přesností: každý měřicí přístroj má určitou přesnost, a to může způsobit praktickou nepředvídatelnost v deterministických systémech, které mají vlastnost chaosu. Příkladem jsou modely předpovědi počasí, které vždy vykazují vlastnost chaosu. To je důvod, proč jsou dlouhodobé předpovědi počasí tak špatné.

Analýza chaotických systémů je extrémně obtížná. Řadu záhad chaosu však dokážeme vyřešit celkem snadno pomocí počítačových simulací. Nakreslete si tzv. bifurkační diagram, na který umístíme hodnoty parametru a podél osy úsečky a stabilní pevné body logistického mapování podél osy pořadnice. Stabilní body získáme simulací velkého počtu systémů současně a vykreslením hodnot po mnoha vzorcích. Jak asi tušíte, vyžaduje to spoustu výpočtů. Zkusme "opatrně" zpracovat následující hodnoty:

import numpy jako np Nx = 300 To = 500 x = np.linspace(0,1, nx) х = х + np.nuly ((Na, Nx)) h = np.transponovat (h) a=np.linspace(1,4,Na) a=a+np.zeros((Nx,Na)) pro i v dosahu (100): x=a*x*(1-x) pt = [[a_,x_] pro a_,x_ in zip(a.flatten(),x.flatten())] tečka(pt, velikost=1, velikost obrázku=(7,5))

Měli bychom dostat něco podobného jako na obrázku (3). Jak interpretovat tuto kresbu? Například při hodnotě parametru a = 3.3 máme 2 stabilní pevné body (velikost populace je každou druhou sezónu stejná). Pro parametr a = 3.5 však máme 4 konstantní body (každou čtvrtou sezónu má populace stejný počet) a pro parametr a = 3.56 máme 8 konstantních bodů (každou osmou sezónu má populace stejný počet). Ale pro parametr a≈3.57 máme nekonečně mnoho pevných bodů (velikost populace se nikdy neopakuje a mění se nepředvídatelným způsobem). Pomocí počítačového programu však můžeme změnit rozsah parametru a a vlastníma rukama prozkoumat nekonečnou geometrickou strukturu tohoto diagramu.

Tohle je jen špička ledovce. O této rovnici byly napsány tisíce vědeckých prací, ale stále skrývá svá tajemství. S pomocí počítačové simulace si můžete, aniž byste se museli uchýlit k vyšší matematice, hrát na průkopníka světa nelineární dynamiky. Zveme vás k přečtení online verze obsahující podrobnosti o mnoha zajímavých vlastnostech logistické rovnice a zajímavé způsoby, jak je vizualizovat.

1 Deterministický zákon je zákon, ve kterém je budoucnost jednoznačně určena počátečním stavem. Antonymum je pravděpodobnostní zákon. 2 V matematice „diskrétní“ znamená získání hodnot z určité spočítatelné množiny. Opak je „nepřetržitý“.

Přidat komentář