Symulacja tłumu
Trójwymiarowa (3D) grafika komputerowa |
---|
Podstawy |
Podstawowe zastosowania |
powiązane tematy |
Symulacja tłumu to proces symulowania ruchu (lub dynamiki ) dużej liczby podmiotów lub postaci. Jest powszechnie używany do tworzenia wirtualnych scen dla mediów wizualnych, takich jak filmy i gry wideo , a także jest używany w szkoleniach kryzysowych, architekturze i urbanistyce oraz symulacji ewakuacji.
Symulacja tłumu może koncentrować się na aspektach, które dotyczą różnych aplikacji. Do realistycznego i szybkiego renderowania tłumu na potrzeby mediów wizualnych lub kinematografii wirtualnej stosuje się redukcję złożoności sceny 3D i renderowanie oparte na obrazach , a wariacje (zmiany) w wyglądzie pomagają przedstawić realistyczną populację.
W grach i aplikacjach, które mają na celu odtworzenie rzeczywistych ruchów tłumu , takich jak symulacje ewakuacji, symulowani agenci mogą potrzebować nawigować w kierunku celu, unikać kolizji i wykazywać inne zachowania podobne do ludzkich. Opracowano wiele algorytmów sterowania tłumem, aby realistycznie prowadzić symulowane tłumy do ich celów. Badane są niektóre bardziej ogólne systemy, które mogą obsługiwać różne rodzaje agentów (takich jak samochody i piesi), różne poziomy abstrakcji (takie jak jednostka i kontinuum), agenty wchodzące w interakcje z inteligentnymi obiektami oraz bardziej złożoną dynamikę fizyczną i społeczną.
Historia
Zawsze istniało głęboko zakorzenione zainteresowanie zrozumieniem i uzyskaniem kontroli nad ruchem i zachowaniem tłumów ludzi. Od początków badań w dziedzinie symulacji tłumu dokonano wielu znaczących postępów. Najwyraźniej ciągle dokonuje się i publikuje wiele nowych odkryć, które zwiększają skalowalność, elastyczność, przydatność i realizm symulacji:
Craig Reynolds wprowadził i rozwinął animację behawioralną . Symulował stada ptaków obok ławic ryb w celu zbadania grupowej intuicji i ruchu. Wszyscy agenci w ramach tych symulacji mieli bezpośredni dostęp do odpowiednich pozycji i prędkości otaczających ich agentów. Teoretyzowanie i badania przedstawione przez Reynoldsa zostały udoskonalone i rozwinięte w 1994 przez Xiaoyuan Tu , Demetri Terzopoulos i Radek Grzeszczuk. Realistyczna jakość symulacji została wykorzystana, ponieważ poszczególni agenci zostali wyposażeni w syntetyczny obraz i ogólny widok środowiska, w którym przebywali, co pozwoliło na percepcyjną świadomość w ich dynamicznych środowiskach.
Początkowe badania w dziedzinie symulacji tłumu rozpoczęto w 1997 r. pod kierunkiem Daniela Thalmanna nad rozprawą doktorską Soraia Raupp Musse. Przedstawiają nowy model zachowań tłumu w celu stworzenia symulacji populacji generycznych. Tutaj rysuje się związek między autonomicznym zachowaniem jednostki w tłumie a wyłaniającym się z niego zachowaniem.
W 1999 roku indywidualistyczna nawigacja rozpoczęła swój bieg w dziedzinie symulacji tłumu poprzez dalsze badania Craiga Reynoldsa. Udowodniono, że zachowania sterujące odgrywają dużą rolę w procesie automatyzacji agentów w ramach symulacji. Reynolds stwierdza, że procesy lokomocji niskiego poziomu są zależne i zależne od zachowań sterujących średniego poziomu oraz stanów docelowych wyższego poziomu i strategii znajdowania ścieżki. Opierając się na zaawansowanych pracach Reynoldsa, Musse i Thalmann zaczęli badać modelowanie symulacji tych tłumów w czasie rzeczywistym i ich zastosowanie w zachowaniu ludzi. Kontrola ludzkich tłumów została wyznaczona jako hierarchiczna organizacja z poziomami autonomii wśród agentów. Oznacza to początek modelowania indywidualnego zachowania w jego najbardziej elementarnej formie na humanoidalnych agentach lub wirtualnych ludziach .
Zbiegając się z publikacjami dotyczącymi modeli zachowań ludzkich i symulacji zachowań grupowych, popularność zyskała propozycja Matta Andersona, Erica McDaniela i Stephena Chenneya dotycząca ograniczeń zachowania. Umiejscowienie wiązań na animacjach grupowych zostało przedstawione tak, aby można było je wykonać w dowolnym momencie symulacji. Ten proces nakładania ograniczeń na model behawioralny odbywa się dwutorowo, najpierw wyznaczając początkowy zestaw trajektorii celu pokrywających się z ograniczeniami, a następnie stosując reguły behawioralne do tych ścieżek, aby wybrać te, które ich nie naruszają.
Korelując i opierając się na ustaleniach zaproponowanych w pracy z Musse, Thalmann we współpracy z Bratysławą Ulicnym i Pablo de Heras Ciechomskim zaproponował nowy model, który pozwolił na interaktywne tworzenie agentów na poziomie jednostki, grupy agentów i cały tłum. Wprowadzono metaforę pędzla, aby rozprowadzać, modelować i kontrolować członków tłumu w czasie rzeczywistym z natychmiastową informacją zwrotną.
Dynamika tłumu
Jednym z głównych celów symulacji tłumu jest realistyczne kierowanie tłumem i odtworzenie dynamicznych zachowań człowieka.
Istnieje kilka nadrzędnych podejść do symulacji tłumu i sztucznej inteligencji, z których każde ma zalety i wady w zależności od wielkości tłumu i skali czasowej. Skala czasu odnosi się do tego, w jaki sposób cel symulacji wpływa również na długość symulacji. Na przykład badanie kwestii społecznych, takich jak rozprzestrzenianie się ideologii w populacji, spowoduje znacznie dłuższą symulację, ponieważ takie wydarzenie może trwać miesiące lub lata. Korzystając z tych dwóch cech, badacze próbowali zastosować klasyfikacje, aby lepiej ocenić i uporządkować istniejące symulatory tłumu.
- Podejście oparte na przepływie
- Symulacje tłumu oparte na przepływie skupiają się na tłumie jako całości, a nie na jego składnikach. Jako takie osoby nie mają żadnych charakterystycznych zachowań, które występują w wyniku wkładu z otoczenia, a czynniki behawioralne są znacznie ograniczone. Model ten jest używany głównie do oszacowania przepływu ruchu dużego i gęstego tłumu w danym środowisku. Najlepiej nadaje się do badania dużego tłumu, celów krótkoterminowych.
- podejścia opartego na jednostkach
- , które implementują zestaw fizycznych, predefiniowanych i globalnych praw mających na celu symulowanie czynników społecznych/psychologicznych występujących u jednostek będących częścią tłumu, należą do tej kategorii. Podmioty w tym przypadku nie mają w pewnym sensie zdolności do samodzielnego myślenia. Wszystkie ruchy są zdeterminowane przez narzucane im globalne prawa. Symulacje korzystające z tego modelu często służą do badania dynamiki tłumu, takiej jak zagłuszanie i gromadzenie się. Do tego podejścia najlepiej pasują małe i średnie tłumy z celami krótkoterminowymi.
- Podejście agentowe
- Charakteryzuje się autonomicznymi, oddziałującymi jednostkami. W tym podejściu każdy agent tłumu otrzymuje pewien stopień inteligencji; potrafi samodzielnie zareagować na każdą sytuację w oparciu o zestaw reguł decyzyjnych. Informacje służące do podjęcia decyzji o działaniu pozyskiwane są lokalnie z otoczenia agenta. Najczęściej to podejście jest wykorzystywane do symulacji realistycznych zachowań tłumu, ponieważ badacz ma pełną swobodę w realizacji dowolnych zachowań.
Układy cząstek
Jednym ze sposobów symulowania wirtualnych tłumów jest użycie systemu cząstek . Systemy cząstek zostały po raz pierwszy wprowadzone do grafiki komputerowej przez WT Reevesa w 1983 roku. Układ cząstek to zbiór wielu pojedynczych elementów lub cząstek . Każda cząsteczka może działać autonomicznie i ma przypisany zestaw atrybutów fizycznych (takich jak kolor, rozmiar i prędkość).
System cząstek jest dynamiczny, ponieważ ruchy cząstek zmieniają się w czasie. Ruch systemu cząstek jest tym, co czyni go tak pożądanym i łatwym do wdrożenia. Obliczenie ruchu tych cząstek zajmuje bardzo mało czasu. Wiąże się to po prostu z fizyką: suma wszystkich sił działających na cząstkę określa jej ruch. Siły, takie jak grawitacja, tarcie i siła zderzenia, oraz siły społeczne, takie jak siła przyciągania celu.
Zwykle każda cząstka ma wektor prędkości i wektor położenia , zawierający odpowiednio informacje o aktualnej prędkości i położeniu cząstki. Następna pozycja cząstki jest obliczana przez dodanie jej wektora prędkości do jej wektora pozycji. Bardzo prosta operacja (znowu, dlaczego systemy cząstek są tak pożądane). Jego wektor prędkości zmienia się w czasie w odpowiedzi na siły działające na cząstkę. Na przykład zderzenie z inną cząstką spowoduje zmianę kierunku.
Systemy cząstek były szeroko stosowane w filmach do efektów takich jak eksplozje, efekty wodne w filmie The Perfect Storm z 2000 roku oraz symulowany gaz w filmie Maska z 1994 roku .
Systemy cząstek mają jednak pewne wady. Używanie systemu cząstek do symulacji agentów w tłumie, którym reżyser będzie poruszał się na polecenie, może być złym pomysłem, ponieważ określenie, które cząsteczki należą do agenta, a które nie, jest bardzo trudne.
Algorytm autorstwa Patila i Van Den Berga
Algorytm ten został zaprojektowany dla stosunkowo uproszczonych tłumów, w których każdy agent w tłumie chce tylko dotrzeć do własnego celu, jednocześnie unikając przeszkód. Algorytm ten można wykorzystać do symulacji tłumu na Times Square.
Najważniejszą i charakterystyczną cechą algorytmu Patilsa jest to, że wykorzystuje on koncepcję pól nawigacyjnych do kierowania agentami. Różni się to od pola wskazówek; pole naprowadzania to obszar wokół agenta, w którym agent jest w stanie „zobaczyć”/wykryć informacje. Pola naprowadzania są zwykle używane do omijania przeszkód, w szczególności przeszkód dynamicznych (przeszkody, które się poruszają). Każdy agent ma swoje własne pole naprowadzania. Z drugiej strony pole nawigacyjne jest polem wektorowym, które oblicza minimalną ścieżkę kosztową dla każdego agenta, tak aby każdy agent dotarł do własnej pozycji docelowej.
Z pola nawigacyjnego można korzystać prawidłowo tylko wtedy, gdy istnieje ścieżka z każdej wolnej (bez przeszkód) pozycji w otoczeniu do jednej z pozycji docelowych. Pole nawigacyjne jest obliczane na podstawie współrzędnych obiektów statycznych w środowisku, pozycji celu dla każdego agenta oraz pola naprowadzania dla każdego agenta. Aby zagwarantować, że każdy agent osiągnie swój cel, pole nawigacyjne musi być wolne od lokalnych minimów, z wyjątkiem obecności ujścia w określonych celach.
Czas działania obliczania pola nawigacji to , gdzie m × n to wymiar siatki (podobny do algorytm Dijkstry ). Zatem algorytm jest zależny tylko od rozdzielczości siatki i nie zależy od liczby agentów w środowisku. Algorytm ten ma jednak wysoki koszt pamięci.
Indywidualne modelowanie zachowań
Jednym z zestawów technik symulacji tłumu opartej na sztucznej inteligencji jest modelowanie zachowania tłumu poprzez zaawansowaną symulację motywacji poszczególnych agentów i podejmowania decyzji. Ogólnie oznacza to, że każdy agent ma przypisany zestaw zmiennych, które mierzą różne cechy lub statusy, takie jak stres, osobowość lub różne cele. Skutkuje to bardziej realistycznym zachowaniem tłumu, chociaż może wymagać więcej obliczeń niż prostsze techniki.
Modele oparte na osobowości
Jedną z metod tworzenia indywidualistycznych zachowań agentów tłumu jest wykorzystanie cech osobowości. Każdy agent może mieć pewne aspekty swojej osobowości dostrojone w oparciu o formułę, która łączy takie aspekty, jak agresywność lub impulsywność ze zmiennymi, które rządzą zachowaniem agentów. Jednym ze sposobów znalezienia tego związku jest subiektywne badanie, w którym agentom losowo przypisuje się wartości dla tych zmiennych, a uczestnicy są proszeni o opisanie każdego agenta w kategoriach tych cech osobowości. Następnie można przeprowadzić regresję w celu określenia korelacji między tymi cechami a zmiennymi czynnika. Cechy osobowości można następnie dostroić i mieć odpowiedni wpływ na zachowanie agenta.
Model osobowości OCEAN został wykorzystany do zdefiniowania mapowania między cechami osobowości a parametrami symulacji tłumu. Automatyczne dostrajanie parametrów tłumu za pomocą cech osobowości zapewnia łatwe tworzenie scenariuszy z heterogenicznymi tłumami.
Model oparty na stresie
Zachowanie tłumu w sytuacjach wysokiego stresu można modelować za pomocą teorii ogólnego zespołu adaptacyjnego. Na zachowanie agenta wpływają różne czynniki stresogenne z jego otoczenia, podzielone na cztery prototypy: presja czasu, presja obszaru, stresory pozycyjne i stresory interpersonalne, z których każdy ma powiązane modele matematyczne.
Presja czasu odnosi się do stresorów związanych z ograniczeniem czasowym w osiągnięciu określonego celu. Przykładem może być przejście przez ulicę z ustawionym czasowo sygnałem dla pieszych lub wsiadanie do pociągu przed zamknięciem drzwi. Ten prototyp jest modelowany według następującego wzoru:
gdzie to intensywność presji czasu jako funkcja szacowanego czasu dotarcia do celu ograniczenia czasowego .
Presja powierzchniowa odnosi się do stresorów w wyniku warunków środowiskowych. Przykładami mogą być hałas lub ciepło na danym obszarze. Intensywność tego stresora jest stała na określonym obszarze i jest modelowana za pomocą następującego wzoru:
gdzie nacisku powierzchniowego, pozycja agenta w obszarze za jest stałą.
Stresory pozycyjne odnoszą się do stresorów związanych z lokalnym źródłem stresu. Intensywność tego stresora wzrasta w miarę zbliżania się czynnika do źródła stresu. Przykładem może być ogień lub obiekt dynamiczny, taki jak napastnik. Można go modelować za pomocą następującego wzoru:
gdzie jest intensywnością stresora pozycyjnego, jest i jest pozycją czynnika stresor. Alternatywnie, stresory, które generują duże naprężenia na dużym obszarze (takim jak pożar), można modelować za pomocą rozkładu Gaussa z odchyleniem standardowym: :
Stresory interpersonalne są stresorami w wyniku stłoczenia przez pobliskie czynniki. Można go modelować za pomocą następującego wzoru:
gdzie stresora interpersonalnego, aktualna liczba sąsiadów w przestrzeni jednostkowej i jest preferowaną liczbą sąsiadów w przestrzeni jednostkowej dla tego konkretnego agenta.
Postrzegany stres jest zgodny z prawem Stevena i jest modelowany za pomocą wzoru:
gdzie postrzeganym stresem dla poziomu stresu k jest współczynnikiem skali i wykładnikiem potęgi w zależności od rodzaju stresora.
Reakcję stresową agenta można znaleźć za pomocą następującego wzoru:
gdzie jest reakcją wartości, jest maksymalną szybkością, z jaką może stres agenta.
Przykłady znaczących symulacji AI tłumu można zobaczyć w filmach New Line Cinema Władca Pierścieni , w których walczą ze sobą armie AI składające się z tysięcy postaci. Ta symulacja tłumu została wykonana przy użyciu oprogramowania Massive firmy Weta Digital .
Socjologia
Symulacja tłumu może również odnosić się do symulacji opartych na dynamice grupy , psychologii tłumu , a nawet etykiecie społecznej . W tym przypadku nacisk kładziony jest na zachowanie tłumu, niekoniecznie na wizualny realizm symulacji. Tłumy były przedmiotem zainteresowania naukowego od końca XIX wieku. Wiele badań koncentrowało się na zbiorowych zachowaniach społecznych ludzi na zgromadzeniach społecznych, apelach, protestach, buntach, koncertach, imprezach sportowych i uroczystościach religijnych. Uzyskanie wglądu w naturalne zachowania ludzi w różnego rodzaju sytuacjach stresowych pozwoli na stworzenie lepszych modeli, które można wykorzystać do opracowania strategii kontroli tłumu, często w planowaniu bezpieczeństwa publicznego.
Zespoły reagowania kryzysowego , takie jak policjanci, Gwardia Narodowa, wojsko, a nawet wolontariusze, muszą przejść pewnego rodzaju szkolenie w zakresie kontroli tłumu. Wykorzystanie zbadanych zasad ludzkiego zachowania w tłumie może dać projektantom szkoleń w zakresie katastrof więcej elementów do uwzględnienia w celu stworzenia realistycznych symulowanych katastrof. Zachowanie tłumu można zaobserwować w warunkach paniki i bez paniki. Kiedy naturalne i nienaturalne wydarzenia, takie jak wydarzenia z 11 września i huragan Katrina, rzucają ideały społeczne w krętą, chaotyczną splot, społeczne możliwości ludzkości są naprawdę wystawiane na próbę. Programy wojskowe bardziej ukierunkowane są na symulowane szkolenia, obejmujące reagowanie w sytuacjach kryzysowych, ze względu na ich ekonomiczną technologię oraz to, jak skutecznie można przenieść naukę do świata rzeczywistego. [ Potrzebne źródło ] Wiele wydarzeń, które mogą zacząć się pod kontrolą, może mieć zwrot akcji, który zamienia je w katastrofalne sytuacje, w których decyzje muszą być podejmowane na miejscu. To właśnie w takich sytuacjach dynamiczne zrozumienie tłumu odegrałoby istotną rolę w zmniejszeniu potencjału anarchii.
modelowania tłumów różnią się od podejścia holistycznego lub sieciowego do zrozumienia indywidualistycznych lub behawioralnych aspektów każdego agenta. Na przykład model siły społecznej opisuje potrzebę znalezienia przez jednostki równowagi między interakcjami społecznymi a interakcjami fizycznymi. Podejście, które obejmuje oba aspekty i jest w stanie dostosować się do sytuacji, lepiej opisuje naturalne zachowanie człowieka, zawsze uwzględniając pewną dozę nieprzewidywalności. Dzięki zastosowaniu modeli wieloagentowych zrozumienie tych złożonych zachowań stało się znacznie bardziej zrozumiałym zadaniem. Dzięki zastosowaniu tego typu oprogramowania systemy mogą być teraz testowane w ekstremalnych warunkach i symulować warunki w długich okresach czasu w ciągu kilku sekund.
W niektórych sytuacjach zachowanie rojów zwierząt innych niż ludzie może służyć jako eksperymentalny model zachowania się tłumu. Stwierdzono , że paniczne zachowanie mrówek po wystawieniu na działanie odstraszającej substancji chemicznej w ograniczonej przestrzeni z ograniczonymi drogami wyjścia jest zarówno podobieństwami, jak i różnicami z równoważnymi zachowaniami ludzkimi.
Modelowanie indywidualnych zachowań
Hacohen, Shoval i Shvalb sformułowali dynamikę kierowca-pieszy w zatłoczonych miejscach konfliktu. W takich sytuacjach kierowcy i/lub piesi nie przestrzegają ściśle przepisów ruchu drogowego. Model oparty jest na Probabilistic Navigation_function (PNF), która została pierwotnie opracowana do planowania ruchu robotów. Algorytm konstruuje trajektorię zgodnie z prawdopodobieństwem kolizji w każdym punkcie na całym obszarze skrzyżowania. Następnie pieszy podąża trajektorią, która lokalnie minimalizuje postrzegane przez niego prawdopodobieństwo kolizji.
Helbing zaproponował model oparty na fizyce, wykorzystujący system cząstek i siły społeczno-psychologiczne w celu opisania zachowania ludzkiego tłumu w sytuacji paniki, obecnie nazywany jest on modelem Helbinga. Jego praca opiera się na tym, jak przeciętny człowiek zareagowałby w określonej sytuacji. Chociaż jest to dobry model, w tłumie zawsze znajdują się różne typy ludzi i każdy z nich ma swoje indywidualne cechy, a także sposób, w jaki działają w strukturze grupy. Na przykład jedna osoba może nie zareagować na sytuację paniki, podczas gdy inna może przestać chodzić i ingerować w dynamikę tłumu jako całości. Ponadto, w zależności od struktury grupy, indywidualne działanie może ulec zmianie, ponieważ agent jest częścią grupy, na przykład powrót do niebezpiecznego miejsca w celu uratowania członka tej grupy. Model Helbinga można uogólnić, włączając indywidualizm, jak zaproponowali Braun, Musse, Oliveira i Bodmann.
Aby rozwiązać ten problem, każdemu agentowi należy przypisać indywidualność, pozwalającą radzić sobie z różnymi typami zachowań. Innym aspektem rozwiązania tego problemu jest możliwość grupowania ludzi, tworzenie tych grup powoduje, że ludzie zmieniają swoje zachowanie w zależności od części struktury grupy. Każdy agent (osoba) może być zdefiniowany według następujących parametrów:
- Id — identyfikator agenta
- IdFamily — identyfikator rodziny. Rodzina to predefiniowana grupa utworzona przez agentów, którzy się znają
- DE – Stopień uzależnienia agenta imitujący potrzebę pomocy. Wartości [0,1]
- AL – Poziom altruizmu reprezentujący skłonność do pomagania innym agentom. Wartości [0,1]
- v i – Szybkość agenta
Aby modelować efekt parametru zależności z poszczególnymi agentami , równanie jest zdefiniowane jako:
Oceniając prędkość agenta, widać wyraźnie, że jeśli wartość współczynnika zależności DE jest równa jeden, to osoba byłaby całkowicie niepełnosprawna, uniemożliwiając jej poruszanie się. Jeśli współczynnik zależności jest równy zeru, osoba jest w stanie biec z maksymalną prędkością.
Tworzenie grupy jest związane z siłą altruizmu, która jest realizowana jako siła interakcji między dwoma lub więcej agentami, którzy są częścią tej samej rodziny. Matematycznie jest to opisane w następujący sposób:
Gdzie:
- d ij reprezentuje odległość między dwoma agentami z początkiem w pozycji agenta;
- d ip to punkt wektora odległości od agentów do pozycji drzwi p w środowisku symulacji;
- K jest stałą;
- e ij jest wektorem unitarnym, którego początek znajduje się w pozycji i.
W konsekwencji im większy parametr AL i agenta i , tym większy będzie Fā i wskazujący na agenta j i mający wysoki poziom DE j . Gdy obaj agenci są wystarczająco blisko siebie, ten z wysokim DE (agent j w tym przykładzie) przyjmuje wartość agenta ja ( } . Oznacza to, że zdolność ewakuacji agenta i jest dzielona z agentem j i obaj zaczynają poruszać się razem.
Dzięki zastosowaniu tych równań w testowaniu modelu przy użyciu populacji o rozkładzie normalnym wyniki są dość podobne do modelu Helbinga.
Miejsca, w których byłoby to pomocne, byłyby w scenariuszu ewakuacji. Weźmy na przykład ewakuację budynku w przypadku pożaru. Biorąc pod uwagę cechy poszczególnych agentów i ich występy grupowe, określenie wyniku wyjścia tłumu z budynku jest niezwykle ważne przy tworzeniu układu budynku.
Zachowanie dowódcy podczas symulacji ewakuacji
Jak opisano wcześniej, model Helbinga jest używany jako podstawa zachowania tłumu. Ten sam typ modelu zachowania jest używany do symulacji ewakuacji.
Ogólnie rzecz biorąc, pierwszą rzeczą, którą należy założyć, jest to, że nie każdy ma wiedzę na temat środowiska lub gdzie występują, a gdzie nie ma zagrożeń. Z tego założenia możemy stworzyć trzy rodzaje agentów. Pierwszy typ to wyszkolony lider, ten agent zna środowisko i jest w stanie przekazać wiedzę innym agentom, aby wiedzieli, jak wyjść ze środowiska. Kolejnym typem agenta jest niewyszkolony przywódca, agent ten nie zna otoczenia, jednak w miarę eksploracji otoczenia i zdobywania informacji od innych typów przywódców agent jest w stanie szerzyć wiedzę o otoczeniu. Ostatnim typem agenta jest naśladowca, ten typ agenta może pobierać informacje tylko od innych liderów i nie może dzielić się nimi z innymi agentami.
Implementacja tego typu agentów jest dość prosta. Liderzy w środowisku mają zapisaną mapę środowiska jako jeden ze swoich atrybutów. Niewyszkolony przywódca i zwolennicy zaczną z pustą mapą jako atrybutem. Nieprzeszkoleni liderzy i zwolennicy zaczną samodzielnie eksplorować środowisko i tworzyć mapę miejsc, po których można chodzić i po których nie można chodzić. Liderzy i niewyszkoleni liderzy (kiedy już zdobędą wiedzę) będą dzielić się informacjami z innymi agentami w zależności od ich bliskości. Podzielą się informacjami o tym, które punkty na siatce są zablokowane, lokalne podwykresy i zagrożenia w okolicy.
Wypróbowano dwa rodzaje algorytmów wyszukiwania dla tej implementacji. Było losowe przeszukiwanie i pierwsze przeszukiwanie w głąb. Losowe przeszukiwanie polega na tym, że każdy z agentów idzie w dowolnym kierunku przez środowisko i próbuje znaleźć wyjście. Pierwsze przeszukiwanie w głąb polega na tym, że agenci podążają jedną ścieżką tak daleko, jak to możliwe, a następnie wracają i próbują innej ścieżki, jeśli ścieżka, którą przeszli, nie zawiera wyjścia. Jeśli stwierdzono, że pierwsze przeszukiwanie w głąb dało 15-krotne przyspieszenie w porównaniu z wyszukiwaniem losowym.
Skalowalne symulacje
Istnieje wiele różnych przypadków, które wchodzą w grę w symulacjach tłumu. Ostatnio symulacja tłumu stała się niezbędna w wielu aplikacjach środowisk wirtualnych, takich jak edukacja, szkolenia i rozrywka. Wiele sytuacji opiera się na środowisku symulacji lub zachowaniu grupy lokalnych agentów. W aplikacjach rzeczywistości wirtualnej każdy agent wchodzi w interakcje z wieloma innymi agentami w środowisku, co wymaga złożonych interakcji w czasie rzeczywistym. Agenci muszą podlegać ciągłym zmianom w środowisku, ponieważ zachowania agentów umożliwiają złożone interakcje. Skalowalna architektura może zarządzać dużymi tłumami dzięki zachowaniu i interaktywnym stawkom. Sytuacje te wskażą, jak tłumy będą się zachowywać w wielu złożonych scenariuszach, podczas gdy stosuje się kilka różnych sytuacji. Sytuacją może być dowolna okoliczność, która ma typowe lokalne zachowania. Wszystkie sytuacje możemy podzielić na dwa rodzaje.
Sytuacja przestrzenna to sytuacja, która ma region, w którym środowisko wpływa na lokalnych agentów. Na przykład tłum czekający w kolejce do kasy będzie prezentował sytuację przestrzenną. Innym przykładem może być przystanek autobusowy lub bankomat, w którym postacie oddziałują na otoczenie. Dlatego jako sytuację, w której agent ma zachowywać się wsiadając i wysiadając z autobusu, uznalibyśmy „przystanek autobusowy”.
Sytuacja nieprzestrzenna nie ma regionu w środowisku, ponieważ dotyczy tylko zachowania tłumu. Relacja lokalnych agentów jest ważnym czynnikiem, który należy wziąć pod uwagę przy określaniu zachowania. Przykładem może być grupa przyjaciół spacerujących razem. Typowe zachowanie postaci, które są przyjaciółmi, porusza się razem ze sobą. Oznacza to, że „przyjaźń” byłaby sytuacją wśród typowych zachowań wspólnego chodzenia.
Struktura każdej sytuacji opiera się na czterech elementach: funkcjach zachowania, czujnikach, stanach i regułach zdarzeń. Funkcje behawioralne reprezentują, jakie zachowania postaci są specyficzne dla danej sytuacji. Czujniki to zdolność wykrywania dla agentów, aby widzieć zdarzenia i reagować na nie. Stany to różne ruchy i przejścia między stanami używane tylko dla lokalnych zachowań. Reguła zdarzeń to sposób łączenia różnych zdarzeń z ich specyficznymi zachowaniami. Kiedy postać jest stawiana w sytuacji, te cztery elementy są brane pod uwagę w tym samym czasie. W przypadku sytuacji przestrzennych komponenty są dodawane, gdy jednostka początkowo wchodzi w środowisko, które ma wpływ na postać. W przypadku sytuacji nieprzestrzennych postać ma wpływ tylko wtedy, gdy użytkownik przypisze sytuację do postaci. Cztery komponenty są usuwane, gdy agent jest usuwany z regionu sytuacji lub gdy usuwana jest sama sytuacja. Dynamiczne dodawanie i usuwanie sytuacji pozwala nam osiągnąć skalowalnych agentów.
Ludzkie zachowania i sztuczna inteligencja tłumu
Aby symulować więcej aspektów ludzkiej działalności w tłumie, potrzeba czegoś więcej niż tylko planowania ścieżki i ruchu. Złożone interakcje społeczne, inteligentne manipulowanie obiektami i modele hybrydowe stanowią wyzwania w tej dziedzinie. Symulowane zachowanie tłumu jest inspirowane przepływem rzeczywistych tłumów. Wzorce zachowań, prędkości i zagęszczenie ruchu oraz anomalie są analizowane w wielu środowiskach i typach budynków. Osoby są śledzone , a ich ruchy dokumentowane, dzięki czemu można wyprowadzić algorytmy i zaimplementować je w symulacjach tłumu.
Pojedyncze jednostki w tłumie są również nazywane agentami . Aby tłum zachowywał się realistycznie, każdy agent powinien działać autonomicznie (być w stanie działać niezależnie od innych agentów). Ten pomysł jest określany jako model oparty na agentach. Ponadto zwykle pożądane jest, aby agenci działali z pewnym stopniem inteligencji (tj. agenci nie powinni wykonywać działań, które spowodowałyby, że wyrządziłyby sobie krzywdę). Aby agenci podejmowali inteligentne i realistyczne decyzje, powinni działać zgodnie z otaczającym ich środowiskiem, reagować na jego zmiany i reagować na innych agentów. Terzopoulos i jego uczniowie byli pionierami opartych na agentach modeli pieszych, podejścia określanego jako symulacja wieloosobowa, aby odróżnić je od konwencjonalnej symulacji tłumu.
Sztuczna inteligencja oparta na regułach
W sztucznej inteligencji opartej na regułach wirtualni agenci wykonują skrypty: „jeśli tak się stanie, zrób to”. Jest to dobre podejście, jeśli wymagani są agenci pełniący różne role, na przykład główny bohater i kilka postaci drugoplanowych. Ten typ sztucznej inteligencji jest zwykle wdrażany z hierarchią, na przykład w hierarchii potrzeb Maslowa , gdzie potrzeba znajduje się niżej w hierarchii, tym jest silniejsza.
Weźmy na przykład pod uwagę ucznia idącego do klasy, który napotyka eksplozję i ucieka. Teoria stojąca za tym jest taka, że początkowo zaspokajane są pierwsze cztery poziomy jego potrzeb, a uczeń działa zgodnie ze swoją potrzebą samorealizacji. Kiedy dochodzi do eksplozji, jego bezpieczeństwo jest zagrożone, co jest znacznie silniejszą potrzebą, zmuszającą go do działania zgodnie z tą potrzebą.
To podejście jest skalowalne i można je zastosować do tłumów z dużą liczbą agentów. Sztuczna inteligencja oparta na regułach ma jednak pewne wady. Przede wszystkim zachowanie agentów może stać się bardzo przewidywalne, co może spowodować, że tłum będzie zachowywał się nierealistycznie.
Nauka sztucznej inteligencji
Podczas uczenia się sztucznej inteligencji wirtualne postacie zachowują się w sposób, który został przetestowany, aby pomóc im osiągnąć swoje cele. Agenci eksperymentują ze swoim środowiskiem lub przykładowym środowiskiem, które jest podobne do ich rzeczywistego.
Agenci wykonują różnorodne akcje i uczą się na własnych błędach. Każdy agent zmienia swoje zachowanie w odpowiedzi na nagrody i kary, które otrzymuje od otoczenia. Z biegiem czasu każdy agent rozwijałby zachowania, które z większym prawdopodobieństwem przyniosą wysokie nagrody.
Przy zastosowaniu tego podejścia, przy dużej liczbie możliwych zachowań i złożonym środowisku, agenci będą działać w sposób realistyczny i nieprzewidywalny.
Algorytmy
Istnieje wiele różnych algorytmów uczenia maszynowego, które można zastosować do symulacji tłumu.
Q-Learning to algorytm rezydujący w obszarze podrzędnym uczenia maszynowego znanym jako uczenie się przez wzmacnianie. Podstawowy przegląd algorytmu polega na tym, że każdej akcji przypisywana jest wartość Q, a każdy agent otrzymuje dyrektywę, aby zawsze wykonywał akcję o najwyższej wartości Q. W tym przypadku nauka dotyczy sposobu przypisywania wartości Q, który jest całkowicie oparty na nagrodzie. Kiedy agent wchodzi w kontakt ze stanem, s i akcją, algorytm następnie szacuje całkowitą wartość nagrody, jaką agent otrzymałby za wykonanie tej pary akcji stanu. Po obliczeniu tych danych są one następnie przechowywane w wiedzy agenta, a stamtąd agent przystępuje do działania.
Agent będzie stale zmieniał swoje zachowanie w zależności od najlepszej dostępnej wartości Q. A ponieważ bada coraz więcej środowiska, w końcu nauczy się najbardziej optymalnych par działań stanów do wykonania w prawie każdej sytuacji.
Następująca funkcja przedstawia większość algorytmu:
- Q(s, a) ←− r + maxaQ(s', a')
Mając dany stan s i działanie a, r i s to nagroda i stan po wykonaniu (s, a), a a' to zakres wszystkich działań.
Renderowanie i animacja tłumu
Realistyczne renderowanie i animowanie dużej liczby agentów, zwłaszcza w czasie rzeczywistym, stanowi wyzwanie. Aby zmniejszyć złożoność renderowania 3D tłumów na dużą skalę, zastosowano techniki takie jak culling (odrzucanie nieistotnych obiektów), impostors (renderowanie oparte na obrazie) i zmniejszanie poziomu szczegółowości. Różnice w wyglądzie, kształcie i rozmiarze ciała, akcesoriach i zachowaniach (społecznych lub kulturowych) istnieją w prawdziwych tłumach, a brak różnorodności wpływa na realizm symulacji wizualnych. Istniejące systemy mogą tworzyć wirtualne tłumy o różnej teksturze, kolorze, rozmiarze, kształcie i animacji.
Aplikacje z prawdziwego świata
Wirtualna kinematografia
Symulacje tłumu były szeroko stosowane w filmach jako opłacalna i realistyczna alternatywa dla zatrudniania aktorów i robienia ujęć, które w innym przypadku byłyby nierealne. Znaczącym przykładem jego użycia jest Władca Pierścieni (seria filmów) . Jednym z najbardziej rażących problemów dla zespołu produkcyjnego na początkowych etapach były bitwy na dużą skalę, ponieważ autor powieści, JRR Tolkien, przewidział, że będą one miały co najmniej 50 000 uczestników. Taka liczba byłaby nierealna, gdyby postanowili spróbować zatrudnić tylko prawdziwych aktorów i aktorki. Zamiast tego zdecydowali się użyć grafiki komputerowej do symulacji tych scen za pomocą systemu symulacji wielu agentów w środowisku wirtualnym, znanym również jako MASSIVE. Do opracowania tych sekwencji wykorzystano wtyczkę Maya opartą na Human Logic Engine do symulacji tłumu, Miarmy . Oprogramowanie pozwoliło twórcom filmu zapewnić każdemu modelowi postaci sztuczną inteligencję opartą na agencie, która mogłaby wykorzystywać bibliotekę 350 animacji. W oparciu o parametry wzroku, słuchu i dotyku wygenerowane podczas symulacji agenci reagowaliby w unikalny sposób na każdą sytuację. W ten sposób każda symulacja sceny była nieprzewidywalna. Produkt końcowy wyraźnie pokazał zalety korzystania z oprogramowania do symulacji tłumu.
Urbanistyka
Rozwój oprogramowania do symulacji tłumu stał się nowoczesnym i użytecznym narzędziem w projektowaniu środowisk miejskich. Podczas gdy tradycyjna metoda planowania urbanistycznego opiera się na mapach i abstrakcyjnych szkicach, symulacja cyfrowa jest w stanie lepiej przekazać zarówno formę, jak i intencję projektu od architekta do pieszego. Na przykład znaki uliczne i sygnalizacja świetlna to zlokalizowane wskazówki wizualne, które wpływają na ruch pieszych i odpowiednie zachowanie. Zgodnie z tą logiką osoba jest w stanie przemieszczać się z punktu A do punktu B w sposób efektywny, dzięki czemu zbiorowa grupa ludzi może działać efektywniej. W szerszym znaczeniu systemy autobusowe i przydrożne restauracje służą celom przestrzennym w swoich lokalizacjach dzięki zrozumieniu wzorców ruchu ludzi. Seria SimCity ilustruje tę koncepcję w bardziej uproszczony sposób. W tej serii gracz przydziela rozwój miasta w wyznaczonych strefach, zachowując przy tym zdrowy budżet. Przejście od pustej krainy do tętniącego życiem miasta jest w pełni kontrolowane przez wybory gracza, a cyfrowi obywatele zachowują się zgodnie z projektem miasta i wydarzeniami.
Ewakuacja i obsługa zamieszek
Symulowane realistyczne tłumy mogą być wykorzystywane w szkoleniach dotyczących tłumienia zamieszek, architektury, nauki o bezpieczeństwie (planowanie ewakuacji).
Wojskowy
Ponieważ symulacje tłumu są tak rozpowszechnione w planowaniu publicznym i ogólnym porządku w sytuacjach chaotycznych, można wyciągnąć wiele zastosowań dla symulacji rządowych i wojskowych. Modelowanie tłumu jest niezbędne w symulacjach policyjnych i wojskowych w celu szkolenia oficerów i żołnierzy w zakresie radzenia sobie z masowymi zgromadzeniami ludzi. Nie tylko ofensywni bojownicy okazują się trudni w obsłudze dla tych jednostek, ale tłumy niewalczące odgrywają znaczącą rolę w sprawianiu, by te agresywne sytuacje bardziej wymknęły się spod kontroli. Technologia gier jest wykorzystywana do symulowania takich sytuacji, aby żołnierze i technicy ćwiczyli swoje umiejętności.
Socjologia
Zachowanie modelowanego tłumu odgrywa znaczącą rolę w kwestiach analitycznych. Ta dynamika opiera się na fizycznych zachowaniach poszczególnych agentów w tłumie, a nie na wizualnej rzeczywistości samego modelu. Zachowania społeczne ludzi w ramach tych konstruktów są przedmiotem zainteresowania od wielu lat, a koncepcje socjologiczne, które leżą u podstaw tych interakcji, są stale badane. Symulacja tłumów w różnych sytuacjach pozwala na socjologiczne badanie rzeczywistych zgromadzeń w różnych aranżacjach i lokalizacjach. Różnice w zachowaniu ludzi w sytuacjach różniących się poziomem stresu pozwalają na dalszy rozwój i tworzenie strategii kontroli tłumu, które można bardziej szczegółowo zastosować do sytuacji, a nie uogólniać.
Zobacz też
- Grafika komputerowa 3D
- Sztuczna inteligencja
- Analiza tłumu
- Pojawiające się zachowanie
- System wieloagentowy
- System cząstek
Oprogramowanie do symulacji tłumu
- KROKI autorstwa Motta MacDonalda
- Oprogramowanie Alice firmy Moving Picture Company
- Tłum Golaema
- Ogromny (oprogramowanie)
- Miarmy
- Quadstone Paramics
- WIZYM
Linki zewnętrzne
- SteerSuite , platforma typu open source do opracowywania i oceny algorytmów symulacji tłumu
- Sung, Mankyu; Gleicher, Michael; Chenney, Stephen (2004). „Skalowalne zachowania do symulacji tłumu”. Forum grafiki komputerowej . 23 (3): 519–28. CiteSeerX 10.1.1.10.2516 . doi : 10.1111/j.1467-8659.2004.00783.x . S2CID 3256678 .