Клеточно-автоматное моделирование пространственной

advertisement
Федеральное государственное бюджетное учреждение науки
Институт вычислительной математики и математической геофизики
Сибирского отделения Российской академии наук
На правах рукописи
Афанасьев Иван Владимирович
Клеточно-автоматное моделирование пространственной самоорганизации
популяций организмов в озере Байкал
Специальность 05.13.18
Математическое моделирование, численные методы и комплексы программ
ДИССЕРТАЦИЯ
на соискание ученой степени
кандидата физико-математических наук
Научный руководитель
д.т.н., проф.
Бандман Ольга Леонидовна
Новосибирск 2014
2
Оглавление
Оглавление.................................................................................................................. 2
Введение....................................................................................................................... 4
Глава 1. Обзор методов моделирования процессов самоорганизации............. 12
1.1. Моделирование процессов самоорганизации................................................. 12
1.2. КА-подход к моделированию процессов самоорганизации .......................... 15
1.2.1. Общее понятие классического КА............................................................ 16
1.2.2. Композиционные КА-модели ................................................................... 20
1.3. Выводы к главе ................................................................................................ 23
Глава 2. КА-модель динамики численности организмов озера Байкал .......... 24
2.1. Постановка задачи моделирования динамики численности организмов ..... 24
2.2. Математическое описание модели.................................................................. 25
2.2.1. Собственное перемещение организмов................................................... 27
2.2.2. Перемещение организмов под влиянием течений ................................... 28
2.2.3. Оператор изменения численности ............................................................ 30
2.2.4. Зависимость рождаемости от сезонов ...................................................... 32
2.2.5. Влияние загрязнений ................................................................................. 33
2.3. Оценка сложности алгоритмов ....................................................................... 34
2.4. Выводы к главе ................................................................................................ 39
Глава 3. Программная реализация ....................................................................... 41
3.1. Архитектура программного комплекса .......................................................... 42
3.2. Отображение структуры модели на архитектуру модельной части
программного комплекса ....................................................................................... 42
3.3. Программный комплекс .................................................................................. 44
3.3.1. Структуры данных..................................................................................... 44
3.3.2. Реализация оператора перехода F............................................................. 45
3.3.3. Методы представления входных данных модели .................................... 47
3.3.4. Используемые технологии ........................................................................ 50
3.4. Результаты распараллеливания вычислений на системах с общей памятью51
3
3.5. Выводы к главе ................................................................................................ 52
Глава 4. Верификация модели ............................................................................... 54
4.1. Верифицируемые параметры .......................................................................... 54
4.2. Оценки верифицируемых параметров, доступные в литературе .................. 55
4.3. Получение модельных оценок верифицируемых параметров ...................... 55
4.4. Сравнение результатов моделирования и экспериментальных данных ....... 57
4.5. Выводы к главе ................................................................................................ 58
Глава 5. Результаты моделирования .................................................................... 59
5.1. Тестовые эксперименты .................................................................................. 61
5.1.1. Исследование поведения базовой части модели для равномерного и
неравномерного начального распределения ...................................................... 61
5.1.2. Влияние зависимости рождаемости голомянок от сезонов..................... 63
5.1.3. Влияние водных течений .......................................................................... 64
5.2. Вымирание макрогектопуса в северной части озера ..................................... 67
5.3. Влияние загрязнения на динамику численности организмов ....................... 68
5.4. Выводы к главе ................................................................................................ 71
Заключение ............................................................................................................... 73
Список литературы ................................................................................................. 75
4
Введение
Впервые термин самоорганизующаяся система был употреблён в 1947 в
работе У. Эшби [1], где сформулирована основная характеристика таких систем эволюция к устойчивым состояниям. В 1980-е в рамках науки синергетики Хакен
даёт следующее определение: самоорганизация – это процесс пространственного,
временного и пространственно-временного упорядочения в открытой системе за
счёт согласованного взаимодействия элементов её составляющих [2, 3].
Известно большое число самоорганизующихся процессов в биологии,
химии, физике, экономике, социологии. Примерами служат процессы разделения
фаз, формирование звёзд, конвективные и гидродинамические ячейки, класс
реакций Белоусова-Жаботинского, кристаллизация, сверхпроводимость, лазер,
перколяция, сворачивание белков, окраска животных, формирование липидных
двухуровневых мембран и т.д.
Наиболее известным примером процесса самоорганизации является класс
реакций
Белоусова-Жаботинского
(РБЖ)
[4,
5].
Белоусов
обнаружил
автоколебания в химических реакциях в 1951 г, что до того момента считалось
невозможным. Под РБЖ понимают класс химических реакций, протекающих в
режиме, при котором параметры реакции (цвет, концентрация компонентов,
температура и др.) изменяются периодически в пространстве и времени.
Принципы
самоорганизации
используются
при
построении
сетевых
структур. Например, в задачах самонастройки и саморегуляции компьютерных
сетей и распределения ресурсов в компьютерных ГРИД-сетях [6, 7].
Процессы самоорганизации важны и при социологических исследованиях.
Концепция самореференциальности была предложена Никласом Луманом (1984)
как применение теории самоорганизации к социологии, в которой элементами
социальной системы являются самовоспроизводящиеся коммуникации [8].
С
развитием
исследований
в
области
самоорганизации
возникла
потребность в построении моделей для процессов пространственно-временной
5
самоорганизации. В основном, модели базируются на системах нелинейных
дифференциальных уравнениях в частных производных, которые сложно решать
и трудно распараллеливать. Альтернативным решением являются клеточноавтоматные (КА) модели, позволяющие, используя сравнительно простые
правила, моделировать сложные нелинейные процессы, включая и процессы
самоорганизации.
Понятие КА было введено Фон Нейманом в 1956 [9]. Классический КА [1012] представляет собой набор клеток - конечных автоматов с общим дискретным
алфавитом, которые образуют регулярную решетку. Для каждой клетки
определено множество её соседей и правило, согласно которому клетка через
дискретные интервалы времени изменяет своё состояние в зависимости от
состояний соседних клеток. Итеративный процесс смены состояний клеток
называют
эволюций
клеточного
автомата.
Исследовательский
интерес
представляет изменение глобальной картины состояний всех клеток.
Развитие
КА-моделирования
стимулируется
появлением
мощных
компьютеров, позволяющих за приемлемое время проводить вычислительные
эксперименты на больших объемах данных, без чего практическая ценность КАмоделей невысока.
Большую популярность теории клеточных автоматов принесла «игра
Жизнь», придуманная Джоном Конвеем в 1970-х [13]. «Игра Жизнь» - разбитая на
клетки прямоугольной формы замкнутая в тор поверхность. Клетки могут иметь
одно из двух состояний – «живая» или «мёртвая». Живая клетка умирает, если
среди её ближайших соседей меньше двух или больше трёх живых клеток.
Мёртвая клетка становится живой, если рядом с ней есть три живые клетки.
Такие
сравнительно
простые
правила
позволили
создать
самовоспроизводящиеся системы и бесконечно растущие фигуры. Более того,
было показано, что с помощью правил «игры Жизнь» можно промоделировать
машину Тьюринга [14].
6
«Игра Жизнь» наглядно демонстрирует важное свойство КА: даже при
относительно простых локальных правилах КА может моделировать сложные
нелинейные процессы.
Применительно к процессам самоорганизации КА используются в качестве
инструмента для построения моделей. Предложены КА-модели для изучения
поведения толпы [15], анализа коллективного движения живых организмов [16],
формирования устойчивых структур в задачах исследования развития популяций
[17],
шаблонно-ориентированном
экологическом
моделировании
[18],
пространственной экологии [19], и во многих других задачах.
L.O. Chua исследовал процессы образования устойчивых структур на
примере моделирования окраски рыб и животных с использованием клеточнонейронных сетей (CNN), - моделей, являющихся модификацией клеточноавтоматного подхода [20, 21]. Ванаг исследовал с помощью КА диссипативные
структуры в реакционно-диффузионных системах [22]. Предложена КА-модель
для некоторых реакций Белоусова-Жаботинского [23]. Исследованы КА-модели
для процесса разделения фаз [24, 25]. Предложены КА для анализа движения
автотранспорта [26, 27], исследования формообразования рисунков раковин
морских моллюсков или полос зебры [28 – 30].
Задачи
экологии
и
связанные
с
ними
задачи
моделирования
самоорганизующихся систем хищник-жертва являются актуальными при оценке
допустимого вмешательства человека в экосистему. Необходимо устанавливать
границы промысла животных или нормативы сброса промышленных отходов в
окружающую среду, чтобы не допустить исчезновения видов.
Началом математических исследований в экологии принято считать работы
Мальтуса (1798) [31], Ферхюльста (1838) [32] и
Пирла (1920) [33],
предложившим различные модели роста одной популяции, основанные на
обыкновенных дифференциальных уравнениях (ОДУ). Позже Лотка и Вольтерра
разработали модель двух взаимодействующих популяций, представляющую
собой систему двух ОДУ. В 1954 Риккером был предложен метод исследования
7
динамики
численности
отдельных
популяций,
основанный
на
конечно-
разностных уравнениях [34].
Базыкин проводил исследования динамики численности сообществ из двухтрёх взаимодействующих популяций с помощью систем ОДУ с постоянными
коэффициентами, применяя к ним теорию бифуркаций [35].
Основные ограничения, принимаемые при построении моделей динамики
популяций с помощью ДУ:
1. Предположение о большой численности популяций, что позволяет
пренебрегать флуктуациями численности из-за её дискретности, и,
соответственно, использовать аппарат дифференциальных уравнений. Учёт
флуктуаций требует применения теории случайных процессов [36] и
усложняет задачу [35].
2. Предположение о возрастной идентичности групп организмов. Учёт
возрастных различий для одной популяции в моделях на системах
дифференциальных
уравнений
требует
введения
запаздывающих
аргументов [37].
3. Предположение о полном перемешивании. Область моделирования при
этом
представляет
собой
одну
точку.
Учёт
пространственного
распределения организмов требует перехода к уравнениям в частных
производных.
Для исследования динамики популяций применяются и КА-модели. Так, в
2000-х были предложены КА-модели хищник-жертва, позволяющие учитывать
пространственное распределение организмов по области моделирования [38 – 41].
Исследование реальных природных явлений самоорганизации – непростая
задача, требующая совместной работы специалистов разного профиля: биологов,
экологов, кибернетиков.
В 1971 Меншуткиным были предложены теоретические модели, динамики
популяций, основанные на численном моделировании на ЭВМ систем ДУ, а также
их практическое применение для исследования популяций диаптомуса и окуня в
оз. Раздельном и пелагических рыб оз. Дальнего. [42]
8
Зоркальцев, Мокрый и Казазаева предложили модель динамики численности
трёх организмов озера Байкал на системе ОДУ в предположении о полном
перемешивании, но учитывающую возрастные особенности организмов [43]. В
основу их модели легли данные по реальным наблюдениям, что позволило
применить
абстрактные
модели
динамики
популяций
к
конкретным
экологическим процессам.
На сегодняшний день актуальны задачи оценки допустимого уровня
антропогенного
влияния
на
экосистемы
(возможные
загрязнения
или
промысловые работы). Для получения оценок необходимы математические
модели, описывающие процессы в экологических системах. Поскольку влияние
человека на экосистему, как правило, локально, важно, чтобы модели учитывали
распределение организмов по пространству. Также важным фактором являются и
сезонные особенности поведения организмов.
Целью настоящей работы является разработка клеточно-автоматной модели
динамики численности основных групп организмов озера Байкал, позволяющей
учитывать пространственное распределение организмов, локальные особенности
окружающей среды, а также влияние возможных локализованных загрязнений в
области моделирования. Разработка программного комплекса и проведение
численного моделирования динамики популяций при различных внешних
условиях.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Разработка математической КА-модели динамики численности восьми
групп организмов озера Байкал.
2. Разработка
алгоритмов
моделирования,
позволяющих
эффективно
реализовать математическую модель в виде программного комплекса в
последовательном и параллельном виде.
3. Верификация модели по известным данным о динамике популяций
организмов.
4. Использование модели для исследования влияния загрязнений на динамику
численности организмов. Поиск критических значений интенсивности
9
загрязнений: наименьшего значения, при котором происходит полное
вымирание организмов и наибольшего, влияние которого незаметно на
фоне естественных процессов.
Научная новизна

Предложена новая клеточно-автоматная модель динамики численности
основных видов организмов озера Байкал, являющаяся параллельной
композицией
восьми
клеточных
автоматов,
впервые
позволяющая
одновременно учитывать сезонность, пространственное распределение
особей, влияние течений, возможные локальные загрязнения области
моделирования.
 Предложен новый клеточно-автоматный алгоритм, позволяющий учитывать
перемещение организмов под действием водных течений.
 Предложены способы верификации модели по имеющимся в литературе
данным.
Положения, выносимые на защиту
 КА-модель динамики популяций основных видов организмов озера Байкал.
 Оценки временной сложности алгоритмов моделирования от размера сетки
и шага по времени.
 Результаты
верификации
модели
по
экспериментальным
данным,
приведённым в работах [43 – 46]. Полученные оценки по критериям
соотношения продукции к биомассе и частоте встречаемости организмов
отличаются от экспериментальных оценок не более чем на 20%, что
позволяет говорить о возможной практической применимости модели.
 Оценки критических значений интенсивности загрязнения, при которых
влияние загрязнения не заметно на фоне естественных колебаний
популяций и при которых происходит вымирание вида.
 Программный
