Научная статья на тему 'Имитационная модель поведения толпы в среде разработки AnyLogic'

Имитационная модель поведения толпы в среде разработки AnyLogic Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2117
214
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ / ДИНАМИКА ТОЛПЫ / АГЕНТНОЕ МОДЕЛИРОВАНИЕ / ANYLOGIC / SIMULATION MODELING / DYNAMICS OF CROWD / AGENT BASED MODELING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бекларян Армен Левонович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Simulation model of crowd behavior in the IDE AnyLogic

Development of a phenomenological approach to simulation of human crowd behavior is presented in the article. We considered continuous stochastic agent-based model of human behavior in confined space with the given geometry. By analogy with the Antonini’s model, a decision making system of an agent based on the analysis of surrounding space was introduced. The agent based model, which has been created in the simulation system AnyLogic allows to investigate the dynamics of agents taking into account ”effect of crowd” at various scenarios, in particular, the conditions of extreme situations in presence of “crowd crush”, “turbulence” and others effects.

Текст научной работы на тему «Имитационная модель поведения толпы в среде разработки AnyLogic»

УДК 004.942:517.956.225

doi: 10.18097/1994-0866-2015-0-9-40-53

ИМИТАЦИОННАЯ МОДЕЛЬ ПОВЕДЕНИЯ ТОЛПЫ В СРЕДЕ РАЗРАБОТКИ

ANYLOGIC1

© Бекларян Армен Левонович

аспирант, преподаватель кафедры бизнес-аналитики, Национальный исследовательский университет «Высшая школа экономики» Центрального экономико-математического института РАН

Россия, 105187, г. Москва, ул. Кирпичная, 33/5, e-mail: abeklaryan@hse.ru

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

Ключевые слова: имитационное моделирование, динамика толпы, агентное моделирование, AnyLogic.

SIMULATION MODEL OF CROWD BEHAVIOR IN THE IDE ANYLOGIC

Armen L. Beklaryan

Research Assistant, Lecturer, Department of Business Analytics, National Research University "Higher School of Economics" of RAS Central Economics and Mathematics Institute

33/5 Kirpichnaya st., Moscow 105187, Russia

Development of a phenomenological approach to simulation of human crowd behavior is presented in the article. We considered continuous stochastic agent-based model of human behavior in confined space with the given geometry. By analogy with the Antonini's model, a decision making system of an agent based on the analysis of surrounding space was introduced. The agent based model, which has been created in the simulation system AnyLogic allows to investigate the dynamics of agents taking into account "effect of crowd" at various scenarios, in particular, the conditions of extreme situations in presence of "crowd crush", "turbulence" and others effects.

Keywords: simulation modeling, dynamics of crowd, agent based modeling, AnyLogic.

Введение

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

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

1 Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований, грант № 15-37-20265

1. Анализ существующих моделей

Несмотря на высокий интерес к проблематике, долгое время основные работы по данной теме были посвящены психологическим и социальным аспектам вопроса. Например, в работе [11] детально описаны условия и причины возникновения паники, которые сводятся к доминированию коллективного бессознательного как основного фактора. То есть солидная часть исследователей рассматривает толпу с фрейдистской точки зрения, основанной на гипотезе, что люди как часть толпы действуют иначе, чем люди как индивиды. Совокупность разумов членов группы синергируются в некий коллективный разум. Соответственно, и предлагаемые решения проблемы возникновения паники также основаны на таком подходе, который мы назовем наивным.

