Enostavni modeli s kompleksnim vedenjem, to je kaos
Tehnologija

Enostavni modeli s kompleksnim vedenjem, to je kaos

Računalnik je orodje, ki ga znanstveniki vse pogosteje uporabljajo za odkrivanje skrivnosti, ki jih skrbno skriva narava. Modeliranje skupaj z eksperimentom in teorijo postaja tretji način preučevanja sveta.

Pred tremi leti smo na Univerzi v Šleziji začeli s programom vključevanja računalniških metod v izobraževanje. Posledično je nastalo veliko izjemno vznemirljivih didaktičnih materialov, ki olajšajo in poglobijo preučevanje številnih tem. Za glavno orodje je bil izbran Python, ki je skupaj z močjo razpoložljivih znanstvenih knjižnic verjetno najboljša rešitev za »računalniške eksperimente« z enačbami, slikami ali podatki. Ena izmed najbolj zanimivih izvedb celotnega delovnega miza je Sage [2]. Gre za odprto integracijo sistema računalniške algebre z jezikom Python, omogoča pa tudi takojšen začetek igranja s spletnim brskalnikom in eno od možnih možnosti dostopa prek storitve v oblaku [3] ali enega samega računalniškega strežnika, na katerem je interaktivno različica tega članka temelji na [4] .

Kaos v ekologiji

V prvem letniku univerze v Oxfordu je avstralski znanstvenik Robert May preučeval teoretične vidike demografske dinamike. Svoje delo je povzel v prispevku, ki se je pojavil v reviji Nature pod provokativnim naslovom "Enostavni matematični modeli z zelo kompleksno dinamiko" [1]. Z leti je ta članek postal eno najbolj citiranih del v teoretični ekologiji. Kaj je povzročilo tako zanimanje za to delo?

Klasični problem populacijske dinamike je izračunati prihodnjo populacijo določene vrste glede na njeno sedanje stanje. Matematično so ekosistemi veljali za najpreprostejše, v katerih življenje ene generacije prebivalstva traja eno sezono. Dober primer je populacija žuželk, ki se v eni sezoni popolnoma spremenijo, na primer metulji. Čas je seveda razdeljen na diskretna obdobja2, ki ustrezajo življenjskim ciklom populacije. Tako imajo enačbe, ki opisujejo takšen ekosistem, seveda ti diskretni čas, tj. t = 1,2,3…. S takšno dinamiko se je med drugim ukvarjal Robert May. V svojem sklepanju je ekosistem poenostavil na eno samo vrsto, katere populacija je bila kvadratna funkcija populacije prejšnjega leta. Od kod je prišel ta model?

Najenostavnejša diskretna enačba, ki opisuje razvoj populacije, je linearni model:

kjer je Ni številčnost v i-ti sezoni, Ni + 1 pa opisuje populacijo v naslednji sezoni. Preprosto je videti, da lahko takšna enačba vodi do treh scenarijev. Ko je a = 1, evolucija ne bo spremenila velikosti populacije in <1 vodi v izumrtje, primer a > 1 pa pomeni neomejeno rast populacije. To bo povzročilo neravnovesje v naravi. Ker je vse v naravi omejeno, je smiselno to enačbo prilagoditi tako, da upošteva omejeno količino virov. Predstavljajte si, da škodljivci jedo žito, ki je vsako leto popolnoma enako. Če je žuželk malo v primerjavi s količino hrane, ki jo lahko razmnožijo, se lahko razmnožujejo s polno reprodukcijsko močjo, matematično določeno s konstanto a > 1. Ko pa se število škodljivcev poveča, bo hrane malo in se bo sposobnost razmnoževanja zmanjšala. V kritičnem primeru si lahko predstavljamo, da se rodi toliko žuželk, da pojedo vse zrnje, preden se imajo čas za razmnoževanje, in populacija umre. Model, ki upošteva ta učinek omejenega dostopa do hrane, je prvič predlagal Verhulst leta 1838. V tem modelu stopnja rasti ni konstantna, ampak je odvisna od stanja prebivalstva:

