EcoSimulation — 07. Модели, учитывающие ограничения суммарного потребления ресурсов

 

Д.А. Шабанов
Конспект курса
"
Имитационное моделирование сложных биосистем
(с использованием Microsoft Excel)
"

Перестройка модели с учетом выживаемости особей Модели, учитывающие ограничения суммарного потребления ресурсов Моделирование конкуренции на уровне отдельных особей и отдельных ресурсных единиц
Имитационное моделирование биосистем-06  Имитационное моделирование биосистем-07 Имитационное моделирование биосистем-08

 

На данном этапе работы c моделью, описанной на предыдущих страницах, ее предлагается перестроить, учитывая разное потребление ресурсов представителями разных половозрастных групп. Правда же, не бывает так, чтобы новорожденный ребенок требовал столько же ресурсов, сколько взрослая самка (женщина) или взрослый самец (мужчина)?

Итого, способность среды поддерживать существование моделируемой популяции надо определять не как емкость среды K, заданную так, что общая численность особей Z не должна превышать K (т.е. Z≤K), а как обеспеченность ресурсами V, заданную так, что ее не может превысить суммарное потребление ресурсов (I) (т.е. I≤V). Для этого надо задать потребности в ресурсах (d) для каждой половозрастной категории (вероятно, для новорожденных самок и самцов она должна быть одинаковой: d(f0)=d(m0).; кроме того, придется задать d(f1), d(f2) и т.д.). Затем надо вычислить D — суммарную потребность в ресурсах всей популяции на момент размножения. Если местообитание обеспечивает все потребное количество ресурсов (т.е. D≤V), то потребление популяции соответствует ее потребностям (I=D). Если потребности популяции превышают обеспеченность ресурсами, она сталкивается с определенными ограничениями.

Рассмотрим два варианта таких ограничений. Для начала построим модель с ограничением размножения особей при недостатке ресурсов. Будем считать, что на свет появится столько особей, на сколько хватит свободных ресурсов. Впрочем, при этом размножение будет происходить только в том случае, если увеличение потребности в ресурсах со взрослением не будет перекрывать эффект от гибели части особей вследствие неполной выживаемости.

При определении численности потомков на каждом шаге модели рассмотрим следующие три случая: 

  • D≥V, т.е. потребность в ресурсах уже имеющихся лягушек превосходит емкость среды. Приплода нет.
  • D<V, но (D+n(f0)×d(f0)+n(m0)×d(m0))>V, т.е. для имеющихся особей ресурсов достаточно, но если к имеющимся особям прибавить все возможное потомство, ресурсов хватать не будет. В этом случае количество потомства определяется как (V-D)/d(f0).
  • (D+n(f0)×d(f0)+n(m0)×d(m0))≤V, т.е. ресурсов хватает и для имеющихся особей, и для всех их возможных потомков. В таком случае приплод определяется количеством потенциальных родителей и их плодовитостью.

Если вы построили описанную модель, сделайте еще один шаг, и постройте модель с конкурентным сокращением численности при недостатке ресурсов. Для имитации такого сокращения численности можно применить алгоритм, использованный в работе М. А. Кравченко. Приведем этот алгоритм в слегка измененном виде, учитывающем систему обозначений, которую мы используем в данном пособии.

Мы рассматриваем популяцию (или гемиклональную популяционную систему, как в работе Кравченко, а может быть — гильдию, т. е совокупность разных популяций, использующих один и тот же ресурс). В рассматриваемой совокупности представлены особи, относящиеся к разным формам, обозначенным G. В предыдущем примере форм две: самки (F) и самцы (M), но, строго говоря, их может быть сколько угодно, i (в таком случае 1G, 2G, 3G ... iG — это разные генотипы, которые могут относиться к одному виду, как самцы и самки, или к разным видам). Представители каждого генотипа могут быть представлены разными возрастными группами; чтобы подчеркнуть, что речь идет об отдельных группах представителей этих генотипов, будем использовать для их обозначения строчные буквы. Если возможно a возрастов, начиная с нулевого (новорожденных), то генотип iG может быть представлен следующими возрастными группами: ig0, ig1, ig2 ... iga

Особенностью данного алгоритма является то, что смертность в нем разделена на две группы: неконкурентная смертность и конкурентная смертность. Мерой, определяющей неконкурентную смертность, является выживаемость (s). Мы предполагаем, что значение жизнеспособности задано для всех групп: s(ig0), s(ig1), s(ig2) ... s(iga). Мерой, определяющей конкурентную смертность, является конкурентоспособность (с). Мы предполагаем, что значение конкурентоспособности также задано для всех групп: с(ig0), с(ig1), с(ig2) ... с(iga). Неконкурентная смертность не зависит от количества ресурсов; конкурентная имеет место только в том случае, когда наблюдается недостаток ресурсов. Логично неконкурентную смертность имитировать до того, как будет имитироваться конкурентная смертность. 

