Vissza az előzőleg látogatott oldalra (nem elérhető funkció)Vissza a tananyag kezdőlapjára (P)Ugrás a tananyag előző oldalára (E)Ugrás a tananyag következő oldalára (V)Fogalom megjelenítés (nem elérhető funkció)Fogalmak listája (nem elérhető funkció)Oldal nyomtatása (nem elérhető funkció)Oldaltérkép megtekintése (D)Keresés az oldalon (nem elérhető funkció)Súgó megtekintése (S)

Modellezés és szimuláció / A szimuláció módszertana /6. Elemi növekedési modellek

Modellezés és szimuláció

6. Elemi növekedési modellek

Az előző fejezetben látott szabályok közül a leggyakoribb az, amikor az objektumok változásának valószínűsége arányos az objektumok gyakoriságával. Amíg ott csupán a változás tendenciái érdekeltek, addig ebben a fejezetben az arányosság mértékének pontosabb, számszerű vizsgálatával foglalkozunk.

A következő elemi modellekkel a növekedés (létszámnövekedés) különböző típusait vizsgáljuk. Két esetet különböztetünk meg:

Mindkét növekedésfajta esetén újabb három lehetőséget nézünk meg:

Jelölje X az egyedszámot, ΔX az egyedszám időegység alatti változását! Ekkor az egyes növekedéseket a következő függvények írják le az egyes növekedések esetén, ahol P a növekedés ütemét jellemző állandó:

Delta(X)=P lineáris, P*X exponenciális, P*X négyzet hiperbolikus növekedés esetén

Mindegyik modellünk úgy fog felépülni, hogy táblázatunkban nem foglalunk el kezdetben minden mezőt a betűkkel, hanem csak a táblázat bizonyos százalékát töltjük ki, majd meghatározott szabályok szerint helyezünk el további betűket a táblázat üres helyeire, amíg el nem érjük a táblázat teljes betöltöttségét (csak egy fajta betűt használunk). A három modell között a különbség ismét a szabályokban lesz.

Egy időegység a táblázat méretének (N*M) megfelelő számú elemi lépésnek felel meg. Egy lépésben átlagosan adott darabszámú egyedet kell a táblázatban elhelyezni. Különösebb matematikai megfontolások nélkül most fogadjuk el, hogy ha L paraméterű Poisson eloszlású véletlenszámokat használunk minden lépésben a konkrétan elhelyezendő egyedek számának meghatározására, akkor lépésenként átlagosan valóban L darab egyedet helyezünk el, és ez a módszer felel meg legjobban céljainknak. (Azt, hogy miért éppen a Poisson eloszlás a legalkalmasabb erre, a tananyagban a Poisson folyamatokról mondottak körvonalazzák.)

6.1. Korlátlan növekedés

Ezt a növekedést csupán a növekedéstípusok megismerése és megvalósítási lehetőségei céljából vizsgáljuk.

Indulásként helyezzünk el „átlagosan K darab” X betűt táblázatunkban (azaz minden egyes helyre K/(N*M) valószínűséggel tegyünk)! Helyezzünk el további betűket az alábbi 3 stratégia szerint addig, amíg nem telik be a táblázatunk! A „betelés” üteme szempontjából lesz lényegi eltérés a modellek között.

1/A: Lineáris növekedés

Helyezzünk el elemi lépésenként P/(N*M) paraméterű Poisson-eloszlással X betűket tetszőleges üres helyen! Ekkor, ha az egy időegység N*M elemi lépésből áll, akkor egy időegység alatti növekedés várható értéke P lesz. A megoldás algoritmusa:

Szimulációs lépés:
Ciklus K=1-től N*M-ig
DB:=Poisson(P/(N*M))
Ciklus L=1-től DB-ig
Üres_hely_keresés(x,y)
Tábla(x,y):="X"
Ciklus vége
Ciklus vége
Eljárás vége.

Modellünk használatakor azt tapasztalhatjuk, hogy a X betűk számának növekedése független a B-k számától (a növekedést konstans-, a létszámot lineáris függvény írja le). A növekedés jellege:

Lineáris növekedés diagramjaLineáris növekedés.

1/B: Exponenciális növekedés

