Eenvoudige modelle met komplekse gedrag d.w.s. chaos
Tegnologie

Eenvoudige modelle met komplekse gedrag d.w.s. chaos

Die rekenaar is 'n hulpmiddel wat toenemend deur wetenskaplikes gebruik word om geheime wat sorgvuldig deur die natuur versteek is, te ontbloot. Modellering, saam met eksperimente en teorie, word die derde manier om die wĂȘreld te bestudeer.

Drie jaar gelede, by die Universiteit van Silesië, het ons 'n program begin om rekenaarmetodes in onderwys te integreer. Gevolglik is baie uiters opwindende didaktiese materiaal geskep, wat dit makliker en dieper maak om baie onderwerpe te bestudeer. Python is gekies as die hoofhulpmiddel, wat saam met die krag van beskikbare wetenskaplike biblioteke waarskynlik die beste oplossing is vir "rekenaareksperimente" met vergelykings, beelde of data. Een van die interessantste implementerings van 'n volledige werkbank is Sage [2]. Dit is 'n oop integrasie van 'n rekenaaralgebra-stelsel met die Python-taal, en stel jou ook in staat om dadelik te begin speel met 'n webblaaier en een van die moontlike toegangsopsies deur 'n wolkdiens [3] of 'n enkele rekenaarbediener waarop die interaktiewe weergawe van hierdie artikel is gebaseer op [4] .

Chaos in ekologie

In die 1ste jaar aan Oxford Universiteit het die Australiese wetenskaplike Robert May die teoretiese aspekte van demografiese dinamika bestudeer. Hy het sy werk opgesom in 'n referaat wat in die joernaal Nature verskyn het onder die uitdagende titel "Simple Mathematical Models with Very Complex Dynamics" [XNUMX]. Oor die jare het hierdie artikel een van die mees aangehaalde werke in teoretiese ekologie geword. Wat het sulke belangstelling in hierdie werk veroorsaak?

Die klassieke probleem van populasiedinamika is om die toekomstige populasie van 'n spesifieke spesie te bereken, gegewe sy huidige toestand. Wiskundig is ekosisteme beskou as die eenvoudigste waarin die lewe van een generasie van die bevolking een seisoen duur. ’n Goeie voorbeeld is ’n populasie insekte wat in een seisoen volledige metamorfose ondergaan, soos skoenlappers. Tyd word natuurlik verdeel in diskrete periodes2 wat ooreenstem met die lewensiklusse van die bevolking. Dus, die vergelykings wat so 'n ekosisteem beskryf het natuurlik die sg diskrete tyd, d.w.s. t = 1,2,3
. Robert May het onder meer sulke dinamika behandel. In sy redenasie het hy die ekosisteem vereenvoudig tot 'n enkele spesie wie se bevolking 'n kwadratiese funksie van die vorige jaar se bevolking was. Waar het hierdie model vandaan gekom?

Die eenvoudigste diskrete vergelyking wat die evolusie van 'n populasie beskryf, is 'n lineĂȘre model:

waar Ni die oorvloed in die i-de seisoen is, en Ni + 1 die bevolking in die volgende seisoen beskryf. Dit is maklik om te sien dat so 'n vergelyking tot drie scenario's kan lei. Wanneer a = 1, sal evolusie nie die grootte van die bevolking verander nie, en <1 lei tot uitwissing, en die geval a > 1 beteken onbeperkte bevolkingsgroei. Dit sal lei tot 'n wanbalans in die natuur. Aangesien alles in die natuur beperk is, maak dit sin om hierdie vergelyking aan te pas om die beperkte hoeveelheid hulpbronne in ag te neem. Stel jou voor dat plae graan eet, wat elke jaar presies dieselfde is. As insekte min is in vergelyking met die hoeveelheid voedsel wat hulle kan voortplant, kan hulle voortplant teen volle voortplantingskrag, wiskundig bepaal deur die konstante a > 1. Soos die aantal plae egter toeneem, sal voedsel skaars wees en voortplantingsvermoë verminder. In 'n kritieke geval kan 'n mens jou voorstel dat soveel insekte gebore word dat hulle al die graan eet voordat hulle tyd het om voort te plant, en die bevolking vrek. 'n Model wat hierdie effek van beperkte toegang tot voedsel in ag neem, is die eerste keer deur Verhulst in 1838 voorgestel. In hierdie model is die groeikoers nie konstant nie, maar hang af van die toestand van die bevolking:

Die verwantskap tussen die groeitempo a en Ni behoort die volgende eienskap te hĂȘ: as die bevolking toeneem, behoort die groeitempo af te neem omdat toegang tot voedsel moeilik is. Natuurlik is daar baie funksies met hierdie eiendom: dit is bo-na-onder funksies. Verhulst het die volgende verhouding voorgestel:

waar a>0 en konstante K>0 voedselhulpbronne kenmerk en die kapasiteit van die omgewing genoem word. Hoe beĂŻnvloed 'n verandering in K die tempo van bevolkingsgroei? As K toeneem, verminder Ni/K. Op sy beurt lei dit tot die feit dat 1-Ni/K groei, wat beteken dit groei. Dit beteken die groeikoers neem toe en die bevolking groei vinniger. Kom ons verander dus die vorige model (1) deur aan te neem dat die groeikoers verander soos in vergelyking (3). Dan kry ons die vergelyking

Hierdie vergelyking kan as 'n rekursiewe vergelyking geskryf word

waar xi = Ni / K en xi + 1 = Ni + 1 / K die herskaalde populasies in tyd i en tyd i + 1 aandui. Vergelyking (5) word die logistiese vergelyking genoem.

Dit mag lyk asof ons model met so 'n klein wysiging maklik is om te ontleed. Kom ons kyk daarna. Beskou vergelyking (5) vir die parameter a = 0.5 vanaf die aanvanklike populasie x0 = 0.45. Opeenvolgende populasiewaardes kan verkry word met behulp van rekursiewe vergelyking (5):

x1= byl0(1ste0)

x2= byl1(1ste1)

x3= byl2(1ste2)

Om berekeninge in (6) te vergemaklik, kan ons die volgende program gebruik (dit is in Python geskryf en kan onder andere op die Sage-platform uitgevoer word. Ons beveel aan dat jy die boek http://icse.us.edu lees .pl/e-book . ), wat ons model naboots:

a = 0.5 x = 0.45 vir i in omvang (10):      x \u1d a * x * (XNUMX-x)      druk x

Ons bereken opeenvolgende waardes van xi en let op dat hulle na nul neig. Deur met die bogenoemde kode te eksperimenteer, is dit ook maklik om te sien dat dit waar is, ongeag die aanvanklike waarde van x0. Dit beteken dat die bevolking voortdurend sterf.

In die tweede stadium van die analise verhoog ons die waarde van die parameter a tot enige waarde in die reeks ae (1,3). Dit blyk dat die ry xi dan na 'n sekere hoeveelheid x * > 0 gaan. As ons dit uit die oogpunt van ekologie interpreteer, kan ons sĂȘ dat die bevolkingsgrootte op 'n sekere vlak vasgestel is, wat nie van seisoen tot seisoen verander nie. . Dit is opmerklik dat die waarde van x * nie afhang van die aanvanklike toestand x0 nie. Dit is die effek van die ekosisteem se strewe na stabilisering – die bevolking pas sy grootte aan by die vermoĂ« om homself te voed. Wiskundig word gesĂȘ dat die sisteem na 'n stabiele vaste punt neig, m.a.w. wat die gelykheid bevredig x = f(x) (dit beteken dat die toestand op die volgende oomblik dieselfde is as op die vorige oomblik). Met Sage kan ons hierdie evolusie grafies visualiseer deur die bevolking oor tyd uit te stip.

So 'n stabiliseringseffek is deur die navorsers verwag, en die logistieke vergelyking (5) sou nie veel aandag getrek het as dit nie vir die verrassing was nie. Dit het geblyk dat model (5) vir sekere waardes van die parameter op 'n onvoorspelbare manier optree. Eerstens is daar periodieke en multiperiodieke toestande. Tweedens, met elke tydstap verander die bevolking oneweredig, soos 'n lukrake beweging. Derdens is daar groot sensitiwiteit vir aanvanklike toestande: twee byna ononderskeibare begintoestande lei tot heeltemal verskillende bevolkingsevolusie. Al hierdie kenmerke is kenmerkend van gedrag wat lyk soos 'n heeltemal willekeurige beweging en word deterministiese chaos genoem.

Kom ons verken hierdie eiendom!

Kom ons stel eers die waarde van die parameter a = 3.2 en kyk na die evolusie. Dit mag dalk verbasend voorkom dat die bevolking hierdie keer nie een waarde bereik nie, maar twee, wat elke tweede seisoen agtereenvolgens voorkom. Dit het egter geblyk dat die probleme nie daar geëindig het nie. Met a = 4 is die stelsel nie meer voorspelbaar nie. Kom ons kyk na figuur (2) of ons sal self 'n reeks getalle genereer deur 'n rekenaar te gebruik. Die resultate blyk suiwer lukraak en heel anders te wees vir effens verskillende beginpopulasies. Die aandagtige leser moet egter beswaar maak. Hoe kan 'n sisteem beskryf deur 'n deterministiese vergelyking1, selfs 'n baie eenvoudige een, onvoorspelbaar optree? Wel, miskien.

'n Kenmerk van hierdie stelsel is sy merkwaardige sensitiwiteit vir aanvanklike toestande. Dit is genoeg om te begin met twee aanvanklike toestande wat met een miljoenste verskil, en in net 'n paar stappe sal ons heeltemal verskillende bevolkingswaardes kry. Kom ons kyk op die rekenaar:

a = 4.0

x = 0.123 y = 0.123 + 0.000001 PCC = [] vir i in omvang (25): x = a*x*(1-x) u = a * u * (1-u) druk x, y

Hier is 'n eenvoudige model van deterministiese evolusie. Maar hierdie determinisme is bedrieglik, dit is net wiskundige determinisme. Uit 'n praktiese oogpunt tree die sisteem onvoorspelbaar op omdat ons nooit die aanvanklike voorwaardes wiskundig presies kan stel nie. Trouens, alles word met 'n sekere akkuraatheid bepaal: elke meetinstrument het 'n sekere akkuraatheid, en dit kan praktiese onvoorspelbaarheid veroorsaak in deterministiese stelsels wat die eienskap van chaos het. 'n Voorbeeld is weervoorspellingsmodelle, wat altyd 'n eienskap van chaos vertoon. Dit is hoekom langtermyn weervoorspellings so sleg is.

Die ontleding van chaotiese stelsels is uiters moeilik. Ons kan egter baie van die raaisels van chaos redelik maklik oplos met behulp van rekenaarsimulasies. Kom ons teken die sogenaamde bifurkasiediagram, waarop ons die waardes van die parameter a langs die abscis-as plaas, en die stabiele vaste punte van die logistieke kartering langs die ordinaat-as. Ons kry stabiele punte deur 'n groot aantal stelsels gelyktydig te simuleer en waardes na baie monstertye te teken. Soos jy dalk raai, verg dit baie berekeninge. Kom ons probeer om die volgende waardes "versigtig" te verwerk:

invoer numpy as np Nx = 300 Dit = 500 х = np.lynspasie (0,1, Nx) х = х + np.nulle ((Na, Nx)) х = np.transponeer (х) a = np.linspace (1,4, Na) a=a+np.zeros((Nx,Na)) vir i in omvang (100): x=a*x*(1-x) pt = [a_, x_] vir a_, x_ c zip(a.flatten(),x.flatten())] punt (pt, grootte = 1, vyegrootte = (7,5))