Численность каждой группы до неконкурентной смертности обозначим как n. В таком случае мы имеем ряд величин n(ig0), n(ig1), n(ig2) ... n(iga), которые были заданы как начальные параметры (для первого цикла работы модели) или вычислены в ходе предыдущих циклов работы модели. Чтобы подчеркнуть, что они относятся к предыдущему циклу, можно указать, что они определены на цикле t-1n(iga)t-1. Общая численность имитируемой совокупности особей вычисляется как сумма численностей всех групп: N=Σ(n(iga)).

В результате неконкурентной смертности численность всех групп уменьшается, в зависимости от характерных для них значений жизнеспособности: w(iga)=n(iga)×s(iga). К примеру, такое сокращение численности можно представить как результаты зимовки (обозначение w использовано, чтобы напомнить о перезимовавших, wintering, особях). Естественно, W=Σ(w(iga)).

Как и в предыдущей модели, мы можем определить общую потребность всех особей в ресурсах — D, зная такую потребность для особей каждой из групп: d(ig0), d(ig1), d(ig2) ... d(iga). Понятно, что D=Σ(w(iga)×d(iga)). Вычислив D, мы можем сравнить ее с V.

Мы строим модель, в которой выживание особей должно соответствовать имеющемуся количеству ресурсов. Как сокращать численность каждой группы w(iga), если ресурсов на всех не хватает? В случае рассматриваемой модели мы выбираем вариант, соответствующий двум условиям:
1) общая численность W должна снизиться до величины Z (окончательной численности для данного цикла имитации), требующей такого количества ресурсов I, которое соответствует обеспеченности ресурсами V;
2) численность каждой группы до конкурентного сокращения w(iga) должна снижаться до такой численности после конкурентного сокращения z(iga), чтобы доля прошедших конкурентное сокращение особей каждой группы была пропорциональна конкурентоспособности представителей этой группы:  z(iga)/w(iga) ~ c(iga).

Двум приведенным требованиям соответствует следующий алгоритм.

1. Исходя из численности каждой группы на предыдущем цикле модели (в момент времени t-1) и выживаемости особей этой группы рассчитывается численность "перезимовавших": w(iga)t=n(iga)t-1×s(iga).

2. Рассчитывается D (суммарная потребность в ресурсе "перезимовавших"): U=Σ(w(iga)×d(iga)).

3. Если D≤V (ресурсов хватает), то для всех групп численность после конкурентного сокращения равна численности "перезимовавших": z(iga)=w(iga).

4. Если D>V (ресурсов не хватает), рассчитывается квотированная по конкурентоспособности численность всех групп: q(iga)=w(iga)×c(iga). На основании квотированных численностей групп рассчитывается Q: количество ресурсов, необходимых квотированным группам: Q=Σ(q(iga)×d(iga). Обратите внимание: символом q обозначается количество особей, а Q — суммарное потребление ресурсов.

5. Если Q=V, тогда z(iga)=q(iga). Если Q>V, то все z(iga) определяются в соответствии с 6-м шагом алгоритма, а если Q<V – с 7-м шагом.

6. Если Q>V, т.е. ресурсов не хватает даже для квотированных групп, то дальнейшее их сокращение проводится на одну и ту же долю от их численности: z(iga)=q(iga)×V/Q.

7. Если Q<V (с учетом того, что D>V), сокращение до квотированной численности групп должно реализоваться частично. Окончательная численность вычисляется так, чтобы выполнялось следующая пропорция:

(w(iga)-z(iga))/(w(iga)-q(iga))=(D-V)/(D-Q),

то есть отношение сокращения численности каждой группы к разнице между численностью "перезимовавших" и квотированной численностью было равно отношению нехватки ресурсов для удовлетворения суммарной потребности "перезимовавших" к разнице между суммарной потребностью и суммой потребности квотированных численностей. Это означает, что окончательная численность определяется так:

z(iga)=w(iga)-(w(iga)-q(iga))×(D-V)/(D-Q).

Выполнив этот алгоритм, полезно вычислить окончательное потребление ресурсов: I=Σ(z(iga)×d(iga)). Если I соответствует V, то сокращение проведено правильно. Надо подчеркнуть, что соответствие I и V будет точным равенством только в том случае, если вычисления проводились без округления (что, в общем-то, является далеким уходом от биологического смысла). В описанных расчетах следует использовать или сокращение вниз (в случае детерминированных моделей), или сокращение после прибавления случайного числа (в случае стохастических моделей).