Válasszunk ki véletlenszerűen egy helyet táblázatunkban; ha az már foglalt, akkor helyezzünk el „átlagosan P db X betűt” üres helyekre, ugyanis annak a valószínűsége, hogy egy tetszőleges helyen X betűt találunk, pontosan a X betűk száma osztva N*M-mel, így N*M lépés alatt a X betűk találásának várható értéke a X betűk aktuális száma lesz! A megoldás algoritmusa:

Szimulációs lépés:

Ciklus K=1-től N*M-ig

(i,j):=véletlen hely

Ha Tábla(i,j)="X" akkor DB:=Poisson(P)

Ciklus L=1-től DB-ig

Üres_hely_keresés(x,y)

Tábla(x,y):="X"

Ciklus vége

Elágazás vége

Ciklus vége

Eljárás vége.

A növekedést ebben az esetben az X betűk számának lineáris függvénye fogja leírni (minél több X betű van, annál nagyobb valószínűséggel fogunk X-et találni), amelyből azt kapjuk, hogy a létszámot exponenciális függvény írja le:

Exponenciális növekedés diagramjaExponenciális növekedés.

ugyanis az X’(t) = P * X(t) differenciálegyenlet megoldása X(t) = C * exp(P*t).

1/C: Hiperbolikus növekedés

Válasszunk ki véletlenszerűen 2 helyet a táblázatunkban, s ha mindkettőben X betű van, akkor helyezzünk el üres helyekre átlagosan P*N*M darab X betűt! Annak a valószínűsége, hogy két véletlenszerűen választott helyen X betűt találunk (mivel ezek független események) az X betűk sűrűségének (Xszám/ (N*M)) négyzete, így N*M lépés alatt az X betűk találásának várható értéke (Xszám*Xszám)/(N*M), tehát egy ilyen konkrét esetben P*N*M darab X betűt kell elhelyeznünk.

Szimulációs lépés:
Ciklus K=1-től N*M-ig
(i,j):=véletlen hely
(a,b):=véletlen hely
Ha Tábla(i,j)="X" és Tábla(a,b)="X"
akkor DB:=Poisson(P*N*M)
Ciklus L=1-től DB-ig
Üres_hely_keresés(x,y)
Tábla(x,y):="X"
Ciklus vége
Elágazás vége
Ciklus vége
Eljárás vége.

Ebben az esetben a növekedés üteme a létszám négyzetétől függ, amelyből az következik, hogy a létszámot egy hiperbolikus függvény írja le:

Hiperbolikus növekedés diagramjaHiperbolikus növekedés.

ugyanis az X’(t) = P * X(t)*X(t) differenciálegyenlet megoldása X(t) = 1 / (C - P * t).

Ez egy igen gyorsan növekedő függvény (az exponenciálisnál lényegesen gyorsabban), hiszen véges időn belül végtelenné tenné a létszámot, ha a betöltöttségi határ nem állítaná le a szimulációt. Ebben a modellben lehetséges, hogy a növekedés egyáltalán nem indul meg (ha kezdetben csak egy X betű van a táblázatban).

Az egyes modellek megvalósításában az okozott nehézséget, hogy a növekedés általában nem a létszámmal, hanem a sűrűséggel volt arányos, így esetleg célszerű az alapfeladatot is ilyenre átfogalmazni.

A modellek megvalósításában – az egyszerűség érdekében – csaltunk, ugyanis a B vagy a C esetben egy időegység alatt nem biztos, hogy azonos az X betűk találásának valószínűsége, hiszen ha egy elemi lépésben (diszkrét időegységekre bontás) helyezünk el X betűket, akkor a következő választás esetén már több helyen lesz X betű. Ez a probléma felveti az események egyidejűségének kérdését. Modellünkben az időegység felosztása elemi lépések egymásutánjának meghatározását is jelenti. (A probléma valós rendszerekben is fellép, de ott legtöbbször az időegység rendkívül kicsi volta miatt nem okoz nehézséget!)

Vissza a tartalomjegyzékhez

6.2. Korlátozott növekedés