комплекс
для
имитационного
поддерживающий возможность параллельного вычисления.
Практическая полезность
моделирования,
10
Предложенная модель и программная реализация позволяют исследовать
динамику
численности
предсказывать
основных
поведение
видов
организмов
популяции
при
озера
появлении
Байкал
и
различных
локализованных загрязнений в озере. Параллельная реализация алгоритма даёт
возможность проводить вычисления за приемлемое время, а проведённая
верификация
модели
предполагает
относительную
достоверность
предсказаний. Модель и реализация могут быть расширены для большего
числа организмов и применены к другим экосистемам.
Апробация работы и публикации
Результаты были представлены на российских конференциях:
1. Водные и экологические проблемы Сибири и Центральной Азии (Барнаул,
2012)
2. Параллельные вычислительные технологии (Челябинск, 2013),
3. Методы создания, исследования и идентификации математических моделей
(Новосибирск, 2013)
4. Конференция молодых учёных ИВМиМГ СО РАН (Новосибирск, 2014)
5. Математическое моделирование и высокопроизводительные вычисления в
биоинформатике, биомедицине и биотехнологии (Новосибирск, 2014)
6. The 9th International Conference on Bioinformatics of Genome Regulation and
Structure\System Biology. (Novosibirsk, 2014)
международных конференциях:
7. Parallel Computing Technologies (Санкт-Петербург, 2013),
семинарах:
8. Mathematics, Software, Architecture of Parallel Computations лаборатории
синтеза параллельных программ в ИВМ и МГ СО РАН,
9. В институте систем энергетики имени Л. А. Мелентьева СО РАН.
По полученным результатам опубликовано 9 работ, в том числе 5 статей, 3 из
которых в журналах, входящих в список ВАК.
Содержание
11
Диссертация состоит из введения, пяти глав, заключения, списка литературы
из 74 наименований. Документ содержит 4 таблицы и 32 рисунка.
В первой главе представлен обзор методов моделирования процессов
самоорганизации, дано формальное определение классических и композиционных
клеточно-автоматных моделей.
Во второй главе сформулирована задача построения модели динамики
численности организмов озера Байкал, приведено математическое описание
предлагаемой модели. Сформулированы правила перехода, описан способ
введения локальных загрязнений области в модель.
Третья глава содержит описание программной реализации модели. В ней
приведены
алгоритмы
основные
и
характеристики
способы
хранения
комплекса
данных.
программ,
Представлены
используемые
результаты
распараллеливания вычислений на системах с общей памятью.
В четвёртой главе описаны способы и результаты верификации модели.
В пятой главе представлены результаты вычислительных экспериментов.
Показано, как
учёт различных факторов в модели влияет на результат
моделирования. Исследовано поведение модели в случае начальных локальных
возмущений и в случае постоянно действующих локальных загрязнений.
Представлены оценки критической интенсивности загрязнения, ведущей к
полному вымиранию организмов и допустимого загрязнения, влияние которого не
заметно на фоне естественных процессов.
В заключении сформулированы основные результаты, полученные в работе.
Благодарности
Автор выражает глубокую благодарность своему научному руководителю
д.т.н., профессору Бандман Ольге Леонидовне за постоянную помощь, ценные
советы, грамотное руководство и поддержку.
12
Глава 1. Обзор методов моделирования процессов самоорганизации
1.1. Моделирование процессов самоорганизации
В пионерских работах по экологическому моделированию Мальтуса [31]
была предложена модель динамики популяции на ОДУ:
x  ax ,
описывающая
экспоненциальный
(1)
рост
численности
организмов.
Экспоненциальный рост популяции возможен при неограниченных потребляемых
ресурсах, отсутствии внутривидовой конкуренции и при условии, что на
популяцию не воздействуют иные негативные факторы, зависящие от их
численности, такие как число хищников и частота заболеваемости.
Учесть ограниченность ресурсов позволяет
модификация уравнения,
предложенная Ферхюльстом [32]:
x  ax
Kx
,
K
(2)
где K – стационарная численность популяции, зависящая от ресурсов, доступных
из окружающей среды. Здесь предполагается, что объём ресурсов хоть и
ограничен, но инвариантен относительно численности популяции. Примером
таких ресурсов может быть площадь ареала обитания, количество доступных
мест для создания гнёзд и т.д.
Но есть и другие важные ресурсы, доступность которых зависит от
численности популяции или динамики этой численности в прошлом. Например,
организмы, находящиеся на более низких уровнях трофической цепи. Для этого
случая
надо
рассматривать
динамику
нескольких
взаимодействующих
популяций, который будет базироваться уже на системе дифференциальных
уравнений. Такой способ был предложен Лотке и Вольтера [47]:
13
 dx
 dt    y x

,
 dy     x  y
 dt
(3)
где x – количество жертв, y – количество хищников, t – время, , , ,  постоянные коэффициенты, описывающие взаимодействия между организмами. В
модели
Лотке-Вольтерра
не
учтены
эффекты
насыщения
хищника
и
ограниченность ресурсов хищников и жертв.
В описанных выше моделях не учитывается различный возраст организмов
одной
популяции.
Этот
недостаток
преодолён
Хатчинсоном
[37].
Он
модифицировал модель Ферхюльста, добавив запаздывающий аргумент в
предположении, что скорость изменения численности популяции определяется её
численностью в некоторый предшествовавший момент времени:
x (t )  ax(t )
K  x (t  T )
.
K
(4)
Также проблема возрастных особенностей организмов была решена
дискретизацией популяции по возрастным группам в модели с использованием
матриц Лесли: [48-51]:
 x0 
 x0 
x 
x 
1

  L 1 
 
  ,




x
x
 w1  t 1
 w1  t
(5)
где x0, …, xw-1 – численность возрастных групп организмов, L – матрица Лесли,
содержащая коэффициенты рождаемости и выживаемости, w – максимальная
возрастная группа.
Базыкиным
предложены
модификации
модели
Лотке-Вольтерра,
учитывающие зависимость коэффициентов размножения от численности других
видов организмов, насыщение хищника, нелинейную зависимость числа жертв,
выедаемых хищником при малых плотностях жертвы,
конкуренцию между
14
хищниками не только за жертву, но и за другие ресурсы [35]. Также Базыкиным
были предложены системы трёх взаимодействующих организмов:
Система двух трофических уровней один хищник - две жертвы:
 x1  a1 x1  b1 x1 y

 x 2  a 2 x 2  b2 x 2 y
.
 y  cy  d x y  d x y
1 1
2 2

(6)
Система двух трофических уровней два хищника – одна жертва:
 x  a  b1 xy1  b2 xy 2

 y1  c1 y1  d 1 xy1 .
 y  c y  d xy
2 2
2
2
 2
(7)
Система трёх трофических уровней:
 x  ax  b1 xy  cx 2

 y  c1 y  d1 xy  b2 yz .
 z  c y  d yz
2
2

(8)
Свирежев [52] предложил модель популяции, учитывающую миграцию
особей по ареалу, используя диффузионный член:
x
 Dx  F ,
t
(9)
где F – типы локального роста популяции. Исследуя различные типы локального
роста, Свирежев изучал волны в популяциях.
Для исследования влияния загрязняющих веществ на динамику популяций в
работах
[53-54] предложены модели на дифференциальных уравнениях,
рассматривающие поведение одной популяции. В [55] исследована модель,
позволяющая учитывать комбинированное влияние нескольких загрязняющих
веществ на популяцию:
dci
 ri   i ci x   i ci , 1  i  k ,
dt
dx
  x  x 2   c1 , , c k x, t  0.
dt
(10)
15
где ci – концентрации загрязняющих веществ, (c1,…,ck) – коэффициент
смертности организмов под действием загрязнений.
Для учёта действия загрязнений используются и стохастические модели на
базе метода Монте-Карло [56].
Коллективом института систем энергетики СО РАН Зоркальцевым, Мокрым
и Казазаевой [43] была предложена модель динамики популяций трёх видов
организмов озера Байкал, в которой:
 учтены возрастные различия организмов с помощью разделения видов
организмов на дискретное число возрастных групп,
 подобраны
коэффициенты
абстрактной
модели
хищник-жертва,
позволяющие моделировать реальную экосистему,
 данные о численности групп организмов агрегированы по области
моделирования.
Модель
[43]
представляет
собой
систему
из
восьми
нелинейных
дифференциальных уравнений. Такие системы сложно решать аналитически,
поэтому был использован численный метод.
1.2. КА-подход к моделированию процессов самоорганизации
Альтернативный подход к исследованию процессов самоорганизации –
клеточно-автоматное моделирование. Его отличительные свойства [61]:
1. Дискретность пространства, времени и состояний.
2. Локальность взаимодействий по пространству и времени. Новые
состояния клеток зависят только от текущих состояний соседей.
3. Однородность. Область моделирования представляет собой множество
одинаково функционирующих клеток, организованных в регулярную
пространственную структуру.
16
Используя сравнительно простые правила перехода, КА позволяет
моделировать сложные нелинейные процессы, в том числе и процессы
самоорганизации.
1.2.1. Общее понятие классического КА
Существует несколько подходов к формальному описанию КА. Аладьев,
Бойко и Ровба при описании КА-моделей использовали формальные грамматики.
[62]. Chua предложил формализм клеточно-нейронных сетей. Эти формализмы
предназначены для теоретического изучения КА [20]. Для прикладных задач
удобнее
использовать формализм
разработанный
в
институте
алгоритмов параллельных подстановок,
математики
СО
РАН
для
проектирования
параллельных структур [63]. В данной работе рассмотрена его модификация,
предложенная для моделирования пространственной динамики [61].
Формально КА – четвёрка
  M , , f ,  ,
(11)
где
M – конечное множество имён клеток,
 – конечный алфавит состояний клеток,
f – локальный оператор перехода
 – режим функционирования.
Клеткой называется элемент множества M × Σ.
Локальной
конфигурацией
называется
содержащий саму клетку с именем c
конечный
набор
клеток
S(c),
и соседние к ней клетки. Локальный
оператор перехода f:
f : S (c)  S (c).
(12)
Локальный оператор f принимает на вход локальную конфигурацию S(c). Его
результат – локальная конфигурация f(S(c)), в которой изменены состояния клеток
17
(возможно, не всех) из S(c). Итерация или применение глобального оператора F –
применение локального оператора f ко всем клеткам.
Известны
два
основных режима
применения
глобального
оператора:
синхронный  =  и асинхронный  = . Синхронный режим предполагает, что
сначала вычисляются новые состояния клеток согласно локальному оператору
перехода, а затем все клетки одновременно изменяют свои старые состояния на
новые. В асинхронном режиме случайно выбирается клетка, вычисляется её новое
состояние и сразу заменяется старое состояние клетки на новое.
Простейшим
примером
классического
КА,
моделирующего
процесс
пространственной самоорганизации, может служить КА-модель процессов
разделения фаз двух веществ, предложенная в работе [64] и подробно
исследованная в [25]. Алфавит состояний клеток булев. Новое состояние клетки
зависит от суммы  состояний клеток из локальной конфигурации. Локальной
конфигурацией S(c) для этого КА является квадрат размером 55. Таким образом,
сумма  может принимать целочисленные значения от 0 до 25.
Локальный оператор перехода f в локальной конфигурации S(c) изменяет
только состояние клетки с именем c. При этом, новое состояние клетки равно 1,
если   A, и 0 в обратном случае, где A – некоторое подмножество множества
{0,..,25}.
В зависимости от множества A КА может моделировать различные процессы
самоорганизации. Для их классификации в [25] были введены критерии
«мелкозернистости»
и
«нечёткости
границ».
В
результате
численного
моделирования были выделены 3 группы:
1. «Полное разделение фаз». Примером КА этого класса будет КА с
множеством A = {11,13}  {15,..,25}. В результате работы этого КА
происходит полное
разделение веществ на два кластера. На рисунке 1
приведены некоторые итерации этого КА.
18
Рис. 1. Эволюция КА-представителя класса «полное разделение фаз».
Итерации (слева направо): t = 0, 5, 20, 300
2. «Мелкозернистые». КА этого класса приходят к устойчивому состоянию с
большим числом граничных клеток. Клетка считается граничной, если
среди её соседей есть клетка с иным состоянием.
КА
с оператором
перехода, соответствующим множеству A = {12}  {14,..,25} является
представителем этого класса. Некоторые его итерации приведены на
рисунке 2.
Рис. 2. Эволюция КА-представителя класса «мелкозернистость».
Итерации (слева направо): t = 0, 15, 230, 1000.
3. Разделяющиеся вещества с нечёткими границами. Для КА этого класса
характерно итоговое разделение веществ на два кластера, но граница между
кластерами размыта и в ней происходят постоянные колебания. Чтобы дать
численную характеристику этому явлению, введено понятие граничной
нечёткой клетки – клетка, чьи соседи и соседи соседей являются
граничными клетками. Нечёткость границ определяется как отношение
числа нечётких граничных клеток к числу граничных клеток. КА с
оператором перехода, соответствующим множеству A = {8, 9, 13, 14, 15} 
{18, … , 25} является представителем этого класса. Некоторые его итерации
показаны на рисунке 3.
19
Рис. 3. Эволюция КА-представителя класса «разделяющиеся вещества с «нечёткими
границами». Итерации (слева направо): t = 0, 15, 230, 1000.
Chua
разработал
альтернативный подход
к
формализации клеточных
автоматов, которые он назвал клеточно-нейронной сетью (CNN) [20]. Им были
предложены клеточно-нейронные сети, моделирующие окраску животных
(леопардов и рыб-зебр) (рис. 4).
Рис. 4. Слева – рыба-зебра, справа – результат моделирования клеточно-нейронной сетью.
Несколько
клеточно-автоматных
моделей
для
систем
хищник-жертва
предложены и исследованы работах [57-59]. В них хищники догоняют жертв в
некотором радиусе видимости, а жертвы убегают от хищников. При этом хищник
при поедании жертвы с некоторой вероятностью порождает потомство, а при
отсутствии пищи с некоторой вероятностью погибает.
Влияние неравномерности условий обитания по пространству на динамику и
распределение популяции для клеточно-автоматной модели исследовано в работе
[60]. В этой модели организмы одной популяции распространяются по области
моделирования, колонизируя её; и в каждой клетке определён параметр «качества
окружающей среды», влияющий на смертность организмов. Получающееся при
этом распределение организмов в устойчивом состоянии неравномерно.
КА могут обладать самыми разными характеристиками поведения. Поэтому
возникает
необходимость
в
классификации
КА
по
поведенческим
характеристикам. Такая классификация была предложена Вольфрамом [64]:
20
1. К первому классу отнесены КА, эволюционирующие к однородному
состоянию. Т.е. все клетки, начиная с некоторой стадии, находятся в
одинаковом состоянии. А небольшие изменения начального состояния не
влияют на устойчивое состояние.
2. Второй класс представляют КА, в результате эволюции которых образуются
устойчивые или периодические (в пространстве) структуры. При этом
локальные
изменения
начального
состояния
изменяют
устойчивое
состояние КА лишь локально.
Примерами являются КА типа «разделения фаз» класса мелкозернистых,
описанные в работе [25], КА-модель абстрактной системы хищник-жертва
[66], симулирующие окраску животных модели, предложенные в [20].
3. Третий
класс
динамическим
–
КА,
эволюционирующие
структурам.
При
к
локальных
сложным,
изменениях
возможно,
начального
состояния возможны сложные нерегулярные изменения в эволюции.
Примерами могут служить тоталистические КА формирования устойчивых
образов, рассмотренные в работе [67], “игра Жизнь” [13], КА формирования
устойчивых структур типа «полоски» [66] и др.
4. К четвёртому классу относят КА, эволюция которых представляет собой
хаотический процесс.
КА-модели процессов самоорганизации могут относиться к первому, второму
или третьему классу в предложенной классификации.
1.2.2. Композиционные КА-модели
Для
моделирования
более
сложных
процессов
используются
композиционные клеточно-автоматные модели. Есть два типа композиции КА:
последовательная и параллельная [24].
Последовательная композиция  нескольких КА 1, …, K с общим
множеством имён клеток M и общим множеством состояний клеток 
21
заключается в том, что сначала КА  проходит P1 итераций согласно правилам
перехода, определённым для КА 1, затем P2 итераций согласно правилам
перехода, определённым для КА 2, …, PK итераций согласно правилам перехода,
определённым для КА K. Числа P1, P2, …, PK определяются требованиями к
модели.
Параллельная композиция  нескольких КА 1, …, K заключается в том,
что несколько КА действуют одновременно каждый на своём множестве клеток,
но новые состояния клеток i могут зависеть не только от состояний клеток из i,
но и от состояний клеток остальных КА j, j  i.
Применительно к параллельной композиции двух КА, композиция может
быть однонаправленной и двунаправленной. При однонаправленной композиции
один из КА функционирует независимо, т.е. новые состояния его клеток не
зависят от состояний клеток другого КА. Тогда этот КА называют управляющим.
При двунаправленной композиции состояния клеток обоих КА зависят от
состояний клеток в соседнем КА. Графическое изображение взаимосвязей при
двунаправленной композиции представлено на рисунке 5
Рис. 5. Двунаправленная композиция КА. Красным отмечена клетка m, жёлтым локальная
конфигурация S(m).
Примером
моделирования
применения
процессов
параллельно-композиционных
самоорганизации
может
служить
КА
для
КА-модель
абстрактной системы хищник-жертва [66]. В ней используется система из двух
КА. Один КА описывает поведение хищника. Другой КА – поведение жертвы.
Алфавит обоих КА булев. Состояние u = 0 означает отсутствие организмов в
клетке, u = 1 – наличие. Поочередно применяются два правила перехода:
1. правило целочисленной диффузии для моделирования перемещения
организмов [68]
22
2. правило для моделирования демографических взаимодействий.
Считается, что хищники подвижнее жертв. Поэтому на одно применение
целочисленной диффузии к КА для жертв приходится несколько применений к
КА для хищников.
Для
моделирования
демографических
отношений
используются
осреднённые значения клеток. Вещественное число u – осреднённое по
пространству среднее значение хищников, v – жертв в квадрате 21  21. Тогда
новые состояния клеток будут равны:
0,
v'  
1,
0,
u' 
1,
если
u  v
& random  pv0
если
u  v
& random  pv1
если
u  v
& random  pu 0
если
u  v
& random  pu 1
p v 0 
pv 1 
(13)
,
v  u
v
v 1  v

