Rothen ecotronics Моделювання здобичі хижака Берна в Excel (Лотка-Вольтерра)
Імітуйте систему хижака-здобичі за допомогою Excel
Автор: Dr. Сільвія Ротен, ротен екотроніка, Берн, Швейцарія
Остання редакція: 13.05.18
Ті, хто має деякі базові математичні знання, можуть легко відтворити простіші динамічні моделі за допомогою Excel. Оскільки в спеціальному програмному забезпеченні для моделювання, такому як Stella, немає періоду навчання, Excel особливо підходить для використання малих моделей для з'ясування екологічних взаємозв'язків в екологічній освіті.
Зміст
вступ
Ви, можливо, пам’ятаєте статтю про технологічні перегони [1]. Я вже показав там, що ви можете використовувати Excel для імітації простих динамічних систем. Сьогодні ми наважуємось працювати над однією з найвідоміших екологічних моделей - системою хижак-здобич Лотки-Вольтерри [2,3]. Однак я не використовував оригінальний текст як джерело, а БАЗОВУ версію Гартмута Босселя у книзі "Umweltdynamik" [4, с. Основна перевага Excel перед BASIC полягає в тому, що ви можете зосередитись на модельних рівняннях у Excel, не вимагаючи програмування інтерфейсів для введення та виведення даних результатів. Згадана книга, яка містить загалом 30 моделей, схоже, більше не продається. Тим часом, однак, є нова книга цього автора під назвою "Modellbildung und Simulation" (1994) на ту саму тему [5].
Вольтерра розробив свою модель на основі десятирічної серії даних компанії Гудзонова затока про шкури гірських зайців і рисей. Обидві криві демонстрували помітне, цілком регулярне коливання і, здавалося, були пов'язані між собою. Оскільки гірський заєць є важливою здобиччю рисі, це не дивно. За допомогою динамічної моделі Вольтерри, яку ми збираємося відтворити, ці вібрації можна зрозуміти і пояснити.
Словесний опис моделі
Наша модель імітує невеликий ланцюг живлення з лисицею як хижим хижаком та зайцем як рослиноїдною здобиччю. У моделі Босселя пасовище обмежене, тому не може годувати необмежену кількість кроликів. Максимально можлива кількість видобувних тварин обумовлена пасовищною здатністю. З іншого боку, лисиці потрібно вбивати певного кролика за період, щоб не голодувати. Багато лисиць вбиває багатьох зайців і тим самим зменшує кількість зайців. Менша кількість кроликів означає, що не всі лисиці можуть знайти достатню кількість кроликів, а деякі помирають з голоду. Це також зменшує поголів'я лисиць в довгостроковій перспективі. Коли на зайців полює менше лисиць, популяція зайців може знову розширитися. Ви вже бачите з словесного опису моделі та з діаграми, що це призводить до циклічних коливань як для популяції кроликів, так і для популяції лисиць, при цьому кількість лисиць відстає від популяції кроликів.

Модельні рівняння
Замість роботи над цією розширеною версією моделі від Bossel, в якій є не тільки кролики та лисиці, але й обмежені можливості випасу худоби, ми створюємо простішу модель. Це моделювання складається лише з двох рівнянь з чотирма параметрами та двома змінними. Змінні - це популяція кроликів x та популяція лисиць y. Зайці розмножуються в геометричній прогресії за відсутності лисиць (параметр а), тоді як кожна зустріч з лисицями зменшує їх популяцію (параметр с). З лисицями все навпаки: без здобичі їх популяція зменшується в геометричній прогресії (параметр b), і лише якщо вони зустрічаються із зайцями, це може врятувати їх від голоду та збільшити популяцію (параметр d). Імовірність зустрічі кроликів та лисиць залежить від обох запасів, тобто від продукту xy. Це призводить до наступних двох формул зміни запасів за одиницю часу.
Перш ніж розпочати моделювання, вам слід визначити значення параметрів та визначити довільні вихідні запаси X0 та Y0 для змінних популяції кроликів та лисиць. Наступні значення, взяті у Хартмута Босселя, призводять до приємних, циклічних коливань:
| a | Чистий темп приросту кроликів | 0,08 |
| b | Лисиці втрата ваги на тиждень | 0,2 |
| c | Ймовірність того, що їх з’їдять на зустрічах | 0,002 |
| d | Ймовірність здобичі лисиць | 0,0004 |
| X0 | Початкові запаси зайців | 500 |
| Y0 | Стартові лисиці | 20-го |
Впровадження моделювання в Excel
Зараз у нас є все необхідне для моделі на даний момент. В Excel ми реалізуємо це таким чином, що спочатку робимо два блоки, в яких, з одного боку, значення параметрів, а з іншого боку - початкові значення змінних. Потім модель випливає у вигляді таблиці, кожен крок часу веде до нового рядка, а кожне рівняння заповнює стовпець. Для нашої простої моделі хижак-здобич це веде до п’яти стовпців. У першому стовпці ми бачимо період T. Ми запускаємо модель за 200 періодів, тобто від T = 1 до T = 200, що веде до 200 рядків. Тоді наші два рівняння слідують у наступних двох колонках зверху, тобто збільшення зайців dx та збільшення лисиць dy. Оскільки насправді нас цікавить загальний запас, то обчисліть запаси у четвертій та п’ятій колонках, які складаються із запасу попереднього періоду та приросту. У математичному плані це означає для кроликів:
Щоб не отримати біологічно нереальну модель, потрібно ввести ще одне обмеження щодо запасів, а саме те, що ні x, ні y не можуть стати негативними. Власне кажучи, потрібно буде додаткове обмеження, щоб забезпечити розмноження як кроликів, так і лисиць лише за умови, що залишилось принаймні два зразки. Однак поки що ми скасуємо це останнє обмеження. Залишаю за вами розширити модель у цьому напрямку згодом.

Імітаційна модель в Excel
На скріншоті ви можете побачити, як робочий аркуш із моделлю приблизно структурований. У рядку 1 ми даємо робочому аркушу заголовок. Потім параметри T0, а також a, b, c і d слідують у рядках 4 та 6 - 9, з описом у стовпці A та значенням у стовпці B. Клітини B12 і B13 містять початкові запаси X0 та Y0 зайців та лисиць. Оскільки пізніше можна розрахувати різні сценарії з різними вихідними запасами, доцільно виділити ці дві клітинки кольором, щоб було зрозуміло, що тут потрібно введення користувачем.
Лише після позначень у рядках 17 - 19 у рядку 20 з’являється перший період фактичної моделі. Незважаючи на те, що можна було б безпосередньо посилатися на значення в рядках з 4 по 13 у формулах моделі, рекомендується замість цього визначити та використовувати імена. Для чіткішого розрахунку рекомендуються назви комірок та діапазонів комірок. До речі, імена завжди є абсолютними посиланнями на клітинки. У нашій моделі параметри та початкові значення підходять для імен. Тож поставте курсор на клітинку B4 і натисніть на поле імені зліва на рядку формул Т0. Потім наведіть курсор послідовно на комірки B6, B7, B8, B9, B12 і B13 і введіть у поле імені a, b, c, d, X0 та Y0. Замість абсолютного посилання $ B $ 6, відтепер ви можете просто використовувати назву a. Це робить наші модельні формули, які ми вводимо зараз, набагато читабельнішими. Це також гарантує, що посилання на значення параметрів залишаються правильними, коли ми копіюємо формули з рядка 21 вниз.

Часто не помічається: поле імені
Формули в рядку 20 відрізняються від наведених нижче, оскільки посилаються на початкові значення замість значень попереднього періоду. У таблиці ви можете побачити формули для перших двох періодів, тобто рядків та п'яти стовпців моделі.
Починаючи з другого періоду, формули повторюються, так що протягом 200 періодів нам потрібно лише скопіювати рядок 21 у рядки 22 - 219.
Представлення на схемі
Незважаючи на те, що діаграма вже показує циклічні вібрації, для ясності вона все ще потребує певної оптичної ретуші. Спочатку вам потрібно двічі клацнути на ньому, щоб перейти в режим редагування. Оскільки популяції кроликів та лисиць не однакового розміру, має сенс розмістити лисиць на вторинній осі у. Для цього двічі клацніть рожевий рядок даних лисиць, виберіть вкладку Вісь і клацніть на вторинній осі замість основної осі. Після того, як ви закрили вікно за допомогою ОК, двічі клацніть по новоствореній другій осі y на правому краю. Спочатку видаліть зайві десяткові знаки, відкривши десяткові знаки на вкладці Числа 0 поставити. Натомість ми ставимо галочку в розділі Використовувати тисячі. З іншого боку, бажано встановити максимальне значення на вкладці Масштабування 500 так що, незважаючи на другу вісь, з першого погляду стає зрозуміло, що лисиць менше, ніж зайців. Ми форматуємо числа на первинній осі y однаково, тобто без десяткових знаків, але з роздільником тисяч.
Представлення осі х також ще не є задовільним, вона представлена у вигляді товстої лінії. Засіб тут - вкладка масштабування після обов’язкового подвійного клацання на осі. У двох полях введення, які починаються з числа, ми вводимо значення 25, так що позначена тире з'являється лише кожні 25 періодів. Останньою необхідною зміною, яка нам залишилася, є маркування вторинної осі y Кількість лисиць вставити. Меню Вставка - Заголовок - Вісь вторинного розміру (Y) нам допомагає. Подальше форматування більш косметичного типу, наприклад, зміна кольору кривих або перестановка легенди на нижній край, я залишаю за вами. Цим ми завершили свою модель. Якщо тепер ви зміните початкові залишки в полях D12 і D13, а також, можливо, також значення параметрів, тоді з моделлю можна розрахувати різні сценарії.
література
[1] Ротен С. 1996: "Моделювання технологічних перегонів в Excel", M + K Computermarkt 96/3, с. 60/61
[2] Лотка А.Дж. 1956: "Елементи математичної біології", Дувр, Нью-Йорк
[3] Вольтерра В. 1931: "Lezon sur la theorie mathematique de la lutte pour la vie", Gauthier-Villars, Париж
[4] Боссель Х. 1985: "Екологічна динаміка - 30 програм для кібернетичного досвіду навколишнього середовища на кожному базовому комп'ютері", te-wi, Мюнхен
[5] Боссель Х. 1994: "Modellbildung und Simulation", 2-е видання, Vieweg-Verlag, Брауншвейг
Завантажте файл Excel
Тут ви можете завантажити повний файл Excel (версія 5.0/7.0) із описаним варіантом моделі, а також інший із обмеженнями на пасовища. Файл Excel не містить жодних макросів і стискається як ZIP-файл (35 КБ).
Порада книги
І, до речі, зараз є "Excel 2000 Direkt", авторська книга Excel, як антикварна стаття в Data Becker всього за 2,53 євро. Замовлення з ключовим словом "excel 2000 direct" у розділі Data Becker.
Цей веб-сайт оновлено 03.05.18 о 22:34 користувачем Ротен Екотроніка створені або переглянуті.