A korlátozott növekedési modell abban különbözik az korlátlantól, hogy itt adunk felső határt a populációk méretére (itt már két populációt vizsgálunk), ezt a korlátozást a – véges – helyért való versengés határozza meg. Az előző elemi növekedési modell algoritmusait fogjuk módosítani. Elhagyjuk a teljes betöltöttségig vizsgáló ciklust, illetve nem csak üres helyre helyezünk el új betűt, hanem tetszőleges helyre (akár van ott valami, akár nincs). Ezen kívül tehát kétféle betű kezelésére készülünk fel. Kezdetben K db betűt helyezünk el, minden helyre P valószínűséggel X betűt, 1-P valószínűséggel Y betűt. Az X, illetve a Y növekedését a következő függvények írnák le az egyes növekedési típusok esetén, ha a másik fajtát nem használnánk:

Delta(X)=P1 lineáris, P1*X exponenciális, P1*X négyzet hiperbolikus növekedés esetén
Delta(Y)=P2 lineáris, P2*Y exponenciális, P2*Y négyzet hiperbolikus növekedés esetén

növekedés esetén P1 és P2 a két növekedési ráta.

2/A: Korlátozott lineáris növekedés

Ebben a modellben az új betűk elhelyezésekor véletlenszerűen választunk a kétféle betű között (P1 db X betűt, illetve P2 db Y betűt teszünk a táblázatba egy időegység alatt, P1+P2<N*M). A megoldás algoritmusa:

Szimulációs lépés:
Ciklus K=1-től N*M-ig
Növekedés(Poisson(P1/(N*M)),"X")
Növekedés(Poisson(P2/(N*M)),"Y")
Ciklus vége
Eljárás vége.

Növekedés(DB,BETŰ)
Ciklus L=1-től DB-ig
(i,j):=véletlen hely(N,M)
Tábla(i,j):=BETŰ
Ciklus vége
Eljárás vége.

A program használatakor megfigyelhetjük, hogy a kétféle betű aránya fix érték körül fog ingadozni (P1:P2):

Korlátozott lineáris növekedés diagramjaKorlátozott lineáris növekedés.

Számoljuk ki, hogy mi az időegységenkénti növekedés várható értéke az egyes betűkre! Az X betűk száma változásának várható értéke egy időegység alatt:

Delta(X)=P1-P1*X/(N*M)-P2*X/(N*M)

P1 db X betűt teszünk ez idő alatt a táblázatba, a letettek közül (P1*X)/(N*M) kerül X betű helyére, s ugyanezen idő alatt (P2*X)/(N*M) Y betű kerül X helyére. Ha ez a kifejezés >0, akkor az X betűk száma növekszik, ha <0, akkor pedig csökken.

A kifejezést átalakítva kapjuk:

P1/(P1+P2)>X/(N*M)

vagyis az X betűk száma növekszik, ha az X betűk aktuális relatív gyakorisága kisebb P1/(P1+P2)-nél, s csökken, ha nem.

2/B: Logisztikus növekedés (korlátozott exponenciális)

Ebben a modellben olyan betűt fogunk elhelyezni a táblázatban, amilyet a véletlenszerűen kiválasztott helyen találunk. Ha X-et találunk, akkor „átlagosan P1 db” X betűt, ha pedig Y-t, akkor P2 db Y betűt helyezünk el (a megfelelő várható értékű Poisson-eloszlású véletlenszám generálása útján). A megoldás algoritmusa:

Szimulációs lépés:
Ciklus K=1-től N*M-ig
(i,j):=véletlen hely
Ha Tábla(i,j)="X"akkor Növekedés(Poisson(P1),"X")
különben ha Tábla(i,j)="Y" akkor Növekedés(Poisson(P2),"Y")
Ciklus vége
Eljárás vége.

Modellünk vizsgálatakor azt a felismerést tehetjük, hogy ez lényegében megegyezik a 4. elemi modellel, csupán a létszám 1-gyel növekedését cseréltük le Poisson(P1)-gyel növekedésre.

A modellünkben az egyes populációk szelekciós előnyét a P1, P2 változók értékeivel szemléltethetjük, amelyik rátermettebb, az gyorsabban tud szaporodni. Azt tapasztalhatjuk, hogy a rátermettebb populáció akkor is győzhet a helyért folyó versenyben, ha kezdetben kevesebb egyedből állt (ha nagyon kevés volt, akkor a véletlentől függ, hogy el tud-e szaporodni). Tehát a logisztikus növekedés kedvez az élettérért való versengésnek, a szelekciónak, ugyanis a rátermettebb populáció – kezdeti számarányoktól függetlenül – képes teljesen kiszorítani a kevésbé szapora populációt. Erre a többi növekedési modell esetén nincs mód.