Razmerje med stopnjo rasti a in Ni bi moralo imeti naslednjo lastnost: če se populacija poveča, naj bi se stopnja rasti zmanjšala, ker je dostop do hrane otežen. Seveda obstaja veliko funkcij s to lastnostjo: to so funkcije od zgoraj navzdol. Verhulst je predlagal naslednje razmerje:

kjer a>0 in konstanta K>0 označujeta vire hrane in se imenujeta zmogljivost okolja. Kako sprememba K vpliva na stopnjo rasti prebivalstva? Če se K poveča, se Ni/K zmanjša. To pa vodi v dejstvo, da 1-Ni/K raste, kar pomeni, da raste. To pomeni, da se stopnja rasti povečuje in prebivalstvo raste hitreje. Spremenimo torej prejšnji model (1) s predpostavko, da se stopnja rasti spreminja kot v enačbi (3). Nato dobimo enačbo

To enačbo lahko zapišemo kot rekurzivno enačbo

kjer xi = Ni / K in xi + 1 = Ni + 1 / K označujeta prerazmerjene populacije v času i in času i + 1. Enačba (5) se imenuje logistična enačba.

Morda se zdi, da je s tako majhno spremembo naš model enostavno analizirati. Preverimo. Razmislite o enačbi (5) za parameter a = 0.5 od začetne populacije x0 = 0.45. Zaporedne vrednosti populacije je mogoče dobiti z uporabo rekurzivne enačbe (5):

x1= sekira0(10)

x2= sekira1(11)

x3= sekira2(12)

