Моделювання типу скупчення

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Моделюва́ння типу скупчення — це процес моделювання руху (або динаміки) великої кількості об'єктів або символів.[1] Він широко використовується для створення віртуальних сцен для візуальних носіїв, таких як фільми та відеоігри, а також використовується в кризовій підготовці,[2] архітектурі та містобудуванні[3], для моделювання евакуації.[4]

Моделювання натовпу може бути зосереджено на аспектах, призначених для різних додатків. Для реалістичного і швидкого зображення натовпу у візуальних медіа або віртуальному кінематографі використовуються зменшення складності 3D-сцени і рендеринг на основі зображень,[5] в той час як зміни зовнішнього вигляду допомагають уявити реалістичну популяцію.[6]

В іграх і додатках, призначених для відтворення реалістичного руху людського натовпу, як при моделюванні евакуації, імітовані агенти повинні переміщатися до мети, уникати зіткнень і демонструвати іншу людиноподібну поведінку. Багато алгоритмів управління натовпом були розроблені щоб привести імітований натовп до своєї мети реалістично. Досліджено деякі більш загальні системи, які можуть підтримувати різні типи агентів (наприклад, автомобілі та пішоходи),[7] різні рівні абстракції (такі як індивідуальний і континуум),[8] агенти взаємодіють зі смарт-об'єктами,[9] а також більш складною фізичною та соціальною динамікою.[10]

Історія[ред. | ред. код]

Завжди був глибокий інтерес до розуміння і отримання контролю за рухом і поведінкою натовпу людей. Багато великих досягнень відбулося з моменту початку досліджень в області моделювання натовпу. Очевидно, що після цього постійно публікуються і публікуються численні нові дані, які покращують масштабованість, гнучкість, можливість застосування і реалістичність моделювання:

У 1987 році, поведінкова анімація була введена і розроблена Крейгом Рейнольдсом.[11] Він змоделював зграї птахів поруч косяків риб з метою вивчення групової інтуїції і руху. Всі агенти в рамках цих імітацій отримали прямий доступ до відповідних позицій і швидкостей оточуючих їх агентів. Теоретизування і вивчення спонукане Рейнольдсом було вдосконалено і побудовано в 1994 р. Ксяоюн Тю, Деметрою Терзопулос і Радеком Гжежчуком.[12] Реалістична якість моделювання була пов'язана з тим, що окремі агенти були оснащені синтетичним баченням і загальним видом середовища, в якому вони проживали, дозволяючи сприймати інформацію в їх динамічних середовищах існування.

Початкові дослідження в області моделювання натовпу почалися в 1997 році під наглядом Даніеля Тальманна над дисертацією доктора Сорайя Рауппом Мусса. Ці двоє представляють нову модель поведінки натовпу, щоб створити симуляцію загальних популяцій.[13] Тут робиться зв'язок між автономною поведінкою індивіда в натовпі і поведінкою, що виникає з цього.[14]

У 1999 р. індивідуалістична навігація розпочала свій шлях в області моделювання натовпу за допомогою тривалого дослідження Крейга Рейнольдса.[15] Кермова поведінка, як доводять, грає велику роль в процесі автоматизації агентів симуляції. Рейнольдс стверджує, що процеси низького рівня пересування залежать від середнього рівня кермової поведінки і цільових станів і шляхів пошуку стратегій вищого рівня. Споглядаючи передову роботу Рейнольдса, Сора Раупп Мусса і Даніель Тельманн почали вивчати моделювання імітацій в реальному часі цих натовпів та їх застосування до поведінки людини. Контроль натовпу людей визначався як ієрархічна організація з рівнем автономії серед агентів. Це знаменує початок моделювання індивідуальної поведінки в його елементарній формі на гуманоїдних агентах.[16]

Збігаючись з публікаціями по моделях поведінки людини і симуляторах групової поведінки, пропозиція Метта Андерсона, Еріка МакДеніела і Стівена Ченні про обмеження поведінки[17] набули популярності. Було показано, що позиціювання обмежень групової анімації можливо в будь-який час в рамках симуляції. Цей процес застосування обмежень до поведінкової моделі зазнає головним чином, спочатку визначаючи вихідний набір цільових траєкторій, які збігаються з обмеженнями, а потім застосовуючи до них ці правила поведінки, щоб вибрати ті, які їх не порушують.

Кореляція і побудова висновків, запропонованих в його роботі з Сорайя Раупп Муссом, Даніель Тальманн, який працював разом з Братиславою Уличною і Пабло де Херасом Цехомські, запропонували нову модель, яка дозволяла інтерактивно створювати агентів на рівні окремої людини, групи Агентів і всього натовпу. Метафора кисті вводиться для поширення, моделювання та управління учасниками натовпу в режимі реального часу з негайним зворотним зв'язком.[18]

Динаміка натовпу[ред. | ред. код]

Однією з основних цілей моделювання натовпу є реалістичне управління натовпами і відтворення динамічних моделей людської поведінки.

Існує кілька всеосяжних підходів до моделювання натовпу і штучного інтелекту, кожен з яких має переваги і недоліки, засновані на розмірі натовпу і масштабі часу. Шкала часу ставиться до того, щоб мета моделювання також впливала на тривалість моделювання. Наприклад, дослідження соціальних питань, таких як поширення ідеології серед населення, призведе до набагато більш тривалої симуляції, оскільки така подія може охоплювати місяці або роки. Використовуючи ці дві характеристики, дослідники спробували застосувати класифікації, щоб краще оцінити і організувати існуючі симулятори натовпу.[19]