Számoljuk ki a másik populáció kiszorításának feltételét! Az X betűk száma növekszik egy időegységben, ha

Delta(X)=X*P1-X*P1*X/(N*M)-Y*P2*X/(N*M)

ahol X az X betűk, Y pedig az Y betűk aktuális számát jelöli. X-szel való osztás után kapjuk (hasonlóan számítva az Y-ok csökkenését):

P1-X*P1/(N*M)-Y*P2/(N*M)>0

valamint

P2-X*P1/(N*M)-Y*P2/(N*M)>0

A második egyenlőtlenséget -1-gyel szorozva, s a kettőt egymásból kivonva azt kapjuk, hogy az X-ek számának növekedése az A-k számának együttes csökkenésével akkor következik be, ha P1>P2.

A változást leíró függvény:

Korlátozott exponenciális növekedés diagramjaKorlátozott exponenciális növekedés.

2/C: Korlátozott hiperbolikus növekedés

Ebben a modellben olyan betűt fogunk elhelyezni a táblázatban, amilyent két egymásutáni kiválasztott helyen találtunk. Ha mindkét helyen X-et találunk, akkor átlagosan P1*N*M db X betűt helyezünk el, ha Y-t, akkor pedig P2*N*M db Y betűt. A megoldás algoritmusa:

Szimulációs lépés:
Ciklus K=1-től N*M-ig
(i,j):=véletlen hely
(a,b):=véletlen hely
Ha Tábla(i,j)="X" és Tábla(a,b)="X"
akkor Növekedés(Poisson(P1*N*M),"X")
különben Ha Tábla(i,j)="Y" és Tábla(a,n)="Y"
akkor Növekedés(Poisson(P2*N*M),"Y")
Ciklus vége
Eljárás vége.

Sokkal gyorsabb változások történnek modellünkben, mint az előzőkben: az egyik betű nagyon gyorsan – mintegy „katasztrofális hirtelenséggel” – megszűnik. Azt, hogy melyik lesz ez a betű, a kezdőlétszámok, valamint P1 és P2 értéke határozza meg. Ebben a modellben már nem igaz az, hogy az előnyösebb mindig győz; ha az – instabil – egyensúlyi állapotból kilépünk bármelyik irányba (vagy eleve kint voltunk), akkor ez az irány végleges döntést jelent a két betű sorsa között. Ezzel azt a meglepő eredményt kaptuk, hogy a korlátozott hiperbolikus növekedés nem tesz lehetővé versengést, nem teljesül a „győzzön a rátermettebb” elv!

Számoljuk ki a másik populáció kiszorításának feltételét! Az X betűk száma növekszik egy időegységben, ha

Delta(X)=X*X*P1-X*X*P1*X/(N*M)-Y*Y*P2*X/(N*M)

ahol (X az X-, Y pedig az Y-betűk aktuális számát jelöli.) X-szel való osztás után kapjuk (hasonlóan számítva Y csökkenését):

X*P1-X*X*P1/(N*M)-Y*Y*P2/(N*M)>0

valamint

Y*P2-X*X*P1/(N*M)-Y*Y*P2/(N*M)>0

A második egyenlőtlenséget -1-gyel szorozva, s a kettőt egymásból kivonva azt kapjuk, hogy az X-ek számának növekedése az Y-ok számának együttes csökkenésével akkor következik be, ha X*P1>Y*P2.

Ily módon kapcsolódik az evolúció legfontosabb előrevivő hatóereje, a szelekció egy demográfiai stratégiához:

Korlátozott hiperbolikus növekedés diagramja, növekvő létszámKorlátozott hiperbolikus növekedés, növekvő létszám.
Korlátozott hiperbolikus növekedés diagramja, csökkenő létszámKorlátozott hiperbolikus növekedés, csökkenő létszám.

Vissza a tartalomjegyzékhez

Új Széchenyi terv
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszirozásával valósul meg.
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