2
(14)
pu 0  v
pu1  u  v
В результате эволюции КА получается устойчивый образ из пятен, пример
которого показан на рис. 6. Пятна на КА для хищников более размыты, потому
что к этому КА большее число раз применяется целочисленная диффузия, чем к
КА для жертв, пятна на котором имеют более чёткие границы.
Рис. 6. Пример образа из пятен, формируемого КА для абстрактной модели хищник
(слева) – жертва (справа). Более тёмный цвет означает большую плотность организмов.
23
В работе [66] показано, что параллельно-композиционные КА эффективно
реализуются на вычислителях с общей памятью, а в [69] – с распределённой
памятью.
1.3. Выводы к главе
В первой главе дан обзор существующих методов моделирования процессов
самоорганизации, из которого следует, что:
1. Модели, основанные на дифференциальных уравнениях, используются для
описания процессов самоорганизации, но попытки учесть всё большее
число явлений влекут усложнение систем дифференциальных уравнений,
которые аналитически становится решать крайне сложно, а численные
решения порой трудно распараллеливать.
До сих пор аналитические исследования самоорганизующихся систем
хищник-жертва,
построенные
на
дифференциальных
уравнениях,
ограничивались двумя-тремя группами организмов. Переход к численным
методам позволяет снять это ограничение [43].
2. Базовым
принципом
клеточно-автоматного
моделирования
является
возможность учитывать пространственное распределение, и в его рамках
уже описаны способы распараллеливания вычислений на системах с общей
и распределённой памятью.
24
Глава 2. КА-модель динамики численности организмов озера
Байкал
2.1. Постановка задачи моделирования динамики численности
организмов
Учёт всех организмов озера – достаточно трудоёмкая задача. По биомассе
озера среди рыб абсолютное лидерство занимает голомянка [43]. Её основной
корм – макрогектопус и собственная молодь. В модели учтены три вида
организмов: макрогектопус (macrohectopus), малая голомянка (comephorus
dubowski) и большая голомянка (comephorus baicalensis).
Каждый из видов разделен на возрастные группы. Макрогектопус на
неполовозрелых и половозрелых. Малая и большая голомянки на однолеток,
неполовозрелых и половозрелых. В дальнейшем для краткости виды организмов
будем обозначать буквами {m, d, b}, а возрастные группы – цифрами {1, 2, 3}:
m1 – неполовозрелые особи макрогектопуса
m2 – половозрелые особи макрогектопуса
d1 – однолетки малой голомянки
d2 – неполовозрелые особи малой голомянки
d3 – половозрелые особи малой голомянки
b1 – однолетки большой голомянки
b2 – неполовозрелые особи большой голомянки
b3 – половозрелые особи большой голомянки
Между группами организмов определены демографические отношения и
отношения хищник-жертва. Демографические отношения определяют, кто в кого
вырастает, и кто кого порождает. Особи младших групп вырастают в старших,
25
самые старшие порождают самых младших. Подробнее демографические
отношения представлены на рисунке 7.
Рис. 7. Демографические отношения между группами организмов.
Стрелками показано направление перехода численности.
Хищниками являются неполовозрелые и половозрелые особи малых и
больших голомянок. Жертвами являются неполовозрелые и половозрелые особи
макрогектопуса и однолетки голомянок. Все хищники поедают всех жертв с
разными
коэффициентами
предпочтений.
Отношения
хищник-жертва
представлены на рисунке 8.
Рис. 8. Отношения хищник-жертва.
Сверху расположены жертвы. Снизу – хищники.
2.2. Математическое описание модели
Композиционная КА-модель - четвёрка
  M , , f ,  ,
(15)
26
где множество имён клеток M представимо в виде объединения восьми
подмножеств Mi (  {m, d, b}, i  {1, 2, 3}), каждое из которых служит для
описания динамики численности конкретной группы организмов:
M  M 1m  M 2m  M 1d  M 2d  M 3d  M 1b  M 2b  M 3b
(16)
Каждое из подмножеств Mi биективно отобразимо на двумерную
квадратную сетку Q, покрывающую поверхность озера Байкал (рис. 9),

i
 биекция  i : Q  M i .
Рис. 9. Квадратная сетка Q, покрывающая поверхность озера Байкал.
Состояниями n   клеток являются неотрицательные вещественные числа,
характеризующие модельную плотность организмов в клетке.
В предложенной модели глобальный оператор F является последовательной
композицией двух операторов:
F  F1  F2 ,
(17)
 Оператор F1 предназначен для моделирования перемещения организмов. Он, в
свою очередь, является последовательной композицией двух операторов:
F1  Fd  Fs ,
(18)
o Оператор Fd отвечает за собственное перемещение организмов
o Оператор Fs отвечает за перемещение организмов под влиянием водных
течений
27
 Оператор F2 предназначен для моделирования процессов поедания, вымирания
и роста.
Модель
использует
режим
функционирования
,
комбинирующий
синхронный и асинхронный режимы: сначала асинхронно применяется F1, затем
синхронно применяется F2.
2.2.1. Собственное перемещение организмов
Пусть fz и Fz – локальный и глобальный операторы наивной диффузии [68].
f z : S1 (c)  S1 (c),
(19)
где S1(c) – набор ближайших соседей клетки с именем c, включая её саму.
Ближайшими соседями назовём клетки с именами из одного подмножества Mi,,
соответствующие соседним клеткам квадратной сетки Q.
Применение fz к клетке (c, n) выполняется в соответствии с алгоритмом:
1. Найти (c1, n1), …, (ck, nk) – ближайших соседей клетки (c, n), k  4.
2. Выбрать (ci, ni) случайно равновероятно.
3. Вычислить новые состояния n’ и n’i по формулам:
n'  n    n    ni
n ' i  n i    n    ni
,
(20)
где  - модельный коэффициент целочисленной диффузии, 0    1.
Оператор Fz применяется в асинхронном режиме.
Оператор Fd определяется с учётом разных скоростей организмов. Пусть l –
физический размер квадратной ячейки, vcr – средняя крейсерская скорость
организмов (зависит от вида  и возрастной группы i), t – физическое время,
соответствующее одной итерации КА. Тогда максимальное число ячеек,
пройденное организмом за время t, может быть вычислено как:
K i 
v cr t
.
l
(21)
28
Так как применение fz перемещает организм только на одну клетку, то
перемещение с крейсерской скоростью достигается Ki - кратным применением
оператора Fz на множестве Mi
Fd
K i
M i
 Fz 
(22)
.
2.2.2. Перемещение организмов под влиянием течений
Пусть stream – карта течений – отображение множества имен клеток M в
пространство двумерных вещественных векторов.
stream : M  R 2 .
(23)
Вектор stream(c) = (vx, vy) – физическая скорость течения в клетке с именем
c. Направление x соответствует направлению запад-восток, направление y –
направлению юг-сервер.
Локальный оператор fs моделирует перемещение организмов вдоль
траектории течения. Алгоритм применения fs к клетке рекурсивен. Сначала
просматривается клетка с именем c, затем её ближайшие соседи, в которые
течение переносит организмы, затем соседи соседей, и так далее. Рекурсия
обрывается на расстоянии, дальше которого течение не может перенести
организмы за время, соответствующее одной итерации.
Пусть
l
–
физический
размер
клетки,
t
–
физическое
время,
соответствующее одной итерации.
Алгоритм применения fs к клетке с именем c:
1.
Найти cxk и cyk – ближайших соседей клетки с именем ck в
направлении vxk и vyk, где
k – уровень вложенности рекурсии.
ck – имя просматриваемой клетки. На первом уровне рекурсии
просматривается клетка с именем c (c1 = c). На втором уровне
рекурсии просматриваются две клетки – ближайшие соседи клетки
29
с именем c1, в которые попадает течение (c2  {cx1, cy1}). На k-ом
уровне просматривается не более 2k клеток.
(vxk, vyk) = stream(ck) – вектор течения в клетке с именем ck.
2.
Вычислить nxk, nyk – число организмов клетки с именем ck,
перемещаемых
течением
в
клетки
с
именами
c xk
и
cyk
соответственно:
 k
v yk
,
if s ky  1
n k
k
 v x  v y
n ky  
,
k
v
 k
y
k
k
n v k  v k s y , if s y  1

x
y
 k
v xk
,
if s xk  1
n k
k
 vx  v y
n xk  
,
k
v
n k
x
s k , if s xk  1
 vk  vk x
x
y

(24)
где nk – модельное число перемещаемых организмов клетки с
именем ck. Число nk при k > 1 вычисляется на (k-1)-ом уровне
рекурсии на шаге 3, при k = 1, n1 – состояние клетки с именем c,
т.е. на первом уровне вложенности под действием течения
перемещаются все особи, находящиеся в клетке с именем c.
sxk, syk – модельные расстояния, преодолеваемые течением за время
k в количестве клеток:
 k v ky
 k v xk
k
s 
, sy 
,
l
l
k
x
(25)
k – физическое время, оставшееся для перемещения организмов
под действием водных течений в течение одной итерации с учётом
времени, затраченного на предыдущих уровнях рекурсии:
 1  t
k
 
k 1
 
(26)
k 1
k-1 – физическое время, затраченное течением на преодоление
одной клетки на (k-1)-ом уровне вложенности рекурсии:
 k 1 
l
v xk 1
или
 k 1 
l
v ky 1
(27)
30
3.
Если sxk > 1 (т.е. течение за время k может пересечь более одной
клетки в направлении x), то алгоритм рекурсивно выполняется для
клетки ck+1 = cxk с числом перемещаемых организмов nk+1 = nxk и
временем, затраченным на перемещение k = l / vxk. Аналогичная
проверка выполняется в направлении y.
Карта водных течений, используемая в экспериментах, взята из [70] и
представлена на рисунке 10.
Рис. 10. Карта водных течений, используемая в экспериментах.
Чтобы учесть влияние замерзания озера на скорость течений, физическая
скорость водных течений в период замерзания считается равной половине от
физической скорости в период, когда озеро свободно ото льда.
2.2.3. Оператор изменения численности
Пусть f2 – локальный оператор изменения численности:
f 2 : S 2 (c)  S 2 (c ),
(28)
31
где S2(c) – набор клеток-близнецов (рис. 11). Близнецами назовём клетки с
именами ci  Mi и cj  Mj, соответствующие одной и той же ячейке квадратной
сетки Q:
  m     m 
 1