На фоне описанных исследований изучение толпы с привлечением сложных математических моделей началось сравнительно недавно. Здесь стоит отметить работы пионера этой области - Дирка Хелбинга. В его работе 2000 года в журнале Nature [9] впервые удалось воспроизвести ряд характерных для толпы явлений, таких, как образование пробок, вовлечение новых людей в панику и другие, с помощью математического моделирования. В основе этой работы лежала идея применения к толпе людей методов молекулярной динамики, где психологическим и социальным факторам ставятся в соответствие потенциалы взаимодействия между молекулами-людьми. Такой подход будем называть молекулярным. На основе модели Хелбинга были построены ряд других моделей, рассматривающие различные аспекты возможных усложнений системы взаимодействий. Правда, основная часть моделей основывается на двухчастичном взаимодействии и игнорирует тот факт, что в определенной точке пространства сталкиваются трое и более людей. Тем не менее в работе [12] была рассмотрена модель многочастичного взаимодействия, которая привела к появлению модельного эффекта турбулентности толпы, который не раз был зарегистрирован в реальных ситуациях. Здесь стоит упомянуть работы группы российских ученых, Д.А. Брацуна [2] и его коллег, ставящие своей целью создание агентной модели поведения толпы на основе моделей Хелбинга. Отличительной особенностью моделей Брацуна является сложность геометрии пространства и формирование агентом плана выхода из многоуровнего разветвленного помещения. К сожалению, дальнейшее усложнение моделей Хелбинга, как в части взаимодействия людей, так и в части анализа окружающей обстановки, ведет к громоздкой процедуре совместного интегрирования уравнений движений, что требует либо распараллеливания вычислительных процессов, либо сверхпроизводительных процессоров.

Наряду с двумя описанными подходами, в работе [4] был предложен феноменологический подход, в рамках которого формализована агентная модель поведения толпы. В такой модели априори определяются состояния агентов с их характеристиками, правила взаимодействия агентов и правила принятия решений. Это позволяет смоделировать динамику состояния системы как результат взаимодействия автономных агентов, чья система принятия решений задается в явном виде, а не является результатом решения системы уравнений Ньютона. При этом удается заложить такие эффекты, как турбулентность толпы, волны сжатия толпы и другие, которые в рамках моделей Хелбинга требуют задания соответствующих потенциалов, что, в свою очередь, ведет к поиску уникального динамического решения для весьма сложной системы уравнений и порождает самостоятельную неординарную задачу. Также стоит отметить, что при феноменологическом подходе удается добавить ряд стохастических процессов в систему принятия решений агента с целью приближения моделируемой динамики к реально наблюдаемым случайным флуктуациям в поведении толпы.

2. Концепция предлагаемой агентной модели

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

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

• частичная или полная потеря ориентации в пространстве и во времени;

• высокая степень турбулентности толпы, т.е. наличие хаотичного движения во всех направлениях в условиях высокой плотности агентов;

• существенное замедление скорости передвижения при определенных условиях (ранение, уплотнение и т.д.);

• стремление к ближайшему выходу в случае нахождения выхода в пределах видимости;

• стремление к присоединению к ближайшей группе агентов (эффект притяжения толпы).

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

3. Описание модели поведения толпы

В условии отсутствия ЧС основное стремление агента - покинуть помещение, с наименьшими потерями, в которые входят отклонение от прямолинейной траектории движения к выходу, пересечение с другими агентами, замедление скорости движения и ряд других параметров. Среди допущений модели стоит выделить тот факт, что рассматривается одноэтажное помещение прямоугольной формы с диаметральными выходами. Приведем формальное описание модели. Введем следующие обозначения [3]:

N - общее число агентов (рассматривается как параметр модели); (а0,Ь0) - координата левого верхнего угла помещения (параметр), (а11, Ьп), (а12, Ь12) - координаты вершин первого выхода (параметр), (а21,Ь21), (а22,Ь22) - координаты вершин второго выхода (параметр), 1еп1, ¡еп2 - длина и ширина помещения (параметр), соответственно.

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

Количество агентов в клетке К1 в начальный момент обозначается пк^ . Имеет место раМ

венство ^пк = N . В каждой клетке К1, I = 1,2,...,М задается собственное начальное распре-

¡=1

деление положений агентов в начальный момент времени, обозначаемое области . Распределение вместе с пк^ также являются параметрами.

t = 1,2,...,Т , где Т е [1, +<х>] - модельное время, допускающее дробление вплоть до миллисекунд (квантование времени необходимо для аппроксимация непрерывной модели дискретной). Подобное квантование времени обусловлено тем, что оно намного меньше, чем величина минимального времени для принятия решения агентом; 1 = 1,2,...,N - индекс агентов;

о{ - возраст агента. Значения нормально распределены в отрезке [6,79]; gi - пол агента: случайная величина, равновероятно принимающая значения 1 (мужчина) или 0 (женщина);

х{ ^) - абсцисса положения агента в момент времени t; у ^) - ордината положения агента в момент времени t;

