Enkla modeller med komplext beteende dvs kaos
Teknik

Enkla modeller med komplext beteende dvs kaos

Datorn är ett verktyg som alltmer används av forskare för att avslöja hemligheter som noggrant är gömda av naturen. Modellering, tillsammans med experiment och teori, håller på att bli det tredje sättet att studera världen.

För tre år sedan vid universitetet i Schlesien startade vi ett program för att integrera datormetoder i utbildning. Som ett resultat har en mängd extremt engagerande läromedel skapats som gör det lättare och mer djupgående att utforska många ämnen. Huvudverktyget som valdes var Python, som tillsammans med kraften i tillgängliga vetenskapliga bibliotek förmodligen är den bästa lösningen för "datorexperiment" med ekvationer, bilder eller data. En av de mest intressanta implementeringarna av en fullfjädrad skrivbordsmiljö är Sage [2]. Det är en öppen integration av ett datoralgebrasystem med Python-språket, och låter dig också omedelbart börja spela med en webbläsare och ett av de möjliga åtkomstalternativen genom en molntjänst [3] eller en enda datorserver där den interaktiva versionen av denna artikel är baserad på [4] .

Kaos i ekologin

Under sina tidiga år vid Oxford University studerade den australiensiske vetenskapsmannen Robert May de teoretiska aspekterna av demografisk dynamik. Han sammanfattade sitt arbete i en artikel som publicerades i tidskriften Nature med den provocerande titeln "Enkla matematiska modeller med mycket komplex dynamik." Under årens lopp har denna artikel blivit ett av de mest citerade verken inom teoretisk ekologi. Vad väckte ett sådant intresse för detta arbete?

Det klassiska problemet med populationsdynamik är att beräkna den framtida populationen av en given art, givet dess nuvarande tillstånd. Matematiskt var de enklaste ekosystemen de där livet för en generation av en befolkning varar en säsong. Ett bra exempel är en population av insekter som genomgår fullständig metamorfos på en säsong, till exempel fjärilar. Tiden delas naturligtvis in i diskreta perioder2 som motsvarar befolkningens livscykler. Således har de ekvationer som beskriver ett sådant ekosystem naturligtvis den sk diskret tid, dvs. t = 1,2,3…. Robert May var bland annat inblandad i sådan dynamik. I sitt resonemang förenklade han ekosystemet till en enda art, vars population var en kvadratisk funktion av föregående års population. Var kom denna modell ifrån?

Den enklaste diskreta ekvationen som beskriver utvecklingen av en population är en linjär modell:

där Ni är populationen i:e säsongen och Ni + 1 beskriver populationen under nästa säsong. Det är lätt att se att en sådan ekvation kan leda till tre scenarier. När a = 1 kommer evolutionen inte att ändra populationens storlek, och <1 leder till utrotning, och fallet a > 1 betyder obegränsad befolkningstillväxt. Detta kommer att leda till en obalans i naturen. Eftersom allt i naturen är begränsat, är det vettigt att justera denna ekvation för att ta hänsyn till den begränsade mängden resurser. Föreställ dig att skadedjur äter lika mycket spannmål varje år. Om insekterna är få till antalet jämfört med mängden föda de kan föröka sig, kan de fortplanta sig med full reproduktionsförmåga, matematiskt bestämt av konstanten a > 1. Men när antalet skadegörare ökar kommer maten att bli knapp och reproduktionsförmågan minskar. I ett kritiskt fall kan man tänka sig att det föds så många insekter att de äter upp all spannmål innan de kan fortplanta sig, och befolkningen dör. En modell som tar hänsyn till denna effekt av begränsad tillgång till mat föreslogs först av Verhulst 1838. I denna modell är tillväxttakten inte konstant, utan beror på befolkningens tillstånd:

Sambandet mellan tillväxthastighet a och Ni bör ha följande egenskap: om befolkningen ökar bör tillväxttakten minska eftersom tillgången till mat är svår. Naturligtvis finns det många funktioner med den här egenskapen: dessa är top-down-funktioner. Verhulst föreslog följande förhållande:

där a>0 och konstant K>0 kännetecknar livsmedelsresurser och kallas miljöns kapacitet. Hur påverkar en förändring i K befolkningstillväxten? Om K ökar, minskar Ni/K. Detta leder i sin tur till att 1-Ni/K ökar, vilket betyder att den ökar. Det gör att tillväxttakten ökar och befolkningen växer snabbare. Så låt oss modifiera den tidigare modellen (1) genom att anta att tillväxthastigheten varierar som i ekvation (3). Då får vi ekvationen

Denna ekvation kan skrivas som en rekursiv ekvation

där xi = Ni / K och xi + 1 = Ni + 1 / K anger de omskalade populationskvantiteterna vid tidpunkten i och vid tidpunkten i + 1. Ekvation (5) kallas den logistiska ekvationen.

Det kan tyckas att med en så liten modifiering är vår modell lätt att analysera. Låt oss kolla upp det. Låt oss betrakta ekvation (5) för parametern a = 0.5, med början från den initiala populationen x0 = 0.45. Konsekutiva populationsvärden kan erhållas med hjälp av rekursiv ekvation (5):

x1= yxa0(1 sid0)

x2= yxa1(1 sid1)

x3= yxa2(1 sid2)

För att underlätta beräkningarna i (6) kan vi använda följande program (det är skrivet i Python och kan köras bland annat på Sage-plattformen. Vi rekommenderar att du läser boken http://icse.us. edu .pl/e-book .), simulerar vår modell:

a = 0.5 x = 0.45 för i inom intervallet (10):      x = a*x*(1–x)      tryck x

Vi beräknar successiva värden av xi och märker att de tenderar till noll. Genom att experimentera med ovanstående kod är det också lätt att se att detta är sant oavsett startvärdet på x0. Det gör att befolkningen ständigt dör.

I det andra steget av analysen ökar vi värdet på parametern a till vilket värde som helst i intervallet ae (1,3). Det visar sig att då sekvensen xi går till ett visst antal x * > 0. Om man tolkar detta ur en ekologisk synvinkel kan vi säga att populationsstorleken är fixerad på en viss nivå, som inte ändras från säsong till säsong. Det är värt att notera att värdet av x * inte beror på initialtillståndet x0. Detta är effekten av att ekosystemet strävar efter stabilisering - befolkningen anpassar sin storlek efter förmågan att föda sig själv. Matematiskt säger de att systemet tenderar till en stabil fixpunkt, d.v.s. uppfylla likheten x = f(x) (detta betyder att i nästa ögonblick är tillståndet detsamma som i föregående ögonblick). Med Sage kan vi visualisera denna utveckling grafiskt genom att plotta befolkning mot tid.

Denna stabiliserande effekt förväntades av forskarna, och den logistiska ekvationen (5) skulle inte ha väckt stor uppmärksamhet om det inte vore för överraskningen. Det visade sig att för vissa värden av parametern beter sig modell (5) på ett oförutsägbart sätt. För det första finns det periodiska och multiperiodiska tillstånd. För det andra, med varje tidssteg förändras befolkningen ojämnt, som slumpmässiga rörelser. För det tredje finns det stor känslighet för initiala förhållanden: två nästan oskiljbara initiala förhållanden leder till helt olika populationsutveckling. Alla dessa egenskaper är karakteristiska för beteende som liknar helt slumpmässiga rörelser och kallas deterministiskt kaos.

Låt oss utforska denna fastighet!

Låt oss först ställa in parametervärdet a = 3.2 och titta på utvecklingen. Det kan tyckas förvånande att populationen denna gång inte når ett värde, utan två, som inträffar i följd varannan säsong. Det visade sig dock att problemen inte slutade där. Vid a = 4 är systemet inte längre förutsägbart. Låt oss titta på figur (2) eller skapa en sekvens av tal själva med hjälp av en dator. Resultaten verkar vara rent slumpmässiga och helt olika för lite olika startpopulationer. Den uppmärksamma läsaren bör dock invända. Hur kan ett system som beskrivs av en deterministisk ekvation1, även en mycket enkel sådan, bete sig oförutsägbart? Kanske.

En speciell egenskap hos detta system är dess anmärkningsvärda känslighet för initiala förhållanden. Det räcker med att börja med två initiala förutsättningar som skiljer sig med en del på en miljon, och på bara några få steg får vi helt olika befolkningsvärden. Låt oss kolla på datorn:

a = 4.0

x = 0.123 u=0.123+0.000001 PKC = [] för i inom intervallet (25): x = a*x*(1-x) u = a*u*(1-u) tryck x, y

Här är en enkel modell av deterministisk evolution. Men denna determinism är vilseledande, den är bara matematisk determinism. Ur en praktisk synvinkel beter sig systemet oförutsägbart eftersom vi aldrig matematiskt kan specificera de initiala förutsättningarna. Faktum är att allt bestäms med en viss noggrannhet: varje mätanordning har en viss noggrannhet och detta kan orsaka praktisk oförutsägbarhet i deterministiska system som har egenskapen kaos. Ett exempel är väderprognosmodeller, som alltid uppvisar egenskapen kaos. Det är därför de långsiktiga väderprognoserna är så dåliga.

Analysen av kaotiska system är extremt svår. Däremot kan vi lösa många av kaosets mysterier ganska enkelt med hjälp av datorsimuleringar. Låt oss rita det så kallade bifurkationsdiagrammet, på vilket vi placerar värdena för parametern a längs abskissaxeln och de stabila fasta punkterna för den logistiska kartläggningen längs ordinataaxeln. Vi får stabila poäng genom att simulera ett stort antal system samtidigt och plotta värden efter många samplingstider. Som du kanske gissar kräver detta en hel del beräkningar. Låt oss försöka "försiktigt" bearbeta följande värden:

importera numpy som np Nx = 300 Det = 500 x = np.linspace (0,1, Nx) х = х + np.nollor((Na,Nx)) h = np.transponera (h) a=np.linspace(1,4,Na) a=a+np.nollor((Nx,Na)) för i inom intervallet (100): x=a*x*(1-x) pt = [[a_,x_] för a_,x_ in zip(a.flatten(),x.flatten())] punkt (pt, storlek = 1, fikonstorlek = (7,5))

Vi borde sluta med något som liknar figur (3). Hur ska man tolka denna ritning? Till exempel, med parametern a = 3.3, har vi 2 stabila fixpunkter (populationsstorleken är densamma varannan säsong). Men för parametern a = 3.5 har vi 4 konstanta punkter (var fjärde säsong har populationen samma storlek), och för parametern a = 3.56 har vi 8 konstanta punkter (var åttonde säsong har populationen samma storlek). Men för parameter a≈3.57 har vi oändligt många fixpunkter (populationsstorleken upprepas aldrig och förändras på ett oförutsägbart sätt). Men med ett datorprogram kan vi ändra omfattningen av parametern a och utforska den oändliga geometriska strukturen för detta diagram med våra egna händer.

Det här är bara toppen av isberget. Tusentals vetenskapliga artiklar har skrivits om denna ekvation, men den döljer fortfarande sina hemligheter. Med hjälp av datormodellering kan du, även utan att ta till högre matematik, spela som en pionjär i en värld av olinjär dynamik. Vi inbjuder dig att läsa onlineversionen, som innehåller detaljer om många intressanta egenskaper hos den logistiska ekvationen och intressanta sätt att visualisera dem.

1 En deterministisk lag är en lag där framtiden unikt bestäms av initialtillståndet. Antonymen är sannolikhetslagen. 2 I matematik betyder "diskret" att erhålla värden från en specifik uppräkningsbar mängd. Motsatsen till "kontinuerlig".

Lägg en kommentar