Rothen ecotronics Bern ragadozó zsákmány szimuláció az Excelben (Lotka-Volterra)
Ragadozó-zsákmány rendszer szimulálása az Excel segítségével
Szerző: Dr. Silvia Rothen, rothen ecotronics, Bern, Svájc
Utolsó felülvizsgálat: 18.05.18
Azok, akik rendelkeznek alapvető matematikai ismeretekkel, az Excel segítségével könnyebben elkészíthetik az egyszerűbb dinamikus modelleket. Mivel nincs speciális képzési idő olyan speciális modellező szoftverekben, mint a Stella, az Excel különösen alkalmas a környezeti nevelés ökológiai kapcsolatainak kis modellekkel történő tisztázására is.
Tartalomjegyzék
bevezetés
Emlékezhet a technológiai versenyekről szóló cikkre [1]. Ott már megmutattam, hogy az Excel segítségével egyszerű dinamikus rendszereket szimulálhat. Ma merünk dolgozni az egyik leghíresebb ökológiai modellen, a Lotka-Volterra ragadozó-zsákmány rendszerén [2,3]. Forrásként azonban nem az eredeti szöveget használtam, hanem Hartmut Bossel BASIC változatát az "Umweltdynamik" könyvben [4, 91–102.]. Az Excel fő előnye a BASIC-szel szemben az, hogy az Excel modellegyenleteire koncentrálhat anélkül, hogy be kellene programoznia az interfészeket az adatok beviteléhez és kimenetéhez. Úgy tűnik, hogy az említett könyv, amely összesen 30 modellt tartalmaz, már nem kapható. Időközben azonban van egy új könyv a szerzőtől "Modellbildung und Simulation" (1994) címmel ugyanarról a témáról [5].
Volterra a Hudson Bay Company egy évtizedes adatsora alapján fejlesztette ki modelljét a szállított hegyi mezei mezei nyúl és hiúz melleirõl. Mindkét görbe szembetűnő, meglehetősen szabályos oszcillációt mutatott, és összefüggésben látszott egymással. Mivel a hegyi nyúl a hiúz fontos zsákmánya, ez nem meglepő. A Volterra dinamikus modelljével, amelyet újra létrehozunk, ezek a rezgések megérthetők és megmagyarázhatók.
A modell szóbeli leírása
Modellünk egy kis táplálékláncot szimulál, a rókával mint húsevő ragadozóval, a mezei nyúl pedig növényevő ragadozó állattal. A Bossel-modellben a legeltetési terület korlátozott, ezért nem tud korlátlan számú nyulat etetni. A legelő maximális számú zsákmányállat a legelő kapacitásából adódik. A rókának viszont időszakonként meg kell ölnie egy bizonyos nyulat, hogy ne éhezhessen. Sok róka megöl számos mezei nyulat, és ezzel csökkenti a mezei nyulak számát. Kisebb számú nyúl azt jelenti, hogy nem minden rókában található elegendő nyúl, és néhányan éhen halnak. Ez hosszú távon csökkenti a rókák populációját is. Amikor kevesebb róka vadászik a mezei nyúlra, a nyúlállomány ismét bővülhet. Már a modell szóbeli leírásából és a diagramból is látható, hogy ez ciklikus oszcillációt eredményez mind a nyúlpopuláció, mind a rókapopuláció esetében, ahol a rókák száma elmarad a nyúlpopulációtól.

