EcoSimulation — 01. Основные понятия

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

Главная страница сайта Введение в курс имитационного моделирования Пример простой модели: имитация экспоненциального роста
Пособия Имитационное моделирование биосистем-01 Имитационное моделирование биосистем-02

 

1. Введение в курс имитационного моделирования

1.1. Предназначение курса

Я услышал – я забыл.
Я увидел – я запомнил.
Я сделал – я понял.

(Приписывается Конфуцию)

Курс «Имитационное моделирование сложных биосистем», который раньше назывался также «Имитационное моделирование в экологии», читается студентам кафедры зоологии и экологии животных с 2013 года. В разное время он рассматривался то как специальный курс, то как раздел большого практикума. Для работы в этом курсе использовались программы электронных таблиц. Вначале применялся проприетарный Microsoft Excel, позже — свободный LibreOffice Calc. Здесь (на этой и на последующих страницах) находится создаваемое и перестраиваемое «на ходу» пособие этого курса.

Курс должен развить у студентов кафедры зоологии и экологии животных способность создавать имитационные модели популяций и иных биосистем. Когда модель разработана (создана структура связей между подсистемами моделируемой системы), она может быть реализована на разном программном обеспечении. Главная задача курса — получение опыта конструирования имитационных моделей, и для того, чтобы сосредоточится непосредственно на этой задаче можно использовать самую доступную программную среду: электронные таблицы. Автор курса надеется, что приведенные здесь материалы могут быть полезными в освоении моделирования и для других «потребителей» — от школьников до специалистов в других отраслях.

Зачем надо делать имитационные модели? В первую очередь, чтобы понять, как функционируют объекты моделирования. Некоторые объекты мы можем «сделать» (в том смысле, как это понимается в эпиграфе к этому пункту), например, мы можем создать экспериментальную популяцию. Но ее создание и эксперименты с ней растянутся на значительное время. Некоторые объекты «сделать» нельзя, как, например, нельзя сделать вторую биосферу. Но и для тех, и для других объектов мы можем сделать имитационные модели, которые будут способствовать расширению нашего понимания.

Курс имитационного моделирования можно разделить на три этапа (не имеющие четких границ, но отличающихся по основному характеру деятельности студентов и преподавателя).

Этап I — выполнение пошаговых инструкций. Студенты знакомятся с основными инструментами, используемыми для моделирования в среде Calc. Вероятно, их будет ожидать удивление: очень небольшой список команд и приемов позволяет создавать очень разные имитационные модели. В ходе этого этапа студенты должны пошагово повторить инструкции, подробно прописанные в данном конспекте. По мере роста профессионализма студентов детальность инструкций снижается.

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

Этап III — свободный полет: создание собственных моделей. Количество проблем, для решения которых можно использовать имитационное моделирование, поистине неограниченно. На этом этапе преподаватель знакомит студентов с некоторыми проблемами, которые кажутся интересными для него. Студенты могут сами предлагать проблемы, которые интересуют их самих. На этом этапе следует в ходе самостоятельной работы с обсуждением проблем, приемов и результатов моделирования решать интересные для участников процесса задачи. Некоторые из полученных в ходе этого этапа моделей, с согласия всех заинтересованных сторон, могут быть использованы как учебные модели для II этапа курса.

Автор искренне благодарит коллег, а также прошедших через курс студентов за соучастие в разработке курса.

1.2. Основные понятия

Система — организованное целое; совокупность подсистем с характерной структурой связей и общей целью (функцией оптимизации).

Модель — представление о системе; система, существенные свойства которой соответствуют системе-оригиналу.