i
i

i
 1
j

j
 : c  M i
 
q 
 1
i
(29)
(c), q  Q,
S 2 (c )   1m ( q ),  2m (q ),  1d (q ),  2d (q ),  3d ( q ),  1b ( q ),  2b (q ),  3b (q )
Рис. 11. S2(c)
Локальный оператор f2 применяется синхронно для всех клеток с именами
из M. Новое состояние клетки вычисляется по формуле:
n   n  

i

i

i

 nj  i  ni   i  ni t ,
(30)
где
 - вид особей, для которых применяется оператор изменения численности,
  {m, d, b},
i – возрастная группа особей, для которых применяется оператор изменения
численности, i  {1, 2, 3},
j – возрастная группа особей, порождающих особей возраста i. Если i > 0, то
j = i-1, иначе j – самая старая возрастная группа,
t – физическое время, соответствующее одной итерации КА,
i – коэффициент рождаемости,
i - коэффициент смертности,
i  nj – приток в группу за счёт рождаемости или старения предыдущей
возрастной группы,
32
i  ni – отток из группы за счёт смертности,
i  ni – отток из группы за счёт старения.
Коэффициенты рождаемости i, смертности i и старения i взяты из
статьи [43].
1. Коэффициенты старения i постоянны.
2. Коэффициенты смертности хищников d2, d3, b2, b3 постоянны,
3. Коэффициенты смертности жертв m1, m2, d1, b1 имеют вид:
i  ai   i n 2d  n3d    i n2b  n3b  ,
(31)
где ai, i, i – постоянные величины, i и i характеризуют
смертность от выедания хищниками (малыми и большими голомянками)
и зависят от вкусовых предпочтений хищников, ai характеризует
смертность от внешних причин. Из формулы (31) следует, что
коэффициенты смертности жертв являются линейными функциями от
модельной плотности хищников.
4. Коэффициент рождаемости m1 постоянен.
5. Коэффициенты рождаемости d1, b1 имеют вид:
1    n1m  n2m     n1d  n1b  ,
(32)
где постоянные коэффициенты  и  зависят от рациона хищников.
2.2.4. Зависимость рождаемости от сезонов
Чтобы учесть зависимость рождаемости от сезонов, в КА-модели
коэффициенты рождаемости d1 и b1 умножаются на функции
seasond(t) и
seasonb(t), графики которых приведены на рис 12.
seasonb (t ) : R  R
seasond (t ) : R  R
seasonb (t  1)  seasonb (t )
seasond (t  1)  seasond (t )
,
(33)
33
Рис. 12. Графики функций seasonb(t) (серый) и seasond(t) (чёрный).
По оси абсцисс отложен 1 год. Ноль соответствует 1 января.
Новые коэффициенты рождаемости (d1)’ и (b1)’ имеют вид:
   season (t )  
   season (t )  
d
1
d
d
1
b
1
b
b
1
(34)
2.2.5. Влияние загрязнений
Модель позволяет исследовать влияние вероятного загрязнения. Пусть
poll (c) : M  R
(35)
- карта загрязнений – функционал, ставящий в соответствие имени клетки
положительное
число,
характеризующее
интенсивность
загрязнения.
Предполагается, что загрязнение влияет на смертность организмов.
1. Новые коэффициенты смертности для хищников (d2)’, (d3)’, (b2)’, (b3)’
вычисляются по формуле:


i

(c)  i  i  poll (c).

(36)
2. Новые коэффициенты смертности для жертв (m1)’, (m2)’, (d1)’, (b1)’
вычисляются по формуле:


i

(c)  i  ai  poll (c) ,

(37)
34
где ai – постоянный коэффициент из формулы (31), обозначающий
смертность жертв от влияния внешней среды.
Карта загрязнений poll(c), используемая в вычислительных экспериментах,
показана на рисунке 13. Функционал poll(c) представляет собой плотность
стандартного нормального распределения с центром в клетке с именем c0 в
южной части озера Байкал, умноженную на константу.
Рис. 13. Карта загрязнений. Южная часть озера Байкал.
Серый цвет – земля. Белый – вода без загрязняющих веществ.
Интенсивность серого на воде пропорциональна интенсивности загрязнения.
2.3. Оценка сложности алгоритмов
Обозначим N = |Q| - количество ячеек квадратной сетки, покрывающих
область моделирования.
Для оценки сложности алгоритмов докажем следующие утверждения:
Лемма 1:
Оценка
временной
сложности
алгоритма
вычисления
глобального
оператора Fd на одну итерацию:


Fd  O t  N  N .
Доказательство:
(38)
35
Глобальный оператор Fd реализуется через последовательное применение
оператора целочисленной диффузии Fz несколько раз. Причём число применений
Fz зависит от группы организмов. Временная сложность одного применения
оператора
Fz
составляет
O(N),
поскольку
на
каждое
его
применение
просматриваются все без исключения клетки ровно по одному разу, причём объём
вычислений в каждой клетке постоянен.
Число Ki применений оператора Fz на одну итерацию для каждой группы
организмов, вычисляемое по формуле (21),
 пропорционально vcr – средней скорости организмов группы i (постоянная
величина – характеристика моделируемого объекта, не зависящая от
модели),
 пропорционально t – физическому времени, соответствующему одной
итерации (параметр моделирования, выбираемый при построении модели),
 обратно пропорционально величине l – физической длине квадратной
ячейки. Физический размер квадратной ячейки вычисляется по формуле:
l
S
,
N
(39)
где S – площадь области моделирования – характеристика моделируемого
объекта, не зависящая от модели.
Таким образом, число Ki применений оператора Fz к группе организмов i
прямо пропорционально величине:
(40)
N  t
Тогда получим оценку временной сложности алгоритма применения
оператора Fd на одну итерацию:


Fd  O t  N N .
(41)
■
Лемма 2:
Оценка
временной
сложности
алгоритма
оператора Fs на одну итерацию составляет:
вычисления
глобального
36

Fs  O N  2 t 
N
.
(42)
Доказательство:
Глобальный оператор Fs применяется единожды за одну итерацию, причём
соответствующий ему локальный оператор fs применяется для всех клеток ровно
один раз за одну итерацию.
Оценим временную сложность алгоритма одного применения локального
оператора fs. Алгоритм применения локального оператора fs рекурсивен, причём
на каждом следующем уровне рекурсии просматривается, как максимум, в два
раза больше клеток, чем на предыдущем. Условие обрыва рекурсии заключается в
том, что время, затраченное течением на прохождение клеток, превысило t.
Оценим Rmax – наибольшую возможную глубину вложенности рекурсии при
применении локального оператора fs ко всем клеткам. Пусть R(c) – максимальная
глубина вложенности рекурсии при применении локального оператора fs к
некоторой клетке с именем c. Т.е. можно выделить последовательность клеток с
именами c1,…, cR(c), с1 = с, просмотренных во время вычисления алгоритма на
клетке с именем c. Тогда можно выписать соотношение для физических времён
1,…,R(c) из формулы (27), затраченных течением на преодоление клеток с
именами c1,…, cR(c):
 1     R c   t .
(43)
Если обозначить за vmax максимальную скорость водных течений, то из
формулы (27) следует, что
i 
l
vmax
i  1,..., R c  .
(44)
Таким образом:
Rc 
Откуда следует оценка:
l
v max
 t .
(45)
37
R c  
t  vmax
.
l
(46)
Заметим, что выражение в правой части не зависит от имени клетки c, а
следовательно, верно для всех клеток. Таким образом, получена оценка
наибольшей возможной глубины вложенности рекурсии:
Rmax 
t  vmax
l
(47)
или:
Rmax  t  N
vmax
,
S
(48)
где характеристики моделируемого объекта – vmax и S являются
постоянными величинами, а t и N - параметры моделирования.
Тогда можно оценить сверху количество H просматриваемых клеток при
вычислении алгоритма локального оператора fs для одной клетки:
H 2
Rmax
t  N
2
vmax
S
(49)
.
Отсюда получим оценку временной сложности алгоритма применения
оператора Fs на одну итерацию:

Fs  O N  2 t 
N
.
(50)
■
Лемма 3:
Оценка
временной
сложности
алгоритма
применения
глобального
оператора F2 на одну итерацию:
F2  O N  .
(51)
Доказательство:
Очевидно, т.к. глобальный оператор F2 выполняется единожды на
итерацию, а временная сложность алгоритма применения f2 к одной клетке
составляет O(1).
38
■
Теорема:
Оценка временной сложности вычисления одной итерации алгоритма:

O N  2 t
N

(52)
,
где N – размер квадратной сетки, покрывающей поверхность области
моделирования, t – время, соответствующее одной итерации.
Доказательство:
Результатом лемм 1- 3 являются оценки временной сложности алгоритмов
вычисления глобальных операторов:

1.
Fd  O t  N  N
2.
Fs  O N  2 t
3.
F2  ON  .

N
,

,
Поскольку глобальные операторы в рамках одной итерации применяются
последовательно, временная сложность вычисления одной итерации алгоритма
может быть оценена как:

O t  N  N  N  2 t
N

(53)
N .
Т.к.
0
N  N 2  N 2
t  N
и lim
tN 
t  N
2
t  N
0,
(54)
то

O t  N  N  N  2 t
N
 
 N  O N  2 t
N
.
(55)
■
Следствие:
Оценка временной сложности моделирования динамики популяций за
ограниченный период времени P:
39
 N  2 t
O P 
t

N


.

(56)
Доказательство:
Для моделирования периода P необходимое количество T модельных
итераций равно:
T
P
,
t
(57)
где P – постоянная величина, t – параметр моделирования.
Согласно оценкам из лемм 1–3 временной сложности алгоритмов
вычисления глобальных операторов на одну итерацию, можно получить оценку
временной сложности для моделирования всего периода P.
t
 t  N  N
N

2
O P 
 P

t
t

t  N

N

2
 O P  N  N  P 
t

 N  2 t  N 
.
 O P 

t


N
N 
 P  
t 




(58)
■
2.4. Выводы к главе
Во второй главе описана предлагаемая клеточно-автоматная модель
динамики численности восьми групп организмов озера Байкал, представляющая
собой параллельную композицию восьми КА, каждый из которых описывает
динамику численности определённой группы организмов.
Модель позволяет учитывать пространственное распределение организмов,
их собственное перемещение и перемещение под действием водных течений,
40
зависимость рождаемости от сезонов, а также исследовать влияние возможных
загрязнений на динамику численности организмов.
Даны оценки временной сложности вычисления одной итерации и
моделирования некоторого временного периода от размера сетки |Q| и шага по
времени t.
41
Глава 3. Программная реализация
К программному комплексу, реализующему модель, выдвинуты следующие
требования:
 Полная реализация всех особенностей модели,
 Возможность прерывать процесс моделирования,
 Возможность задавать различные начальные условия моделирования без
перекомпиляции программы,
 Возможность изменять параметры модели без перекомпиляции программы
(параметры рыб, параметры окружающей среды, число ячеек и др.),
 Возможность
перекомпиляции
коэффициентов
отключать
различные
программы.
рождаемости
особенности
Например,
голомянок
модели
убрать
от
времени
без
зависимость
года,
убрать
перемещение организмов под действием течений, не учитывать загрязнения
и др.
 Поитерационная
визуализация
состояний
клеток
КА
в
процессе
моделирования, а также возможность отключать визуализацию без
перекомпиляции программы (для объемов данных, не вмещающихся в
память видеоадаптера),
 Сбор и подсчёт статистик процесса моделирования,
 Построение графиков динамики исследуемых параметров после процесса
моделирования,
 Анализ
верификационных
параметров
моделирования,
 Приемлемое время расчёта экспериментов,
 Кроссплатформенность кодовой базы,
модели
после
процесса
42
3.1. Архитектура программного комплекса
Архитектура программного комплекса имеет вид:
Рис. 14. Схематичное изображение архитектуры программного комплекса
 Модель – часть комплекса, отвечающая за программное представление
предлагаемой математической модели
 Контроллер – часть комплекса, отвечающая за управление процессом
моделирования:
o инициализация параметров модели ,
o управление процессом моделирования и визуализацией,
o реакция на команды пользователя.
 Визуализатор – часть комплекса, отвечающая за визуальное представление
процесса и результатов моделирования:
o итеративное отображение состояний для каждой из групп организмов,
o логирование исследуемых параметров,
o составление
графиков,
отображающих
динамику
исследуемых
параметров.
3.2. Отображение структуры модели на архитектуру модельной части
программного комплекса
Математическая модель представляет собой композицию восьми клеточных
автоматов, каждый из которых можно представить как слой квадратных ячеек,
описывающий поведение определённой группы организмов, где значениями этих
ячеек являются целые числа – состояния клеток. Параметры модели, такие как
43
карты течений и загрязнений, являются функциями, зависящими от имени клетки.
Карты течений и загрязнений также представимы слоем квадратных ячеек,
значениями которых являются векторы из R2 и числа из R соответственно.
Таким образом, математическая модель индуцирует архитектурное решение
для программной реализации модели, представляющей собой набор семантически
разных слоёв, каждый из которых отвечает строго за отведённую ему
функциональность.
Рис. 15. Соответствие слоёв математической модели и слоёв-модулей программной
реализации.
На рисунке 15 представлено соответствие слоёв математической модели и
слоёв-модулей части комплекса, описывающего программную реализацию
модели. Под слоем-модулем будем понимать данные и операции над ними,
объединённые семантически.
В программную реализацию дополнительно введены два слоя: coords и
neighbors.
44
 слой-модуль coords инкапсулирует сопоставление ячейке из Q её координат на