Ons behoort iets soortgelyk aan die figuur (3) te kry. Hoe om hierdie tekening te interpreteer? Byvoorbeeld, met die waarde van die parameter a = 3.3, het ons 2 stabiele vaste punte (die bevolkingsgrootte is elke tweede seisoen dieselfde). Vir die parameter a = 3.5 het ons egter 4 konstante punte (elke vierde seisoen het die populasie dieselfde getal), en vir die parameter a = 3.56 het ons 8 konstante punte (elke agtste seisoen het die populasie dieselfde getal). Maar vir die parameter a≈3.57 het ons oneindig baie vaste punte (bevolkingsgrootte word nooit herhaal en verander op onvoorspelbare maniere nie). Met 'n rekenaarprogram kan ons egter die omvang van die parameter a verander en die oneindige geometriese struktuur van hierdie diagram met ons eie hande verken.

Dit is net die punt van die ysberg. Duisende wetenskaplike referate is oor hierdie vergelyking geskryf, maar dit verberg steeds sy geheime. Met behulp van rekenaarsimulasie kan jy, sonder om eers na hoĂ«r wiskunde toe te vlug, die baanbreker van die wĂȘreld van nie-lineĂȘre dinamika speel. Ons nooi jou uit om die aanlyn weergawe te lees wat besonderhede bevat oor baie van die interessante eienskappe van die logistieke vergelyking en interessante maniere om dit te visualiseer.

1 'n Deterministiese wet is 'n wet waarin die toekoms uniek bepaal word deur die aanvanklike toestand. Die antoniem is die probabilistiese wet. 2 In wiskunde beteken "diskreet" om waardes uit 'n sekere telbare stel te kry. Die teenoorgestelde is "deurlopend".

Voeg 'n opmerking