Свойства систем можно разделить на две группы: аддитивные и эмергентные (подробнее — в учебнике экологии). Эмергентные свойства возникают в результате взаимодействия подсистем. Часто, даже знающий набор и характер связей подсистем в системе квалифицированный наблюдатель оказывается в положении, когда он не может заранее предсказать, какими эмергентными свойствами будет обладать система (т.е. эмергентные свойства систем оказываются труднопредсказуемыми и даже часто контринтуитивными, т.е. не такими, какими их интуитивно ожидает исследователь). Почему так получается? В какой-то степени, это — следствие характерного для нас способа мышления. Наше мышление хорошо приспособлено для отслеживания цепочек из причин и следствий (см. «Цепочка следов антилопы») и плохо — для прогнозирования результата взаимодействия многих идущих одновременно и влияющих друг на друга процессов. Действительность организована иначе. Для нашей логики, которая раскладывает узел взаимовлияний на парные процессы, подсчет той конформации, которую примет белковая молекула определенного состава в результате взаимодействия ее разных участков друг с другом — сложнейшая задача. В то же время синтезированная молекула белка без всяких размышлений и подсчетов переходит в то состояние, которое ей соответствует. Вычисляя движение трех взаимодействующих тел (например, траекторию спутника в поле притяжения Земли и Луны), мы вынуждены применять многочисленные итерации (повторы однотипных вычислительных процедур), а любой камень без всяких вычислений уверенно выбирает свою траекторию.

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

В ходе моделирования чрезвычайно важно понимать, что модель это не оригинал. То, что модель обладает какими-то свойствами, не доказывает, что ими обладает оригинал. Обычно с использованием моделей нельзя доказать истинность каких-то гипотез, но часто можно найти внутренние противоречия в предположениях, использованных при построении модели. Устранение этих противоречий потребует замены неверных начальных посылок (может быть, на новые неверные предположения, а если повезет — то и на хорошо соответствующие действительности гипотезы).

Модели по своей природе могут быть разделены на следующие группы:

  • физические (материальные);
  • символьные (идеальные):
    • концептуальные:
      • вербальные;
      • графические;
    • математические (численные):
      • аналитические;
      • имитационные.

Кроме того, математические модели можно характеризовать еще по нескольким существенным признакам: дискретные — непрерывные; детерминированные — вероятностные (стохастические); статические — динамические.

1.3. Сравнение аналитических и имитационных моделей

Математические модели могут быть представлены в виде преобразования входных параметров (обозначим их совокупность X) в выходные (Y). В таком случае работу системы преобразований, составляющей алгоритм модели (обозначим ее как W) можно описать так: W(X)=Y

В чем разница между аналитическими моделями (англ. analytical models) и имитационными моделями (англ. simulation models)? В случае аналитического моделирования — это формула или система уравнений, в случае имитационного моделирования — пошаговый алгоритм преобразований входных параметров, логика которого соответствует процессам, которые происходят в системе-оригинале. 

Аналитическое моделирование — мощный метод для решения относительно простых задач, которые могут быть представлены в обобщенной форме. К примеру, мы изучаем динамику тела, на которое действует определенная сила. Получив серию оценок его состояния, мы можем установить, что масса тела (m), действующая на него сила (F) и вызванное ей ускорение (a) связаны зависимостью F=m×a — эта закономерность называется вторым законом Ньютона. Это — замечательная аналитическая модель. Легко представить себе условия, в которых динамика тела будет очень точно описываться этим уравнением.

«Аналитическое представление подходит лишь для очень простых и сильно идеализированных задач и объектов, которые, как правило, имеют мало общего с реальной (сложной) действительностью, но обладают высокой общностью. Данный тип моделей обычно применяют для описания фундаментальных свойств объектов, так как фундамент прост по своей сути. Сложные объекты редко удаётся описать аналитически». (О.И.Бабина)

Аналитические модели используют и в экологии. К примеру, мы можем предположить, что прирост популяции соответствует экспоненциальной модели, то есть пропорционален ее численности, т.е. dn/dt=r×N (где N — численность популяции, а r — биотический потенциал, мера «размножаемости» особей). Это дифференциальное уравнение можно решить: Nt=N0ert. Однако в этом случае ситуация несколько иная, чем в физике. Получить ряды наблюдений, точно соответствующих этой модели, практически невозможно. Слишком много разных факторов влияет на динамику численности практически любой реальной популяции... Для действия многих из этих связей сложно найти их математически простые описания. Что же делать? 

«Альтернативой аналитическим моделям являются имитационные модели <...>. Основное отличие имитационных моделей от аналитических состоит в том, что вместо аналитического описания взаимосвязей между входами и выходами исследуемой системы строят алгоритм, отображающий последовательность развития процессов внутри исследуемого объекта, а затем «проигрывают» поведение объекта на компьютере. К имитационным моделям прибегают тогда, когда объект моделирования настолько сложен, что адекватно описать его поведение математическими уравнениями невозможно или затруднительно. Имитационное моделирование позволяет разлагать большую модель на части (объекты, «кусочки»), которыми можно оперировать по отдельности, создавая другие, более простые или, наоборот, более сложные модели. Таким образом, основным преимуществом имитационного моделирования по сравнению с аналитическим является возможность решения более сложных задач, так как имитационную модель можно постепенно усложнять, при этом результативность модели не падает». (О.И.Бабина)