карте, т.е. исключительно в его рамках доступна информация о физическом
размещении клетки.
 слой-модуль neighbors инкапсулирует информацию о топологии пространства
– отвечает за нахождение соседних ячеек. Каждой ячейке поставлен в
соответствие набор соседей – не более 4-х ячеек. Таким образом, все знания о
физическом размещении ячеек и топологии пространства инкапсулированы в
слоях-модулях coords и neighbors. Остальные слои-модули функционируют
вне зависимости от пространственной структуры области моделирования.
 слои-модули m1, m2, d1, d2, d3, b1, b2, b3 для групп организмов инкапсулируют
данные о модельной численности соответствующих особей  q  Q,
 слой-модуль stream инкапсулирует данные о скорости и направлении водных
течений q  Q,
 слой-модуль poll инкапсулирует данные об интенсивности загрязнения q 
Q,
3.3. Программный комплекс
Исходные коды программного комплекса выложены в открытый доступ по
адресу: https://github.com/ivafanas/ca_baikal
3.3.1. Структуры данных
Математически каждый слой-модуль является отображением из множества Q в
множество значений соответствующих характеристик. Однако, использовать для
его реализации класс std::map библиотеки стандартных классов языка С++,
описывающий отображения, неэффективно, т.к. std::map обеспечивает доступ до
45
своих элементов за логарифмическое время от общего числа элементов. Доступ
до элементов слоя-модуля – частая операция при моделировании. Поэтому
желательно обеспечить его за константное время. Для реализации эффективнее
представить данные каждого слоя-модуля в виде одномерного массива
следующим образом:
1. Множество ячеек Q конечно, поэтому его можно представить в виде:
Q  {q1 ,  , q P },
2. Реализация
каждого
P Q
слоя-модуля
программы
(59)
является
одномерным
массивом из P элементов.
Таким образом:
 данные слоев-модулей m1, m2, …, b3 представлены одномерными
массивами длины P целых чисел,
 данные слоя-модуля stream представлены одномерным массивом длины
P двумерных векторов – пар вещественных чисел.
 данные слоя-модуля poll представлены одномерным массивом длины P
вещественных чисел
 данные слоя-модуля coord представлены одномерным массивом длины P
пар вещественных чисел
 данные слоя-модуля neighbors представлены одномерным массивом
длины P множеств из не более чем четырёх целых чисел от 1 до P.
Принятый подход позволяет обеспечить доступ до значения элементов за
константное время, что важно для быстродействия. При этом расположение
данных в памяти не зависит от структуры сетки Q, т.к. сама структура описана в
слоях coords и neighbors.
3.3.2. Реализация оператора перехода F
Оператор перехода F есть последовательная композиция трёх операторов:
46
F  Fd  Fs  F2 .
Поэтому
в
программном
комплексе
(60)
алгоритмы,
реализующие
оператор
собственного перемещения Fd, оператор перемещения под действием течений Fs и
оператор изменения численности F2, применяются последовательно в рамках
одной итерации моделирования.
Оператор Fd вычисляется асинхронно и раздельно для каждого M1m, M2m, …
M3b, т.е. данные каждого слоя-модуля m1, m2, …, b3 изменяются независимо, что
даёт возможность распараллелить вычисления. В рамках применения оператора
Fd необходимо находить соседей каждой из ячеек. При этом используется слоймодуль neighbors, но в режиме чтения данных, что даёт возможность
использовать не более двух точек синхронизации при распараллеливании
расчётов на M1m, M2m, … M3b: начало и конец вычисления оператора Fd в рамках
одной итерации. Вычисление оператора Fd полностью аналогично алгоритму его
применения, описанному в разделе 2.2.1.
Аналогично оператору Fd, оператор Fs вычисляется асинхронно и
независимо для каждого слоя-модуля m1, m2, …, b3, что даёт возможность
распараллелить вычисления. Таким же образом для расчёта перемещения
организмов под действием течений используется слой-модуль neighbor в режиме
чтения данных. Дополнительно необходимо определять скорость и направление
течений, для чего используется слой-модуль stream в режиме чтения данных, а
также
взаимное
расположение
ячеек для
определения
вертикального
и
горизонтального соседей по направлению течения, для чего используется слой
coords в режиме чтения данных. Т.к. кроме слоев-модулей m1, m2, …, b3 остальные
слои-модули используются только для чтения, то реализовать параллельный
алгоритм можно с использованием лишь двух точек синхронизации: начала и
конца вычисления оператора Fs в рамках одной итерации. Вычисление оператора
Fs полностью аналогично алгоритму, описанному в разделе 2.2.2.
Оператор изменения численности F2 применяется синхронно ко всем
клеткам, поэтому он легко распараллеливается на произвольное число потоков. С
другой стороны, как будет показано далее, в этом нет необходимости. При
47
вычислении действия оператора F2 последовательно перебираются номера ячеек
из Q от 1 до P = |Q|, и для каждой ячейки qi  Q производится синхронное
применение локального оператора f2 к клеткам из локальной конфигурации S2(c)
(29).
3.3.3. Методы представления входных данных модели
Область моделирования на вход программному комплексу подаётся в виде
чёрно-белого
bmp-изображения,
где
пиксель
чёрного
цвета
обозначает
пространство, принадлежащее области моделирования. Пиксель белого цвета,
соответственно, обозначает область пространства, не принадлежащего области
моделирования. Пример такого изображения представлен на рисунке 16.
Рис. 16. Пример изображения, подаваемого на вход программному комплексу, и
представляющего область моделирования.
Построение
слоёв-модулей
coords
и
neighbors
выполняется
согласно
следующему алгоритму:
1.
На вход принимается чёрно-белое bmp-изображение, представляющее
область
моделирования
и
cells_pref_count
–
минимальное
предпочитаемое число ячеек квадратной сетки Q.
2.
Вычисляется black_pixel_count – число пикселей чёрного цвета в
изображении.
48
3.
Рассчитывается cells_per_pixel –
число ячеек на один пиксель –
минимальное число такое, что cells_per_pixel является квадратом целого
числа и cells_per_pixel  black_pixel_count > cells_pref_count.
4.
Каждый пиксель разбивается на cells_per_pixel ячеек в виде квадратной
сетки.
5.
Для каждой ячейки из полученного разбиения
a. рассчитываются координаты в области моделирования, и заполняется
слой-модуль coords.
b. рассчитываются соседние ячейки в смысле квадратной сетки, и
заполняется слой-модуль neighbors.
Для построения слоя-модуля stream также используется bmp-изображение, где
 белым
цветом
обозначено
пространство,
не
принадлежащее
области
моделирования,
 чёрным цветом – пространство, принадлежащее области моделирования
 синим цветом – пространство, принадлежащее области моделирования, где
течение направлено на восток
 красным цветом – пространство, принадлежащее области моделирования, где
течение направлено на запад
 желтым цветом – пространство, принадлежащее области моделирования, где
течение направлено на юг
 зеленым цветом – пространство, принадлежащее области моделирования, где
