torstai 18. tammikuuta 2024

Vaihtoehtoja Lotka-Volterralle

Diclaimer: Bloggerin matematiikkatyökalu on järjettömän buginen ja epäluotettava. Siksi olenkin tekstissäni pyrkinyt mahdollisuuksien mukaan välttämään ylimääräisten symbolien käyttöä.

Edellisessä, Lotka-Volterran peto-saalis -mallia käsittelevässä postauksessa käytiin läpi mallin historiaa sekä yleisiä ominaispiirteitä ja rajoituksia. Huomattiin, että kyseinen malli perustuu hyvin epärealistisille oletuksille peto- ja saaliseläinten kantojen ominaisuuksista. Käytännössä onkin huomattu, ettei Lotka-Volterra aina pädekään erityisen tarkasti kaikissa tilanteissa, minä vuoksi mallille onkin vuosien varrella kehitetty vaihtoehtoisia, oletuksiltaan joustavampia peto-saalis -malleja. Tässä postauksessa käydään läpi kaksi keskeisintä ja ehkäpä yleisimmin käytettyä: Arditi Ginzburg sekä Rosenzweig-MacArthur.

Mistä Lotka-Volterraa siis tarkalleen ottaen kritisoitiin? Ensinnäkin: Lotka-Volterra lähti oletuksesta, että petoeläimillä on rajaton ruokahalu, mikä ei reaalimaailmassa voi pitää eikä pidäkään paikkanasa. Samoin Lotka-Volterrassa petoeläinten puuttumisen seurauksena saaliseläimen kanta kasvaa Malthusin lain mukaisesti rajattomasti - tämäkään oletus ei välttämättä kestä päivänvaloa. Tässä  erinomaisesa luennossa on käsitelty ekologisten mallien ominaisuuksia syvällisemmin ja kattavammin kuin tässä blogipostauksessa.

Arditi-Ginzburg

Arditi-Ginzburgin peto-saalis -malliksi kutsutaan yhtälöparia

\begin{equation} \frac{dx}{dt}=f(x)x-g(\frac{x}{y})y \end{equation}

\begin{equation} \frac{dy}{dt}=\alpha g(\frac{x}{y})y -\beta y \end{equation}
jossa funktio f() kuvaa saaliseläimen kannan luonnollisia muutoksia, funktio g() liittyy saaliseläinten sekä petojen kantojen suhteeseen, alfa on vakio petojen saaliiksi saamasta lisääntymisedusta sekä beta petojen kuolemaa kuvaava suhdeluku. Arditi-Ginzburg ottaa siis huomioon monipuolisemmin populaatioiden muutoksen muutenkin kuin näiden keskinäisen riippuvuuden kautta. Malli onkin vahvasti suhdelukupainotteinen. Arditin ja Ginzburgin päätyminen mainittuihin suhdelukuihin on pitkä tarina, josta voi lukea tarkemmin täällä, referoin keskeisiä kohtia tänne muutamin täydennyksin ja huomioin. 

Tässä kohtaa on syytä huomata, ettei funktioita f() ja g() oleteta yleisesti annetuiksi, vaan niiden paikalle voidaan sovittaa tarpeen mukaan erilaisia suhdeluvuilla toimivia troofisia funktioita eriävine ominaisuuksineen. Tässä blogipostauksessa on tarkoituksella käytetty mahdollisimman yksinkertaisia troofisia funktioita

\begin{equation}f(x)=\gamma x \end{equation}

sekä

\begin{equation}g(\frac{x}{y})= \frac {\gamma x}{y} \end{equation}

jolloin yhtälöpari voidaan kirjoittaa muotoon

\begin{equation} \frac{dx}{dt}=\gamma x² - \gamma x \end{equation} 

\begin{equation} \frac{dy}{dt}=\alpha \gamma x -\beta y \end{equation}

ja asettamalla derivaatat nolliksi, saadaan tasapainopisteiksi (0,0) , (1,gamma*alfa/beta), joiden muodostama Jacobin matriisi on muotoa

\begin{bmatrix} 2 \gamma x - \gamma & 0 \\ \alpha \gamma & -\beta \end{bmatrix}

mistä huomataan, että mikäli beta ja gamma oletetaan aina nollaa suuremmaksi, ovat matriisin ominaisarvot origossa aina samanmerkkiset, eli järjestelmä on annetuilla arvoilla ja oletuksilla lähtökohtaisesti epävakaa. Toisen tasapainopisteen kohdalla itseisarvoista on toinen positiivinen ja toinen negatiivinen, jolloin kyseessä on epävakaa satulapiste. Ominaisarvoista ja stabiiliudesta lisää tämän linkin takaa.

Demonstroisin mieluusti mallia soveltuvalla kuvaajalla, mutta annetuilla oletuksilla ja valinnoilla kannat nousevat aluksi vain pudotakseen nopeasti nollaan, joten vaikka esimerkkinä käytetyt funktiot malliin sopivatkin, eivät ne yhdessä näytä tuottavan juurikaan kelvollista jälkeä. Tässä yksi pätevä opetus siitä, miksi lähtöoletusten kanssa on oltava tarkkana!

