EcoSimulation — 14. Пример модели. Переход от гермафродитизма к раздельнополости

 

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

Популяционная динамика и правило Гаузе. Приближение к пределу возможностей Excel Пример модели. Переход от гермафродитизма к раздельнополости Идеи для моделирования
Имитационное моделирование биосистем-13 Имитационное моделирование биосистем-14 Имитационное моделирование биосистем-15

 

 

Подробное описание модели, иллюстрирующий процессы, описанные в колонке о переходе от гермафродитизма к раздельнополости. Модель построена в Excel-2013. Ее можно скачать по этой ссылке, а по этой — вариант для Excel-2003 (работоспособность второго варианта не проверялась!).

 

Структура модели

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

Внешний вид начального экрана модели таков.

Логика работы модели

Вот то описание работы модели, которое включено в нее саму:

В модели описывается популяция, где воспроизводятся три формы:  гермафродиты, самцы и самки. Для каждой формы указывается начальная доля численности, выживаемость, результаты возможных скрещиваний. Модель повторяет цикл, состояший из следующих этапов:
— случайно (в зависимости от случайных чисел) формируется стадо производителей из 100 особей (на первом цикле — в зависимости от начального соотношения форм, позже — в зависимости от соотношения форм потомков, образовавшихся на предыдущем цикле);
— из группы производителей случайно формируются пары (если в подборе пар отражаются предпочтения особей, выбор первого партнера изменяет распределение вероятностей выбора разных форм на роль второго партнера); для образовавшейся пары  определяется (по таблице с результатами скрещиваний) состав их потомков;
— после скрещивания каждой пары состав производителей корректируется; оплодотворенные гермафродиты и самки выходят из состава стада производителей;
— из потомства (с учетом относительной выживаемости, влияющей на вероятность попасть в стадо производителей) формируется следующее стадо производителей и цикл повторяется.

 

Блок определения начальных параметров 

В блоке для определения начальных параметров используются элементы управления, называемые в Excel полосами прокрутки.

В работе модели используется кодировка: гермафродиты обозначаются цифрой 1, самцы — 2, самки — 3. Ячейки, где могут находится эти символы, подсвечиваются разным образом в зависимости от того, какой символ в них находится.

При вводе в модель начальной численности (начального соотношения форм) с помощью полос прокрутки устанавливается процентная доля самцов и самкок (в диапазоне от 0% до 50%); в зависимости от этих значений определяется численность гермафродитов.

При определении относительной выживаемости с помощью полос прокрутки для всех трех форм устанавливается выживаемость от 0% до 100%. Абсолютная выживаемость в модели не рассматривается. Предположим, из 1000 гермафродитов выживает 8, из 1000 самцов — 10, из 1000 самок — 5. В таком случае относительная выживаемость самцов (самого успешного пола) составляет 100%, гермафродитов — 80%, а самок — 50%.

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

Предпочтения при выборе партнеров задаются с помощью полос прокрутки. Все значения изменяются от 0% до 500%. Значение 100% соответствует равной вероятности выбора, более низкие — снижению такой вероятности, более высокие — ее повышению.

 

Порядок вычислений в рабочей зоне

Фрагмент рабочей зоны файла с пояснениями, что вычисляется в ее ячейках, приведен на рисунке.

Вначале вычисляется состав стада производителей, которые для первого года (цикла вычисления) располагаются в строке 26. Сразу вычисляется все 100 особей. Потом вычисления идут по столбцам внутри группы строк, соответствующих году. Охарактеризовать использоваемые вычисления проще всего, перечислив эти ячейки по порядку, используя адреса строк. Скопированные из ячеек модели формулы подсвечены желтым фоном.

F26 — =ЕСЛИ(F27<$R$2;1;ЕСЛИ(F27<($R$2+$R$3);2;3)) — формула, определяющая пол особи в составе нерестового стада, в зависимости от случайного числа, находящегося в ячейке F27. $R$2 и $R$2 — адреса ячеек, в которых указаны доли представителей разных полов в популяции. При аналогичных вычислениях в годы, начиная со второго, здесь используется соотношение полов, полученное по результатам предыдущего года (A39, A40 и A41 для второго года).