течение направлено на север
При построении слоя-модуля stream для каждой ячейки q  Q вычисляется
вектор течения как взвешенная сумма векторов всех течений в ячейках,
окрашенных синим, красным, желтым и зелёным цветами. Причём вес обратно
пропорционален квадрату расстояния от ячейки q до окрашенной ячейки. Таким
образом, чем ближе окрашенная ячейка к ячейке q, тем больший вклад она вносит
в суммарное значение вектора течения в ячейке q. BMP-изображение и
получившееся представление слоя-модуля stream показано на рисунках 17 и 18.
49
Рис. 17. Изображение, используемое для построения слоя-модуля stream.
Зелёный цвет - течение на север. Жёлтый – на юг.
Красный – на запад. Синий – на восток.
Рис. 18. Визуальное представление слоя-модуля stream.
Зелёный цвет – течение преимущественно на север.
Жёлтый цвет – течение преимущественно на юг.
Красный цвет – течение преимущественно на запад.
Белый цвет – течение преимущественно на восток.
50
3.3.4. Используемые технологии
Комплекс реализован на языке С++. Язык позволяет комбинировать
низкоуровневый
подход
для
участков
кода,
требующих
высокой
производительности и простоту объектно-ориентированного высокоуровнего
подхода для остальной части программного комплекса.
Для визуализации процесса использована библиотека OpenGL. Выбор
OpenGL обусловлен тем, что библиотека кроссплатформенна и
позволяет
перенести ресурсоёмкие операции по отрисовке состояний процесса на
графический ускоритель. Также был опробован более простой в реализации
подход с реализацией визуализации процесса с помощью программных средств,
но производительность для этого случая оказалась недостаточной для удобства
моделирования.
Для организации пользовательского взаимодействия
использована
библиотека
Qt.
Причина
выбора
этой
с комплексом
библиотеки
–
её
кроссплатформенность, относительная простота реализации пользовательского
интерфейса и качественная документация.
Распараллеливание вычислений сделано с помощью технологии OpenMP.
Определяющими факторами в выборе технологии распараллеливания стали
простота реализации параллельного алгоритма на базе последовательного и
кросплатформенность библиотеки. Механизм распараллеливания реализован с
помощью директив препроцессора #pragma omp, которые включаются через
опции компиляции, а при их отключении
тот же самый код выполняется
последовательно. Таким образом, ещё одним аргументом при выборе библиотеки
стало то, что технология OpenMP позволяет отладить код в последовательном
исполнении, а затем плавно перейти к параллельному режиму.
Постобработка результатов моделирования: составление статистик, обсчёт
верификационных критериев и построение графиков исследуемых параметров
реализовано на языке Python. Выбор высокоуровнего скриптового языка для
постобработки
результатов
вычислительных
экспериментов
обусловлен
51
простотой реализации программ на Python и его кроссплатформенностью. Причём
производительность кода достаточна, т.к. постобработка результатов не содержит
трудоёмких вычислений.
3.4. Результаты распараллеливания вычислений на системах с общей
памятью
Расчёты проведены на Intel Core i7-2600 4 cores × 3.4 GHz, 8Gb RAM.
Наиболее дорогая по времени операция – моделирование перемещения. В таблице
2 приведено время вычисления одной итерации алгоритма. Для проведения
одного вычислительного эксперимента необходимо около 5000 итераций. В
расчётах используется квадратная сетка Q с числом ячеек 2108664, чему
соответствует длина ребра ячейки квадратной сетки, равная 123 м.
Таблица 1. Время в секундах на одну итерацию в однопоточной программе для оператора
перемещения F1 и оператора изменения численности F2
время
F1
F2
5,27 сек
0,3 сек
Временная сложность выполнения оператора F2 – O(|Q|), оператора F1 – О(|Q|2)
(с увеличением числа |Q| линейно уменьшается размер клетки, следовательно,
линейно растут числа Ki из формулы (21). Поэтому смысл есть только в
распараллеливании процедуры вычисления F1. Поскольку оператор F1 есть
последовательная композиция операторов собственного перемещения Fd и
перемещения под действием течений Fs, распараллеливается вычисление обоих
операторов Fd и Fs.
Для оператора Fd был выбран следующий способ распараллеливания:
1. 1-ый поток вычисляет действие Fd для Mm1 и Md1 и Mb1.
2. 2-ой поток вычисляет действие Fd для Mm2 и Md2.
3. 3-ий поток вычисляет действие Fd для Mb2 и Md3.
52
4. 4-ый поток вычисляет действие Fd для Mb3
Поскольку скорости групп организмов различны, то временная сложность
вычисления действия оператора Fd для разных Mi разная. Предложенное выше
распределение задач по потокам насколько возможно равномерно распределяет
нагрузку между вычислительными ядрами. Наибольшая нагрузка достаётся 4-му
потоку, вычисляющему действие оператора Fd на Mb3 (на половозрелых
голомянках – самых быстрых из исследуемых организмов).
Для оператора Fs был выбран следующий способ распараллеливания:
1. 1-ый поток вычисляет действие Fs для Mm1 и Mm2.
2. 2-ой поток вычисляет действие Fs для Md1 и Md2.
3. 3-ий поток вычисляет действие Fs для Md3 и Mb1.
4. 4-ый поток вычисляет действие Fs для Mb2 и Mb3.
Предложенный алгоритм прост в реализации, но не масштабируем на
произвольное число потоков. Получены следующие результаты:
Таблица 2. Результат распараллеливания процедуры вычисления F1
F1
F1
эффективность
1 поток
4 потока
распараллеливания F1
5,27 сек
1,53 сек
86%
В результате распараллеливания время, требуемое на одной итерации,
сократилось с 5,57 секунд для однопоточной программы до 1,83 секунд для
многопоточной программы (в 3,04 раза). При этом распараллелено было только
вычисление оператора перемещения организмов F1.
3.5. Выводы к главе
В третьей главе описана программная реализация модели. Предложен подход к
построению
архитектуры
программного
комплекса
на
базе
структуры
математической модели. Приведен метод задания структур данных, позволяющий
53
эффективно
реализовать
вычислительные
алгоритмы.
Описан
способ
распараллеливания на системах с общей памятью, позволяющий достичь 3кратного ускорения вычислений на 4-х ядерных системах.
54
Глава 4. Верификация модели
Под
верификацией
понимается
проверка
модели
на
соответствие
литературным данным о динамике численности организмов по набору критериев.
Верификация модели проводится по трём видам организмов {m, d, b}. Т.е.
данные агрегируются по возрастным группам. Для верификации модели
производится сравнение оценок физических параметров экосистемы, взятых из
литературы, с их модельными аналогами.
К
сожалению,
данных
о
распределении
организмов
по
области
моделирования найдено не было, поэтому параметры экосистемы усредняются по
пространству. Аналогично не было найдено данных о влиянии загрязнения на
динамику
популяций,
поэтому
верификация
проводилась
только
для
незагрязнённого случая.
4.1. Верифицируемые параметры
Следующие критерии были выбраны для верификации:
1. P / B - отношение годовой продукции к среднегодовой биомассе
организмов вида   {m, d, b}. Годовая продукция P - положительный
прирост биомассы организма вида  за год. В это значение входят массы
родившихся организмов и прирост массы живущих организмов за счёт
взросления, но не входят массы ни умерших, ни съеденных организмов. B среднегодовая биомасса.
2. N / N - отношение числа организмов вида  к числу организмов вида . N
, N - усреднённые по пространству среднегодовые численности. Т.к.
55
динамика численности популяций – колебательный процесс с периодом в
один год, то имеет смысл сравнивать именно среднегодовые
3. L / P - отношение массы выедаемых голомянками организмов к годовой
продукции. L - масса организмов вида , выедаемых особями малой и
большой голомянки в год.
4.2. Оценки верифицируемых параметров, доступные в литературе
В [71] дана оценка биомассы макрогектопуса Bm в 110 000 тонн. Там же
дана оценка продукции макрогектопуса Pm в 330 000 тонн. Хотя в [44] дана
оценка снизу продукции макрогектопуса Pm в 673 000 тонн. Основываясь на этих
данных, получим, что коэффициент Pm / Bm варьируется от 3 до 7. В работе [72]
приведена оценка коэффициента Pm / Bm в пределах от 5.1 до 7.69. Примем, что
коэффициент Pm / Bm должен лежать в пределах от 3 до 7.69.
Также в работе [72] приведены оценки для коэффициента Pd / Bd (от 0.97 до
1.91) и для коэффициента Pb / Bb (от 0.5 до 1.45).
Оценки коэффициентов Nm / Nd и Nm / Nb взяты из статьи [43] и равны 6.05 и
21.52 соответственно.
Оценка коэффициента Ld / Pd приведена в работе [45] и равна 0.52.
4.3. Получение модельных оценок верифицируемых параметров
При
получении
модельных
оценок
верифицируемых
параметров
загрязнение не учитывалось (т.е. poll(c) = 0 cM). Проводился вычислительный
эксперимент с начальным состоянием модельной плотности, соответствующему
среднегодовому значению при установившихся колебаниях. После установления
годовых колебаний в течение одного года с модели считываются параметры с
каждой из групп организмов на каждой итерации: общая численность, количество
56
умерших, постаревших, съеденных голомянками организмов. Затем собранные
данные усредняются за год. Усреднённые за год данные агрегируются по
возрастным группам для каждого вида:
Pm  Pm1  Pm2
B m  B m1  B m2
N m  N m1  N m2
Pd  Pd1  Pd2  Pd3
B d  B d1  B d2  B d3
N d  N d1  N d2  N d3
Pb  Pb1  Pb2  Pb3
Bb  Bb1  Bb2  Bb3
N b  N b1  N b2  N b3
(61)
Первый и третий критерии (P/B – отношение годовой продукции к
среднегодовой биомассе и L/P – отношение массы выедаемых голомянками к
годовой продукции) используют понятие массы организмов, в то время как
модель оперирует понятием модельной плотности, сводимой к численности
организмов.
Поэтому
при
расчёте
модельных
оценок
верифицируемых
параметров необходимо совершить переход от численности к массе.
Для оценки первого критерия (P/B) переход от численности к массе
выглядит следующим образом:
Pm
Pm1  Pm2 mass 1m  NPm1  mass m2  NPm2


,
Bm Bm1  Bm2
mass 1m  NB m1  mass m2 NB m2
(62)
где massm1 и massm2 – средняя масса организмов групп m1 и m2 соответственно,
NPm1 и NPm2 – число организмов групп m1 и m2, учтённых в годовой продукции,
NBm1 и NBm2 – среднегодовые численность групп.
Числа NPm1, NPm2, NBm1 и NBm2 известны в результате вычислительного
эксперимента. Для дальнейших преобразований используем эмпирический закон
[73], устанавливающий соответствие между массой рыбы и её длиной:
mass  dens  l  ,
(63)
где mass – средняя масса рыб длины l [72], dens, γ – константы, зависящие от вида
рыб. Таким образом,
 
 

 
 

mass1m  NPm1  mass m2  NPm2 densm  l m1  NPm1  densm  l m2  NPm2

(64)
1 
1
2 
2 ,
mass1m  NBm1  mass m2 NBm2
densm  l m  NBm  densm  l m  NBm
откуда можно вывести оценку:
57
 
 
 
 


Pm
lm1  NPm1  l m2  NPm2



,
Bm
lm1  NBm1  l m2  NBm2
(65)
где оценки средних длин lmi организмов получены из предположения линейной
зависимости длины организмов от возраста, возрастные данные для групп
организмов взяты из [43], данные о длине особей последних возрастных групп
взяты из [44], а величины NPmi и NBmi получены по результатам вычислительного
эксперимента.
Аналогичным образом получим оценки:
 
 
l   NP

l   NB



 l
 l


  NP
  NB



 l
 l


  NP
  NB

Pd
l d1  NPd1  l d2  NPd2  l d3  NPd3




Bd
ld1  NBd1  ld2  NBd2  ld3  NBd3
Pb
Bb
1 
b
1 
1
b
1
b
b
2 
b
2 
b
2
b
2
b
3 
b
3 
b
3
b
3
b
(66)
.
Для модельной оценки третьего критерия (L/P), аналогично предыдущим
рассуждениям, имеем:
 
 
 
 

 
 


Ld
l d1  NL1d  l d2  NL2d  l d3  NL3d




,
Pd
ld1  NPd1  ld2  NPd2  ld3  NPd3
(67)
где величины NLdi означают численность малых голомянок возраста i, съеденных
голомянками, ldi – средние длины.
4.4. Сравнение результатов моделирования и экспериментальных данных
Сравнение модельных оценок и оценок, предложенных в литературе,
представлено в таблице 3.
Таблица 3. Сравнение модельных оценок и оценок, предложенных в литературе
в литературе
модель
Pm / Bm
Pd / Bd
Pb / Bb
Nm / Nd Nm / Nb
Ld / Pd
3 – 7.7
1.2 – 1.97
0.5 – 1.45
6.05
21.52
0.52
6.2
1.60
1.38
5.70
19.70
0.58
58
Модельные оценки отличаются от оценок, предложенных в литературе не
более чем на 20%, что говорит о возможном соответствии моделируемых
процессов процессам, реально протекающим в экосистеме.
4.5. Выводы к главе
В
четвёртой
экосистемы,
главе
выбранные
приведены критерии
для
верификации
–
физические
модели.
параметры
Приведены
оценки
физических параметров, доступные в литературе. Описан алгоритм получения
модельных оценок из данных вычислительного эксперимента. Проведено
сравнение модельных оценок с оценками, взятыми из литературы, которое
показало, что относительное различие не превосходит 20%, что говорит о
теоретически возможном применении модели к описанию реальных процессов.
59
Глава 5. Результаты моделирования
Для постановки вычислительных экспериментов определим соответствие
между физическими и модельными величинами.
Физическое время t, соответствующее одной итерации, выбрано равным 2
дням. Число ячеек сетки Q равно 2 108 664. Площадь Байкала составляет 31 722
км2. Т.е. площадь одной ячейки сетки Q равна 0,015 км2. Следовательно, её
линейный размер равен 123 м.
Для вычисления чисел Ki из (21), участвующих в определении оператора
собственного перемещения организмов и обозначающие число применений
оператора целочисленной диффузии за одну итерацию, необходимо знать средние
крейсерские скорости организмов. В работе [74] отмечается, что скорость рыбы
прямо пропорциональна корню кубическому из её длины:

vcr i ~ 3 li .
Оценки
средних
длин
li
получены
(68)
из
предположения
линейной
зависимости длины организмов от возраста, возрастные данные для групп
организмов взяты из [43], данные о длине особей последних возрастных групп
взяты из [44]. Оценки средних скоростей для особей последних возрастных групп
взяты из [44]. Тогда числа Ki будут равны:
K 1m  1 K 2m  3
K 1d  1 K 2d  2
K 3d  3
K 1b  1 K 2b  2
K 3b  4
(69)
Примем максимальную скорость водных течений в Байкале равной 6 см/с
[70], что составляет 10 368 м за 2 дня или 84 клетки за итерацию.
60
Для интерпретации вычислительных экспериментов определим следующие
понятия:
1. Базовая часть модели – часть предлагаемой модели, в которой
учитываются:
a. Демографические отношения
b. Отношения хищник-жертва
c. Собственное перемещение организмов
В базовой части модели не учитывается:
a. Зависимость рождаемости малой и большой голомянки от времени
года.
b. Перемещение организмов под действием водных течений
c. Влияние загрязнений
2. Модель с учётом сезонности – базовая часть модели, в которую
добавлена зависимость рождаемости малой и большой голомянки от
времени года.
3. Полная модель – модель с учётом сезонности, в которую добавлено
перемещение организмов под действием течений.
Для
удобства
описания
начальных
состояний
в
вычислительных
экспериментах определим набор  состояний всех клеток – равномерное
распределение организмов по области моделирования, где состояние каждой
клетки совпадает с устойчивым состоянием модели, предложенной в работе [43].
Исследование особенностей модели и моделируемого процесса проводилось
согласно следующему плану:
1.
В разделе 5.1 представлены результаты тестовых экспериментов с целью
демонстрации влияния различных факторов на моделируемый процесс.
a. в первом тестовом эксперименте исследуется поведение базовой
части модели для случая равномерного начального распределения
организмов, с отклонением в пределах 3% от устойчивого состояния.
61
b. Во втором тестовом эксперименте исследуется поведение базовой
части модели для случая неравномерного начального распределения
организмов.
c. В третьем тестовом эксперименте исследуется поведение модели с
учётом сезонности. Цель эксперимента – выявить влияние сезонности
на динамику популяций.
d. В четвертом тестовом эксперименте исследуется поведение полной
модели. Цель эксперимента – выявить влияние перемещения
организмов под действием течений на динамику популяций.
2.
В разделе 5.2 приведены результаты эксперимента для полной модели,
где в начальном состоянии
в 10 раз
уменьшена
численность
макрогектопуса в северной части озера. Целью эксперимента является
исследование поведения модели в случае начального локального
возмущения численности.
3.
В разделе 5.3 приведены результаты эксперимента для полной модели
для случая загрязнения в южной части Байкала. Целями эксперимента
являются:
a. исследование влияния постоянно действующих локализованных
загрязнений на динамику численности организмов
b. Оценка
допустимых
и
критических
значений
интенсивности
загрязнения.
5.1. Тестовые эксперименты
5.1.1. Исследование поведения базовой части модели для равномерного и
неравномерного начального распределения
62
Начальное состояние в первом тестовом эксперименте – равномерное
распределение с отклонением в пределах 3% от . На рисунке 19 представлена
динамика средней модельной плотности организмов по озеру.
малая голомянка
год
13,9
12,5
11,1
14,6
13,3
11,9
10,6
9,29
7,96
6,64
5,31
3,98
2,66
1,33
226
38,2
38
37,8
9,71
228
38,4
8,32
230
6,94
232
5,55
234
39
38,8
38,6
4,16
236
39,4
39,2
2,78
238
1,39
240
39,6
0,01
средняя плотность на клетку
242
0,01
средняя плотность на клетку
макрогектопус
год
Рис. 19. Динамика средней плотности на клетку макрогектопуса (слева) и малой
голомянки (справа) для базовой модели.
Базовая часть модели после затухающего колебательного процесса
приводит систему к устойчивому состоянию – равномерному распределению
организмов по области моделирования.
Во втором тестовом эксперименте в качестве начального состояния
использован набор , в каждой клетке которого введено случайное отклонение в
пределах 30%. Начальное состояние макрогектопуса представлено на рисунке 20.
Рис. 20. Начальное распределение макрогектопуса по области для базовой модели. Слева – вся
поверхность озера. Справа – южная часть поверхности озера. Более светлый цвет соответствует
большей численности организмов.
63
Две итерации моделирования для второго эксперимента представлены на
рисунке 21.
t = 5 (10 дней)
t = 25 (50 дней)
Рис. 21. Распределение неполовозрелого макрогектопуса (m1) на 5-ой и 25-ой итерациях
для базовой модели в случае начального неравномерно распределения организмов по озеру.
Более яркий цвет означает большую плотность организмов в клетке.
Аналогично первому эксперименту процесс приходит к устойчивому
состоянию. На 25-й итерации, (что соответствует 50-и дням) максимальное
значение модельной плотности неполовозрелого макрогектопуса по области
моделирования отличается от минимального значения не более чем на 5%.
Таким образом, базовая модель после затухающих колебаний численности
приходит к устойчивому состоянию, являющимся равномерным распределением
организмов по области моделирования.
5.1.2. Влияние зависимости рождаемости голомянок от сезонов
В третьем эксперименте исследуем модель с учётом сезонности.
Начальное состояние в эксперименте совпадает с . Динамика численности
популяций представлена на рисунке 22.
64
малая голомянка
год
14
12,6
11,2
9,79
8,39
14,3
12,9
11,4
10
8,59
7,16
5,73
4,3
2,87
1,44
190
6,99
200
5,59
210
4,2
220
2,8
230
1,4
240
50
45
40
35
30
25
20
15
10
5
0
0,01
средняя плотность на клетку
250
0,01
средняя плотность на клетку
макрогектопус
год
Рис. 22. Динамика средней плотности на клетку для макрогектопуса (слева) и малой
голомянки (справа) для модели с учётом зависимости коэффициентов рождаемости голомянок
от времени года.
Учёт зависимости коэффициентов рождаемости голомянок от времени года
приводит к появлению колебаний численности популяций макрогектопуса, малой
и большой голомянок с годовым периодом. Годовой период колебаний
обусловлен периодичностью функций seasond(t) и seasonb(t) из (33).
При этом колебания сдвинуты по фазам для разных видов организмов. Пик
численности малых голомянок приходится на декабрь, больших голомянок – на
март, макрогектопуса – на январь. Среднегодовые значения численности, вокруг
которых наблюдаются колебания, отличаются от устойчивого состояния базовой
модели в пределах 6%.
5.1.3. Влияние водных течений
Исследуем полную модель.
Начальное состояние в эксперименте совпадает с . Две итерации
моделирования представлены на рисунке 23.
65
t = 200
t = 400
а)
t = 200
t = 400
б)
Рис. 23. Распределение неполовозрелого макрогектопуса (m1) на 200-й и 400-й итерациях
для модели с учётом течений. Темнее цвет означает меньшую плотность организмов. а) вся
область моделирования, б) – южная часть озера.
На рисунке 24 показано распределение макрогектопуса вдоль красного
отрезка. Вдоль отрезка максимальная модельная плотность макрогектопуса
составляет 288, и минимальная – 105 модельных единиц плотности. По всей же
области
моделирования
разрыв
между
максимальной
модельными плотностями макрогектопуса составляет 10 раз.
и
минимальной
66
Распределение макрогектопуса вдоль отрезка с
севера на юг
350
модельная плотность
300
250
200
150
100
50
0
расстояние вдоль отрезка с севера на юг
Рис. 24. Распределение макрогектопуса вдоль красного отрезка на юге озера (слева)
Учёт водных течений приводит к
неравномерности распределения
организмов по области моделирования. При этом сохраняются модельные
значения верификационных параметров.
Таблица 4 содержит набор значений верификационных критериев для
базовой модели, модели с учётом сезонности и модели с учётом сезонности и
водных течений. Она показывает, что при добавлении новых возможностей в
модель не теряется соответствие между моделируемым и физическим процессами
в рамках верифицируемых параметров.
Таблица 4. Сравнение модельных оценок верификационных параметров различных
вариантов модели с оценками, приведенными в литературе
Pm / Bm
Pd / Bd
Pb / Bb
Nm / Nd Nm / Nb
Ld / Pd
в литературе
3 – 7.7
1.2 – 1.97
0.5 – 1.45
6.05
21.52
0.52
баз. модель
6.2
1.60
1.38
6.06
21.47
0.58
уч. сезонов
6.2
1.60
1.38
5.69
19.84
0.58
уч. течений
6.2
1.60
1.37
5.69
20.28
0.60
67
5.2. Вымирание макрогектопуса в северной части озера
В эксперименте исследуется поведение модели для случая вымирания
макрогектопуса в северной части озера.
В качестве начального состояния взят набор состояний клеток , в котором
в северной части озера численность макрогектопуса уменьшена в 10 раз.
Несколько итераций моделирования представлены на рисунке 25.
t = 100
t = 400
t = 800
t = 1000
t = 1200
t = 1500
Рис. 25. Распределение неполовозрелого макрогектопуса (m1). Более светлый цвет
означает большую численность организмов в клетке. c* - клетка, в которой исследуется
динамика численности на рис. 26.
68
макрогектопус
малая голомянка
год
18,7
16,9
0,01
18,5
16,7
14,8
13
11,1
9,27
7,41
5,56
3,71
1,86
0,01
0
15
100
13,1
200
11,2
300
9,38
400
7,5
500
5,63
600
3,75
700
100
90
80
70
60
50
40
30
20
10
0
1,88
модельная плотность
модельная плотность
800
год
Рис. 26.Динамика макрогектопуса (слева) и малой голомянки (справа) в клетке c*
На рисунке 26 представлена динамика численности макрогектопуса и малой
голомянки в клетке c*. Сначала численность малой и большой голомянок сильно
падает из-за отсутствия еды. После падения численности хищников начинает
бурно размножаться макрогектопус, что влечёт за собой рост численности
голомянок. Через 20 лет в результате самоорганизации система переходит к
устойчивому
процессу,
описанному
в
разделе
5.1.3
–
неравномерное
распределение особей по области моделирования с годовыми колебаниями
численности.
5.3. Влияние загрязнения на динамику численности организмов
Начальное состояние совпадает с . Значение poll(c0) в эксперименте взято
равным 14. Загрязнение действует на протяжении всего эксперимента.
Несколько
итераций
представлены на рисунке 27
алгоритма
для
половозрелого
макрогектопуса
69
Рис. 27. Распределение неполовозрелого макрогектопуса (m1).
Более тёмный цвет означает большую численность организмов.
c1, c2, c3 – клетки, в которых будет исследована динамика численности.
Динамика популяций в клетке вдали от загрязнения в клетке c3 (рис. 28)
приходит к устойчивому колебательному процессу с периодом колебаний 1 год.
Рис. 28. Динамика модельной плотности в клетке c3 (без загрязнения) для
неполовозрелого макрогектопуса (m1) слева и неполовозрелой малой голомянки (d2) справа.
Динамика популяций в эпицентре загрязнения c1 представлена на рисунке
29. Значение poll(c0) загрязнения в эпицентре равно 14. Этого достаточно для
того, чтобы все организмы погибли.
70
Рис. 29. Динамика модельной плотности в клетке в эпицентре загрязнения для неполовозрелого
макрогетопуса (m1) слева и неполовозрелой малой голомянки (d2) справа. Светлая линия –
аналогичная динамика в клетке без загрязнения.
Динамика популяций в области загрязнения в клетке c2 со значением
интенсивности poll = 2.3 представлена на рис. 30. Численность жертв
увеличилась,
а
численность
хищников
уменьшилась
по
сравнению
со
среднегодовым значением в области, где загрязнение не оказывает влияния.
Рис. 30. Динамика модельной плотности в клетке c2 со значением загрязнения poll = 2.3 для
неполовозрелого макрогектопуса (m1) слева и неполовозрелой малой голомянки (d2) справа.
Светлая линия – аналогичная динамика в клетке без загрязнения.
Чтобы изучить зависимость среднегодовой плотности организмов от
интенсивности загрязнения, были исследованы точки вдоль отрезка, показанного
на рис. 31. Южный конец отрезка находится близ эпицентра загрязнения.
Северный – в области, не подверженной загрязнению.
Рис. 31. Отрезок, вдоль которого исследовалась динамика модельной плотности. Южный конец
находится в эпицентре загрязнения. Северный – в области с нулевым загрязнением.
71
Распределение интенсивности загрязнения и изменение численности
макрогектопуса вдоль отрезка с юго-востока на северо-запад
через 11 лет
представлены на рис. 32.
Рис. 32. Распределение интенсивности загрязнения (слева) вдоль исследуемого отрезка (рис. 31)
и модельной плотности неполовозрелого макрогектопуса через 11 лет (справа). По оси абсцисс
отложено расстояние на отрезке от эпицентра загрязнения.
По результатам численных экспериментов можно сделать следующие
выводы:
 При poll(c) > 10 плотность макрогектопус через 1 год падает ниже 3% от