В последующих пунктах этого пособия показан постепенный переход от воплощения аналитической модели ко все более сложным имитационным моделям. К примеру, от относительно простых формул можно перейти к описанию популяции как совокупности особей, для каждой из которых учитывать ее возраст, пол, вероятность размножения с каждым из потенциальных партнеров, вероятность выживания и ее динамику, потенциальную плодовитость и ее динамику, а также иные характеристики, которые могут повлиять на популяционную динамику. Хотя в такой модели и используются многочисленные формулы (например, для описания изменений во времени различных характеристик особи), такая модель превращается в систему пошаговых преобразований, соответствующих протекающим в объекте-оригинале процессам — т.е. в имитационную модель. К примеру, на рис. 1.1 показано, как работает модель, описывающая преобразования гемиклональных популяционных систем (ГПС) гибридогенного комплекса зеленых лягушек (источник).

Рис. 1.1. Логика работы модели, описывающей трансформации гемиклональных популяционных систем зеленых лягушек (Шабанов, 2015)

В модели, логика работы которой показана на схеме, все особи, принадлежащие к одной группе и имеющие один возраст, считаются одинаковыми (это группа iGa, где i — определенный генотип и a — определенный возраст). Совокупность этих групп последовательно проходит через несколько преобразований, имитирующих процессы, которые идут в действительных популяционных системах лягушек. Представители каждой группы характеризуются своим набором вероятности выживания и размножения. Так, шаг за шагом, имитационная модель перестраивает описание популяционной системы. Иногда выводы, полученный с помощью такой модели, оказываются полезными... 

1.4. Моделирование в биологии

В настоящее время моделирование стало целой наукой (и практикой с элементами творчества), на стыке математики, computer scienses и т.н. «предметных областей» — наук, которые описывают объекты исследования, т.е. биологии в случае изучения разнообразных биосистем. Проведение исследований на стыке наук сплошь и рядом сталкивается со значительными сложностями: характер мышления биологов, математиков и компьютерщиков отличается достаточно сильно. То, что представляется естественным одному специалисту, «не помещается в голове» у другого.

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

1.5. Электронные таблицы как среда для моделирования

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

MS Excel — проприетарная программа, то есть ее исходный код является собственностью ее производителя. Кроме того, это — коммерческий продукт, который его производитель продает пользователям. У MS Office есть ряд аналогов, относящихся к свободному и бесплатному ПО. В состав этих пакетов также входят электронные таблицы. Для того, чтобы описанные в данном пособии действия можно было выполнять на любом компьютере, вне зависимости от того, какая операционная система на нем установлена, а также является ли пользователь обладателем лицензии на коммерческое программное обеспечение, приведенные в этой книге примеры относятся к LibreOffice Calc (LO Calc). LO Calc распространяется по свободной лицензии. Надо подчеркнуть, что это – не ослабленный аналог Microsoft Office Excel, а самостоятельный программный продукт, в некоторых отношениях превосходящий свои аналоги.

1.6. Какую пользу биолог может получить от использования модели?

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

Большинство биологов видит пользу от моделирования в возможности прогноза динамики системы-оригинала. Однако прогнозированием польза от имитационного моделирования не исчерпывается. Здесь будет рассмотрено еще два механизма, которые могут сделать имитационное моделирование полезным для биолога. Работа обоих этих механизмов  проверена на собственном опыте автором этого пособия.

1.7. Прогнозирование

Использование моделей для прогнозирования — самый распространенный и легче всего воспринимаемый непрофессионалами способ использования моделей. Динамика системы-оригинала регистрируется на определенной совокупности состояний (в данном контексте эту совокупность можно назвать «учителем»). Создается модель, которая обеспечивает на «учителе» ту же динамику, что и у оригинала. Это соответствие динамик может быть достигнуто самыми разными способами. В случае аналитических моделей, исследователь может надеяться на то, что он вскрыл сущность связи между входными и выходными параметрами. В случае модели на нейронной сети в типичном случае нет никакой надежды на то, что модель отражает причинно-следственные связи внутри оригинала: важно, что модель умеет предсказывать его динамику. На следующем этапе с помощью модели узнают, как будет вести себя система-оригинал за пределами набора состояний, которые были использованы для ее обучения.

