Először elemi populációnövekedéssel foglalkozunk. Ezt tulajdonképpen már vizsgáltuk a szimuláció alapjairól szóló leckében (Modellezés és szimuláció) elemi növekedési modellek címen. Most ugyanezt nézzük meg más szempontból, s kicsit részletesebben.
A legegyszerűbb esetben az egyedenkénti szaporodási, illetve halálozási ráták semmitől sem függnek, a vizsgált időszakban állandóak, a létszám az újszülöttekkel nő, a meghaltakkal pedig csökken. A létszámváltozást leíró egyenlet:
ahol b az egy egyedre egy időegység alatt eső utódok átlagos száma, d pedig a halálozásuk valószínűsége.
A modellhez tároljuk az aktuálisan létező egyedek számát az N változóban (az egyedek egyenkénti megadására egyelőre nincs szükség)! Minden egyed d valószínűséggel hal meg, és b paraméterű, Poisson eloszlású véletlenszám adja meg utódai számát. Alkalmazzuk a generációs keretmodellt!
A szimuláció alapjairól szóló füzetben foglalkozunk azzal, hogy egy véletlen jelenség mikor közelíthető Poisson eloszlással.
Szimulációs lépés:
M:=N [a populáció pillanatnyi mérete]
Ciklus i=1-től N-ig
M:=M+Poisson(B) [születőkkel bővül]
Ha véletlenszám<D akkor M:=M-1 [a szülő meghal]
Ciklus vége
N:=M
Eljárás vége.
A Poisson(B) egy B paraméterű, Poisson eloszlású véletlenszámot jelöl.
Akár a fenti differenciálegyenletet oldjuk meg, akár a szimulációs programot használjuk, eredményként azt kapjuk, hogy a populáció mérete exponenciálisan nő vagy csökken. (A szimulációs programnál természetesen vannak véletlen ingadozások, ezért rá ez az állítás csak statisztikus értelemben lesz igaz.)
Ez a növekedés azonban a természetben csak nagyon szűk körülmények között tartható fenn, amikor a populáció még messze van az élettere teljes kitöltésétől. Ez azonban valós körülmények között legtöbbször nem igaz, a születési és a halálozási ráták függnek az egyedszámtól.
Módosítsuk az előző modell paramétereit, tegyük létszámfüggővé őket:
A születési és a halálozási ráta is tartalmaz egy a létszámtól függő lineáris tényezőt. (A gyakorlatban legtöbbször a Kb >0 és a Kd >0.) Ekkor a szimulációs lépés így néz ki:
Szimulációs lépés:
B:=B0-KB*N; D:=D0+KD*N
M:=N
Ciklus i=1-től N-ig
M:=M+Poisson(B)
Ha véletlenszám<D akkor M:=M-1
Ciklus vége
N:=M
Eljárás vége.
Ebben az esetben a populáció nem növekszik tovább, ha a létszám elér egy határértéket. A növekedés módosított egyenletéből ez a határ kiszámítható:
Az r = b0 – d0 jelölést bevezetve a logisztikus növekedés egyenlete átírható a tankönyvek által általában közölt formába:
A modell kétféle eredményt adhat: a populáció létszáma az egyensúlyi állapot felé haladva növekszik vagy csökken.
A matematikai modellel ellentétben, a szimulációs modellben könnyű megvalósítani a létszámtól való másféle függést is, csupán a szimulációs lépés elején szereplő két képletet kell átírni.
Ebben a modellben az egyensúlyi állapotot – statisztikusan – monoton függvénnyel érjük el, a létszámgörbe egyik irányból sem lépi túl az egyensúlyi állapotot. Ha azonban a létszámváltozást nem az aktuális időpillanatbeli létszámtól, hanem egy múltbeli ( Δt -vel korábbi) állapottól tesszük függővé, akkor túllengés is bekövetkezhet.
Ekkor háromféle eredmény fordulhat elő:
1. az ingadozás csillapodik,
2. az ingadozás növekszik, s így a populáció előbb-utóbb kihal,
3. illetve a létszám periodikusan változik.
Egy populációra persze általában nem egyetlen létszámfüggő erő hat, hanem több, ezért Kb és Kd is több tényezőből számítandó, például ezek összegeként, vagy esetleg súlyozott összegeként; az alábbi formula a legegyszerűbb esetet írja le:
Ez a szimulációs modellen lényegében nem változtat, csupán a modell paraméterei számát növeli meg. A módosított algoritmusban B(NB) , illetve D(ND) jelöli a létszámfüggő hatóerők nagyságát. A szimulációs lépés előtt kiszámítandó KB , illetve KD értéke:
Paraméterszámítás:
KB:=0
Ciklus i=1-től NB-ig
KB:=KB+B(i)
Ciklus vége
KD:=0
Ciklus j=1-től ND-ig
KD:=KD+D(j)
Ciklus vége
Eljárás vége.
Próbáljunk egy másfajta módosítást, különböztessük meg egymástól a két nemet!
Ekkor természetesen kétféle halálozási rátára van szükség (D1, D2) , születési ráta viszont csak az egyik nemhez tartozik. Itt viszont meg kell adni, hogy az utódok hányadrésze tartozik az egyik, illetve a másik nemhez – ezzel egyenértékű, ha a kétféle nemű utódokhoz két születési rátát adunk meg (B1,B2) . Legyen N1 és N2 a két nem létszáma!
Szimulációs lépés:
M1:=N1; M2:=N2
Ciklus i=1-től N1-ig
M1:=M1+Poisson(B1)
M2:=M2+Poisson(B2)
Ha véletlenszám<D1 akkor M1:=M1-1
Ciklus vége
Ciklus i=1-től N2-ig
Ha véletlenszám<D2 akkor M2:=M2-1
Ciklus vége
N1:=M1; N2:=M2
Eljárás vége.
Könnyű észrevenni, hogy N2=0 , B2=0 esetén a modell ugyanazt az eredményt adja, mintha e fejezet legelső modelljében N=N1 , B=B1 , D=D1 paramétereket választottuk volna, azaz ahhoz képest nem kapunk lényegében különböző eredményeket.
Az már más kérdés, hogy a két nem különböző egyedszáma milyen társas kapcsolatok beli különbözőségeket okozhat a populációban.
Készült az "Országos koordinációval a pedagógusképzés megújításáért” című TÁMOP-4.1.2.B.2-13/1-2013-0007 pályázat keretében. (ISBN 978-963-284-631-6) |
A tananyag az ELTESCORM keretrendszerrel készült