средней плотности в незагрязнённой области и затем не восстанавливается.
Что позволяет говорить о практически полном вымирании организмов в
загрязненной области.
 Если poll(c)  (0.03, 5) , то
будет увеличено число макрогектопуса и
уменьшено число голомянок. Степень различий зависит от значения poll(c).
 Если poll(c) < 0.03, то влияние загрязнения незаметно на фоне
среднегодовых колебаний численности организмов.
5.4. Выводы к главе
В главе, посвященной вычислительным экспериментам, показано влияние
различных факторов на моделируемый процесс. Учёт сезонной зависимости
коэффициентов рождаемости приводит к годовым колебаниям численности.
72
Движение организмов под действием течений приводит к неравномерному
распределению организмов по области моделирования.
В рамках вычислительных экспериментов с вымиранием макрогектопуса в
северной части проведено исследование
модели на
предмет поведения
организмов в случае модификации исходных условий. Модель в результате
колебаний численности приходит к устойчивому колебательному процессу с
годовым периодом и неравномерным распределением особей по области
моделирования.
Проведено исследование поведения модели для случая теоретического
локального загрязнения в южной части Байкала. Экспериментально получено, что
влияние загрязнения не распространяется далеко от эпицентра. Получены оценки
критической интенсивности загрязнения, при котором происходит полное
вымирание организмов, и допустимой интенсивности загрязнения, при котором
его влияние не заметно на фоне годовых колебаний численности. В области, где
интенсивность загрязнения лежит между допустимым и критическим значениями,
происходит увеличение численности макрогектопуса и уменьшение численности
голомянок.
73
Заключение
Кратко сформулируем основные результаты работы:
1. Предложена КА-модель самоорганизации восьми групп организмов,
позволяющая учитывать пространственное распределение особей по
области моделирования, собственное перемещение особей, перемещение
особей
под
действием
водных
течений,
зависимость
рождаемости
организмов от времени года и возможные локальные загрязнения области
моделирования.
2. В предложенной модели впервые использован метод синтеза КА с помощью
параллельной композиции восьми КА.
3. Предложен новый КА-оператор, позволяющий моделировать перемещение
организмов под действием водных течений.
4. Доказаны
теоремы
об
оценках
временной
сложности
алгоритмов
моделирования от размера сетки и шага по времени.
5. Предложены способы верификации модели по критериям отношения
годовой продукции к среднегодовой биомассе, отношения среднегодовых
численностей организмов и отношения массы выедаемых хищниками жертв
за год к годовой продукции. Получены оценки верификационных критериев
для модели и проведено их сравнение с аналогичными оценками, взятыми
из литературы. Расхождение модельных и литературных оценок по
верификационным критериям не превосходит 20%.
6. Для проведения вычислительных экспериментов реализован программный
комплекс преимущественно на языке С++. Приведен механизм отображения
структуры
математической
модели
на
архитектуру
программного
комплекса. Реализовано распараллеливание вычислений
с помощью
74
технологии OpenMP на четыре потока. На тестовых экспериментах
эффективность распараллеливания составляет 75%.
7. Проведены вычислительные эксперименты для исследования поведения
модели. Получено, что моделируемый процесс приходит к годовым
колебаниям
численности,
а
распределение
организмов
по
области
моделирования неравномерно.
8. Исследовано влияние различных факторов на динамику популяций.
Показано, что годовые колебания являются следствием зависимости
коэффициентов рождаемости голомянок от сезона. Неравномерность
распределения
особей
по
области
моделирования
обусловлена
перемещением организмов под действием течений.
9. Проведен вычислительный эксперимент для вымирания макрогектопуса в
10 раз на севере озера. Показано, что в этом случае динамика популяций в
областях
с
начальным
возмущением
численности
организмов
восстанавливается спустя 20 лет.
10. Исследована зависимость динамики численности организмов от постоянно
действующих локализованных загрязнений. Показано, что при превышении
интенсивности загрязнения значения 10, происходит полное вымирание
организмов, а в случае, если интенсивность загрязнения лежит между 0,03 и
5, то будет увеличено число макрогектопуса и уменьшено число голомянок.
Если же интенсивность загрязнения не превосходит 0,03, то его влияние не
заметно на фоне естественных процессов.
75
Список литературы
1. Ashby, W. Principles of the self-organizing dynamic system / W. Ashby //
Journal of General Psychology. – 1947. – № 32. – P. 13–25
2. Хакен, Г. Синергетика. / Г. Хакен // Москва: Мир. – 1980. – 406 с
3. Хакен, Г. Синергетика. Иерархия неустойчивостей в самоорганизующихся
системах и устройствах. / Г. Хакен // Москва: Мир. – 1985. – 424 с
4. Филд, Р., Бургер, М. Колебания и бегущие волны в химических системах. /
Р. Филд, М. Бургег // Москва: Мир. – 1988. – 721 с
5. Белоусов, Б. П. Периодически действующая реакция и ее механизм. / Б. П.
Белоусов // Сборник: Автоволновые процессы в системах с диффузией. Горький: Изд-во ГГУ. – 1951
6. Gorodetsky, V., Karsaev, O., Samoylov, V., Serebryakov, S. P2P Agent Platform:
Implementation and Testing / V. Gorodetsky, O. Karsaev, V. Samoylov, S.
Serebryakov // Lecture Notes in Artificial Intelligence. – 2009. – Vol. 5319. – P.
41–54
7. Gorodetskii, V. Self-Organization and Multiagent Systems: I. Models of
Multiagent Self-Organization / V. Gorodetskii // Journal of Computer and
Systems Sciences International. – 2012. – Vol. 51, Issue 2. – P. 256–281
8. Луман, Н. Социальные системы. / Н. Луман // Санкт-Петербург: Наука. –
2007. – 642 с.
9. von Neumann, J. Theory of Self-Reproducing Automata. / J. von Neumann //
Urbana: University of Illinois Press. – 1966. – 388 p.
10. Wolfram, S. Cellular Automata and Complexity. / S. Wolfram // New York:
Addison-Wesley. – 1994.
76
11. Wolfram, S. Statistical mechanics of cellular automata / S. Wolfram // Reviews
of Modern Physics. – 1983. – V. 55. – 601 p.
12. Wolfram, S. Theory and Applications of Cellular Automata. / S. Wolfram //
Singapore: World Scientific. – 1986
13. Gardner, M. Mathematical Games - The fantastic combinations of John
Conway's new solitaire game "life". / M. Gardner // USA. Science American. –
1970. – Vol. 223. –№ 4. – P. 120–123.
14. Chapman P. Life universal computer. / P. Chapman // Режим доступа:
http://www.igblan.free-online.co.uk/igblan/ca/
15. Hoekstra, G., Kroc, J., Sloot, P. Simulating Complex Systems by Cellular
Automata. / G. Hoekstra, J. Kroc, P. Sloot // Berlin. Springer. – 2010. – 384 p.
16. Deutsch, A. Orientation-induced pattern formation: swarm dynamics in a latticegas automation model / A. Deutsch // International Journal of Bifurcation and
Chaos. – 1996. – V. 6. – p. 1735
17. Deutsch, A., Dormann, S. Cellular Automaton Modeling of Biological Pattern
Formation. / A. Deutsch, S. Dormann // Birkhauser. Basel. – 2006
18. Grimm, V., Frank, K., Jeltsch, F., Brandl, R., Uchmanski, J., Wissel, C. Patternoriented modeling in population ecology / V. Grimm, K. Frank, F. Jeltsch, R.
Brandl, J. Uchmanski, C. Wissel // Science of the Total Environment. – 1996. –
Vol. 183. – P. 151-166
19. Boccara, N. Automata network models of interacting population / N. Boccara //
Cellular Automata, Dynamical Systems and Neural Networks. E. Goles, S.
Martinez eds. – 1994. – Dordrecht: Kluwer. – P. 23–78.
20. Chua, L. CNN: A Paradigm for Complexity. / L. Chua // World Scientific Series
on Nonlinear Science. – 1998. – Berkely: University of California. – 320 p
21. Chua, L., Hasler, M., Moschytz, G., Neirynck, J. Autonomous cellular neural
networks: A unified paradigm for pattern formation and active wave propagation.
/ L. Chua, M. Hasler, G. Moschytz, J. Neirynck // Circuits and Systems IL
Fundamental Theory and Applications, IEEE Transactions on. – 1995. – Vol. 42,
Issue 10. – pp. 559 - 577
77
22. Ванаг, В. К. Диссипативные структуры в реакционно-диффузионных
системах. / В. К. Ванаг // Ижевск: ИКИ . – 2008. – 300 с.
23. Madore, B., Freedman, W. Computer simulation of the Belousov-Zhabotinski
reaction. / B. Madore, W. Freedman // Science. – 1983. – Vol. 222. – P. 615-618
24. Bandman, O. L. Cellular Automata composition techniques for spatial dynamics
simulating / O. L. Bandman // Simulating Complex Systems by Cellular
Automata (A.G.Hoekstra et al. eds). – 2010. – Berlin: Springer. – P. 81-115.
25. Афанасьев,
И.
В.
Исследование
эволюции
клеточных
автоматов,
моделирующих процесс «разделения фаз» на треугольной сетке / И. В.
Афанасьев // Прикладная дискретная математика. – 2010. – № 4. – С. 79–90.
26. Poschel, T., Freund, J. Stochastic Resonators Modeled as Glauber Dynamics. / T.
Poschel, J. Freund // Lectures on Stochastic Dynamics. Eds. Schimansky-Geier
L., Poschel T. – 1997. – Berlin: Springer. – p. 220
27. Gora, P. Traffic Simulation Framework - a Cellular Automaton-Based Tool for
Simulating and Investigating Real City Traffic / P. Gora // Recent Advances in
Intelligent Information Systems. – 2009. – P. 641–653.
28. Markus, M. Class 4 Cellular Automata Simulating Diverse Physical Systems /
M. Markus // International Journal of Bifurcation and Chaos. – 1996. – V. 6. – P.
1817
29. Gutowitz, H. Cellular Automata and The Sciences of Complexity, Part I / H.
Gutowitz // Complexity. – 1996. – V. 1. – P. 16
30. Meinhardt, H. Biological Pattern Formation as a Complex Dynamic
Phenomenon / H. Meinhardt // International Journal of Bifurcation and Chaos. –
1997. – V. 7, N 1. – P. 1
31. Malthus, T. An Essay on the Principle of Population. / T. Malthus // London: J.
Johnson. – 1798
32. Verhulst, P. Notice sur la loi que la population poursuit dans son accroissement /
P. Verhulst // Correspondance mathematique et physique. – 1838. – Vol. 10. – P.
113–121.
78
33. Pearl, R., Reed, L. On the rate of growth of the population of the United States
since 1790 and its mathematical representation / R. Pearl, L. Reed // Proceedings
of the National Academy of Sciences. – 1920. – Vol. 6. – p. 275
34. Ricker, W. Stock and Recruitment / W. Ricker // Journal of the Fisheries
Research Board of Canada. – 1954. – Vol. 11, Issue 5. – P. 559–623.
35. Базыкин, А. Д. Нелинейная динамика взаимодействующих популяций. / А.
Д. Базыкин // Москва-Ижевск: Институт компьютерных исследований. –
2003. – 368 с.
36. Моран, П. Статистические процессы эволюционной теории. / П. Моран //
Москва: Наука. – 1973. – 288 с.
37. Hutchinson, G. Circular causal systems in ecology / G. Hutchinson // Annals of
the New York Academy of Sciences. – 1948. – Vol. 50. – P. 221–246.
38. Бандман, О. Л. Метод построения клеточно-автоматных моделей процессов
формирования устойчивых структур. / О. Л. Бандман // Прикладная
дискретная математика. – 2010. – № 4. – с. 91–99.
39. Gattaneo, G., Dennunzio, A., Farina, F. A Full Cellular Automaton to Simulate
Predator-Prey Systems / G. Gattaneo, A. Dennunzio, F. Farina // Cellular
Automata. Lecture Notes in Computer Science. – 2006. – Berlin, Springer. – Vol.
4173. – P. 446–451
40. Qiuwen Chen, Jingqiao Mao, Weifeng Li. Stability Analysis of Harvesting
Strategies in a Cellular Automata Based Predator-Prey Model / Chen Quiwen,
Mao Jingqiao, Li Weifeng // Cellular Automata. Lecture Notes in Computer
Science. – 2006. – Berlin: Springer. – Vol. 4173. – P. 268–276
41. Tome T. Anisotropic Probabilistic Cellular Automaton for a Predator-Prey
System / T. Tome // Brazilian Journal of Physics. – 2007. – Vol. 37, № 2A. – P.
466–471
42. Меншуткин, В. В. Математическое моделирование популяций и сообществ
водных животных. / В. В. Меншуткин // Ленинград: Наука. – 1971. – 196 с.
43. Зоркальцев, В. И., Казазаева, А. В., Мокрый, И. В. Модель взаимодействия
трёх пелагических видов организмов озера Байкал / В. И. Зоркальцев, А. В.
79
Казазаева, И. В. Мокрый // Современные технологии. Системный анализ.
Моделирование. – 2008. – Иркутский государственный университет путей
сообщения. – № 1. – С. 182–193.
44. Мазепова, Г. Ф., Тимошкин, О. А., Мельник, Н. Г., Оболкина, Л. А.,
Таничев, А. И. Атлас и определитель пелагобионтов Байкала. / Г. Ф.
Мазепова, О. А. Тимошкин, Н. Г. Мельник, Л. А. Оболкина // Новосибирск:
Наука. – 1995. – 693 с.
45. Стариков, Г. В. Голомянки Байкала. / Г. В. Стариков // Новосибирск: Наука.
– 1977. – 94 с.
46. Дзюба, Е. В., Тереза, Е. П., Помазкова, Г. И. Связь сезонной динамики
зоопланктона, питания рыб и их зараженности паразитами в пелагиали
озера Байкал / Е. В. Дзюба, Е. П. Тереза, Г. И. Помазкова // Теория, методы
и инструменты принятия решений в живых, социальных и технических
системах: Материалы к 19-му заседанию международного постоянно
действующего семинара «Гомеостатика живых, природных, технических и
социальных систем». – 2001. – Иркутск. – с. 90–95.
47. Lotka, A. J. Elements of physical biology. / A. J. Lotka // Baltimore: Williams
and Wilkins. – 1925.
48. Leslie, P. H. On the use of matrices in certain population mathematics / P. H.
Leslie // Biometrika. – 1945. – Vol. 33, N 3. – P. 183-212.
49. Leslie, P. H. Some further notes on the use of matrices in population
mathematics. / P. H. Leslie // Biometrika. – 1948. – Vol. 35. – P. 213–245
50. Moran, P. A. P. The statistical' processes of evolutionary theory. / P.A.P. Moran
// London: Oxford University Press. – 1962. – 204 p.
51. Pielou, E. C. An introduction to mathematical ecology. / E. C. Pielou // New
York: Wiley-Interscience. – 1969. – 286 p.
52. Свирежев, Ю. М. нелинейные волны диссипативные структуры и
катастрофы в экологии / Ю. М. Свирежев // Москва: Наука. – 1987. – 368 с.
80
53. Dubey, B., Hussain, J. Nonlinear models for the survival of two competing
species dependent on resource in industrial environments / B. Dubey, J, Hussain
// Nonlinear Analysis: Real World Applications. – 2003. – V. 4. – P. 21–44.
54. Пичугина,
А.
Н.
Интегродифференциальная
модель
популяции,
подверженной воздействию вредных веществ / А. Н. Пичугина // Сибирский
журнал индустриальной математики. – 2004. – Т. VII. N. 4(20). – С. 130–140.
55. Перцев, Н. В., Царегородцева, Г. Е. Математическая модель динамики
популяции, развивающейся в условиях воздействия вредных веществ / Н. В.
Перцев, Г. Е. Царегородцева // Сибирский журнал индустриальной
математики, – 2010 – 13:1, – С. 109–120
56. Перцев, Н. В., Пичугин, Б. Ю., Логинов, К. К. Статистическое
моделирование
динамики
популяций,
развивающихся
в
условиях
воздействия токсичных веществ / Н. В. Перцев, Б. Ю. Пичугин, К. К.
Логинов // Сибирский журнал индустриальной математики. – 2011. – 14:2 –
С. 84—94.
57. Boccara, M., Roblin, O., Roger, M. Automata Network Predator-Prey Model
with Pursuit and Evasion / M. Boccara, O. Roblin, M. Roger // Physical Review.
E. – 1994. – vol. 50, N 6. – P. 4531 – 4541
58. Antal, T., Droz, M. Phase Transitions and Oscillations in a Lattice Prey-Predator
Model / T. Antal, M. Droz // Physical Review. E – 2001. – vol. 63, N 5. – P.
056119.1–056119.11
59. Monetti, R., Rozenfeld, A., Albano, E. Study of Interacting Particle Systems:
The Transition to the Oscillatory Behavior of a Prey-Predator Model / R. Monetti,
A. Rozenfeld, E. Albano // Physica A: Statistical Mechanics and its Applications.
– 2000. – vol. 283, nos. 1-2. – P. 52 – 58
60. Ruiz Moreno, D. H., Frederico, P., Canziani, G. A., Population Dynamics
Models Based on Cellular Automata that includes Habitat Quality Indices defined
through Remote Sensing. / D. H. Ruiz Moreno, P. Frederico, G. A. Canziani //
Proceedings of the 29th Conference of the International Society for Remote
Sensing of the Environment. – April 2002. – Buenos Aires. – P. 478–481
81
61. Бандман, О. Л. Клеточно-автоматные модели пространственной динамики /
О. Л. Бандман // Системная информатика. – 2006. – № 10. – С. 58 - 113
62. Аладьев, В. З., Бойко, В. К., Ровба, Е. А., Классические однородные
структуры: Теория и приложения. – 2008. – Гродно. ГрГУ им. Я.Купалы. –
485 с.
63. Achasova, S., Bandman, O., Markova, V., Piskunov, S., Parallel Substitution
Algorithms: Theory and Application. / S. Achasova, O. Bandman, V. Markova, S.
Piskunov // Singapore: World Scientific. – 1995. – 190 p.
64. Wolfram, S. A new kind of science. / S. Wolfram // USA: Wolfram Media Inc.
Champaign III – 2002 – P. 1197
65. Wolfram, S. Universality and Complexity in Cellular Automata / S. Wolfram //
Physica D. – 1984. – Vol. 10. – P. 1–35.
66. Бандман, О. Л. Метод построения клеточно-автоматных моделей процессов
формирования устойчивых структур / О. Л. Бандман // Прикладная
дискретная математика. – 2010. – № 4. – с. 91–99
67. Sharifulina, A. Stable patterns formation by stotalistic cellular automata / A.
Sharifulina // Bulletin of the Novosibirsk Computer Center, Computer Science
33. – 2012. – P. 69 – 78.
68. Medvedev, Y. G. Multi-particle Cellular Automata Models For Diffusion
Simulation. / Y. G. Medvedev // Methods and tools of parallel programming
multicomputers. – 2011. – V. 6083/2011. – p. 204–211.
69. Маркова, В. П., Шарифулина, А. Е. Параллельная реализация асинхронного
клеточного автомата, моделирующего реакцию окисления CO на палладии
/ В. П. Маркова, А. Е. Шарифулина // Прикладная Дискретная Математика.
– 2011. – № 1. – С. 116–127.
70. Аргучинцев, В. К., Аргучиценва, А. В. Моделирование мезомасштбаных
гидродинамических процессов и переноса антропогенных примесей в
атмосфере и гидросфере оз. Байкал. / В. К. Аргучинцев, А. В. Аргучинцева
// Иркутск: Изд-во Иркутского государственного университета. – 2007. –
255 с.
82
71. Афанасьева, Э. Л., Бекман, И. В., Волерман, И. В., Коряков, Е. А.,
Мамонтов, А. М., Поповская, Г. И., Смирнов, В. В., Смирнов-Залуми, Н. С.,
Сорокина, А. А., Сорокин, В. Н., Стариков, Г. В., Шимараев, М. Н
Биологическая продуктивность пелагиали Байкала и её изменчивость. / Э.
Л. Афанасьева, И. В. Бекман, И. В. Волерман, Е. А. Коряков, А. М.
Мамонтов, Г. И. Поповская, В. В. Смирнов, Н. С. Смирнов-Залуми, А. А.
Сорокина, В. Н. Сорокин, Г. В. Стариков, М. Н. Шимараев // Новосибирск:
Наука – 1977. – 256 с.
72. Мокрый, И. В., Зоркальцев, В. И., Конева, О. В. Исследование связей
элиминации и продукции некоторых видов пелагиали оз. Байкал и методы
оценки этих характеристик. / И. В. Мокрый, В. И. Зоркальцев, О. В. Конева
// Институт Систем Энергетики им. Л. А. Мелентьева СО РАН. – 1999. –
Иркутск. Препринт. – №8. – 22 с.
73. Шмальгаузен,
И. И. Рост и общие размеры тела в связи с их
биологическим значением / И. И. Шмальгаузен // Рост Животных – Москва:
Биомедгиз. – С. 8–61.
74. Шулейкин, В. В., Физика моря. / В. В. Шулейкин // Москва: Наука. – 1968.
– 1083 с.
Download