A modellegyenletek
Ahelyett, hogy ezen a Bossel kibővített modellváltozatán dolgoznánk, amelyben nemcsak nyulak és rókák vannak, hanem korlátozott legeltetési lehetőségek is, egy egyszerűbb modellt hozunk létre. Ez a szimuláció csak két egyenletből áll, négy paraméterrel és két változóval. A változók az x nyúlpopuláció és az y rókapopuláció. A mezei nyulak rókák nélkül exponenciálisan szaporodnak (a paraméter), míg a rókákkal való minden találkozás csökkenti populációjukat (c paraméter). A rókákkal pont az ellenkezője van: Zsákmány nélkül populációjuk exponenciálisan csökken (b paraméter), és csak akkor, ha találkoznak a mezei nyúlakkal, ez mentheti meg őket az éhezéstől és növelheti a populációt (d paraméter). A nyulak és a rókák találkozásának valószínűsége mindkét állománytól, azaz az xy szorzattól függ. Ennek eredményeként a következő két képlet áll rendelkezésre az időegységenkénti készletek megváltoztatásához.
A szimuláció megkezdése előtt meg kell határoznia a nyúl és a rók populáció paramétereinek, valamint az X0 és Y0 tetszőleges kiindulási állományok értékeit. A Hartmut Bosseltől kapott következő értékek szép, ciklikus rezgést eredményeznek:
| a | Nettó növekedési sebesség nyulak | 0,08 |
| b | Rókák fogyás/hét | 0.2 |
| c | A megbeszéléseken való megevés valószínűsége | 0,002 |
| d | A rókák zsákmányának valószínűsége | 0,0004 |
| X0 | Kezdő állománynyúl | 500 |
| Y0 | Kezdő állományrókák | 20 |
A szimuláció megvalósítása Excelben
Most egyelőre megvan minden, ami a modellhez szükséges. Az Excel programban ezt úgy valósítjuk meg, hogy először két blokkot készítünk, amelyekben egyrészt a paraméterek, másrészt a változók kezdeti értékei vannak. Ezután a modell táblázat formájában követi, minden egyes lépés egy új sorhoz vezet, és minden egyenlet kitölt egy oszlopot. Egyszerű ragadozó-zsákmány modellünknél ez öt oszlophoz vezet. Az első oszlopban a T periódust látjuk. A modellt 200 perióduson keresztül futtatjuk, azaz T = 1-től T = 200-ig, ami 200 vonalhoz vezet. Ekkor két egyenletünk a következő két oszlopban következik fentről, vagyis a mezei nyúl dx növekedése és a rókák dy növekedése. Mivel valójában a teljes készlet érdekel minket, akkor a negyedik és az ötödik oszlopban számolja ki az állományokat, amelyek az előző időszak állományából és a növekedésből állnak. Matematikai szempontból ez azt jelenti a nyulak számára:
Annak érdekében, hogy ne kapjunk biológiailag irreális modellt, további korlátozást kell bevezetnünk a részvényekre, nevezetesen azt, hogy sem x, sem y nem válhat negatívvá. Szigorúan véve további korlátozásra lenne szükség annak biztosítására, hogy mind a nyulak, mind a rókák csak akkor szaporodjanak, ha még legalább két példány megmaradt. Egyelőre azonban lemondunk erről az utolsó korlátozásról. Rátok bízom, hogy később bővítsd a modellt ebben az irányban.

A szimulációs modell az Excel-ben
A képernyőképről láthatja, hogy a modellel ellátott munkalap durván strukturált. Az 1. sorban a munkalapnak címet adunk. A T0, valamint az a, b, c és d paraméterek a 4. és a 6–9. Sorban következnek, az A oszlop leírásával és a B oszlop értékével. A B12 és B13 sejtekben a nyulak és a rókák kezdeti X0 és Y0 állománya. Mivel később különböző forgatókönyveket lehet kiszámolni, különböző kiindulási részvényekkel, célszerű ezt a két cellát színesen kiemelni, hogy egyértelművé váljon, hogy itt felhasználói bevitelre van szükség.
Csak a 17–19. Sorok jelölése után jelenik meg a tényleges modell első periódusa a 20. sorban. Bár a modell képleteiben lehetne közvetlenül hivatkozni a 4–13. Sorokban szereplő értékekre, javasoljuk, hogy neveket definiáljon és használjon. Célok és cellatartományok neve ajánlott a számítások egyértelműbbé tétele érdekében. Egyébként a nevek mindig abszolút cellahivatkozások. Modellünkben a paraméterek és a kiindulási értékek alkalmasak a nevekre. Vigye a kurzort a B4 cellára, és érintse meg a képletsáv bal oldalán található névmezőt T0. Ezután helyezze a kurzort sorrendben a B6, B7, B8, B9, B12 és B13 cellákra, és írja be az a, b, c, d, X0 és Y0 névmezőt. A $ B $ 6 abszolút referencia helyett ezentúl egyszerűen használhatja az a nevet. Ez sokkal olvashatóbbá teszi a modellképleteinket, amelyekbe most belépünk. Ez azt is biztosítja, hogy a paraméterértékekre való hivatkozások továbbra is helyesek legyenek, amikor a képleteket a 21. sorból lefelé másoljuk.