Потоковий підхід
Моделювання натовпу на основі потоку орієнтоване на натовп в цілому, а не її компоненти. Оскільки такі індивідууми не мають будь-яких відмітних форм поведінки, які відбуваються через вклад їх оточення, а поведінкові фактори в значній мірі зменшуються.[20] Ця модель в основному використовується для оцінки руху великого і щільного натовпу в даному середовищі. Найкраще використовувати у вивченні великого натовпу короткі цілі часу.
Сутнісний підхід
Моделі, які реалізують набір фізичних, зумовлених і глобальних законів, призначених для імітації соціальних/психологічних факторів, які відбуваються у людей, які є частиною натовпу, підпадають під цю категорію. Суб'єкти в цьому випадку не здатні, в певному сенсі, думати самі за себе. Всі рухи визначаються глобальними законами, які нав'язуються їм. Симуляції, які використовують цю модель, часто роблять так, щоб дослідити динаміку натовпу, таку як глушіння і стікання. Мало-середні натовпу з короткостроковими цілями найкраще підходять для цього підходу.
Агентський підхід
Характеризується автономними, взаємодіючими індивідуумами. Кожному агенту натовпу при такому підході дається певна ступінь інтелекту; Вони можуть реагувати на кожну ситуацію самостійно, ґрунтуючись на наборі правил прийняття рішень. Інформація, яка використовується для прийняття рішення про дію, виходить локально з середовища агента. Найчастіше цей підхід використовується для моделювання реалістичного поведінки натовпу, оскільки досліднику надається повна свобода для реалізації будь-якої поведінки.

Системи частинок[ред. | ред. код]

Один із способів імітації віртуальної натовпу - використовувати систему частинок. Системи частинок вперше були введені в комп'ютерну графіку В. Т. Рівзом в 1983 році.[21] Система частинок являє собою сукупність ряду окремих елементів або часток. Кожна частинка здатна діяти автономно і їй присвоюється набір фізичних атрибутів (таких як колір, розмір і швидкість).

Система частинок є динамічною, оскільки руху частинок змінюються з плином часу. Рух системи частинок - ось що робить його таким бажаним і легким у реалізації. Обчислення рухів цих частинок займає дуже мало часу. Він просто включає фізику:сума всіх сил, що діють на частку, визначає її рух. Сили, такі як гравітація, тертя і сила від зіткнення, і соціальні сили, такі як сила тяжіння мети.

Зазвичай кожна частка має вектор швидкості і вектор положення, що містить інформацію про поточну швидкість і положення частинки відповідно. Обчислення наступного положення частинок виробляється шляхом підсумовування вектора швидкості з його вектором положення. Дуже проста операція (знову ж таки, чому системи частинок так бажані). Його вектор швидкості змінюється з часом у відповідь на сили, що діють на частинку. Наприклад, зіткнення з іншого часткою призведе до зміни напрямку.

Системи частинок широко використовувалися у фільмах для таких ефектів, як вибухи, ефекти води у фільмі 2000 року «Ідеальний шторм» і імітація газу в фільмі «Маска» 1994 року.

Однак системи частинок мають деякі недоліки. Це може бути поганою ідеєю використовувати систему частинок, щоб імітувати агентів в натовпі, і директор рухатиметься по команді, визначаючи, які частки належать агенту, а які ні.

Алгоритм Патіла і Ван Ден Берга[ред. | ред. код]

Цей алгоритм був розроблений для спрощених натовпів, де кожен агент в натовпі хоче тільки дістатися до своєї мети, а також уникати перешкод.[22] Цей алгоритм може бути використаний для імітації натовпу на Таймс-сквер.

Найбільш важливою і відмітною особливістю алгоритму Патілса є те, що він використовує концепцію навігаційних полів для направлення агентів. Це відрізняється від області керівництва; Поле керівництва є область навколо агента, в якій агент здатний «бачити»/виявляти інформацію. Області інструкцій зазвичай використовуються для запобігання перешкод, динамічних перешкод (зокрема, перешкод). Кожен агент має власний полем для керівництва. З іншого боку, навігаційне поле являє собою векторне поле, яке обчислює шлях мінімальної вартості для кожного агента, щоб кожен агент прибув в свою власну цільову позицію.

Поле навігації можна використовувати тільки правильно, коли існує шлях від кожного вільного (не перешкоджає) положення в середовищі до однієї з позицій мети. Навігаційній обчислюється з використанням координат статичних об'єктів в середовищі, цільових позицій для кожного агента і поля керівництва для кожного агента. Щоб гарантувати, що кожен агент досягає своєї мети, навігаційній має бути позбавлене локальних мінімумів, за винятком наявності приймачів в зазначених цілях.

Час обчислення поля навігації , де m × n - розмір сітки (по аналогії з алгоритмом Дейкстра). Таким чином, алгоритм залежить тільки від дозволу сітки і не залежить від кількості агентів в середовищі. Однак цей алгоритм має високу вартість пам'яті.

Моделювання індивідуальної поведінки[ред. | ред. код]

Один з методів моделювання імітації натовпу на основі ІІ складається в моделюванні поведінки натовпу шляхом вдосконаленого моделювання індивідуальних чинників мотивації і прийняття рішень. Як правило, це означає, що кожному агенту присвоюється певний набір змінних, які вимірюють різні риси або стану, такі як стрес, особистість або різні цілі. Це призводить до більш реалістичного поведінки натовпу, хоча може бути більш обчислювальним, ніж більш прості методи.

Моделі, засновані на особистості[ред. | ред. код]

Один із способів створення індивідуалістичного поведінки для агентів натовпу - це використання особистісних якостей.[23] Кожен агент може мати певні аспекти їх особистості, налаштовані на основі формули, яка пов'язує такі аспекти, як агресивність або імпульсивність зі змінними, які визначають поведінку агентів.Одним із способів виявлення зв'язку з цим є суб'єктивне дослідження, при якому агентам випадковим чином присвоюються значення для цих змінних, і учасникам пропонується описати кожного агента з точки зору цих особистісних якостей. Потім може бути зроблена регресія для визначення кореляції між цими ознаками і змінними агента. Потім характеристики особистості можуть бути налаштовані і відповідним чином впливають на поведінку агентів.