Za lažje izračune v (6) lahko uporabimo naslednji program (napisan je v Pythonu in ga lahko med drugim izvajamo na platformi Sage. Priporočamo, da si prebereš knjigo http://icse.us.edu .pl/e-book . ), ki posnema naš model:

a = 0.5 x = 0.45 za i v območju (10):      x \u1d a * x * (XNUMX-x)      natisniti x

Izračunamo zaporedne vrednosti xi in opazimo, da se nagibajo k nič. Z eksperimentiranjem z zgornjo kodo je tudi enostavno ugotoviti, da je to res ne glede na začetno vrednost x0. To pomeni, da prebivalstvo nenehno umira.

V drugi fazi analize povečamo vrednost parametra a na poljubno vrednost v območju ae (1,3). Izkaže se, da potem zaporedje xi preide na določeno količino x * > 0. Če si to razlagamo z vidika ekologije, lahko rečemo, da je velikost populacije fiksirana na določeni ravni, ki se iz sezone v sezono ne spreminja. . Omeniti velja, da vrednost x * ni odvisna od začetnega stanja x0. To je posledica prizadevanj ekosistema po stabilizaciji – populacija prilagodi svojo velikost sposobnosti, da se prehranjuje. Matematično je rečeno, da sistem teži k stabilni fiksni točki, t.j. ki izpolnjujejo enakost x = f(x) (to pomeni, da je v naslednjem trenutku stanje enako kot v prejšnjem trenutku). S Sageom si lahko ta razvoj grafično vizualiziramo tako, da narišemo populacijo skozi čas.

Tak stabilizacijski učinek so raziskovalci pričakovali, logistična enačba (5) pa ne bi pritegnila veliko pozornosti, če ne bi bilo presenečenja. Izkazalo se je, da se pri določenih vrednostih parametra model (5) obnaša na nepredvidljiv način. Prvič, obstajajo periodična in multiperiodična stanja. Drugič, z vsakim časovnim korakom se populacija spreminja neenakomerno, kot naključno gibanje. Tretjič, obstaja velika občutljivost na začetne pogoje: dve skoraj neločljivi začetni stanji vodita do popolnoma različnega razvoja populacije. Vse te značilnosti so značilne za vedenje, ki spominja na povsem naključno gibanje in se imenuje deterministični kaos.

Raziščimo to nepremičnino!

Najprej nastavimo vrednost parametra a = 3.2 in si oglejmo razvoj. Morda se zdi presenetljivo, da tokrat populacija ne doseže ene vrednosti, temveč dve, ki se pojavljata vsako drugo sezono zaporedno. Vendar se je izkazalo, da težav s tem ni konec. Z a = 4 sistem ni več predvidljiv. Poglejmo sliko (2) ali pa bomo z računalnikom sami generirali zaporedje številk. Zdi se, da so rezultati povsem naključni in precej različni za nekoliko drugačne začetne populacije. Vendar pa mora pozoren bralec ugovarjati. Kako se lahko sistem, ki ga opisuje deterministična enačba1, četudi zelo preprost, obnaša nepredvidljivo? No, mogoče.

Značilnost tega sistema je njegova izjemna občutljivost na začetne pogoje. Dovolj je, da začnemo z dvema začetnima pogojema, ki se razlikujeta za milijoninko, in v samo nekaj korakih bomo dobili popolnoma različne populacijske vrednosti. Preverimo na računalniku:

a = 4.0

x = 0.123 y = 0.123 + 0.000001 PCC = [] za i v območju (25): x = a*x*(1-x) u = a * u * (1-u) natisniti x, y

Tukaj je preprost model deterministične evolucije. Toda ta determinizem je varljiv, je le matematični determinizem. S praktičnega vidika se sistem obnaša nepredvidljivo, saj začetnih pogojev nikoli ne moremo natančno določiti matematično. Pravzaprav je vse določeno z določeno natančnostjo: vsak merilni instrument ima določeno natančnost, kar lahko povzroči praktično nepredvidljivost v determinističnih sistemih, ki imajo lastnost kaosa. Primer so modeli vremenske napovedi, ki vedno kažejo lastnost kaosa. Zato so dolgoročne vremenske napovedi tako slabe.

Analiza kaotičnih sistemov je izjemno težka. S pomočjo računalniških simulacij pa lahko marsikatero skrivnost kaosa dokaj preprosto rešimo. Narišimo tako imenovani bifurkacijski diagram, na katerega postavimo vrednosti parametra a vzdolž abscisne osi, stabilne fiksne točke logističnega preslikave pa vzdolž ordinatne osi. Stabilne točke dobimo s simulacijo velikega števila sistemov hkrati in risanjem vrednosti po številnih vzorčnih časih. Kot morda ugibate, to zahteva veliko izračunov. Poskusimo "previdno" obdelati naslednje vrednosti:

uvozi numpy kot np Nx = 300 To = 500 х = npr. linearni prostor (0,1, Nx) x = x + np.ničle((Na, Nx)) x = np.transpose(x) a = npr. linspace (1,4, Na) a=a+np.ničle((Nx,Na)) za i v območju (100): x=a*x*(1-x) pt = [[a_,x_] za a_,x_ in zip(a.flatten(),x.flatten())] pika(pt, velikost=1, velikost slike=(7,5))

Dobili bi nekaj podobnega sliki (3). Kako razlagati to risbo? Na primer, z vrednostjo parametra a = 3.3 imamo 2 stabilni fiksni točki (velikost populacije je enaka vsako drugo sezono). Vendar imamo za parameter a = 3.5 4 konstantne točke (vsako četrto sezono ima populacija enako število), za parameter a = 3.56 pa 8 konstantnih točk (vsako osmo sezono ima populacija enako število). Toda za parameter a≈3.57 imamo neskončno veliko fiksnih točk (velikost populacije se nikoli ne ponovi in ​​se spreminja na nepredvidljive načine). Lahko pa z računalniškim programom spremenimo obseg parametra a in z lastnimi rokami raziščemo neskončno geometrijsko strukturo tega diagrama.

To je le vrh ledene gore. O tej enačbi je bilo napisanih na tisoče znanstvenih člankov, a še vedno skriva svoje skrivnosti. S pomočjo računalniške simulacije lahko, ne da bi se zatekli niti k višji matematiki, igrate pionirja sveta nelinearne dinamike. Vabimo vas, da preberete spletno različico, ki vsebuje podrobnosti o številnih zanimivih lastnostih logistične enačbe in zanimivih načinih za njihovo vizualizacijo.

1 Deterministični zakon je zakon, v katerem je prihodnost enolično določena z začetnim stanjem. Antonim je verjetnostni zakon. 2 V matematiki "diskretno" pomeni pridobivanje vrednosti iz določenega štetnega niza. Nasprotno je "neprekinjeno".

Dodaj komentar