Надо подчеркнуть: если модель используется для исследования состояний оригинала, которые принадлежат к уже изученным типам состояния оригинала, есть надежда, что модельный прогноз будет столь же (или почти столь же) хорошо соответствовать динамике модели-оригинала, как поведение модели соответствовало оригиналу на «учителе». К сожалению, часто модель пытаются использовать для прогноза динамики оригинала в состояниях, относящихся к ранее не изученным или не наблюдавшимся типам! Одним из примеров такого использования может быть модель «ядерной зимы». Изучая динамику атмосферы Земли в наблюдавшемся диапазоне режимов ее функционирования, американские и советские авторы климатических моделей пытались определить, как эта система будет себя вести в ранее не наблюдавшихся условиях. В результате двумя коллективами был получен сценарий т.н. «ядерной зимы» (проиллюстрированный в этой модели). Реалистичность этого сценария должным образом не обоснована (что не помешало ему сыграть заметную роль в мировой политике). Итак, хотя модельный прогноз доказать невозможно, он может быть использован в ходе принятия решений как один из возможных сценариев.

1.8. Уточнение представлений об объекте в ходе их формализации

В типичном случае биолог в своей работе использует неформализованные («рыхлые») системы представлений об изучаемых объектах. Естественно, такая система тоже является моделью. «Рыхлость" ее проявляется, в частности, в том, что разные аспекты таких представлений могут противоречить друг другу. Чтобы построить имитационную модель, он должен формализовать свои представления, т.е. перевести их в непротиворечивый конечный набор однозначных утверждений. На этом этапе можно будет говорить о формализованной концептуальной модели. Такая модель выделяет внутри системы-оригинала ряд подсистем и формулирует предположения о характере связей этих подсистем. 

Формализация при создании концептуальной модели — непростая задача. Очевидно, что действительность сложнее и богаче любой схемы, и в ходе формализации исходных представлений отражение действительности приходится в эту схему «впихивать», «обрезая» и отбрасывая множество деталей. Любая модель всегда проще действительности! Именно потому, что формализация является результатом серьезной работы по созданию непротиворечивого (хотя бы внешне!) описания действительности, она обладает самостоятельной ценностью. В ходе формализации зачастую удается выявить противоречия внутри имевшихся представлений, упростить используемые способы описания. Типичной является ситуация, когда в ходе моделирования становится ясным, какого рода эмпирических данных недостает. В таком случае модель позволяет создать программу для направленного сбора недостающих данных.

Созданная в результате формализации концептуальная модель может быть воплощена в различных имитационных моделях (например, отличающихся по тому, на какой программной платформе они созданы). На этапе воплощения модели также может происходить конкретизация и улучшение и самой концептуальной модели, и исходной системы представлений. Обратные связи, приводящие к совершенствованию используемых моделей, условно показаны на схеме, взятой из работы М. А. Кравченко, посвященной моделированию популяционных систем зеленых лягушек (рис. 1.2).

Рис. 1.2. Работа обратных связей, способствующих уточнению моделей, в ходе имитационного моделирования (Кравченко, 2013)

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

1.9. Тестирование гипотез, отраженных в вариативной части модели

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

Способность модели проверять разные предположения, на основании которых строились ее алгоритмы, можно использовать и специально. Для этого следует разделить алгоритма модели на две части: инвариантную и вариативную. Инвариантная часть алгоритма модели реализуется в любом случае, так как отражает те особенности оригинала, которые можно считать твердо установленными. Вариативная часть алгоритма может быть представлена несколькими альтернативными вариантами, каждый из которых отражает определенную гипотезу о неизвестных аспектах функционирования системы-оригинала.

Как проявится противоречия между определенной гипотезой, отраженной в одном из вариантов вариативной части модели, и надежно установленными фактами? Не только в неадекватности работы модели. Результаты моделирования можно протестировать на соответствие имеющимся результатам наблюдений за системой-оригиналом. Вот как этот процесс был описан в работе, посвященной моделированию разнообразия ГПС (гемиклональных популяционных систем) гибридогенного комплекса зеленых лягушек (рис. 1.3).