F27 — =СЛЧИС() — генерируемое программой случайное число, находящееся в пределах от 0 до 1; используется для определения пола одной особи из стада производителей (ячейки F26).

F28 — =E28-(ЕСЛИ(E36=1;ЕСЛИ(E37=1;2;ЕСЛИ(E37=2;1;0));0)+ЕСЛИ(E37=1;ЕСЛИ(E36=2;1;0);0)) — вычисление количества гермафродитов в составе стада производителей, которые могут участвовать в спариваниях. Оно производятся на основании значения ячейки E28 (где определялось общее количество гермафродитов в составе стада до начала образования пар) и пола особей в ячейках E36 и E37, где указывался пол особей, образовывавших предыдущую пару. Если гермафродит оказывался в составе пары с самцом или гермафродитом, он, забеременевал и выходил из состава стада производителей. 

F29 — =E29 — вычисление количества самцов в составе стада производителей, которые могут участвовать в спариваниях. Это количество определяется их начальным количеством в стаде производителей, так как самцы не беременеют и могут размножаться много раз.

F30 — =E30-(ЕСЛИ(E36=3;ЕСЛИ(E37=1;1;ЕСЛИ(E37=2;1;0));0)+ЕСЛИ(E37=3;ЕСЛИ(E36=1;1;ЕСЛИ(E36=2;1;0));0)) — вычисление количества самок в составе стада производителей, которые могут участвовать в спариваниях. Аналогично таковому для гермафродитов.

F31 — =СУММ(F28:F30) — сумма трех предыдущих ячеек.

F32 — =ЕСЛИ(F31<2;0;ЕСЛИ(F36=1;(F28-1)*$N$19/((F28-1)*$N$19+F29*$P$19+F30*$R$19);0)+ЕСЛИ(F36=2;F28*$N$21/(F28*$N$21+(F29-1)*$P$21+F30*$R$21);0)+ЕСЛИ(F36=3;F28*$N$23/(F28*$N$23+F29*$P$23+(F30-1)*$R$23);0)) — с учетом того, что в ячейке F36 выбран первый партнер в паре, производится пересчет вероятности того, что второй партнер будет гермафродитом. $N$19 и другие ссылки указывают на ячейки, в которых задаются предпочтения при образовании пар. Если общая численность возможных партнеров в стаде производителей меньше двух, значение в ячейке будет равно 0.

F33 — =ЕСЛИ(F31<2;0;ЕСЛИ(F36=1;F29*$P$19/((F28-1)*$N$19+F29*$P$19+F30*$R$19);0)+ЕСЛИ(F36=2;(F29-1)*$P$21/(F28*$N$21+(F29-1)*$P$21+F30*$R$21);0)+ЕСЛИ(F36=3;F29*$P$23/(F28*$N$23+F29*$P$23+(F30-1)*$R$23);0)) — аналогично предыдущему; вероятность того, что второй партнер будет самцом.

F34 — =ЕСЛИ(F31<2;0;ЕСЛИ(F36=1;F30*$R$19/((F28-1)*$N$19+F29*$P$19+F30*$R$19);0)+ЕСЛИ(F36=2;F30*$R$21/(F28*$N$21+(F29-1)*$P$21+F30*$R$21);0)+ЕСЛИ(F36=3;(F30-1)*$R$23/(F28*$N$23+F29*$P$23+(F30-1)*$R$23);0)) — аналогично двум предыдущим; вероятность того, что второй партнер будет самкой.

F35 — =СЛЧИС() — генерируемое программой случайное число, находящееся в пределах от 0 до 1; используется для определения пола первого партнера в паре.

