Моделирование толпы — это процесс имитации движения (илидинамика ) большого количества сущностей или персонажей.[1]Обычно используется для созданиявиртуальных сцендля визуальных медиа, таких как фильмы ивидеоигры, а также используется в кризисном обучении,[2]архитектуре и городском планировании,[3]и моделировании эвакуации.[4]
Моделирование толпы может фокусироваться на аспектах, которые нацелены на различные приложения. Для реалистичного и быстрого рендеринга толпы для визуальных медиа или виртуальной кинематографии используются снижение сложности 3D-сцены и рендеринг на основе изображений , [5] в то время как вариации (изменения) внешнего вида помогают представить реалистичное население. [6] [7]
В играх и приложениях, предназначенных для воспроизведения движения реальной человеческой толпы, например, в симуляциях эвакуации, моделируемым агентам может потребоваться двигаться к цели, избегать столкновений и демонстрировать другое поведение, подобное поведению человека. Было разработано множество алгоритмов управления толпой, чтобы реалистично вести моделируемые толпы к их целям. Исследуются некоторые более общие системы, которые могут поддерживать различные виды агентов (например, автомобили и пешеходы), [8] различные уровни абстракции (например, индивидуум и континуум), [9] агентов, взаимодействующих со смарт-объектами, [10] и более сложную физическую и социальную динамику . [11]
Всегда существовал глубокий интерес к пониманию и получению контроля над движениями и поведением толп людей. С начала исследований в области моделирования толпы произошло много крупных достижений. Очевидно, что постоянно делается и публикуется много новых открытий, которые повышают масштабируемость, гибкость, применимость и реалистичность моделирования:
В 1987 году поведенческая анимация была представлена и разработана Крейгом Рейнольдсом . [12] Он моделировал стаи птиц вместе со стаями рыб с целью изучения групповой интуиции и движения. Всем агентам в этих симуляциях был предоставлен прямой доступ к соответствующим положениям и скоростям окружающих их агентов. Теоретизирование и исследование, изложенные Рейнольдсом, были улучшены и развиты в 1994 году Сяоюань Ту , Деметри Терзопулосом и Радеком Гжещуком. [13] Реалистичное качество симуляции было задействовано, поскольку отдельные агенты были оснащены синтетическим зрением и общим видом среды, в которой они находились, что позволяло осуществлять перцептивное осознание в пределах их динамических местообитаний.
Первые исследования в области моделирования толпы начались в 1997 году под руководством Даниэля Тальмана над докторской диссертацией Сорайи Раупп Муссе. Они представляют новую модель поведения толпы с целью создания моделирования общих популяций. [14] Здесь проводится связь между автономным поведением индивида в толпе и возникающим из этого поведением. [15]
В 1999 году индивидуалистическая навигация начала свой путь в сфере моделирования толпы благодаря продолжению исследований Крейга Рейнольдса. [16] Доказано, что рулевое поведение играет большую роль в процессе автоматизации агентов в симуляции. Рейнольдс утверждает, что процессы низкоуровневого передвижения зависят и зависят от рулевого поведения среднего уровня и целевых состояний более высокого уровня и стратегий поиска пути. Основываясь на передовой работе Рейнольдса, Массе и Тальман начали изучать моделирование симуляций этих толп в реальном времени и их применение к поведению человека. Управление толпами людей было обозначено как иерархическая организация с уровнями автономии среди агентов. Это знаменует начало моделирования индивидуального поведения в его самой элементарной форме на гуманоидных агентах или виртуальных людях . [17]
Одновременно с публикациями, посвященными моделям человеческого поведения и симуляциям группового поведения, популярность приобрело предложение Мэтта Андерсона, Эрика Макдэниела и Стивена Ченни об ограничениях поведения [18] . Было представлено позиционирование ограничений на групповые анимации, которое можно было бы выполнить в любое время в рамках симуляции. Этот процесс применения ограничений к поведенческой модели осуществляется двояко: сначала определяется начальный набор целевых траекторий, совпадающих с ограничениями, а затем к этим путям применяются поведенческие правила для выбора тех, которые их не нарушают.
Сопоставляя и развивая выводы, предложенные в его работе с Муссом, Тальман, работая вместе с Братиславой Уличной и Пабло де Герасом Цехомски, предложил новую модель, которая допускала интерактивное создание агентов на уровне отдельного человека, группы агентов и всей толпы. Вводится метафора кисти для распределения, моделирования и управления членами толпы в реальном времени с немедленной обратной связью. [19]
Одной из основных целей моделирования толпы является реалистичное управление толпой и воссоздание динамического поведения человека.
Существует несколько всеобъемлющих подходов к моделированию толпы и ИИ, каждый из которых имеет свои преимущества и недостатки, основанные на размере толпы и масштабе времени. Масштаб времени относится к тому, как цель моделирования также влияет на продолжительность моделирования. Например, исследование социальных вопросов, таких как распространение идеологий среди населения, приведет к гораздо более длительному моделированию, поскольку такое событие может длиться месяцы или годы. Используя эти две характеристики, исследователи попытались применить классификации для лучшей оценки и организации существующих симуляторов толпы. [20]
Одним из способов моделирования виртуальных толп является использование системы частиц . Системы частиц были впервые введены в компьютерную графику У. Т. Ривзом в 1983 году. [23] Система частиц представляет собой совокупность ряда отдельных элементов или частиц . Каждая частица способна действовать автономно и ей назначается набор физических атрибутов (таких как цвет, размер и скорость).
Система частиц динамична, в том смысле, что движения частиц меняются со временем. Движение системы частиц — это то, что делает ее столь желанной и простой в реализации. Расчет движений этих частиц занимает совсем немного времени. Он просто включает физику: сумма всех сил, действующих на частицу, определяет ее движение. Такие силы, как гравитация, трение и сила столкновения, а также социальные силы, такие как сила притяжения цели.
Обычно каждая частица имеет вектор скорости и вектор положения , содержащие информацию о текущей скорости и положении частицы соответственно. Следующее положение частицы вычисляется путем сложения ее вектора скорости с ее вектором положения. Очень простая операция (опять же, почему системы частиц так желательны). Ее вектор скорости изменяется со временем в ответ на силы, действующие на частицу. Например, столкновение с другой частицей заставит ее изменить направление.
Системы частиц широко использовались в фильмах для создания таких эффектов, как взрывы, для создания водных эффектов в фильме 2000 года «Идеальный шторм» и имитации газа в фильме 1994 года «Маска» .
Однако у систем частиц есть некоторые недостатки. Использование системы частиц для имитации агентов в толпе, которую режиссер будет перемещать по команде, может быть плохой идеей, поскольку определение того, какие частицы принадлежат агенту, а какие нет, очень сложно.
Этот алгоритм был разработан для относительно простых толп, где каждый агент в толпе хочет только добраться до своей цели, избегая при этом препятствий. [24] Этот алгоритм можно использовать для моделирования толпы на Таймс-сквер.
Самая важная и отличительная особенность алгоритма Патила заключается в том, что он использует концепцию навигационных полей для направления агентов. Это отличается от поля наведения; поле наведения — это область вокруг агента, в которой агент способен «видеть»/обнаруживать информацию. Поля наведения обычно используются для избегания препятствий, в частности динамических препятствий (препятствий, которые движутся). Каждый агент обладает собственным полем наведения. С другой стороны, навигационное поле — это векторное поле, которое вычисляет путь с минимальной стоимостью для каждого агента, так что каждый агент достигает своей собственной целевой позиции.
Поле навигации может быть использовано правильно только тогда, когда существует путь от каждой свободной (не препятствующей) позиции в среде до одной из целевых позиций. Поле навигации вычисляется с использованием координат статических объектов в среде, целевых позиций для каждого агента и поля наведения для каждого агента. Чтобы гарантировать, что каждый агент достигнет своей собственной цели, поле навигации должно быть свободно от локальных минимумов, за исключением наличия стоков в указанных целях.
Время выполнения вычисления навигационного поля составляет , где m × n — размер сетки (аналогично алгоритму Дейкстры ). Таким образом, алгоритм зависит только от разрешения сетки и не зависит от количества агентов в среде. Однако этот алгоритм имеет высокую стоимость памяти.
Один из наборов методов моделирования толпы на основе ИИ заключается в моделировании поведения толпы путем расширенного моделирования мотивации и принятия решений отдельных агентов. Как правило, это означает, что каждому агенту назначается некоторый набор переменных, которые измеряют различные черты или состояния, такие как стресс, личность или различные цели. Это приводит к более реалистичному поведению толпы, хотя может быть более вычислительно интенсивным, чем более простые методы.
Один из методов создания индивидуалистического поведения для агентов толпы — использование черт личности. [25] У каждого агента могут быть определенные аспекты его личности, настроенные на основе формулы, которая связывает такие аспекты, как агрессивность или импульсивность, с переменными, которые управляют поведением агентов. Один из способов найти эту связь — субъективное исследование, в котором агентам случайным образом назначаются значения для этих переменных, и участников просят описать каждого агента в терминах этих черт личности. Затем может быть проведена регрессия для определения корреляции между этими чертами и переменными агента. Затем черты личности могут быть настроены и иметь соответствующее влияние на поведение агента.
Модель личности OCEAN использовалась для определения соответствия между чертами личности и параметрами моделирования толпы. Автоматизация настройки параметров толпы с чертами личности обеспечивает простоту создания сценариев с неоднородной толпой. [26]
Поведение толпы в ситуациях высокого стресса можно смоделировать с помощью теории общего адаптационного синдрома . [27] На поведение агента влияют различные стрессоры из его окружения, которые можно разделить на четыре прототипа: давление времени, давление области, позиционные стрессоры и межличностные стрессоры, каждый из которых имеет соответствующие математические модели.
Давление времени относится к стрессорам, связанным с ограничением времени на достижение определенной цели. Примером может служить переход улицы с синхронизированным сигналом пешехода или посадка в поезд до закрытия дверей. Этот прототип моделируется следующей формулой:
где - интенсивность давления времени как функция предполагаемого времени достижения цели и ограничения по времени .
Давление области относится к стрессорам как результат состояния окружающей среды. Примерами могут служить шум или жара в области. Интенсивность этого стрессора постоянна в определенной области и моделируется следующей формулой:
где — интенсивность давления на область, — положение агента в области , — константа.
Позиционные стрессоры относятся к стрессорам, связанным с локальным источником стресса. Интенсивность этого стрессора увеличивается по мере приближения агента к источнику стресса. Примером может служить пожар или динамический объект, такой как нападающий. Его можно смоделировать с помощью следующей формулы:
где - интенсивность позиционного стрессора, - положение агента, - положение стрессора. В качестве альтернативы, стрессоры, которые генерируют высокий стресс на большой площади (например, пожар), можно моделировать с помощью гауссовского распределения со стандартным отклонением :
Межличностные стрессоры — это стрессоры, возникающие в результате скопления агентов поблизости. Это можно смоделировать с помощью следующей формулы:
где — интенсивность межличностного стрессора, — текущее число соседей в пределах единичного пространства, — предпочтительное число соседей в пределах единичного пространства для данного конкретного агента.
Воспринимаемый стресс следует закону Стивенса и моделируется формулой:
где — воспринимаемый стресс для уровня стресса , — масштабный коэффициент, а — показатель степени, зависящий от типа стрессора.
Реакцию агента на стресс можно найти по следующей формуле:
где — реакция на стресс, ограниченная максимальным значением , а — максимальная скорость, с которой может изменяться реакция агента на стресс.
Примеры заметной имитации толпы с помощью искусственного интеллекта можно увидеть в фильмах «Властелин колец» от New Line Cinema , где армии искусственного интеллекта из тысяч персонажей сражаются друг с другом. Эта имитация толпы была сделана с использованием программного обеспечения Massive от Weta Digital .
Моделирование толпы может также относиться к моделированию, основанному на групповой динамике , психологии толпы и даже социальном этикете . [28] В этом случае основное внимание уделяется поведению толпы, а не обязательно визуальному реализму моделирования. Толпы изучались как научный интерес с конца 19-го века. Многие исследования были сосредоточены на коллективном социальном поведении людей на общественных собраниях, ассамблеях, протестах, восстаниях, концертах, спортивных мероприятиях и религиозных церемониях. Получение представления о естественном поведении человека в различных типах стрессовых ситуаций позволит создать лучшие модели, которые можно использовать для разработки стратегий управления толпой, часто при планировании общественной безопасности.
Группы реагирования на чрезвычайные ситуации, такие как полиция, Национальная гвардия, военные и даже волонтеры, должны пройти определенную подготовку по контролю толпы. Использование исследованных принципов поведения человека в толпе может дать разработчикам обучения по чрезвычайным ситуациям больше элементов для включения в создание реалистичных смоделированных катастроф. Поведение толпы можно наблюдать как в условиях паники, так и в условиях отсутствия паники. Военные программы больше ориентированы на смоделированное обучение, включающее реагирование на чрезвычайные ситуации, из-за их экономически эффективной технологии, а также того, насколько эффективно обучение может быть перенесено в реальный мир. [ необходима цитата ] Многие события, которые могут начинаться контролируемыми, могут иметь поворотное событие, которое превращает их в катастрофические ситуации, где решения необходимо принимать на месте. Именно в этих ситуациях понимание динамики толпы может сыграть жизненно важную роль в снижении вероятности хаоса.
Методы моделирования толп варьируются от целостных или сетевых подходов до понимания индивидуальных или поведенческих аспектов каждого агента. Например, модель социальной силы описывает потребность людей в поиске баланса между социальным взаимодействием и физическим взаимодействием. Подход, который включает оба аспекта и способен адаптироваться в зависимости от ситуации, лучше описывал бы естественное поведение человека, всегда включающее некоторую меру непредсказуемости. С использованием многоагентных моделей понимание этих сложных поведений стало гораздо более понятной задачей. С использованием этого типа программного обеспечения системы теперь можно тестировать в экстремальных условиях и моделировать условия в течение длительных периодов времени за считанные секунды.
В некоторых ситуациях поведение стай животных, не являющихся людьми, может быть использовано в качестве экспериментальной модели поведения толпы. Было обнаружено, что паническое поведение муравьев при воздействии репеллента в замкнутом пространстве с ограниченными путями выхода имеет как сходства, так и различия с эквивалентным человеческим поведением. [29] [30]
Хакоэн, Шовал и Швалб [31] сформулировали динамику водителей-пешеходов в перегруженных конфликтных точках. В таких сценариях водители и/или пешеходы не соблюдают правила дорожного движения. Модель основана на функции вероятностной навигации (PNF), которая изначально была разработана для планирования движения робототехники. Алгоритм строит траекторию в соответствии с вероятностью столкновения в каждой точке всей зоны перехода. Затем пешеход следует по траектории, которая локально минимизирует их предполагаемую вероятность столкновения.
Хелбинг предложил модель, основанную на физике, использующую систему частиц и социально-психологические силы для описания поведения толпы людей в ситуации паники, теперь это называется Модель Хелбинга. Его работа основана на том, как среднестатистический человек отреагирует в определенной ситуации. Хотя это хорошая модель, в толпе всегда присутствуют разные типы людей, и у каждого из них есть свои индивидуальные характеристики, а также то, как они действуют в структуре группы. Например, один человек может не реагировать на ситуацию паники, в то время как другой может остановиться и вмешаться в динамику толпы в целом. Кроме того, в зависимости от структуры группы, индивидуальное действие может меняться, поскольку агент является частью группы, например, возвращаясь в опасное место, чтобы спасти члена этой группы. Модель Хелбинга можно обобщить, включив индивидуализм, как предложили Браун, Муссе, Оливейра и Бодманн. [32]
Для решения этой проблемы каждому агенту должна быть приписана индивидуальность, что позволит иметь дело с различными типами поведения. Другим аспектом решения этой проблемы является возможность группировать людей, формирование этих групп заставляет людей менять свое поведение в зависимости от части структуры группы. Каждый агент (индивид) может быть определен по следующим параметрам:
Для моделирования эффекта параметра зависимости с отдельными агентами уравнение определяется следующим образом:
При оценке скорости агента становится ясно, что если значение фактора зависимости DE равно единице, то человек будет полностью недееспособен, что сделает его неспособным двигаться. Если же фактор зависимости равен нулю, то человек способен бежать с максимальной скоростью.
Формирование группы связано с силой альтруизма, которая реализуется как сила взаимодействия между двумя или более агентами, являющимися частью одной семьи. Математически это описывается следующим образом:
где:
Следовательно, чем больше параметр AL i агента i , тем больше будет Fā i , который указывает на агента j и имеет высокий уровень DE j . Когда оба агента находятся достаточно близко друг к другу, тот, у кого высокий DE (агент j в этом примере), принимает значение агента i ( ). Это означает, что способность к эвакуации агента i делится с агентом j , и оба начинают двигаться вместе.
При использовании этих уравнений в тестировании модели с использованием нормально распределенной популяции результаты весьма схожи с результатами модели Хелбинга.
Места, где это было бы полезно, — это сценарий эвакуации. Возьмем, к примеру, эвакуацию здания в случае пожара. Принимая во внимание характеристики отдельных агентов и их групповые действия, определение результата того, как толпа покинет здание, имеет решающее значение при создании макета здания. [32]
Как было описано ранее, модель Хелбинга используется в качестве основы для поведения толпы. Этот же тип модели поведения используется для моделирования эвакуации.
В общем, первое, что следует предположить, это то, что не у всех есть знания об окружающей среде или о том, где есть и где нет опасностей. Из этого предположения мы можем создать три типа агентов. Первый тип — обученный лидер, этот агент знает об окружающей среде и способен распространять знания среди других агентов, чтобы они знали, как выйти из среды. Следующий тип агента — необученный лидер, этот агент не знает об окружающей среде, однако, поскольку агент исследует окружающую среду и получает информацию от других типов лидеров, агент способен распространять знания об окружающей среде. Последний тип агента — последователь, этот тип агента может только получать информацию от других лидеров и не может делиться ею с другими агентами.
Реализация этих типов агентов довольно проста. Лидеры в среде имеют карту среды, сохраненную как один из их атрибутов. Необученный лидер и последователи начнут с пустой карты в качестве своего атрибута. Необученные лидеры и последователи начнут исследовать среду самостоятельно и создадут карту проходимых и непроходимых мест. Лидеры и необученные лидеры (как только у них появятся знания) будут делиться информацией с другими агентами в зависимости от их близости. Они будут делиться информацией о том, какие точки на сетке заблокированы, локальных подграфах и опасностях в этой области.
Для этой реализации были опробованы два типа алгоритмов поиска. Был случайный поиск и поиск в глубину. Случайный поиск — это когда каждый из агентов идет в любом направлении через среду и пытается найти выход. Поиск в глубину — это когда агенты следуют по одному пути до тех пор, пока могут, а затем возвращаются и пробуют другой путь, если пройденный ими путь не содержит выхода. Было обнаружено, что поиск в глубину дает ускорение в 15 раз по сравнению со случайным поиском. [33]
Существует множество различных ситуаций, которые вступают в игру в моделировании толпы. [34] В последнее время моделирование толпы стало необходимым для многих приложений виртуальной среды, таких как образование, обучение и развлечения. Многие ситуации основаны на среде моделирования или поведении группы локальных агентов. В приложениях виртуальной реальности каждый агент взаимодействует со многими другими агентами в среде, требуя сложных взаимодействий в реальном времени. Агенты должны иметь непрерывные изменения в среде, поскольку поведение агентов допускает сложные взаимодействия. Масштабируемая архитектура может управлять большими толпами с помощью поведения и интерактивных скоростей. Эти ситуации будут указывать, как толпа будет действовать в нескольких сложных сценариях, пока применяются несколько различных ситуаций. Ситуацией может быть любое обстоятельство, которое имеет типичное локальное поведение. Мы можем разделить все ситуации на два разных вида.
Пространственная ситуация — это ситуация, которая имеет область, где окружающая среда влияет на локальных агентов. Например, толпа, ожидающая в очереди к билетной кассе, будет отображать пространственную ситуацию. Другими примерами могут быть автобусная остановка или банкомат, где персонажи воздействуют на свою среду. Поэтому мы будем рассматривать «автобусную остановку» как ситуацию, если поведение агентов должно заключаться в посадке или высадке из автобуса.
Непространственная ситуация не имеет области в окружающей среде, поскольку она включает только поведение толпы. Взаимоотношения локальных агентов являются важным фактором, который следует учитывать при определении поведения. Примером может служить группа друзей, идущих вместе. Типичное поведение персонажей, которые являются друзьями, будет двигаться вместе друг с другом. Это означает, что «дружба» будет ситуацией среди типичного поведения при совместной ходьбе.
Структура любой ситуации строится на четырех компонентах: функциях поведения, датчиках, состояниях и правилах событий. Функции поведения представляют то, что поведение персонажей специфично для ситуации. Датчики — это сенсорная способность агентов видеть и реагировать на события. Состояния — это различные движения и переходы состояний, используемые только для локальных поведений. Правило событий — это способ связать различные события с их конкретным поведением. Когда персонаж помещается в ситуацию, эти четыре компонента рассматриваются одновременно. Для пространственных ситуаций компоненты добавляются, когда человек изначально попадает в среду, которая влияет на персонажа. Для непространственных ситуаций персонаж подвергается влиянию только после того, как пользователь назначает ситуацию персонажу. Четыре компонента удаляются, когда агент удаляется из области его ситуаций или сама ситуация удаляется. Динамическое добавление и удаление ситуаций позволяет нам получать масштабируемых агентов.
Чтобы смоделировать больше аспектов человеческой деятельности в толпе, нужно больше, чем просто планирование пути и движения. Сложные социальные взаимодействия, интеллектуальная манипуляция объектами и гибридные модели являются проблемами в этой области. Моделируемое поведение толпы вдохновлено потоком реальных толп. Поведенческие модели, скорости и плотности движения, а также аномалии анализируются во многих средах и типах зданий. Индивидуумы отслеживаются , а их движения документируются, так что алгоритмы могут быть выведены и внедрены в симуляции толпы.
Отдельные сущности в толпе также называются агентами . Для того чтобы толпа вела себя реалистично, каждый агент должен действовать автономно (иметь возможность действовать независимо от других агентов). Эта идея называется моделью на основе агентов. Более того, обычно желательно, чтобы агенты действовали с некоторой степенью интеллекта (т. е. агенты не должны совершать действий, которые могут нанести им вред). Чтобы агенты принимали разумные и реалистичные решения, они должны действовать в соответствии с окружающей средой, реагировать на ее изменения и реагировать на других агентов. Терзопулос и его студенты были пионерами в области моделей пешеходов на основе агентов, подход, называемый многочеловеческим моделированием, чтобы отличать его от обычного моделирования толпы. [22] [35] [28]
В ИИ на основе правил виртуальные агенты следуют сценариям: «если это произойдет, сделайте то». Это хороший подход, если требуются агенты с разными ролями, например, главный герой и несколько второстепенных персонажей. Этот тип ИИ обычно реализуется с иерархией, например, в иерархии потребностей Маслоу , где чем ниже потребность находится в иерархии, тем она сильнее.
Например, представьте себе ученика, идущего на занятия, который сталкивается со взрывом и убегает. Теория, лежащая в основе этого, заключается в том, что изначально удовлетворяются первые четыре уровня его потребностей, и ученик действует в соответствии со своей потребностью в самоактуализации. Когда происходит взрыв, его безопасность оказывается под угрозой, что является гораздо более сильной потребностью, заставляющей его действовать в соответствии с этой потребностью.
Этот подход масштабируем и может применяться к толпам с большим количеством агентов. Однако ИИ на основе правил имеет некоторые недостатки. Наиболее заметным из них является то, что поведение агентов может стать очень предсказуемым, что может привести к нереалистичному поведению толпы.
При обучении ИИ виртуальные персонажи ведут себя способами, которые были проверены, чтобы помочь им достичь своих целей. Агенты экспериментируют со своей средой или образцом среды, который похож на их реальную.
Агенты выполняют различные действия и учатся на своих ошибках. Каждый агент изменяет свое поведение в ответ на награды и наказания, которые он получает от окружающей среды. Со временем каждый агент разовьет поведение, которое с большей вероятностью принесет высокие награды.
При использовании такого подхода, наряду с большим количеством возможных вариантов поведения и сложной средой, агенты будут действовать реалистично и непредсказуемо.
Существует широкий спектр алгоритмов машинного обучения, которые можно применять для моделирования толпы.
Q-Learning — это алгоритм, находящийся в подобласти машинного обучения, известной как обучение с подкреплением. Базовый обзор алгоритма заключается в том, что каждому действию назначается значение Q, и каждому агенту дается директива всегда выполнять действие с самым высоким значением Q. В этом случае обучение применяется к способу назначения значений Q, который полностью основан на вознаграждении. Когда агент вступает в контакт с состоянием s и действием a, алгоритм затем оценивает общее значение вознаграждения, которое агент получит за выполнение этой пары состояние-действие. После расчета этих данных они затем сохраняются в знаниях агента, и агент продолжает действовать оттуда.
Агент будет постоянно изменять свое поведение в зависимости от наилучшего доступного ему значения Q. И по мере того, как он исследует все больше и больше среды, он в конечном итоге узнает наиболее оптимальные пары действий состояния для выполнения практически в каждой ситуации.
Следующая функция описывает основную часть алгоритма:
При заданном состоянии s и действии a, r и s являются вознаграждением и состоянием после выполнения (s,a), а a' — это диапазон по всем действиям. [36]
Реалистичное отображение и анимация большого количества агентов, особенно в реальном времени, является сложной задачей. Чтобы уменьшить сложность 3D-рендеринга крупномасштабных толп, использовались такие методы, как отбраковка (отбрасывание неважных объектов), самозванцы (рендеринг на основе изображений) и снижение уровня детализации. [37] Вариации внешнего вида, формы и размера тела, аксессуаров и поведения (социального или культурного) существуют в реальных толпах, и отсутствие разнообразия влияет на реалистичность визуальных симуляций. Существующие системы могут создавать виртуальные толпы с различной текстурой, [7] цветом, [38] размером, формой и анимацией. [6]
Моделирование толпы широко использовалось в фильмах как экономически эффективная и реалистичная альтернатива найму актеров и съемке кадров, которые в противном случае были бы нереалистичными. Яркий пример его использования — «Властелин колец» (серия фильмов) . Одной из самых вопиющих проблем для производственной группы на начальных этапах были масштабные сражения, поскольку автор романов Дж. Р. Р. Толкин предполагал, что в них будет участвовать не менее 50 000 человек. Такое число было бы нереалистичным, если бы они решили попытаться нанять только настоящих актеров и актрис. Вместо этого они решили использовать компьютерную графику для моделирования этих сцен с помощью системы моделирования множественных агентов в виртуальной среде, также известной как MASSIVE. Для разработки этих сцен использовался плагин Maya на основе Human Logic Engine для моделирования толпы, Miarmy . Программное обеспечение позволяло создателям фильма предоставлять каждой модели персонажа искусственный интеллект на основе агентов, который мог использовать библиотеку из 350 анимаций. На основе параметров зрения, слуха и осязания, полученных в результате моделирования, агенты реагировали бы уникально на каждую ситуацию. Таким образом, каждое моделирование сцены было непредсказуемым. Конечный продукт наглядно продемонстрировал преимущества использования программного обеспечения для моделирования толпы. [39]
Разработка программного обеспечения для моделирования толпы стала современным и полезным инструментом в проектировании городской среды. В то время как традиционный метод городского планирования опирается на карты и абстрактные эскизы, цифровое моделирование более способно передавать как форму, так и намерение дизайна от архитектора к пешеходу. Например, уличные знаки и светофоры являются локализованными визуальными подсказками, которые влияют на пешеходов, чтобы они двигались и вели себя соответствующим образом. Следуя этой логике, человек может перемещаться из точки А в точку Б эффективным способом, и в результате коллективная группа людей может действовать более эффективно. В более широком смысле автобусные системы и придорожные рестораны служат пространственной цели в своих местоположениях через понимание моделей движения людей. [40] Серия видеоигр SimCity иллюстрирует эту концепцию более упрощенным образом. В этой серии игрок назначает развитие города в обозначенных зонах, сохраняя при этом здоровый бюджет. Переход от пустой земли к оживленному городу полностью контролируется выбором игрока, а цифровые граждане ведут себя в соответствии с дизайном и событиями города.
Имитация реалистичной толпы может использоваться при обучении действиям в условиях беспорядков, архитектуре, технике безопасности (планирование эвакуации).
Поскольку моделирование толпы так распространено в использовании для общественного планирования и общего порядка в отношении хаотичных ситуаций, можно извлечь много приложений для правительственных и военных симуляций. Моделирование толпы имеет важное значение в полицейском и военном моделировании для обучения офицеров и солдат справляться с массовыми скоплениями людей. Мало того, что наступающие комбатанты оказываются сложными для этих людей, но и некомбатанты играют значительную роль в том, чтобы сделать эти агрессивные ситуации более неконтролируемыми. Игровые технологии используются для моделирования этих ситуаций, чтобы солдаты и техники могли практиковать свои навыки. [41]
Поведение смоделированной толпы играет важную роль в аналитических вопросах. Эта динамика опирается на физическое поведение отдельных агентов в толпе, а не на визуальную реальность самой модели. Социальное поведение людей в этих конструкциях представляло интерес в течение многих лет, и социологические концепции, лежащие в основе этих взаимодействий, постоянно изучаются. Моделирование толпы в различных ситуациях позволяет проводить социологическое исследование реальных собраний в различных аранжировках и местах. Различия в поведении человека в ситуациях с разным уровнем стресса позволяют проводить дальнейшую разработку и создание стратегий управления толпой, которые можно более конкретно применять к ситуациям, а не обобщать.