Population Modeler — программа для индивидуум

advertisement
Population Modeler — программа для индивидуум-ориентированного моделирования сообществ
взаимодействующих особей
Борис Юрьевич Пичугин, Омский филиал Учреждения Российской академии наук Института математики им. С.Л. Соболева Сибирского отделения РАН
Схема модели для двух популяций
Базовые предположения
Пример 2. Модель распространения туберкулеза
Программа Population Modeler предназначена для проведения
численных экспериментов с моделями сообществ особей,
удовлетворяющих следующим предположениям:
I все сообщество поделено на несколько популяций;
I каждая особь сообщества может быть охарактеризована набором
параметров;
I изменение состояния сообщества происходит скачкообразно;
I скачки состояния сообщества могут быть вызваны переходами или
взаимодействиями.
Примеры параметров: пол, масса, стадия развития, ...
В работе [2] была предложена детерминированная модель
распространения туберкулёза в виде системы дифференциальных
уравнений, в которой вся популяция поделена на 6 когорт:
I S — неифицированные (восприимчивые индивидуумы),
I L — индивидуумы, несущие латентную инфекцию,
I D — невыявленные больные ТБОД, без выделения микобактерий,
I B — невыявленных больне ТБОД, выделяющие микобактерии,
I D0 — выявленные больные ТБОД, без выделения микобактерий,
I B0 — выявленне больне ТБОД, выделяющих микобактерии,
а потоки между когортами изображены на схеме
Взаимодействия
I взаимодействие — это «незапланированное» изменение состояния
сообщества;
I взаимодействия могут быть нескольких типов;
I моменты возникновения взаимодействий описываются
пуассоновским потоком, интенсивность которого может зависеть от
времени и состояния сообщества;
I каждой особи может быть сопоставлен набор весов, которые
характеризуют интенсивность с которой особь принимает участие
во взаимодействиях;
I в результате взаимодействия каждый участник может изменить
свои параметры, или произвести потомство, или погибнуть;
I в результате взаимодействия может быть инициирована цепь
переходов.
Примеры взаимодействий: конкуренция, хищничество, воздействие
среды, . . .
В частности, при помощи данной программы можно рассчитывать
реализации широкого класса ветвящихся случайных процессов с
взаимодействием частиц и марковских случайных процессов как с
дискретным так и с непрерывным временем.
Пример 1. Ветвящийся процесс
Рассмотрим ветвящийся процесс, в котором каждая особь x
популяции
I живет время `x ∈ U(0; 1);
1
I в возрасте ax1 , ax2 ∈ U( ; 1) производит по одному потомку,
3
если axi < `x;
Известно [1], что EZ(t) ∼ eα+β t, α = 0.1164, β = −0.7181.
При помощи Population Modeler были вычислены и осреднены 106
реализаций процесса Z(t). В результате получена оценка EZ(t), из
которой методом МНК получили оценки параметров
β ∈ (−0.7193; −0.7171),
которые хорошо согласуются с теоретическими данными.
95%,
11 x12
22 x 22
12 x1 x 2
21 x 1 x 2
2 x 2 c
r t
c
Здесь x1 — численность первой популяции сообщества, x2 —
численность второй популяции, c — количество ТВ, r — скорость
притока ТВ, остальными буквами обозначены положительные
константы — параметры модели.
Ниже приведены результаты численных экспериментов, проведенных
при помощи Populations Modeler.
Здесь N — это новые индивидуумы, а U — ушедшие из популяции.
В работе [3] мы предложили стохастическую
индивидуум-ориентированную модификацию этой модели, в которой
использованы неэкспоненциальные законы распределения
продолжительности жизни индивидуумов и времени их пребывания в
когортах. В частности, для продолжительности жизни использовалось
распределение Мейкхама-Гомперца. Для определения потоков
индивидуумов между когортами с мы использовали переходы.
Заражение индивидуумов происходило в результате взаимодействий
пар здоровых и зараженных индивидуумов.
На графиках приведены результаты вычислений в программе
Populations Modeler для четырёх разных наборов распределений и
параметров модели. Наборы параметров обозначены числами 1, 2, 3, 4.
Случай r(t) ≡ 0: токсичного вещества нет
500
400
300
200
x 1 t
x 2 t 
100
0
0
2
4
6
8
10
12
14
16
Оценки математических ожиданий
Добавим токсичное вещество
Положим r(t) = r (1 − cos(2 π t)) I(4 < t < 6) и сохраним
значения всех остальных параметров из предыдущего случая.
300
r 1−cos 2 t
200
720000
100
r t
1
710000
r t
0
0
4
2
4
6
8
10
12
14
16
700
2
3
600
700000
x 1 t
500
400
690000
300
x 2 t 
200
100
680000
0
2
4
6
8
10
12
14
16
25
20
660000
0
20
40
60
80
100
120
140
160
180
t
15
200
10
Оценка средней численности популяции.
5
c t 
0
5000
g t