F36 — =ЕСЛИ(F31=0;0;ЕСЛИ(F35<F28/F31;1;ЕСЛИ(F35<(F28+F29)/F31;2;3))) — пол первого партнера в паре, который определяется случайным числом в предыдущей ячейке, в зависимости от количества потенциальных партнеров в составе стада производителей.

F37 — =ЕСЛИ((F32+F33+F34)=0;0;ЕСЛИ(F38<F32;1;ЕСЛИ(F38<(F32+F33);2;3))) — пол второго партнера в паре, который определяется с учетом предпочтений в выборе первого партнера на основании значений случайного числа в следующей ячейке.

F38 — =СЛЧИС() — генерируемое программой случайное число, находящееся в пределах от 0 до 1; используется для определения пола второго партнера в паре.

F39 — =ЕСЛИ(F36=1;ЕСЛИ(F37=1;$O$12;ЕСЛИ(F37=2;$O$13;ЕСЛИ(F37=3;$O$14;0)));0)+ЕСЛИ(F36=2;ЕСЛИ(F37=1;$O$13;ЕСЛИ(F37=2;$O$15;ЕСЛИ(F37=3;$O$16;0)));0)+ЕСЛИ(F36=3;ЕСЛИ(F37=1;$O$14;ЕСЛИ(F37=2;$O$16;ЕСЛИ(F37=3;$O$17;0)));0) — количество потомков-гермафродитов, определяемое в зависимости от состава пары.

F40 — =ЕСЛИ(F36=1;ЕСЛИ(F37=1;$P$12;ЕСЛИ(F37=2;$P$13;ЕСЛИ(F37=3;$P$14;0)));0)+ЕСЛИ(F36=2;ЕСЛИ(F37=1;$P$13;ЕСЛИ(F37=2;$P$15;ЕСЛИ(F37=3;$P$16;0)));0)+ЕСЛИ(F36=3;ЕСЛИ(F37=1;$P$14;ЕСЛИ(F37=2;$P$16;ЕСЛИ(F37=3;$P$17;0)));0) — количество потомков-самцов, определяемое в зависимости от состава пары.

F41 — =ЕСЛИ(F36=1;ЕСЛИ(F37=1;$Q$12;ЕСЛИ(F37=2;$Q$13;ЕСЛИ(F37=3;$Q$14;0)));0)+ЕСЛИ(F36=2;ЕСЛИ(F37=1;$Q$13;ЕСЛИ(F37=2;$Q$15;ЕСЛИ(F37=3;$Q$16;0)));0)+ЕСЛИ(F36=3;ЕСЛИ(F37=1;$Q$14;ЕСЛИ(F37=2;$Q$16;ЕСЛИ(F37=3;$Q$17;0)));0) — количество потомков-самок, определяемое в зависимости от состава пары.

После того, как была произведена имитация формирования 100 пар, вычисляются общие результаты года. Ячейки, в которых это делается, расположены в столбце A.

A31 — =СУММ(E39:CZ41) — общая сумма потомков, произведенных в данном году (на данном цикле работы модели).

A35 — =СУММ(E39:CZ39)/A31 — доля гермафродитов, произведенных на данном цикле модели.

A36 — =СУММ(E40:CZ40)/A31 — доля самцов, произведенных на данном цикле модели.

A37 — =СУММ(E41:CZ41)/A31 — доля самок, произведенных на данном цикле модели.

A39 — =A35*$R$7 — доля гермафродитов, доживающих до следующего года (с учетом их выживаемости, заданной в начальных параметрах).

A40 — =A36*$R$8 — доля самцов, доживающих до следующего года (с учетом их выживаемости, заданной в начальных параметрах).

A41 — =A37*$R$9 — доля самок, доживающих до следующего года (с учетом их выживаемости, заданной в начальных параметрах).

 

Построение графика

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

 

Использование модели

Пользоваться моделью очень просто. С использованием блока для определения начальных параметров необходимо задать набор исходных значений. После этого остается только нажать кнопку F9, подождать некоторое время, которое определяется быстродействием компьютера, и интерпретировать получившийся график.