Модель особистості OCEAN використовувалася для визначення відповідності рис особистості і параметрів моделювання натовпу. Автоматизація настройки параметрів натовпу з індивідуальними особливостями забезпечує легке створення сценаріїв з неоднорідними натовпами.[24]

Стрес-модель[ред. | ред. код]

Поведінка натовпу в ситуаціях з високим стресом може бути змодельоване з використанням теорії загального синдрому адаптації.[25] Поведінка агента залежить від різних факторів стресу від їх оточення, які поділяються на чотири прототипу: тимчасовий тиск, тиск у області, позиційні стресори і міжособистісні стресори, Кожен з відповідними математичними моделями.

Тиск часу відноситься до стресових факторів, пов'язаних з терміном досягнення певної мети. Прикладом може служити перехрестя з синхронізованим сигналом ходьби або посадка в поїзд до закриття дверей. Цей прототип моделюється наступною формулою:

де 𝐼𝑡 – інтенсивність тимчасового тиску як функція розрахункового часу досягнення мети 𝑡𝑒 і обмеження за часом 𝑡𝑎.

Тиск в зоні відноситься до стресів в результаті стану навколишнього середовища. Прикладами можуть бути шум або висока температура в зоні. Інтенсивність цього стресора постійна певній площі і моделюється за такою формулою:

де 𝐼𝑎 – інтенсивність тиску області, 𝑝𝑎 – позиція агента в області А і 𝑐 є константою.

Позиційні стресори відносяться до стресорів, пов'язаних з локальним джерелом стресу. Інтенсивність цього стресу зростає в міру того, як агент наближається до джерела стресу. Прикладом може бути вогонь або динамічний об'єкт, такий як нападник. Його можна змоделювати за такою формулою:

де 𝐼𝑝 – інтенсивність позиційного стресора, 𝑝𝑎 – позиція агента, а 𝑝𝑠 – позиція стресора. В ролі альтернативи, стресори, які створюють сильний стрес на великій площі (наприклад, вогонь), можуть бути змодельовані з використанням розподілу Гаусса зі стандартним відхиленням σ:

Міжособистісні стресори є стресором в результаті скупченості прилеглих агентів. Його можна змоделювати за такою формулою:

де 𝐼𝑖 – інтенсивність міжособистісного стресора, 𝑛𝑐 – поточна кількість сусідів в одиничному просторі і 𝑛𝑝 є кращим числом сусідів в одиничному просторі для цього конкретного агента.

Perceived stress слідує закону Стівена і моделюється за формулою

де 𝜓(𝐼) – сприймається стрес для рівня стресу 𝐼, 𝑘 – масштабний коефіцієнт і 𝑛 – показник, що залежить від типу стресора.

Відповідь стресу агента можна знайти за такою формулою:

де 𝑆 – реакція на стрес, обмежена максимальним значенням β і α – максимальна швидкість, з якою може реагувати стрес-реакція агента.

Приклади помітного імітаційного моделювання AI можна побачити у фільмах «Володар перснів» New Line Cinema, де тисячі армій AI б'ються один з одним. Це моделювання натовпу було зроблено з використанням масового програмного забезпечення Weta Digital.

Соціологія[ред. | ред. код]

Моделювання натовпу може також ставитися до симуляціям, заснованим на груповій динаміці і психології натовпу, часто в плануванні громадської безпеки. У цьому випадку основна увага приділяється просто поведінки натовпу, а не візуального реалізму моделювання. Натовпи були вивчені як науковий інтерес з кінця 19 століття. Багато досліджень було присвячено колективному соціальної поведінки людей на громадських зборах, зборах, протестах, повстаннях, концертах, спортивних заходах і релігійних церемоніях. Отримання розуміння природної поведінки людини при різних типах стресових ситуацій дозволить створити досконаліші моделі, які можуть бути використані для розробки стратегій контролю натовпу.

Групи реагування на надзвичайні ситуації, такі як поліцейські, Національна гвардія, військові і навіть добровольці, повинні пройти певний тип тренування з контролю за натовпом. Використання досліджених принципів поведінки людей у натовпі може дати дизайнерам, які займаються підготовкою до стихійних лих, більше елементів для включення в створення реалістичних симульованих катастроф. Поведінку натовпу можна спостерігати під час панічних і непаніческіх станів. Коли природні і неприродні події підкидають соціальні ідеали в звивисту хаотичну прихильність, таку як події 11 вересня і ураган «Катріна», соціальні можливості людства дійсно піддаються випробуванню. Військові програми більше орієнтовані на імітацію навчання, в тому числі на реагування в надзвичайних ситуаціях через їх економічно ефективних технологій, а також того, наскільки ефективно навчання може бути перенесено в реальний світ.[джерело?] Багато подій, які можуть початися під контролем, можуть мати крутильне подія Що перетворює їх в катастрофічні ситуації, коли рішення повинні прийматися на місці. Саме ці ситуації, в яких динамічний розуміння натовпу зіграло б життєво важливу роль в зменшенні потенціалу анархії.

Методи моделювання натовпу варіюються від цілісних або мережевих підходів до розуміння індивідуалістичних або поведінкових аспектів кожного агента. Наприклад, модель соціальних сил описує потребу індивідуумів знайти баланс між соціальною взаємодією і фізичним взаємодією. Підхід, який включає обидва аспекти і здатний адаптуватися в залежності від ситуації, краще описав би природна поведінка людини, завжди містить деяку міру непередбачуваності. З використанням многоагентних моделей розуміння цих складних поводжень стало набагато зрозумілішою завданням. За допомогою цього типу програмного забезпечення системи тепер можуть тестуватися в екстремальних умовах і імітувати умови протягом тривалого часу протягом декількох секунд.