Рис. 1.3. Тестирование гипотез, отраженных в вариативной части модели (Шабанов, 2015)

В левом верхнем углу рис. 1.3 схематически показано эмпирически наблюдаемое разнообразие ГПС. Причины такого разнообразия рассматривает система представлений, которая строится исследователем. Система представлений неформализованная; кроме установленных фактов она включает презумпции (предположения, принимаемые «по умолчанию», до того, как появятся основания заменить их на какие-то альтернативы) и гипотезы. Гипотезы и те презумпции, справедливость которых хочет проверить автор модели, включаются в вариативную часть модели. Исследование проводится с принятием разных вариативных частей модели; в каждом из этих случаев модель порождает определенное разнообразие состояний моделируемых систем. Это дает возможность сравнить результаты моделирования с эмпирическими данными.

В примере, который условно показан на схеме, вариант вариативной части модели, обозначенный А, порождает распределение состояний, отличающееся от эмпирического. Это является основанием счесть комплекс предположений, положенный в основу этого варианта, опровергнутым. Вариант В порождает разнообразие состояний, соответствующее эмпирическим данным. Считать доказанным его нельзя (справедливость модели доказать вообще невозможно), но можно заключить, что он с успехом прошел эту проверку. 

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

Мы указали, что работа модели может быть представлена так: W(X)=Y. Используем эти обозначения, чтобы описать структуру модели. Модель — это система, в минималистском варианте состоящая из следующих подсистем:

  • X — входные (начальные) параметры:

  • W — система преобразований:

    • расчетные величины:

    • связи — формулы и условия, по которым осуществляется вычисление расчетных величин и выходных параметров на основании входных параметров и, при необходимости, других расчетных величин:

  • Y — выходные (итоговые) параметры.

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

  • I — информационное поле (с названием модели и необходимыми пояснениями);

  • X — входные (начальные) параметры:

    • значения входных параметров;

    • средства редактирования и визуализации входных параметров;

  • W — система преобразований:

    • V — вариативная часть модели: отражение в алгоритме обработки входных параметров определенных гипотез, описывающих функционирование системы-оригинала: 

      • значения вариативных параметров, используемых при вычислениях;

      • условия, описывающие определенный вариант алгоритма вычислений;

    • I — инвариантная часть модели:

      • промежуточные значения:

        • расчетные величины;

        • случайные величины, заданные генератором псевдослучайных чисел;

      • связи — формулы и условия, по которым осуществляется вычисление расчетных величин и выходных параметров на основании входных параметров, других расчетных величин, а также случайных величин;

  • Y — выходные (итоговые) параметры:

    • значения выходных параметров;

    • средства визуализации выходных параметров.

Вы можете убедиться, что развернутая структура отличается от минималистской в нескольких важных отношениях. Развернутая структура описывает стохастическую (вероятностную) модель, поскольку использует в вычислениях случайные числа. Минималистская структура описывает детерминистскую модель, в которой любому определенному набору входных параметров однозначно соответствует определенных набор выходных параметров. В развернутой структуре система преобразований разделена на две части: вариативную (V) и инвариантную (I). Наконец, развернутый вариант предусматривает более богатый набор средств редактирования и, особенно, визуализации.

1.11. Литература

Единого учебника по данному курсу не существует. Для работы в ходе освоения программы курса будут полезны, во-первых, это пособие (которое развивается и дополняется по мере чтения соответствующего курса) и, во-вторых, значительное количество печатных и сетевых источников. Среди них можно выделить те, которые способствуют развитию общего понимания, или те, которые рассматривают отдельные аспекты моделируемых систем. Ссылки на некоторые из них приведены ниже.

Медоуз Д.Х. Азбука системного мышления. М.: БИНОМ. Лаборатория знаний, 2011. - 343 с.

Медоуз Д., Рандерс Й., Медоуз Д. Пределы роста. 30 лет спустя. М.: ИКЦ «Академкнига», 2007. - 342 с.

Коросов А. В. Имитационное моделирование в среде MS Excel (на примерах из экологии). ПетрГУ. Петрозаводск, 2002. 212 с