Г(г) = {х,(г),у{(г)} - радиус-вектор положения агента в момент времени г;

V {(г) - абсолютное значение скорости (скалярная величина) перемещения агента в момент времени г ;

V сот? - значение комфортной скорости (скалярная величина) ходьбы агента;

V тах - значение максимальной скорости (скалярная величина) ходьбы агента;

й, (г) - направляющий единичный вектор перемещения агента в момент времени г; Д (г) - направляющий единичный вектор агента к точке выхода в момент времени г; 8() - радиус «личного пространства» агента; ^ (г) - расстояние между , -м и ] -м агентами;

^,, (г) = 7[х (г) - х3 (г)]2 + [у (г) - у, (г)]2;

st (г) е {0, 1, 2, 3} - статус агента статус агента в момент времени г (0 - убит, 1 - ранен, 2 -дезориентация, 3 - жив). Статус 2 является временным и спустя некоторый период меняется на 3. В условиях отсутствия ЧС и давки, stj(t) = 3 для всех i;

sit (г) е {0, 1, 2, 3} - статус восприятия агентом окружающей ситуации в момент времени г (0 - отсутствие ЧС, 3 - время сразу после ЧС, 2 - активная стадия ЧС, 1 - угасание ЧС). В условиях отсутствия ЧС, sit (г) = 0 для всех i;

(г) - площадь горизонтальной проекции агента, 0, если sti (г) = 0 ст^., если sti(t) = 1 если (г) = 2 Т, если sti( г) = 3,

где 5 - базовое значение, ст1,ст2 - поправочные коэффициенты (параметры), причем <у1 > а2 > 1. Значения коэффициентов обусловлены тем, что раненый человек имеет большую площадь проекции, ввиду появившейся, например, хромоты, контузии или просто ухудшения координации движения. Дезориентированный человек, хоть и в меньшей степени, но также склонен к ухудшению своего позиционирования, что влечет увеличение площади проекции. Базовое (5) значение площади горизонтальной проекции агента рассчитывается на основании данных из методики МЧС России.

pi (г) - плотность людей в толпе относительно агента в момент времени г ,

N

I*/ (г) ^ (г)

р' (г)= 2 (г) ,

п 5 (г)

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

) =

х! (г) = \

г /7 >