У деяких ситуаціях поведінка зграй тварин, що не відносяться до людини, може бути використана як експериментальна модель поведінки натовпу. Було виявлено, що панічна поведінка мурах при контакті з репелентною хімічною речовиною в обмеженому просторі з обмеженими маршрутами виходу має схожість і відмінності з еквівалентним поведінкою людини.[26][27]

Моделювання окремих видів поведінки[ред. | ред. код]

Хелбінг запропонував модель, засновану на фізиці, з використанням системи частинок і соціально-психологічних сил, щоб описати поведінку людей в паніці, це зараз називається Модель Хелбінг. Його робота заснована на тому, як середня людина буде реагувати в певній ситуації. Хоча це хороша модель, в натовпі завжди є різні типи людей, і кожен з них має свої індивідуальні характеристики, а також те, як вони діють в груповий структурі. Наприклад, одна людина може не реагувати на паніку, в той час як інший може припинити ходьбу і втручатися в динаміку натовпу в цілому. Крім того, в залежності від структури групи, індивідуальну дію може змінитися, тому що агент є частиною групи, наприклад, повертаючись в небезпечне місце, щоб врятувати члена цієї групи. Модель Хелбінг може бути узагальнена з урахуванням індивідуалізму.

Щоб вирішити цю проблему, індивідуальність повинна бути призначена кожному агенту, дозволяючи мати справу з різними типами поведінки. Іншим аспектом вирішення цієї проблеми є можливість угруповання людей, формування цієї групи змушує людей змінювати свою поведінку як функцію частини структури групи. Кожен агент (індивідуум) може бути визначено відповідно з наступними параметрами:

1. Id – ідентифікатор агента.

 2. IdFamily – Ідентифікатор сімейства. Сім'я - це зумовлена група, сформована агентами, які знають один одного.
 3. DE - рівень залежності агента, який імітує потреба в допомозі. Значення [0,1].
 4. AL – рівень альтруїзму, що відображає прагнення допомогти іншим агентам. Значення [0,1]. 
 5. 𝑉і – швидкість агента.

Щоб змоделювати вплив параметра залежно з окремими агентами, рівняння визначається як:

При оцінці швидкості агента ясно, що якщо значення коефіцієнта залежно DE дорівнює одиниці, то людина буде повністю відключений, що зробить його нездатним рухатися. Якщо коефіцієнт залежності дорівнює нулю, то людина може працювати на максимальній швидкості.

Групове формування пов'язане з силою Альтруїзму, яка реалізується як сила взаємодії між двома або більше агентами, які є частиною одного і того ж сімейства. Математично це описується в такий спосіб:

𝑑𝑖𝑗 є відстань між двома агентами з початком в позиції агента. 𝑑𝑖𝑝 - це векторна точка відстані від агентів до позиції двері p середовища моделювання. К - постійна. 𝑒𝑖𝑗 - унітарний вектор з початком у позиції i.

Отже, чим більше параметр ALi агентуі, тим більше буде Fāі, який вказує на агентаj і має високий рівень DEj. Коли обидва агента знаходяться досить близько один до одного, то з високим DE (агентj в цьому прикладі) приймає значення агентуі (DEj = DEi). Це означає, що евакуаційна здатність агентів розподіляється разом з агентом, і обидва починають рухатися разом.

Використовуючи їх, застосовуючи ці рівняння при тестуванні моделі з використанням нормально розподіленої сукупності, результати досить схожі на модель Helbing.

Місця, де це було б корисно, були б в сценарії евакуації.Візьмемо, наприклад, евакуацію будівлі в разі пожежі. Беручи до уваги характеристики окремих агентів і їх групові дії, визначаючи результат того, як натовп виходила з будівлі, критично важливо при створенні макета будівлі.[28]

Поведінка лідерів під час симуляцій евакуації[ред. | ред. код]

Як описано вище, Helbing Model використовується як основа для поведінки натовпу. Такий же тип моделі поведінки використовується для моделювання евакуації.

Загалом, перше, що потрібно прийняти, - це те, що не всі володіють знаннями про навколишнє середовище або там, де є і не є небезпечними. Виходячи з цього припущення, ми можемо створити три типи агентів. Перший тип - це навчений лідер, цей агент знає про навколишнє середовище і здатний поширювати знання серед інших агентів, щоб вони знали, як вийти з середовища. Наступний тип агента - ненавчений лідер, цей агент не знає про навколишнє середовище, проте, оскільки агент досліджує навколишнє середовище і отримує інформацію від інших лідерів, агент може поширювати знання про навколишнє середовище. Останній тип агента - послідовник, цей тип агента може приймати інформацію тільки від інших лідерів і не може ділитися інформацією з іншими агентами.

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

Для цієї реалізації були випробувані два типи пошукових алгоритмів. Був випадковий пошук і глибинний пошук. Випадковий пошук - це коли кожен з агентів йде в будь-якому напрямку через навколишнє середовище і намагається знайти шлях. Перший пошук глибини - це коли агенти слідують по одному шляху, наскільки він може піти, потім повертаються, і пробують інший шлях, якщо пройдений шлях не містить виходу. Якщо було виявлено, що при першому пошуку по глибині швидкість збільшувалася в 15 разів у порівнянні з випадковим пошуком.[29]

Масштабоване моделювання[ред. | ред. код]

Існує безліч різних ситуацій, які грають роль в моделюванні натовпу.[30] Останнім часом моделювання натовпу було необхідно для багатьох додатків віртуального середовища, таких як освіта, навчання та розваги. Багато ситуації засновані на середовищі моделювання або поведінці групи локальних агентів. У додатках віртуальної реальності кожен агент взаємодіє з багатьма іншими агентами в середовищі, закликаючи до складних взаємодій в режимі реального часу. Агенти повинні постійно змінюватися в середовищі, оскільки поведінка агентів допускає складні взаємодії. Масштабна архітектура може управляти великими натовпами за допомогою поведінки та інтерактивних ставок. Ці ситуації вкажуть, як натовпи будуть діяти в декількох складних сценаріях, в той час як застосовуються кілька різних ситуацій. Ситуація може бути будь-яким обставиною, яке має типове локальне поведінка. Ми можемо класифікувати всі ситуації на два різних типи.