Gyakran figyelmen kívül hagyják: a név mező
A 20. sor képletei különböznek az alábbiaktól, mivel az előző időszak értékei helyett a kezdeti értékekre utalnak. A táblázatban láthatja a modell első két periódusának, azaz sorainak képleteit és a modell öt oszlopát.
A második periódustól kezdve a képletek megismétlődnek, így 200 periódusra csak a 21. sort kell átmásolnunk a 22–219.
Ábrázolás a diagramon
Bár a diagram már ciklikus rezgéseket mutat, az áttekinthetőség kedvéért mégis szüksége van némi optikai retusálásra. Először duplán kell kattintania, hogy a szerkesztés módba lépjen. Mivel a nyulak és a rókapopulációk nem azonos méretűek, célszerű a rókákat egy másodlagos y tengelyre helyezni. Ehhez kattintson duplán a róka rózsaszínű adatsorára, válassza az Axis fület, és kattintson az elsődleges tengely helyett a másodlagos tengelyre. Miután bezárta az ablakot az OK gombbal, kattintson duplán az újonnan létrehozott második y tengelyre a jobb szélen. Először távolítsa el a felesleges tizedesjegyeket a tizedesjegyek megnyitásával a Számok fülön 0 tedd. Ehelyett bejelöljük az Ezer elválasztó használata négyzetet. Másrészt célszerű a maximális értéket a Méretezés fülön beállítani 500 így a második tengely ellenére egy pillanat alatt világossá válik, hogy kevesebb a rókája, mint a mezei nyúl. Az elsődleges y tengelyen lévő számokat ugyanúgy formázzuk, azaz tizedesjegyek nélkül, de az ezres elválasztóval.
Az x tengely ábrázolása sem egyelőre kielégítő, vastag vonalként jelenik meg. A gyógymód itt a méretezés fül, miután a tengelyre kötelező kétszer kattintani. A számmal kezdődő két beviteli mezőbe a 25-ös értéket tesszük, így egy címkézett kötőjel csak 25 periódusonként jelenik meg. Az utolsó szükséges változtatás a másodlagos y tengely jelölése Rókák száma behelyezni. A Beszúrás - Cím - Másodlagos méret tengely (Y) menü segít nekünk. A kozmetikai jellegű további formázás, például a görbék színének megváltoztatása vagy a jelmagyarázat alsó szélére történő áthelyezése rajtad múlik. Ezzel elkészült a modellünk. Ha most megváltoztatja a kezdő egyenlegeket a D12 és D13 mezőkben, és esetleg a paraméterértékeket is, akkor a modellel különböző forgatókönyveket lehet kiszámítani.
irodalom
[1] Rothen S. 1996: "Technológiai versenyek szimulációja az Excel programban", M + K Computermarkt 96/3, 60/61.
[2] Lotka A.J. 1956: "A matematikai biológia elemei", Dover, New York
[3] Volterra V. 1931: "Leçon sur la theorie mathematique de la lutte pour la vie", Gauthier-Villars, Párizs
[4] Bossel H. 1985: "Környezetdinamika - 30 program kibernetikus környezeti tapasztalatokhoz minden BASIC számítógépen", te-wi, München
[5] Bossel H. 1994: "Modellbildung und Simulation", 2. kiadás, Vieweg-Verlag, Braunschweig
Töltse le az Excel fájlt
Letöltheti a teljes Excel fájlt (5.0/7.0 verzió) a leírt modellváltozattal, valamint egy másik legelő korlátozással. Az Excel fájl nem tartalmaz makrókat, és ZIP fájlként van tömörítve (35 KB).
Könyvtipp
Egyébként pedig a Data Beckernél antikváriumi cikkként van most az "Excel 2000 Direkt", a szerző Excel-könyve, mindössze 2,53 euróért. Rendeljen az "excel 2000 direct" kulcsszóval a Data Becker alatt.
Ezt a weboldalt 18.05.05-én 22: 34-kor frissítette rothen ökotronika létrehozott vagy átdolgozott.