1, если (х} (t),yJ (г))е В ^ ~, ( X (0у (г))

п

\

0, иначе,

где В (г, (х, у)) - круг радиуса г сцентромв точке (х, у). Опишем функциональную связь между 5{(г) и pi(г).

и (г) Ф 0

St (t) =

Si =

Si(t)8u, P, (t) <pu(t), ?,(t)S2,, A, , (t) <A(t) (t), ?,(t, P2,,(t) <A(t) ^(t), ?Д054,,, Рз,, (t) <p,.(t) <p4,,(t), £0, если sit,. (t) = 0, ^1, если s/t,. (t )= 1, £2, если s/t,. (t) = 2, £3, если siti (t) = 3,

?3 >?2 >?1

TWA ^,3(t) 2Pi,3(t)

P,,1(t) A,2(t) =

3 ",2V' 3

N N

** Yuti (t) s. (t)

j-1 ~ ГЛ- ,„ /-С-J=1

P3,,. (t) =¥3 (sit, (t)) - , ^ (t) = ¥4 ( s^ (t )) - N ,

X*/ (t )sj X*/ (t) sj

j=1 j=1

V^4(sit, (t)) > sfti (t)), ^3(0) > ^3(1) > ^3(2) > ^3(3), ^4(3) > ^4(2) > ^4(1) > ^4(0),

К = , ^ , S3J = 5 Ji , SA, = 5 Ji

V ж V ж \ ж V ж

34 >31 >32 > 53.

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

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

В качестве чрезвычайной ситуации рассматривается одиночный взрыв, центр которого является случайной величиной с вероятностным распределением P . С центром взрыва связаны три концентрические окружности различных радиусов, образующие зоны различного поражения агентов. Попадание в каждую из зон поражения в момент взрыва меняет статус агента st , на соответствующее значение. В случае смерти агента он перестает влиять на дальнейшее развитие модели, в том числе, не является преградой для перемещения. Если в результате взрыва агент дезориентирован, то он на протяжении нескольких секунд он остается неподвижным, а по истечении меняет свой статус на st, = 3.

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

Система принятия решения каждого агента базируется на анализе ситуации в рамках его сектора обзора [5]. Максимальный угол обзора принимается равным 170° для всех агентов, при этом весь сектор обзора разбивается на одиннадцать подсекторов, центральный из которых отражает текущее направление движения, а десять остальных, симметричных относительно центрального, отражают отклонение агента от текущего направления движения (см. рис. 1). Заметим, что меры углов подсекторов тем больше, чем дальше подсектор от центрального, что объясняется более детальным просчетом движения в случае незначительного отклонения, т.к. периферийное зрение уступает в части детализации. Изменение угла обзора в зависимости от ста-

туса ситуации происходит посредством симметричного увеличения или уменьшения числа подсекторов.

Рис. 1. Пространство выбора агента

В каждый момент времени агент определяет новый единичный вектор перемещения di new по

центру выбранного подсектора, а сам подсектор далее отождествляется со своим единичным вектором.

При этом в каждый момент времени агент имеет три альтернативы по отношению к выбору абсолютного значения своей новой скорости vinew : сохранить текущую скорость v{, увеличить

скорость до значения vacc = v{ + yacc (vimax- v{ ) или уменьшить скорость до значения

Vdec = (1 _ Ydec )v,, гДе Yacc, 7dec являются параметрами модели и принимают значения в интервале (0,1).

Таким образом пара значений (vinew, dinew ), определяющих перемещение агента, выбираются

агентом из 33 альтернативных возможностей (11 направлений по центрам подсекторов и 3 варианта выбора скорости). Итоговое положение агента вычисляется по формуле

r = r + v. d. .

г,new i i,new i ,new

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

При этом те альтернативы, которые попадают вне или на стены помещения, агентом не рассматриваются.

Выбор из 33 возможных итоговых положений осуществляется на основе следующего функ-ционала

* i = Росс (siti (t)) occupation. + ¡3dir (sit. (t)) direction. + ¡5dest (sit. (t)) destination. +

Pangle (sit (t)) angle, + f3wa„ (sitl (t)) wall, + f3vel (siL (0)(| v^ - v w |)Av" + (5 (sit. (t))(|v. - v. |)A" (sit.(t))(|v. - v. \)À~g +

' max v i v v| i,new i ,max y ' avg v 1 ,new i ,avg y

Pexp! (siti (t))eXPloSioni

В , В. , В, t, В ., В .., В ., В , В , В . > 0 - весовые коэффициенты, выступающие в качест-

' occ~ ' dir~ ' dest~ ' angle' ' wall~ ' vel ' ' max ~ ' avg' ' expl т т 1 ? j '

ве параметров модели и меняющие свои значения в зависимости от статуса ситуации.

occupation. отражает значимость присутствия других агентов в выбранном секторе di new, другими словами,

N , _ i,

occupation. j 71"r,new j ,

j=1

где Ij равно единице, если j -ый агент находится в секторе dinew, и нулю иначе; ||rinew - j -расстояние между j -ым агентом и новым положением i -ого; ух - нормирующий коэффициент. Чем меньше количество агентов в выбранном секторе, тем меньше значение occupation.. Также значение монотонно убывает в зависимости от степени удаленности других агентов от i -ого агента в секторе.

direction. отражает угол между единичными векторами di new и di, другими словами,

direction. = arccos(di , dt ),

где (•,•) - скалярное произведение векторов. Данный показатель отражает нежелание агента менять направление своего движения.

destination, отражает угол между единичными векторами di new и D{, другими словами,

destination, = arccos(dinew, Dt). Данный показатель отражает желание агента двигаться напрямую к точке выхода.

angle, пропорционален сумме углов между единичными векторами di и dJ, другими словами,

N II- -||

angle, = £ 1уа&е~г*,n" , J=1

где aiJ = arccos(d;,dJ) - угол между направлениями движения агентов; у2 - нормирующий коэффициент. Чем более сонаправлено двигаются агенты, тем меньше значение angle,. В то же время значение монотонно убывает в зависимости от степени удаленности других агентов от 7-го агента в выбранном секторе.

wall, зависит от минимального расстояния от агента до стен, другими словами,

wall,- = е~ъА,,г",

где A inew - минимальное из расстояний от нового положения агента до стен; у3 - нормирующий коэффициент. Очевидно, что чем дальше агент от стен, тем меньше wall,.

(|vinew ~ vicomf |)^e' отражает отклонение скорости агента от его комфортабельной скорости, - нормирующий коэффициент. Данный фактор дает свой вклад только при siti = 0 . (|Vinew ~ Vi max отражает разницу между новой скоростью и максимальной скоростью бега, Amax - нормирующий коэффициент. Данный фактор дает свой вклад только при siti Ф 0 .

(vt new - v{ отражает разницу между новой скоростью и средней скоростью агентов в

секторе, X - нормирующий коэффициент,

v

I I

J=1

-74 Г new-r,\\

ve 11 , J" ij '

i,avg N

I

ij

11

j=l

где уА - нормирующий коэффициент.

explosion i зависит от расстояния от агента до взрыва, другими словами,

explosioni = e rsd'st,,ex<" ,

где disti expl - расстояние от нового положения агента до взрыва; у5 - нормирующий коэффициент. Чем дальше агент от взрыва, тем меньше explosion.. Данный фактор дает свой вклад только при si t. ф 0 .

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

(v , d ) = argmin m .

v i ,new~ i ,new ' с i

4. Программная реализация

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

Необходимость использования дискретно-событийного моделирования для реализации процесса поочередного принятия решений, необходимость наличия анимации движения агентов, а

также использование методов агентного моделирования обуславливают выбор пакета AnyLogic в качестве среды разработки модели.

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

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

Моделирующая среда и поддержка

Система моделирования Производитель ПО Приложения Графическая конструкция ИМ Авторское моделирование, программирование моделей Анимация (в реальном времени) Поддержка анализа результатов

ARENA System Modeling Corporation Производство, анализ бизнес-процессов, дискретное моделирование Блок-схемы + + +

EXTEND Imagine That, Inc. Стратегическое планирование, бизнес-моделирование Компоновочные блоки, непрерывные и дискретные модели язык Modi Анализ чувствительности

GPSS/HPROOF Wolverine Software Corporation Общего назначения, производство, транспорт и др. Блок-схемы + + ANOVA

mUNK ANALYST High Performance System, Inc. Управление финансовыми потоками, реинжиниринг предприятий, банков, инвестиционных компаний и др. CAS Е- средства, имитационное моделирование, потоковые диаграммы f + Анализ чувствительности

PROCESS MODEL PROMODEL Corporation Общее производство, реинжиниринг Блок-схемы, дискретное моделирование - » +

SIMUL8 Visual Thinking International Универсальное средство имитации дискретных процессов , Объектно-ориентированное нрограммиро Банке + Р

TAYLOR SIMULATION SOFTWARE F&H Simulationlac. Производство, стоимостный анализ Блок-схемы, дискретное моделирование 1 шЖ * +

WITNESS Larmer Group Inc. Бизнес-планирование, производство, финансы + f + Блок оптимизации

VENSIM Ventana Systems Модели системной динамики Потоковые диаграммы - - -

POWERSIM Powersin Co. Непрерывное моделирование Потоковые диаграммы - +

DYNAMO Expectation Software Модели системной динамики вычислительного типа Блок-схемы 1 «

AnyLogic XJ Technologies Системная динамика, Дискретно-событишзое, агентное моделирование Потоковые и 4ML диаграммы, дискретное моделирование Java 2D Оптимизация OptQuest

Рис. 2. Сравнение характеристик современных систем имитационного моделирования

С целью хранения входных параметров агентной модели, задаваемых пользователем, а также для хранения динамики характеристик агентов в процессе моделирования, была разработана база данных (далее, БД) под управлением СУБД (система управления базы данных) MS SQL Server. Выбор СУБД был обоснован, с одной стороны, необходимостью развертывания решения на компьютере под управлением ОС Windows, а с другой, такой критически важной характеристикой, как скорость обработки массовых транзакций, которые сопровождают процесс моделирования.

Сохранение в БД динамики состояния агента позволяет в последствии воссоздать движение агента по координатам и другим характеристикам и провести кластерный анализ. Также подобный подход упрощает дальнейший анализ результатов моделирования.

Помимо этого, немало важным фактором при выборе СУБД, являлась возможность осуществления бесшовного соединения системы AnyLogic с MS SQL Server посредством JDBC драйвера. В итоге, построенная архитектура решения позволяет сохранять пользовательские настройки, реплицировать и восстанавливать состояния агентов и проводить различный анализ итогов моделирования для каждого прогона в среде моделирования.

Структура БД представляет из себя набор из двенадцати таблиц, представленных на рис. 3.

Структурно разработанная агентная модель состоит из следующих классов: • Активные классы модели

o Пользовательский интерфейс (Simulation); o Основной класс (Main); o Агент (Person); o Взрыв (Explosion).

• Вспомогательные классы модели

o Кластеризация (Cluster);

o Столкновения (Collision);

o Принятие решения (Decision);

o Точки пространства (MyPoint);

o Векторы пространства (MyVector);

o Возвращаемый результат (Result).

compactness_

tf ID version t

ID_dusterizatron Qua ntrty_of_dusters Compactness

agent cluster

ID

version t

agent

ID_dusterization Number_of_duster

cluster center

tf ID version t

ID_dusterization Number_of_duster x_center y_center

membership

version t

ID_dusterization agent

Number_of_duster Membership

explosion

ID

version

x_expt

y_expE

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

varepsiion_0 varepsiionJL varepsiionj? t

S ID >

version

agents_count

aO —

ЬО

lenl

1ère

all

bll

312

Ы2

a21

square

' i

fir

gender

? ID Gender

velocity

coordinates

® ID >

agent

version

X =

У

V

status

sanation

gender

age -

Age Gender Comfortable Max_gait

functional

tî ID version gammaj. gamma_2 gamma_3 gamma_4 gamma_5 lambda_vel lambdajnax lambda_avg beta_occ_Q beta_occ_l

Рис. 3. Схема БД Пользовательский интерфейс (Simulation)

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

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

В рамках каждого текстового поля, управляемого пользователем, встроена проверка как допустимости вводимых данных, так и каскадное обновление зависимых полей. При завершении работы класса Simulation происходит передача входных параметров моделирования, введенных пользователем, в класс Main, а также проверка непротиворечивость БД на предмет уникальности текущей версии прогона модели.

Основной класс (Main)

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

Класс агента (Person)

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

1. Выполняется Действие перед выполнением шага класса Main.

2. У всех агентов выполняются Действия перед выполнением шага (в каком-то определенном порядке).

3. В том же самом порядке у всех агентов выполняются Действия на шаге.

4. Выполняется Действие после выполнения шага класса Main.

Класс взрыва (Explosion)

Класс Explosion задает визуализацию взрыва, а также его геометрические характеристики - радиусы концентрических окружностей поражения агентов, которые в момент запуска класса Main получают свои фактические значения.

Класс кластеризации (Cluster)

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

Класс столкновений (Collision)

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

Класс принятия решения (Decision)

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

Класс точек пространства (MyPoint)

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

Класс векторов (MyVector)

В этом классе реализовано векторное исчисление пространства. Помимо непосредственного задания векторов различными конструкторами, данный класс реализует такие методы, как скалярное произведение векторов, косое произведение, нормирование вектора, растяжение, поворот вектора, вычисление угла между векторами и т.д.

Классрезулътатов (Result)

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

5. Кластерный анализ

С целью выявления устойчивых групп агентов в основную модель был импортирован программный пакет динамической кластеризации. В каждый момент модельного времени на множестве всех агентов проводится кластеризация одновременно по трем алгоритмам [1, 6, 8]:

1. Метод k-средних (k-means).

2. Иерархический метод.

3. Метод неточной кластеризации C-средних (Fuzzy Cmeans).

Ввиду того, что для указанных алгоритмов в качестве входного параметра выступает коли -чество кластеров, чье значение, с учетом частоты проведения анализа и вариативности количества агентов и геометрии активного пространства, не поддается никакой оценке, то для вычисления оптимального количества кластеров использовался известный критерий компактности [7]:

1 c n

- ZZ^Ik - vi Г

S (U,c) = - -,

min \vi - v. иj Ii j Ii

c = argmin{minS(U,c)},

c ^c

где U - множество всех агентов, i, j - индекс кластеров, k - индекс агентов в кластере, -вероятность принадлежности k -ого агента i -ому кластеру, xk - координата k -ого агента, vi -координата центра i -ого кластера, Qc - всевозможные разбиения U на c кластеров. С учетом высокой степени перестроения кластеров (распад имеющихся кластеров и соединения агентов в новые), а также максимального "правдоподобия", в качестве базового алгоритма был выбран алгоритм нечеткой кластеризации (см. рис. 4). Среди исследуемых характеристик кластерного анализа отдельно стоит отметить:

a) Динамика количества кластеров.

b) Динамика центров кластеров.

c) Динамика диаметровкластеров.

d) Количество агентов в кластерах.

Также важно отразить предпочтения агента относительно различных кластеров:

a) Мера принадлежности агента к кластеру.

b) Частота выбытия и примыкания к кластеру.

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

Рис. 4. Пример кластеризации

6. Основные результаты

Приведенные ниже результаты были получены при значениях т^ = тког = 1. При этом необходимо отметить, что программная реализация допускает задание начального распределения Ек из четырех альтернатив: равномерное распределение, треугольное распределение (Симпсо-

на), нормальное распределение (Гаусса) и распределение Лапласа (двойное экспоненциальное), каждое из которых ограничено размерами помещения. Все распределения, кроме равномерного, требуют задание параметров, первый из которых соответствует математическому ожиданию, а второй определяет дисперсию (для треугольного распределения дисперсия не требуется). Каждое распределение задается независимо относительно своих параметров вдоль обеих осей. Задание математического ожидания в центре помещения видится естественным, но сложность проведения экспериментов при непрерывном изменении дисперсии и неясность пределов варьирования влекут необходимость параметризации данных параметров. Математическое ожидание было параметризовано таким образом, чтобы значение варьировалось от минус до плюс единицы при изменении вдоль линейного размера помещения, а значение равное нулю соответствовало центру помещения. Параметризация дисперсии была проведена таким образом, чтобы среднее квадратическое отклонение равное единице соответствовало шестой части линейного размера помещения по соответствующей оси (правило трех сигм) для нормального распределения и четверти размера помещения для распределения Лапласа. Эксперименты проводились при математическом ожидании равном нулю и среднем квадратическом отклонении равном единице.

Благодаря проведенному тесту Грэйнджера на причинность и проверке гипотезы Б-тестом при количестве экспериментов п = 68 и уровне значимости а = 0,05 , было получено следующее утверждение.

Утверждение 1. Начальное количество кластеров является функцией количества агентов и начального распределения агентов, но не зависит от конфигурации активного пространства.

Результатом проведенного анализа ^критерием Стьюдента проверки гипотез при уровне значимости а = 0,05 стало следующее утверждение.

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

для t < t < t количество кластеров стационарно. С момента t количество кластеров уменьшается до двух.

При этом стоит отметить справедливость оценки суммы диаметров кластеров.

Утверждение 3. С момента { сумма диаметров кластеров является убывающей функцией по времени.

Заключение

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

Литература

1. Прикладная статистика: Классификация и снижение размерности / С. А. Айвазян, В. М. Бухштабер, И. С. Енюков, Л. Д. Мешалкин. - М.: Финансы и статистика, 1989. - 607 с.

2. Аптуков А. М., Брацун Д. А., Люшнин А. В. Моделирование поведения паникующей толпы в многоуровневом разветвленном помещении // Компьютерные исследования и моделирование. - 2013. - Т. 5, № 3. - С. 491-508.

3. Бекларян А. Л., Акопов А. С. Моделирование поведения толпы на основе интеллектуальной динамики взаимодействующих агентов // Бизнес-информатика. - 2015. - Т. 31, №. 1. -С. 69-77.

4. Akopov A. S., Beklaryan L. A. Simulation of human crowd behavior in extreme situations // International Journal of Pure and Applied Mathematics. 2012. Vol. 79, No. 1. P. 121-138.

5. Antonini G., Bierlaire M., Weber M. Discrete choice models of pedestrian walking behavior // Transportation Research Part B. 2006. Vol. 40, No. 8. P. 667-687.

6. Bezdek C. J. Pattern Recognition with Fuzzy Objective Function Algorithms. Kluwer Academic Publishers Norwell, 1981. 256 p.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7. Chi Z., Yan H., Pham T. Fuzzy Algorithms: With Applications to Image Processing and Pattern Recognition. World Scientific, 2006. 225 p.

8. Hartigan J. A., Wong M. A. A K-Means Clustering Algorithm // Journal of the Royal Statistical Society. Series C (Applied Statistics). 1979. Vol. 28, № 1. P. 100-108.

9. Helbing D., Farkas I., Vicsek T. Simulating dynamical features of escape panic // Nature. 2000. No. 407. P. 487-490.

10. Helbing D., Farkas I., Molnar P., Vicsek T. Simulation of pedestrian crowds in normal and evacuation situations // Pedestrian and evacuation dynamics. 2002. No. 21. P. 21-58.

11. Mintz A. Non-adaptive group behavior // Journal of Abnormal Psychology. 1951. Vol. 46, No. 2. P. 150-159.

12. Moussai'da M., Helbing D., Theraulaza G. How simple rules determine pedestrian behavior and crowd disasters // PNAS. 2011. Vol. 108, No. 17. P. 6884-6892.

References

1. Aivazyan S. A., Bukhshtaber V. M., Enyukov I. S., Meshalkin L. D. Prikladnaya statistika: Klassifikatsiya i snizhenie razmernosti [Applied Statistics: Classification and dimension reduction]. Moscow: Finance and statistics, 1989. 607 p.

2. Aptukov A. M., Bratsun D. A., Lyushnin A. V. Modelirovanie povedeniya panikuyushchei tolpy v mnogour vnevom razvetvlennom pomeshchenii [Modeling of behavior of panicked crowd in multi-floor branched space]. Komp'yuternye issledovaniya i modelirovanie - Computer Research and Modeling. 2013. No. 5 (3). Pp. 491-508.

3. Beklaryan A. L., Akopov A. S. Modelirovanie povedeniya tolpy na osnove intellektual'noi di-namiki vzaimodeistvuyushchikh agentov [Simulation of human crowd behavior based on intellectual dynamics of interacting agents]. Biznes-informatika - Business Informatics. 2015. No. 31 (1). Pp. 6977.

4. Akopov A. S., Beklaryan L. A. Simulation of human crowd behavior in extreme situations. International Journal of Pure and Applied Mathematics. 2012. V. 79. No. 1. Pp. 121-138.

5. Antonini G., Bierlaire M., Weber M. Discrete choice models of pedestrian walking behavior. Transportation Research. Part B. 2006. V. 40. No. 8. Pp. 667-687.

6. Bezdek C. J. Pattern Recognition with Fuzzy Objective Function Algorithms. Kluwer Academic Publishers Norwell, 1981. 256 p.

7. Chi Z., Yan H., Pham T. Fuzzy Algorithms: With Applications to Image Processing and Pattern Recognition. World Scientific, 2006. 225 p.

8. Hartigan J. A., Wong M. A. A K-Means Clustering Algorithm. Journal of the Royal Statistical Society. Series C (Applied Statistics). 1979. V. 28. No. 1. P. 100-108.

9. Helbing D., Farkas I., Vicsek T. Simulating dynamical features of escape panic. Nature. 2000. No. 407. Pp. 487-490.

10. Helbing D., Farkas I., Molnar P., Vicsek T. Simulation of pedestrian crowds in normal and evacuation situations. Pedestrian and evacuation dynamics. 2002. No. 21. Pp. 21-58.

11. Mintz A. Non-adaptive group behavior. Journal of Abnormal Psychology. 1951. Vol. 46. No. 2. Pp. 150-159.

12. Moussaïda M., Helbing D., Theraulaza G. How simple rules determine pedestrian behavior and crowd disasters. PNAS. 2011. V. 108. No. 17. Pp. 6884-6892.

i Надоели баннеры? Вы всегда можете отключить рекламу.