Rosenzweig-MacArthur

Rosenzweig-MacArthur -malliksi kutsutaan yhtälöparia

\begin{equation} \frac{dx}{dt}=rx(1-\frac{x}{K})-yh(x) \end{equation}

\begin{equation} \frac{dy}{dt}=y(-\delta+\gamma h(x)) \end{equation}

 Rosenzweig-MacArthur -mallista voi lukea lisää täällä. Yhtenä keskeisenä tavoitteena Rosenzweigilla ja MacArthurilla oli saaliseläimen populaation malthuslaisen kasvun rajoittaminen logistisella kasvufunktiolla. Yksinkertaisuudessaan ylempi differentiaaliyhtälö kuvaa saaliseläimen lisääntymistä ja kuolemaa muista kuin petoeläimestä johtuvista syistä vähennettynä petoeläimen saalistamisesta johtuva väheneminen. Alempi differentiaaliyhtälö kuvaa petoeläinkannan kasvua ja vähenemistä. Tässä mallissa funktio h(x) kuvaa petoeläimen saalistamien saaliseläinten lukumäärää, K populaatioiden koko yhteensä, delta petoläinten poistumaa ja gamma lisääntymistä.

Yllä annetussa artikkelissa on erinomaisen syvällistä analyysia aiheesta, ja tässäkin blogissa tullaan ehdottomasti myöhemmin käsittelemään mainittua teoriaa, mutta tässä vaiheessa tyydymme käymään lyhyesti mallin pääkohdat läpi. Smith yksinkertaistaa yllä annetun kaavan Holling II -tyyppiseksi peto-saalis -malliksi, jolloin sen muodoksi saadaan
\begin{equation} \frac{dx}{dt} = x(1-\frac{x}{K})-\frac{mxy}{1+x} \end{equation}
\begin{equation} \frac{dy}{dt} = y(-c + \frac{mx}{1+x})\end{equation}


Tutkitaan seuraavaksi lyhyesti mallin stabiilisuusominaisuuksia. Tasapainopisteet saadaan yhtälöparista
\begin{equation} 0 = x(1-\frac{x}{K}-\frac{my}{1+x})\end{equation}
\begin{equation} 0 = y(-c + \frac{mx}{1+x})\end{equation}

Tässä tapauksessa tasapainopisteet ovat (0,0), (k,0). Smithin \ määritellään myös eläinten välisen yhteiselon tasapainopiste, mutta emme ota sitä tällä kertaa huomioon. Jacobin matriisiksi saamme tasapainopisteellä (k,0)
\begin{equation}J=\begin{bmatrix} -1 & -\frac{mk}{1+k} \\ 0 & \frac{mk}{1+k}-c \end{bmatrix}\end{equation}
mistä huomataan, että piste on epästabiili, sillä toinen ominaisarvoista on aina positiivinen, ja alempikin on negatiivinen vain jos pätee
\begin{equation}\frac{mk}{1+k}<c.\end{equation}
Tasapainopisteen (0,0) Jacobin matriisi on
\begin{equation}J=\begin{bmatrix} 1 & -m \\ 0 & -c \end{bmatrix},\end{equation}
mistä taas huomataan, että pisteet ovat epästabiileja, sillä toinen ominaisarvo on välttämättä positiivinen, sillä oletuksena c > 0.

Ensimmäisessä kuvaajassa on voimassa
\begin{equation}\frac{mk}{1+k}<c,\end{equation} jolloin piste (k,0) ja (0,0) ovat epästabiileja

Alemmassa epäyhtälö on käännetty, jolloin pisteet (k,0) ja (0,0) edelleen epästabiileja, mutta käyrien muoto on täysin erilainen.

Käytetyt koodit, muokattu Lotka-Volterran mallista:

import numpy as np
import matplotlib
matplotlib.use('tkagg')
import matplotlib.pyplot as plt
from scipy.integrate import odeint

y0 = [10,1] # fish, bears, units in hundreds

t = np.linspace(0,50,num=1000)

m = 1.1
c = 2
k = 100

params = [m,c,k]

def sim(variables, t, params):
    # fish population
    x = variables[0]
    # bear population
    y = variables[1]
    
    m = params[0]
    c = params[1]
    k = params[2]
    
    dxdt = x*(1-x/k) - m*x*y/(1+x)
    dydt = -c*y + m*x*y/(1+x)
    
    return([dxdt,dydt])

y = odeint(sim, y0, t, args=(params,))

f,(ax1,ax2) = plt.subplots(2)

line1, = ax1.plot(t,y[:,0], color="b")

line2, = ax2.plot(t,y[:,1], color="r")

ax1.set_ylabel("Fish (hundreds)")
ax2.set_ylabel("Bears (hundreds)")
ax2.set_xlabel("Time")

plt.show()

Ei kommentteja:

Lähetä kommentti