Просторова ситуація - ситуація, в якій регіон впливає на місцевих агентів. Наприклад, натовп, яка очікує черги в касі, буде відображати просторову ситуацію. Іншими прикладами можуть бути автобусна зупинка або банкомат, де персонажі діють в своєму середовищі. Тому ми б розглядали «зупинку автобуса» як ситуацію, коли поведінка агентів повинно бути увімкнене.

Non-Spatial ситуація не має області в навколишньому середовищу, тому що це тільки залучає поведінку натовпу. Ставлення місцевих агентів є важливим фактором, який слід враховувати при визначенні поведінки. Прикладом може бути група друзів, які йдуть разом. Типова поведінка персонажів, які є друзями, буде рухатися разом. Це означає, що «дружба» буде ситуацією серед типової поведінки при ходьбі разом.

Структура будь-якої ситуації будується на чотирьох компонентах: функціях поведінки, датчиках, станах і правилах подій. Функції поведінки є те, що поведінка персонажів специфічно для ситуації. Датчики - це здатність датчиків сприймати події і реагувати на них. Стану - це різні рухи і переходи станів, які використовуються тільки для локального поведінки. Правило події - це спосіб зв'язати різні події з їх конкретною поведінкою. У той час як персонаж потрапляє в ситуацію, ці чотири компоненти розглядаються одночасно. Для просторових ситуацій компоненти додаються, коли індивід спочатку входить в середу, яка впливає на персонажа. Для непросторових ситуацій символ зачіпається тільки після того, як користувач привласнює ситуації символ. Чотири компонента видаляються, коли агент видаляється зі своєї області ситуацій або сама ситуація видаляється. Динамічне додавання і видалення ситуацій дозволяє нам створювати масштабовані агенти

Людиноподібна поведінка і ШІ натовпу[ред. | ред. код]

Моделювання натовпу площі Ковент-Гарден, Лондон, показуючи натовп пішохідних агентів, що реагують на вуличного виконавця

Моделювання натовпу площі Ковент-Гарден, Лондон, показуючи натовп пішохідних агентів, що реагують на вуличного виконавця. Щоб імітувати більше аспектів людської діяльності в натовпі, необхідно більше, ніж планування шляху і руху. Складні соціальні взаємодії, інтелектуальні маніпуляції з об'єктами і гібридні моделі - проблеми в цій галузі. Поведінка натовпу людей натхненне потоком натовпу реальних людей. Поведінкові моделі, швидкості руху і щільності, а також аномалії аналізуються в багатьох середовищах і типах будівель. Окремі особи відслідковуються, і їх руху документуються таким чином, що алгоритми можуть бути отримані і реалізовані в симуляції натовпу.

Окремі об'єкти в натовпі також називаються агентами. Щоб натовп могла вести себе реалістично, кожен агент повинен діяти автономно (бути здатним діяти незалежно від інших агентів). Ця ідея називається агентною моделлю. Більш того, зазвичай бажано, щоб агенти діяли з деякою мірою інтелекту (тобто агенти не повинні виконувати дії, які могли б зашкодити їхній роботі). Щоб агенти брали розумні і реалістичні рішення, вони повинні діяти відповідно до їх довкіллям, реагувати на її зміни і реагувати на інших агентів.

AI на основі правил[ред. | ред. код]

Maslow's Hierarchy of Needs
Піраміда потреб Маслоу

У заснованому на правилах AI віртуальні агенти слідують сценаріями: «якщо це станеться, зробіть це». Це хороший підхід, якщо потрібно, якщо потрібні агенти з різними ролями, такі як головний герой і кілька другорядних персонажів. Цей тип ІІ зазвичай реалізується за допомогою ієрархії, наприклад, в ієрархії потреб Маслоу, де чим нижче потреба в ієрархії, тим вона сильніше.

Наприклад, розгляньте студента, що йде в клас, який зустрічає вибух і тікає. Теорія, що лежить в основі цього, спочатку перші чотири рівні його потреб задовольняються, і студент діє відповідно до своєї потреби в самоактуалізації. Коли відбувається вибух, його безпеки загрожують, що є набагато більш сильною потребою, змушуючи його діяти відповідно до цієї потребою.

Такий підхід є масштабованим і може застосовуватися до натовпам з великою кількістю агентів. Однак заснований на правилах ІІ має деякі недоліки. Зокрема, поведінка агентів може стати дуже передбачуваним, що може змусити натовп вести себе нереально.

Вивчення АІ[ред. | ред. код]

При вивченні АІ віртуальні персонажі ведуть себе так, як це було перевірено, щоб допомогти їм досягти своїх цілей. Агенти експериментують зі своїм середовищем або з зразковою середовищем, яка схожа на їх реальну.

Агенти виконують безліч дій і вчаться на своїх помилках. Кожен агент змінює свою поведінку у відповідь на нагороди і покарання, які він отримує від навколишнього середовища. Згодом кожен агент буде розробляти моделі поведінки, які з більшою ймовірністю будуть отримувати високі винагороди.

Якщо цей підхід використовується, поряд з великою кількістю можливих варіантів поведінки і складної середовищем, агенти будуть діяти реалістично і непередбачувано.

Алгоритми[ред. | ред. код]

Існує безліч алгоритмів машинного навчання, які можна застосовувати для моделювання натовпу.

Q-Learning - це алгоритм, який перебуває в підпіллі машинного навчання, званому підкріпленням навчання. Основний огляд алгоритму полягає в тому, що кожній дії призначається значення Q, і кожному агенту дається директива завжди виконувати дію з найвищим значенням Q. У цьому випадку навчання відноситься до способу присвоєння значень Q, що повністю засноване на винагороду. Коли агент входить в контакт зі станом, s і дією, a, алгоритм потім оцінює загальне значення винагороди, яке агент отримає за виконання цієї пари дій держави.Після обчислення цих даних, він потім зберігається у відомості агента і агент переходить звідти..

