Программа Population Modeler предназначена для проведения численных экспериментов с вероятностными моделями сообществ особей, удовлетворяющих следующим предположениям:
- все сообщество поделено на несколько популяций;
- каждая особь сообщества охарактеризована своим набором параметров, количество и семантика параметров определяются популяцией, к которой принадлежит особь;
- изменение состояния сообщества (рождение и гибель особей, изменение параметров особей) происходит скачкообразно в случайные моменты времени;
- скачки состояния сообщества могут быть вызваны взаимодействиями или переходами;
- взаимодействия — это «незаплпнированные» изменения состояния сообщества:
- моменты возникновения взаимодействий описываются пуассоновским потоком, интенсивность которого зависит от состояния сообщества;
- вероятность выбора особи в качестве участника взаимодействия и результат взаимодействия могут зависеть от параметров особей;
- переходы — это «запланированные» изменения состояния сообщества:
- моменты возникновения переходов описываются ветвящимся процессом типа Беллмана–Харриса с несколькими типами частиц, в котором тип частицы интерпретируется как тип перехода;
- цепь переходов может быть инициирована в момент рождения особи или в момент взаимодействия особей;
- распределение времени между переходами и результат перехода могут зависеть от параметров особей.
В частности, при помощи данной программы можно рассчитывать реализации широкого класса ветвящихся случайных процессов с взаимодействием частиц и марковских случайных процессов как с дискретным так и с непрерывным временем.
Особенности реализации:
- использован мультипликативный датчик случайных чисел с модулем 2128;
- вычисления распараллеливаются по реализациям как в рамках одной ЭВМ, так и между несколькими ЭВМ, соединенных в локальную сеть;
- разработаны специальные структуры данных, позволяющие рассчитывать сообщества в несколько миллионов особей;
- разработаны эффективные контекстно-зависимые алгоритмы поиска ближайшего перехода, добавления и удаления особей;
- использован алгоритм накопления ошибки для представления моментов времени (фактически этот алгоритм дает четверную точность представления времени);
- кросплатформенность.
Файл тезисов: | Pichugin.theses.pdf |
Файл презентации: | Pichugin.Slides.pdf |