0
4500
2
4
6
8
10
12
14
16
Оценки математических ожиданий
4
700
4000
600
x 1 t
500
3500
400
2
300
3000
200
2500
x 2 t 
100
1
0
0
2000
2
4
6
8
10
12
14
16
8
10
12
14
16
800
700
1500
3
1000
0
20
x 1 t
600
40
60
80
100
120
140
160
180
t
500
200
Оценка средней численности выявленных больных.
400
300
200
x 2 t 
100
0
.012
.010
1
.012
0
2
.010
.006
.006
.004
.004
.002
.002
200
.000
.000
150
.010
3
4
6
250
1350
1490
1630
1770
1910
2050
2190
2330
2470
2610
2750
2890
1350
1490
1630
1770
1910
2050
2190
2330
2470
2610
2750
2890
.008
.012
2
Типичные реализации
.008
.012
4
.010
sd x 2 t 
sd x 1 t
100
50
0
.008
.008
.006
.006
.004
.004
.002
.002
0.8
.000
.000
0.6
0
2
4
6
8
10
12
14
16
1
1350
1490
1630
1770
1910
2050
2190
2330
2470
2610
2750
2890
1350
1490
1630
1770
1910
2050
2190
2330
2470
2610
2750
2890
Вторая версия программы
Работа над второй версией программы началась в 2009 году и
продолжается до сих пор. Для второй версии в качестве языка
программирования выбран язык Java. Особенности реализации второй
версии следующие:
I кросплатформенность;
I более эффективный алгоритм поиска ближайшего момента
перехода, построенный на базе алгоритма сортировки кучей;
I более эффективный алгоритм выбора особи для взаимодействия,
построенный на базе почти полного бинарного дерева;
I использование мультипликативного датчика случайных чисел
mod 2128, с возможностью задавать начальный прыжок и прыжок
на каждую реализацию;
I эффективное использование памяти позволяет рассчитывать
сообщества в несколько миллионов особей;
I параллельное вычисление реализаций как в рамках одного
вычислительного узла (потоки), так и на нескольких
вычислительных узлах, объединенных в сеть (используется
технология RMI);
I программа реализована в виде библиотеки java-классов
(интерфейса пользователя пока нет).
Эта версия программы публично пока не распространяется.
x2
ċ = r(t) − δ c(t)
670000
Первая версия программы
В 2000–2006 годах на языке C++ была написана первая версия
программы, которая обладала следующими особенностями.
I модель описывается на специально разработанном языке;
I использован алгоритм накопления ошибки для представления
моментов времени;
I эффективное нахождение момента ближайшего перехода (поиск в
дереве);
I возможность расчета сообществ в несколько сотен тысяч особей;
I использование мультипликативного датчика псевдослучайных чисел
mod 240, с возможностью задавать начальный прыжок;
Скачать эту версию можно по адресу
http://iitam.omsk.net.ru/ pichugin/files/publication/pm.zip.
2 x 2
1 x 1 c
0
Особенности реализации
α ∈ (0.0984; 0.1213),
x1
c
Переходы
I переход — это «запланированное» изменение состояния
сообщества;
I переходы могут быть нескольких типов;
I моменты возникновения переходов описываются ветвящимся
процессом типа Беллмана–Харриса с несколькими типами частиц, в
котором тип частицы интерпретируется как тип перехода;
I цепь переходов может быть инициирована в момент рождения
особи или в момент взаимодействия особей;
I распределение времени между переходами и результат перехода
может зависеть от параметров особей, участвующих в переходах.
Примеры переходов: вступление в половозрелую стадию, производство
потомства, гибель в результате старения, . . .
1 x 1
Гистограммы распределений численности выявленных
больных в момент t = 200.
P  x 2 t=0
0.4
0.2
P  x 1 t=0
0
0
2
4
6
8
10
12
14
16
Стандартное отклонение и вероятность вырождения
Пример 3. Модель травления сообщества
700
В работе [4] нами была предложена модель сообщества особей в
условиях непрерывного поступления токсичных веществ (ТВ) в среду
обитания. Особенностью этой модели является то, что динамика
сообщества описывается в виде случайного ветвящегося процесса с
несколькими типами частиц и взаимодействием, а поступление
токсичных веществ — в виде дифференциального уравнения.
Предположения модели:
I сообщество поделено на несколько популяций (типов частиц);
I особи дают потомство с постоянной интенсивностью;
I особи погибают вследствие парной конкуренции с другими особями
сообщества (взаимодействие);
I приток особей извне и миграция особей отсутствуют;
I в среду обитания особей поступает токсичное вещество (ТВ):
ċ = r − δ c.
I интенсивность взаимодейстивия особи с ТВ пропорциональна
объему ТВ;
I при взаимодействии особи с ТВ расходуется случайное количество
ТВ и, если это количество болше некоторого порога, то особь
погибает.
600
( ̄x 1 (t)∣x 1>0, x 2 >0)
500
400
( ̄x 2 (t )∣x 1>0, x 2>0)
300
200
100
0
0
2
4
6
8
10
12
14
16
Оценки математических ожиданий при условии невырождения
Литература
[1] Jagers P. Branching processes with biological applications, 1975.
[2] Perelman M.I., Marchuk G.I. et al. Tuberculosis epidemiology in Russia:
the mathematicalmodel and data analysis. / Russ. J. Numer. Anal. Math.
Modelling. 2004. Vol.19. No.4. P.305-314.
[3] Н. В. Перцев, Б. Ю. Пичугин. Индивидуум-ориентированная
стохастическая модель распространения туберкулеза // Сиб. журн.
индустр. математики. 2008. Т. 12. № 2(38). С. 97–110.
[4] Н. В. Перцев, Б. Ю. Пичугин, К. К. Логинов. Статистическое
моделирование динамики популяций, развивающихся в условиях
воздействия токсичных веществ. 2010.
Международная конференция «Современные проблемы математики, информатики и биоинформатики», посвященная 100-летию со дня рождения члена-корреспондента АН СССР Алексея Андреевича Ляпунова
11 - 14 октября 2011 г., Академгородок, Новосибирск, Россия, http://conf.nsc.ru/Lyap-100
Борис Юрьевич Пичугин <bpichugin@mail.ru>
Download