Агент буде постійно змінювати свою поведінку в залежності від найкращого значення Q, доступного для нього. І в міру того, як він досліджує все більше і більше навколишнього середовища, він в кінцевому підсумку навчиться найбільш оптимальним парам дій стану виконувати практично в кожній ситуації.

Основна функція алгоритму полягає в наступному:

Q(s, a) ←− r + maxaQ(s', a')

Для стану s і дії a, r і s є нагородою і станом після виконання (s, a), а a - діапазон по всіх діях.[31]

Відображення і анімація натовпу[ред. | ред. код]

Реалізація та анімація великої кількості агентів реалістично, особливо в реальному часі, складна. Для зменшення складності 3D-рендеринга великомасштабних натовпів використовувалися такі методи, як відбраковування (відкидання несуттєвих об'єктів), самозванці (рендеринг на основі зображень) і зниження рівнів деталізації.[32] Варіації зовнішнього вигляду, форми і розміру тіла, аксесуарів і поведінки (соціального або культурного) існують в реальному натовпі, а відсутність різноманітності впливає на реалізм візуального моделювання. Існуючі системи можуть створювати віртуальні натовпу з різною текстурою,[6] кольором,[33] розміром, формою і анімацією.[5]

Див. також[ред. | ред. код]

Ефективне рендеринг великих натовпів в режимі реального часу з варіаціями в моделі і поведінці накладається на 3D-рендеринг і анімацію. Імунні агенти для ефективного рендерингу натовпу схожі на рекламні щити (спрайт завжди звернені до засобу перегляду) для рендерингу в цілому.

Аналіз і відстеження натовпу надають реальні дані для оцінки та вдосконалення методів моделювання, а справжні масиви даних можуть спільно використовувати методи моніторингу натовпу і аномалії з імітацією натовпу. Для зіставлення імітованих сценаріїв з реальними даними відстеження натовпу необхідний надійний, стійкий до шуму метод.[34]

Моделювання трафіку також включає планування руху і має макроскопічний і мікроскопічний/індивідуальний підхід. Були гібридні системи, які дозволяють транспортним засобам і пішоходам в одному і тому ж моделюванні.[35]

Застосування в реальному світі[ред. | ред. код]

Віртуальний кінематограф[ред. | ред. код]

Моделювання натовпу широко використовувалося в фільмах як рентабельна і реалістична альтернатива найму акторів і зйомки кадрів, які в іншому випадку були б нереалістичними. Важливим прикладом його використання є «Володар перснів» (серія фільмів). Однією з найбільш кричущих проблем для виробничої команди на початкових етапах були великомасштабні битви, оскільки автор романів, Дж. Р. Р Толкієн, передбачав, що у них буде щонайменше 50 000 учасників. Така кількість було нереалістичним, якщо вони вирішили тільки спробувати найняти реальних акторів і актрис. Замість цього вони вирішили використовувати CG для імітації цих сцен за допомогою системи моделювання множинних агентів у віртуальному середовищі, інакше відомої як MASSIVE. Для розробки цих послідовностей використовувався модуль Human Logic Engine, заснований на плагіні Maya для моделювання натовпу, Miarmy. Програмне забезпечення дозволило кінорежисерам надати кожної моделі персонажів агент А.І. Який міг би використовувати бібліотеку з 350 анімацій. Ґрунтуючись на параметрах зору, слуху і дотику, що генеруються імітацією, агенти будуть реагувати однозначно в кожній ситуації. Таким чином, кожна симуляція сцени була непередбачуваною. Кінцевий продукт ясно показав переваги використання програмного забезпечення моделювання натовпу.[36]

Міське планування[ред. | ред. код]

Розробка програмного забезпечення для моделювання натовпу стала сучасним і корисним інструментом при проектуванні міського середовища. У той час як традиційний метод міського планування заснований на картах і абстрактних ескізах, цифрове моделювання більш здатне передати як форму, так і намір дизайну від архітектора до пішохода. Наприклад, вуличні знаки та світлофори є локалізованими візуальними сигналами, які впливають на рух пішоходів і поводяться відповідно. За такою логікою, людина може переходити з пункту А в пункт Б ефективним чином і що колективна група людей може діяти більш ефективно в результаті. У більш широкому сенсі, автобусні системи та придорожні ресторани служать просторової мети в їх розташування через розуміння людських моделей руху. Серія відеоігор SimCity ілюструє цю концепцію більш спрощеним способом. У цій серії гравець призначає розвиток міста в позначених зонах при збереженні здорового бюджету. Прогрес від порожньої землі до галасливого міста повністю контролюється вибором гравця, а цифрові громадяни поводяться так само, як відповідно до дизайну і подіями в місті.

Евакуація і заворушення[ред. | ред. код]

Імітовані реалістичні натовпу можуть використовуватися в навчанні по роботі з масовими заворушеннями, архітектурі, наукам про безпеку (планування евакуації).

Військові[ред. | ред. код]

Будучи тим, що моделювання натовпу настільки поширене в використанні для громадського планування і загального порядку щодо хаотичних ситуацій, багато додатків можуть бути зроблені для урядових і військових симуляцій. Моделювання натовпу має важливе значення в поліцейському і військовому моделюванні, щоб навчати офіцерів і солдатів, щоб мати справу з масовими сходами людей. Мало того, що образливі комбатанти виявляються важкими для цих людей, але безкорисливі натовпу грають важливу роль у тому, щоб зробити ці агресивні ситуації більш неконтрольованими. Ігрові технології використовуються для імітації таких ситуацій, коли солдати і техніки можуть практикувати свої навички.[37]

Соціологія[ред. | ред. код]

Поведінка змодельованої натовпу грає помітну роль в аналітичних питаннях. Ця динаміка заснована на фізичному поведінці окремих агентів в натовпі, а не на візуальної реальності самої моделі. Соціальна поведінка людей в цих конструкціях становить інтерес протягом багатьох років, і соціологічні концепції, що лежать в основі цих взаємодій, постійно вивчаються. Моделювання натовпу в різних ситуаціях дозволяє проводити соціологічне дослідження реальних зборів у найрізноманітніших формах і місцях. Відмінності в поведінці людини в ситуаціях, що розрізняються рівнями стресу, дозволяють в подальшому розробляти і створювати стратегії контролю натовпу, які можна більш конкретно застосовувати до ситуацій, а не до узагальнених.

Див.також[ред. | ред. код]

Програмне забезпечення для моделювання натовпу[ред. | ред. код]

  • Alice Software by the Moving Picture Company
  • Golaem Crowd
  • Massive (software)
  • Miarmy
  • Quadstone Paramics
  • VISSIM

Посилання[ред. | ред. код]

  1. Thalmann, Daniel (2016). Crowd Simulation. Encyclopedia of Computer Graphics and Games. с. 1—8. doi:10.1007/978-3-319-08234-9_69-1. ISBN 978-3-319-08234-9.
  2. http://cc.ist.psu.edu/BRIMS/archives/2007/papers/07-BRIMS-025.pdf [Архівовано 21 грудня 2016 у Wayback Machine.] Jérôme Comptdaer, Emmanuel Chiva, Stéphane Delorme, Henri Morlaye, Jérôme Volpoët, Multi-scale behavioral models for urban crisis training simulation.
  3. Drettakis, George; Roussou, Maria; Reche, Alex; Tsingos, Nicolas (2007). Design and Evaluation of a Real-World Virtual Environment for Architecture and Urban Planning (PDF). Presence: Teleoperators and Virtual Environments. 16 (3): 318—32. doi:10.1162/pres.16.3.318. Архів оригіналу (PDF) за 29 липня 2020. Процитовано 20 квітня 2020.
  4. Gwynne, S.; Galea, E.R.; Owen, M.; Lawrence, P.J.; Filippidis, L. (1999). A review of the methodologies used in the computer simulation of evacuation from the built environment. Building and Environment. 34 (6): 741—9. doi:10.1016/S0360-1323(98)00057-2.
  5. а б Thalmann, Daniel; Grillon, Helena; Maim, Jonathan; Yersin, Barbara (2009). Challenges in Crowd Simulation. 2009 International Conference on CyberWorlds. с. 1—12. doi:10.1109/CW.2009.23. ISBN 978-1-4244-4864-7.
  6. а б Maim, J.; Yersin, B.; Thalmann, D. (2009). Unique Character Instances for Crowds. IEEE Computer Graphics and Applications. 29 (6): 82—90. doi:10.1109/MCG.2009.129. PMID 24806782.
  7. Chao, Qianwen; Deng, Zhigang; Jin, Xiaogang (2015). Vehicle-pedestrian interaction for mixed traffic simulation. Computer Animation and Virtual Worlds. 26 (3–4): 405—12. doi:10.1002/cav.1654.
  8. Sewall, Jason; Wilkie, David; Lin, Ming C. (2011). Interactive hybrid simulation of large-scale traffic. ACM Transactions on Graphics. 30 (6): 1. doi:10.1145/2070781.2024169.
  9. Kallmann, Marcelo; Thalmann, Daniel (1999). Modeling Objects for Interaction Tasks. Computer Animation and Simulation '98. Eurographics. с. 73—86. doi:10.1007/978-3-7091-6375-7_6. ISBN 978-3-211-83257-8.
  10. http://dl.acm.org/citation.cfm?id=1272705 Pelechano, N. and Allbeck, J. M. and Badler, N. I. Controlling individual agents in high-density crowd simulation. In Proceedings of the 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation. ISBN 978-1-59593-624-0
  11. Reynolds, Craig (1987). Flocks, herds, and schools: A distributed behavior model. Т. July 1987. с. 25—34. doi:10.1145/37401.37406. ISBN 978-0897912273. {{cite book}}: Проігноровано |journal= (довідка)
  12. Terzopoulos, Demetri; Tu, Xiaoyuan; Grzeszczuk, Radek (1994). Artificial Fishes: Autonomous Locomotion, Perception, Behavior, and Learning in a Simulated Physical World. Artificial Life. 1 (4): 327—51. doi:10.1162/artl.1994.1.4.327.
  13. Thalmann, Daniel; Musse, Soraia Raupp (4 жовтня 2012). Crowd Simulation (англ.). Springer Science & Business Media. ISBN 978-1-4471-4449-6.
  14. Musse, S. R.; Thalmann, D. (1997). A Model of Human Crowd Behavior : Group Inter-Relationship and Collision Detection Analysis. Computer Animation and Simulation '97. Eurographics. с. 39—51. doi:10.1007/978-3-7091-6874-5_3. ISBN 978-3-211-83048-2.
  15. Steering Behaviors For Autonomous Characters. www.red3d.com. Архів оригіналу за 6 травня 2020. Процитовано 17 грудня 2016.
  16. Musse, S.R.; Thalmann, D. (2001). Hierarchical model for real time simulation of virtual human crowds. IEEE Transactions on Visualization and Computer Graphics (Submitted manuscript). 7 (2): 152—64. doi:10.1109/2945.928167. Архів оригіналу за 1 серпня 2020. Процитовано 20 квітня 2020.
  17. Constrained animation of flocks. — SCA '03 Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation, . — С. 286–297.
  18. Ulicny, Branislav; Ciechomski, Pablo de Heras; Thalmann, Daniel (2004). Crowdbrush. Proceedings of the 2004 ACM SIGGRAPH/Eurographics symposium on Computer animation – SCA '04. с. 243—52. doi:10.1145/1028523.1028555. ISBN 978-3-905673-14-2.
  19. Zhou, Suiping; Chen, Dan; Cai, Wentong; Luo, Linbo; Low, Malcolm Yoke Hean; Tian, Feng; Tay, Victor Su-Han; Ong, Darren Wee Sze; Hamilton, Benjamin D. (2010). Crowd modeling and simulation technologies (PDF). ACM Transactions on Modeling and Computer Simulation. 20 (4): 1—35. doi:10.1145/1842722.1842725. Архів оригіналу (PDF) за 21 березня 2020. Процитовано 20 квітня 2020.
  20. Degond, Pierre; Navoret, Laurent; Bon, Richard; Sanchez, David (2010). Congestion in a macroscopic model of self-driven particles modeling gregariousness. Journal of Statistical Physics. Springer. 138 (1–3): 85—125. arXiv:0908.1817. Bibcode:2010JSP...138...85D. doi:10.1007/s10955-009-9879-x.
  21. Cohen, Eyal; Cohen, Eyal; Najman, Laurent (1997). From crowd simulation to airbag deployment: Particle systems, a new paradigm of simulation. Journal of Electronic Imaging. 6: 94—107. Bibcode:1997JEI.....6...94B. doi:10.1117/12.261175.
  22. Patil, Sachin; Van Den Berg, Jur; Curtis, Sean; Lin, Ming C; Manocha, Dinesh (2011). Directing Crowd Simulations Using Navigation Fields. IEEE Transactions on Visualization and Computer Graphics. 17 (2): 244—54. doi:10.1109/TVCG.2010.33. PMID 21149879.
  23. Guy, Stephen J.; Kim, Sujeong; Lin, Ming C.; Manocha, Dinesh (2011). Simulating heterogeneous crowd behaviors using personality trait theory. Proceedings of the 2011 ACM SIGGRAPH/Eurographics Symposium on Computer Animation – SCA '11. с. 43—52. doi:10.1145/2019406.2019413. ISBN 978-1-4503-0923-3.
  24. Durupinar, Funda; Pelechano, Nuria; Allbeck, Jan; Gudukbay, Ugur; Badler, Norman I. (2011). How the Ocean Personality Model Affects the Perception of Crowds. IEEE Computer Graphics and Applications. 31 (3): 22—31. doi:10.1109/MCG.2009.105. PMID 24808089.
  25. Kim, Sujeong; Guy, Stephen J.; Manocha, Dinesh; Lin, Ming C. (2012). Interactive simulation of dynamic crowd behaviors using general adaptation syndrome theory. Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games – I3D '12. с. 55—62. doi:10.1145/2159616.2159626. ISBN 978-1-4503-1194-6.
  26. N. Shiwakoti et al., "Animal dynamics based approach for modeling pedestrian crowd egress under panic conditions", Transportation Research Part B 45 (2011) 1433-1449.
  27. S. Wang et al., "Behavior of Ants Escaping from a Single-Exit Room", PLoS One. 2015; 10(6): e0131784.
  28. Braun, A.; Musse, S.R.; De Oliveira, L.P.L.; Bodmann, B.E.J. (2003). Modeling individual behaviors in crowd simulation. Proceedings 11th IEEE International Workshop on Program Comprehension. с. 143—8. doi:10.1109/CASA.2003.1199317. ISBN 978-0-7695-1934-0.
  29. Pelechano, Nuria; Badler, Norman (2006). Modeling Crowd and Trained Leader Behavior during Building Evacuation. IEEE Computer Graphics and Applications. 26 (6): 80—6. doi:10.1109/MCG.2006.133. PMID 17120916.
  30. Vigueras, G.; Lozano, M.; Pérez, C.; Orduña, J.M. (2008). A Scalable Architecture for Crowd Simulation: Implementing a Parallel Action Server. 2008 37th International Conference on Parallel Processing. с. 430—7. doi:10.1109/ICPP.2008.20.
  31. Torrey, L. Crowd Simulation Via Multi-agent Reinforcement Learning.
  32. Aubel, A.; Boulic, R.; Thalmann, D. (2000). Real-time display of virtual humans: Levels of details and impostors. IEEE Transactions on Circuits and Systems for Video Technology. 10 (2): 207—17. doi:10.1109/76.825720.
  33. Gosselin, David R.; Sander, Pedro V.; Mitchell, Jason L. (2004). Drawing a Crowd. У Engel, Wolfgang (ред.). ShaderX3: Advanced Rendering Techniques in DirectX and OpenGL. Cambridge, MA: Charles River Media. с. 505—17.
  34. Guy, Stephen J.; Van Den Berg, Jur; Liu, Wenxi; Lau, Rynson; Lin, Ming C.; Manocha, Dinesh (2012). A statistical similarity measure for aggregate crowd dynamics. ACM Transactions on Graphics. 31 (6): 1. doi:10.1145/2366145.2366209.
  35. Biedermann, Daniel H.; Kielar, Peter M.; Aumann, Quirin; Osorio, Carlos M.; Lai, Celeste T. W. (2015). «Car Ped -- A Hybrid and Macroscopic Traffic and Pedestrian Simulator». arXiv:1511.00053 [cs.MA]. 
  36. http://people.ucalgary.ca/~far/Lectures/SENG697/PDF/tutorials/2002/Multiple_Agent_Simulation_System_in_a_Virtual_Environment.pdf [Архівовано 22 грудня 2016 у Wayback Machine.] Davis Guy.
  37. McKenzie, F. D.; Petty, M. D.; Kruszewski, P. A.; Gaskins, R. C.; Nguyen, Q.-A. H.; Seevinck, J.; Weisel, E. W. (2007). Integrating crowd-behavior modeling into military simulation using game technology. Simulation & Gaming. 39: 10—38. doi:10.1177/1046878107308092.