群衆シミュレーションは、群衆の動き(または多数のエンティティやキャラクターのダイナミクス(仮想世界の動き)を表現する。 [1]ビデオゲームなどの視覚メディアの仮想シーンを作成するためによく使用され、危機訓練[2]、建築や都市計画[3][4]。
群衆シミュレーションは、さまざまなアプリケーションを対象とする側面に焦点を当てる場合があります。視覚メディアや仮想映画撮影のための群衆のリアルで高速なレンダリングには、 3Dシーンの複雑さの削減と画像ベースのレンダリングが使用され、[5]外観のバリエーション(変化)は現実的な群衆を表現するのに役立ちます。[6] [7]
避難シミュレーションのように、現実の人間の群衆の動きを再現することを目的としたゲームやアプリケーションでは、シミュレートされたエージェントは、目標に向かって移動し、衝突を避け、その他の人間のような行動を示す必要がある場合があります。シミュレートされた群衆を現実的に目標に導くために、多くの群衆操縦アルゴリズムが開発されています。さまざまな種類のエージェント(車や歩行者など)[8] 、さまざまなレベルの抽象化(個人や連続体など) [9]、スマートオブジェクトと対話するエージェント[10 ]、およびより複雑な物理的および社会的ダイナミクスをサポートできる、より一般的なシステムが研究されています。[11]
歴史
群衆の動きや行動を理解し、制御することには、常に深い関心が寄せられてきました。群衆シミュレーションの分野では、研究が始まって以来、多くの大きな進歩がありました。明らかに、シミュレーションの拡張性、柔軟性、適用性、リアリティを高める多くの新しい発見が、その後も継続的に行われ、発表されています。
1987年、行動アニメーションはクレイグ・レイノルズによって導入され、開発されました。[12]彼は、グループの直感と動きを研究する目的で、魚の群れと並んで鳥の群れをシミュレートしました。これらのシミュレーション内のすべてのエージェントは、周囲のエージェントのそれぞれの位置と速度に直接アクセスできました。レイノルズによって提示された理論化と研究は、1994年にシャオユアン・トゥ、デメトリ・テルゾポロス、ラデック・グジェシュチュクによって改良され、構築されました。[13]個々のエージェントが合成視覚と彼らが住む環境の全体像を備え、動的な生息地内での知覚認識を可能にすることで、シミュレーションの現実的な品質が追求されました。
群衆シミュレーションの分野における最初の研究は、1997年にダニエル・タルマンがソライア・ラウプ・ムッセの博士論文を指導したことから始まりました。彼らは、一般的な集団のシミュレーションを作成するために、群衆行動の新しいモデルを提示しました。[14]ここでは、群衆内の個人の自律的な行動と、そこから生じる創発的な行動との関係が描かれています。[15]
1999年、クレイグ・レイノルズによる継続的な研究を通じて、群衆シミュレーションの領域で個人主義的ナビゲーションが始まりました。[16]シミュレーション内でエージェントを自動化するプロセスでは、ステアリング動作が大きな役割を果たすことが証明されています。レイノルズは、低レベルの移動プロセスは、中レベルのステアリング動作と高レベルの目標状態および経路探索戦略に依存していると述べています。レイノルズの高度な研究を基に、ミュッセとタルマンは、これらの群衆のリアルタイムシミュレーションのモデリングと、その人間の行動への応用を研究し始めました。人間の群衆の制御は、エージェント間の自律性のレベルを持つ階層的な組織として指定されました。これは、ヒューマノイドエージェントまたは仮想人間上での最も基本的な形での個人の行動のモデリングの始まりを示しています。[17]
人間の行動モデルや集団行動のシミュレーションに関する出版物と時を同じくして、マット・アンダーソン、エリック・マクダニエル、スティーブン・チェニーによる行動制約の提案[18]が人気を博した。グループアニメーションへの制約の配置は、シミュレーション内の任意の時点で実行可能であることが示された。行動モデルに制約を適用するこのプロセスは、最初に制約と一致する目標軌道の初期セットを決定し、次にこれらのパスに行動ルールを適用して、ルールに違反しないものを選択するという2つの方法で実行される。
ムッセとの研究で提案された研究結果に基づいて、タルマンはブラティスラヴァ・ウリチニーとパブロ・デ・ヘラス・チェホムスキーと共同で、個人、エージェントのグループ、群衆全体のレベルでエージェントをインタラクティブに作成できる新しいモデルを提案した。ブラシのメタファーが導入され、群衆のメンバーをリアルタイムで配布、モデル化、制御し、即時のフィードバックが得られる。[19]
群衆のダイナミクス
群衆シミュレーションの主な目標の 1 つは、群衆をリアルに誘導し、人間の動的な行動を再現することです。
群衆シミュレーションとAIにはいくつかの包括的なアプローチがあり、それぞれが群衆の規模と時間スケールに基づいて長所と短所を提供します。時間スケールは、シミュレーションの目的がシミュレーションの長さにどのように影響するかを示します。たとえば、イデオロギーが人口にどのように広がっているかなどの社会的問題を研究すると、そのようなイベントは数か月または数年に及ぶ可能性があるため、シミュレーションの実行時間が大幅に長くなります。研究者は、この2つの特性を利用して、既存の群衆シミュレータをより適切に評価および整理するために分類を適用しようとしました。[20]
- フローベースのアプローチ
- フローベースの群衆シミュレーションは、群衆の構成要素ではなく、群衆全体に焦点を当てています。そのため、個人は周囲からの入力によって生じる特徴的な行動を持たず、行動要因は大幅に削減されます。[21]このモデルは主に、特定の環境における大規模で密集した群衆の動きの流れを推定するために使用されます。大規模な群衆、短時間の目標の研究に最適です。
- エンティティベースのアプローチ
- 群衆の一部である個人に生じる社会的/心理的要因をシミュレートすることを目的とした、物理的で事前定義されたグローバルな法則のセットを実装するモデルは、このカテゴリに分類されます。この場合のエンティティは、ある意味では、自分で考える能力がありません。すべての動きは、それらに適用されるグローバルな法則によって決定されます。このモデルを使用するシミュレーションは、混雑や群れなどの群衆のダイナミクスを調査するためによく使用されます。短期的な目的を持つ小規模から中規模の群衆は、このアプローチに最適です。
- エージェントベースのアプローチ
- 自律的で相互作用する個人を特徴とする。[22]このアプローチでは、群衆の各エージェントにはある程度の知能が与えられており、一連の決定ルールに基づいて各状況に独自に反応することができます。行動を決定するために使用される情報は、エージェントの周囲からローカルに取得されます。ほとんどの場合、このアプローチは、研究者にあらゆる行動を実装する完全な自由が与えられるため、現実的な群衆の行動をシミュレートするために使用されます。
パーティクルシステム
仮想の群衆をシミュレートする方法の1つは、パーティクルシステムを使用することです。パーティクルシステムは、1983年にWTリーブスによってコンピュータグラフィックスに初めて導入されました。 [23]パーティクルシステムは、多数の個別の要素またはパーティクルの集合です。各パーティクルは自律的に動作することができ、一連の物理的属性(色、サイズ、速度など)が割り当てられています。
パーティクル システムは動的であり、パーティクルの動きは時間とともに変化します。パーティクル システムの動きは、パーティクル システムが非常に望ましく、実装しやすい理由です。これらのパーティクルの動きを計算するのにはほとんど時間がかかりません。これは単に物理学に関係するだけです。つまり、パーティクルに作用するすべての力の合計がその動きを決定します。重力、摩擦、衝突による力などの力、および目標の引力などの社会的力です。
通常、各粒子には速度ベクトルと位置ベクトルがあり、それぞれ粒子の現在の速度と位置に関する情報が含まれています。粒子の次の位置は、速度ベクトルと位置ベクトルを加算することで計算されます。これは非常に単純な操作です (これも粒子システムが望ましい理由です)。速度ベクトルは、粒子に作用する力に応じて、時間の経過とともに変化します。たとえば、別の粒子と衝突すると、方向が変わります。
パーティクル システムは、爆発などの効果、2000 年の映画『パーフェクト ストーム』の水の効果、1994 年の映画『マスク』のシミュレーション ガスなど、映画で広く使用されています。
ただし、パーティクル システムには欠点もあります。パーティクル システムを使用して、ディレクターがコマンドで動かす群衆の中のエージェントをシミュレートするのは、どのパーティクルがエージェントに属し、どのパーティクルがそうでないかを判断するのが非常に難しいため、あまり良い考えではありません。
Patil と Van Den Berg によるアルゴリズム
このアルゴリズムは比較的単純な群衆のために設計されており、群衆内の各エージェントは障害物を回避しながら自分の目的地に到達することだけを望んでいます。[24]このアルゴリズムはタイムズスクエアの群衆をシミュレートするために使用できます。
Patils アルゴリズムの最も重要で独特な機能は、エージェントを誘導するためにナビゲーション フィールドの概念を利用することです。これはガイダンス フィールドとは異なります。ガイダンス フィールドは、エージェントが情報を「見る」/検出できるエージェントの周囲の領域です。ガイダンス フィールドは通常、障害物、特に動的な障害物 (移動する障害物) を回避するために使用されます。各エージェントは独自のガイダンス フィールドを持っています。一方、ナビゲーション フィールドは、各エージェントが独自の目標位置に到着するように、各エージェントの最小コスト パスを計算するベクトル フィールドです。
ナビゲーション フィールドは、環境内のすべての自由 (障害物のない) 位置からゴール位置の 1 つまでのパスが存在する場合にのみ適切に使用できます。ナビゲーション フィールドは、環境内の静的オブジェクトの座標、各エージェントのゴール位置、および各エージェントのガイダンス フィールドを使用して計算されます。すべてのエージェントが自分のゴールに到達することを保証するために、指定されたゴールにシンクが存在する場合を除き、ナビゲーション フィールドにローカル最小値が存在してはいけません。
ナビゲーション フィールドの計算にかかる実行時間は で、m × n はグリッド次元です (ダイクストラのアルゴリズムと同様)。したがって、このアルゴリズムはグリッド解像度にのみ依存し、環境内のエージェントの数には依存しません。ただし、このアルゴリズムはメモリ コストが高くなります。
個人行動モデリング
AI ベースの群衆シミュレーションの 1 つの手法は、個々のエージェントの動機と意思決定を高度にシミュレーションすることで群衆の行動をモデル化することです。一般的に、これは各エージェントに、ストレス、性格、さまざまな目標などのさまざまな特性や状態を測定する変数のセットが割り当てられることを意味します。これにより、より現実的な群衆の行動が得られますが、より単純な手法よりも計算負荷が高くなる可能性があります。
性格に基づくモデル
群衆エージェントの個性的な行動を作り出す方法の 1 つは、性格特性を利用することです。[25]各エージェントは、攻撃性や衝動性などの側面をエージェントの行動を制御する変数と関連付ける式に基づいて、性格の特定の側面を調整できます。この関連性を見つける方法の 1 つは、エージェントにこれらの変数の値をランダムに割り当てられ、参加者が各エージェントをこれらの性格特性の観点から説明するように求められる主観的調査です。次に、回帰分析を実行して、これらの特性とエージェント変数の相関関係を判断できます。その後、性格特性を調整して、エージェントの行動に適切な効果をもたらすことができます。
OCEANパーソナリティモデルは、パーソナリティ特性と群衆シミュレーションパラメータ間のマッピングを定義するために使用されています。パーソナリティ特性を使用して群衆パラメータの調整を自動化すると、異質な群衆のシナリオを簡単に作成できます。[26]
ストレスベースモデル
高ストレス状況における群衆の行動は、一般適応症候群理論を用いてモデル化することができる。[27]エージェントの行動は、環境からのさまざまなストレス要因の影響を受け、時間的プレッシャー、領域的プレッシャー、位置的ストレス要因、および対人的ストレス要因の4つのプロトタイプに分類され、それぞれに数学モデルが関連付けられている。
時間的プレッシャーとは、特定の目標を達成するための時間制限に関連するストレス要因を指します。例としては、時間指定の歩行者信号のある道路を渡ることや、ドアが閉まる前に電車に乗ることが挙げられます。このプロトタイプは、次の式でモデル化されます。
ここで、 は、目標に到達する推定時間と時間制約の関数としての時間的プレッシャーの強さです。
エリア圧力とは、環境条件の結果としてのストレス要因を指します。例としては、エリア内の騒音や熱などが挙げられます。このストレス要因の強度は特定のエリアでは一定であり、次の式でモデル化されます。
ここで、 は領域圧力の強さ、は領域内のエージェントの位置、 は定数です。
位置的ストレス要因とは、局所的なストレス源に関連するストレス要因を指します。このストレス要因の強度は、エージェントがストレス源に近づくにつれて増大します。例としては、火災や攻撃者などの動的物体が挙げられます。これは次の式でモデル化できます。
ここで、は位置的ストレッサーの強度、はエージェントの位置、はストレッサーの位置です。あるいは、広い範囲にわたって高いストレスを生成するストレッサー(火災など)は、標準偏差 のガウス分布を使用してモデル化できます。
対人関係のストレス要因は、近くのエージェントによる混雑の結果として生じるストレス要因です。これは次の式でモデル化できます。
ここで、は対人関係のストレス要因の強度、は単位空間内の現在の近隣者の数、は特定のエージェントにとって単位空間内で好ましい近隣者の数です。
知覚されるストレスはスティーブンスの法則に従い、次の式でモデル化されます。
ここで、はストレスレベル に対する知覚ストレス、はスケール係数、 はストレッサーの種類に応じた指数です。
エージェントのストレス反応は次の式で求められます。
ここで、ストレス反応は最大値に制限され、エージェントのストレス反応が変化できる最大速度です。
注目すべき群衆 AI シミュレーションの例としては、ニュー ライン シネマの『ロード オブ ザ リング』シリーズが挙げられます。この映画では、何千ものキャラクターからなる AI 軍団が互いに戦います。この群衆シミュレーションは、 Weta DigitalのMassive ソフトウェアを使用して行われました。
社会学
群集シミュレーションは、グループダイナミクス、群集心理学、さらには社会的エチケットに基づいたシミュレーションを指すこともあります。[28]この場合、焦点は群集の行動にあり、必ずしもシミュレーションの視覚的なリアリティではありません。 群集は19世紀末から科学的関心事として研究されてきました。多くの研究は、社交の集まり、集会、抗議、反乱、コンサート、スポーツイベント、宗教儀式における人々の集団的な社会的行動に焦点を当てています。さまざまな種類のストレスの多い状況下での自然な人間行動に関する洞察を得ることで、公共の安全計画でよく使用される群集制御戦略の開発に使用できる、より優れたモデルを作成できます。
警察官、州兵、軍隊、さらにはボランティアなどの緊急対応チームは、何らかの群衆制御訓練を受ける必要があります。群衆内の人間の行動に関する研究済みの原則を使用すると、災害訓練の設計者は、現実的なシミュレーション災害を作成するために組み込む要素をさらに得ることができます。群衆の行動は、パニック状態と非パニック状態の両方で観察できます。軍事プログラムは、費用対効果の高いテクノロジーと、学習内容を現実世界に効果的に移転できることから、緊急対応を含むシミュレーション訓練に注目しています。 [要出典]制御された状態で始まったイベントの多くは、ひねりの効いた出来事によって悲惨な状況に変わり、その場で決定を下す必要がある場合があります。このような状況では、群衆の動態を理解することが、混乱の可能性を減らす上で重要な役割を果たす可能性があります。
群衆のモデリング手法は、全体論的アプローチからネットワーク アプローチ、各エージェントの個人的または行動的側面の理解まで多岐にわたります。たとえば、ソーシャル フォース モデルは、個人が社会的相互作用と物理的相互作用のバランスを取る必要があることを説明しています。両方の側面を組み込み、状況に応じて適応できるアプローチは、常にある程度の予測不可能性を取り入れながら、自然な人間の行動をより適切に記述します。マルチエージェント モデルを使用すると、これらの複雑な行動を理解することがはるかに理解しやすいタスクになります。このタイプのソフトウェアを使用すると、システムを極限状態でテストし、数秒で長期間の状況をシミュレートできるようになりました。
状況によっては、人間以外の動物の群れの行動を群集行動の実験モデルとして使用することができます。限られた出口のある限られた空間で忌避化学物質にさらされたときのアリのパニック行動は、同等の人間の行動との類似点と相違点の両方があることがわかっています。[29] [30]
個人の行動をモデル化する
Hacohen、Shoval、Shvalb [31]は、混雑した衝突地点での運転者と歩行者のダイナミクスを定式化しました。このようなシナリオでは、運転者や歩行者は交通法規を厳密には守りません。このモデルは、もともとロボットの動作計画のために開発された確率的ナビゲーション機能(PNF)に基づいています。このアルゴリズムは、横断エリア全体の各ポイントでの衝突確率に応じて軌道を構築します。その後、歩行者は、衝突の認識確率を局所的に最小化する軌道をたどります。
ヘルビングは、パニック状況における人間の群衆行動を説明するために、粒子システムと社会心理学的力を用いた物理学に基づくモデルを提案した。これは現在、ヘルビングモデルと呼ばれている。彼の研究は、平均的な人が特定の状況でどのように反応するかに基づいている。これは良いモデルではあるが、群衆には常に異なるタイプの人々が存在し、それぞれが独自の個性を持ち、集団構造の中でどのように行動するかも異なる。例えば、ある人はパニック状況に反応しないかもしれないが、別の人は歩くのをやめて、全体としての群衆のダイナミクスに干渉するかもしれない。さらに、集団構造によっては、エージェントが集団の一部であるため、個人の行動が変化する可能性がある。例えば、その集団のメンバーを救出するために危険な場所に戻るなどである。ヘルビングのモデルは、ブラウン、ムッセ、オリベイラ、ボドマンによって提案されたように、個人主義を取り入れて一般化することができる。[32]
この問題に対処するには、各エージェントに個性を割り当て、さまざまな種類の行動に対処できるようにする必要があります。この問題に対処するもう 1 つの側面は、人々をグループ化することです。これらのグループを形成すると、人々はグループ構造の一部の機能として行動を変更します。各エージェント (個人) は、次のパラメーターに従って定義できます。
- Id – エージェント識別子
- IdFamily – ファミリーの識別子。ファミリーとは、お互いを知っているエージェントによって形成された定義済みのグループです。
- DE – 助けを求めるエージェントの依存度。値 [0,1]
- AL – 他のエージェントを助ける傾向を表す利他主義レベル。値 [0,1]
- v i – エージェントの速度
個々のエージェントに対する依存パラメータの影響をモデル化するために、式は次のように定義されます。
エージェントの速度を評価する際、依存係数 DE の値が 1 に等しい場合、その人物は完全に無力化され、移動できなくなることは明らかです。依存係数が 0 に等しい場合、その人物は最大速度で走ることができます。
グループ形成は、同じ家族に属する 2 人以上のエージェント間の相互作用力として実装される利他主義力に関連しています。数学的には、次のように説明されます。
どこ:
- d ij は、エージェントの位置を原点とする 2 つのエージェント間の距離を表します。
- d ip はエージェントからシミュレーション環境のドアの位置pまでの距離ベクトル点です。
- Kは定数です。
- e ij は位置 i を原点とするユニタリベクトルです。
その結果、エージェントiのパラメータAL i が大きいほど、エージェントjを指し、 DE jのレベルが高いFā i が大きくなります。両方のエージェントが十分に近い場合、高いDEを持つエージェント(この例ではエージェントj ) はエージェントiの値( ) を採用します。つまり、エージェントiの避難能力はエージェントjと共有され、両方が一緒に動き始めます。
これらの方程式を正規分布した母集団を使用したモデル テストに適用すると、結果は Helbing モデルとほぼ同様になります。
これが役立つのは、避難シナリオです。例えば、火災が発生した場合の建物からの避難を考えてみましょう。個々のエージェントの特性とグループのパフォーマンスを考慮して、群衆がどのように建物から脱出するかの結果を決定することは、建物のレイアウトを作成する上で非常に重要です。[32]
避難シミュレーションにおけるリーダーの行動
前述のように、群衆行動の基礎としてヘルビングモデルが使用されています。避難シミュレーションにも、同様の行動モデルが使用されています。
一般的に、まず想定しなければならないのは、誰もが環境や危険がある場所とない場所についての知識を持っているわけではないということです。この想定から、3 種類のエージェントを作成できます。最初のタイプは訓練されたリーダーです。このエージェントは環境について知っており、他のエージェントに知識を広めることができるため、他のエージェントは環境から抜け出す方法を知っています。次のタイプのエージェントは訓練されていないリーダーです。このエージェントは環境について知りませんが、環境を探索して他のタイプのリーダーから情報を取得すると、環境に関する知識を広めることができます。最後のタイプのエージェントはフォロワーです。このタイプのエージェントは他のリーダーから情報を取得することしかできず、他のエージェントと情報を共有することはできません。
これらのタイプのエージェントの実装は非常に簡単です。環境内のリーダーは、属性の 1 つとして環境のマップを保存しています。訓練を受けていないリーダーとフォロワーは、属性として空のマップから開始します。訓練を受けていないリーダーとフォロワーは、自分で環境を探索し、歩行可能な場所と歩行不可能な場所のマップを作成します。リーダーと訓練を受けていないリーダーは (知識を得たら)、近接性に応じて他のエージェントと情報を共有します。グリッド上のどのポイントがブロックされているか、ローカル サブグラフ、エリア内の危険に関する情報を共有します。
この実装では、2 種類の探索アルゴリズムが試されました。ランダム探索と深さ優先探索です。ランダム探索では、各エージェントが環境内の任意の方向に進み、出口を見つけようとします。深さ優先探索では、エージェントは 1 つのパスを可能な限りたどり、たどったパスに出口が含まれていない場合は戻って別のパスを試します。深さ優先探索では、ランダム探索に比べて 15 倍の速度向上が見られました。[33]
スケーラブルなシミュレーション
群衆シミュレーションでは、さまざまなケース状況が関係します。[34]最近、群衆シミュレーションは、教育、トレーニング、エンターテイメントなどの多くの仮想環境アプリケーションに不可欠なものになっています。多くの状況は、シミュレーションの環境またはローカルエージェントのグループの行動に基づいています。仮想現実アプリケーションでは、すべてのエージェントが環境内の他の多くのエージェントと対話するため、複雑なリアルタイムの対話が必要です。エージェントの行動は複雑な対話を可能にするため、エージェントは環境内で継続的に変化する必要があります。スケーラブルなアーキテクチャは、行動と対話率を通じて大規模な群衆を管理できます。これらの状況は、いくつかの異なる状況が適用されているときに、群衆が複数の複雑なシナリオでどのように行動するかを示します。状況とは、典型的なローカルな行動があるあらゆる状況です。すべての状況を 2 つの異なる種類に分類できます。
空間状況とは、環境がローカルエージェントに影響を及ぼす領域がある状況です。たとえば、チケット売り場の列に並んでいる群衆は、空間状況を示しています。他の例としては、キャラクターが環境に応じて行動するバス停や ATM があります。したがって、エージェントの行動がバスに乗ったり降りたりする場合は、「バス停」を状況として考えます。
非空間的な状況は、群衆の行動のみに関係するため、環境内に領域がありません。ローカル エージェントの関係は、行動を決定する際に考慮すべき重要な要素です。例としては、一緒に歩いている友人のグループが挙げられます。友人であるキャラクターの典型的な行動は、すべて互いに一緒に移動することです。つまり、「友情」は、一緒に歩くという典型的な行動の中の状況になります。
あらゆる状況の構造は、動作機能、センサー、状態、イベント ルールの 4 つのコンポーネントに基づいて構築されます。動作機能は、状況に固有のキャラクターの動作を表します。センサーは、エージェントがイベントを認識して応答するための感知機能です。状態は、ローカル動作にのみ使用されるさまざまな動作と状態遷移です。イベント ルールは、さまざまなイベントを特定の動作に関連付ける方法です。キャラクターが状況に置かれている間、これらの 4 つのコンポーネントが同時に考慮されます。空間的な状況の場合、コンポーネントは、個人が最初にキャラクターに影響を与える環境に入ったときに追加されます。非空間的な状況の場合、キャラクターは、ユーザーが状況をキャラクターに割り当てたときにのみ影響を受けます。エージェントが状況領域から連れ出されたり、状況自体が削除されたりすると、4 つのコンポーネントが削除されます。状況を動的に追加および削除することで、スケーラブルなエージェントを実現できます。
人間のような行動と群衆AI

群衆の中の人間の活動のより多くの側面をシミュレートするには、経路と動作の計画以上のものが必要です。複雑な社会的相互作用、スマートなオブジェクト操作、ハイブリッド モデルがこの分野での課題です。シミュレートされた群衆の行動は、現実世界の群衆の流れにヒントを得ています。行動パターン、移動速度と密度、異常が、さまざまな環境と建物の種類にわたって分析されます。個人が追跡され、その動きが文書化されるため、アルゴリズムを導出して群衆シミュレーションに実装できます。
群衆の中の個々の実体はエージェントとも呼ばれる。群衆が現実的に行動するためには、各エージェントが自律的に行動する(他のエージェントから独立して行動できる)必要がある。この考え方はエージェントベースモデルと呼ばれる。さらに、エージェントがある程度知能を持って行動することが通常望まれる(つまり、エージェントは自分自身を傷つけるような行動をしてはならない)。エージェントが知的で現実的な決定を下すためには、周囲の環境に応じて行動し、その変化に反応し、他のエージェントに反応する必要がある。テルゾプロスと彼の学生は、歩行者のエージェントベースモデルを開拓した。このアプローチは、従来の群衆シミュレーションと区別するためにマルチヒューマンシミュレーションと呼ばれている。[22] [35] [28]
ルールベースのAI

ルールベースの AI では、仮想エージェントは「これが起こったら、あれをする」というスクリプトに従います。これは、主人公と複数の背景キャラクターなど、異なる役割を持つエージェントが必要な場合に適したアプローチです。このタイプの AI は通常、マズローの欲求階層などの階層構造で実装され、階層構造の下位にある欲求ほど強くなります。
たとえば、教室へ歩いていく途中、爆発に遭遇して逃げる生徒を考えてみましょう。この背後にある理論は、最初は彼の最初の 4 つのレベルのニーズが満たされ、生徒は自己実現のニーズに従って行動しているというものです。爆発が起こると、彼の安全が脅かされ、これははるかに強いニーズであり、そのニーズに従って行動することになります。
このアプローチはスケーラブルで、多数のエージェントがいる群衆に適用できます。ただし、ルールベースの AI にはいくつかの欠点があります。最も顕著なのは、エージェントの動作が非常に予測可能になり、群衆が非現実的な動作をする可能性があります。
学習AI
AI の学習では、仮想キャラクターは目標を達成するためにテストされた方法で動作します。エージェントは、実際の環境または実際の環境に類似したサンプル環境で実験を行います。
エージェントはさまざまなアクションを実行し、その失敗から学習します。各エージェントは、環境から受け取る報酬と罰に応じて行動を変更します。時間の経過とともに、各エージェントは一貫して高い報酬を獲得する可能性が高くなる行動を開発します。
このアプローチを使用すると、多数の可能な動作と複雑な環境とともに、エージェントは現実的かつ予測不可能な方法で動作します。
アルゴリズム
群衆シミュレーションに適用できる機械学習アルゴリズムは多種多様です。
Q 学習は、機械学習の強化学習と呼ばれるサブフィールドに属するアルゴリズムです。アルゴリズムの基本的な概要は、各アクションに Q 値が割り当てられ、各エージェントには常に最高の Q 値を持つアクションを実行するように指示されるというものです。この場合、学習は Q 値の割り当て方法に適用され、完全に報酬に基づいています。エージェントが状態 s とアクション a に遭遇すると、アルゴリズムはエージェントがその状態アクション ペアを実行することで受け取る合計報酬値を推定します。このデータを計算した後、エージェントの知識に保存し、エージェントはそこから行動を開始します。
エージェントは、利用可能な最適な Q 値に応じて、常に動作を変更します。そして、環境を探索するにつれて、最終的にはほぼすべての状況で実行する最適な状態アクションのペアを学習します。
次の関数はアルゴリズムの大部分の概要を示しています。
- Q(s, a) ←− r + maxaQ(s', a')
状態sと行動aが与えられた場合、rとsは(s,a)を実行した後の報酬と状態であり、a'はすべての行動の範囲である。[36]
群衆レンダリングとアニメーション
多数のエージェントをリアルにレンダリングし、アニメーション化することは、特にリアルタイムで行うことは困難です。大規模な群衆の 3D レンダリングの複雑さを軽減するために、カリング (重要でないオブジェクトの破棄)、インポスター (画像ベースのレンダリング)、詳細レベルの低減などの手法が使用されてきました。[37] 実際の群衆には、外観、体の形やサイズ、アクセサリ、行動 (社会的または文化的) のバリエーションがあり、多様性の欠如は視覚シミュレーションのリアリティに影響を与えます。既存のシステムでは、さまざまなテクスチャ、[7]色、[38]サイズ、形状、アニメーションを使用して仮想群衆を作成できます。[6]
現実世界のアプリケーション
バーチャルシネマトグラフィー
群衆シミュレーションは、俳優を雇って非現実的なショットを撮影する代わりに、費用対効果が高く現実的な方法として、映画で広く使用されています。その重要な使用例は、ロード オブ ザ リング (映画シリーズ)です。初期段階で制作チームにとって最も顕著な問題の 1 つは大規模な戦闘でした。小説の著者である JRR トールキンは、戦闘には少なくとも 50,000 人の参加者がいると想定していたためです。実際の俳優と女優のみを雇おうと決めていた場合、そのような数は非現実的でした。代わりに、彼らは仮想環境でのマルチエージェント シミュレーション システム (MASSIVE) を使用して、CG を使用してこれらのシーンをシミュレートすることにしました。これらのシーケンスの開発には、Human Logic Engine ベースの群衆シミュレーション用MayaプラグインであるMiarmyが使用されました。このソフトウェアにより、映画製作者は各キャラクター モデルに、350 のアニメーション ライブラリを利用できるエージェント ベースの AI を提供できました。シミュレーションから生成された視覚、聴覚、および触覚のパラメーターに基づいて、エージェントはそれぞれの状況に独自に反応します。そのため、シーンの各シミュレーションは予測不可能でした。最終製品は、群衆シミュレーションソフトウェアを使用することの利点をはっきりと示しました。 [39]
都市計画
群衆シミュレーション ソフトウェアの開発は、都市環境の設計における現代的で便利なツールとなっています。従来の都市計画の方法は地図と抽象的なスケッチに依存していますが、デジタル シミュレーションは、建築家から歩行者へ設計の形態と意図の両方をよりよく伝えることができます。たとえば、道路標識や信号は、歩行者の動きや行動に影響を与える局所的な視覚的な手がかりです。この論理に従うと、人は効率的にポイント A からポイント B に移動でき、その結果、集団の人々がより効果的に活動できるようになります。より広い意味では、バス システムや道端のレストランは、人間の移動パターンを理解することで、その場所で空間的な目的を果たします。[40] SimCityビデオ ゲーム シリーズは、この概念をより単純な方法で例示しています。このシリーズでは、プレーヤーは健全な予算を維持しながら、指定されたゾーンで都市開発を割り当てます。空き地から活気のある都市への進行は、プレーヤーの選択によって完全に制御され、デジタル市民は都市の設計とイベントに従って行動します。
避難と暴動への対応
リアルな群衆をシミュレートして、暴動処理、建築、安全科学(避難計画)の訓練に使用できます。
軍隊
群衆シミュレーションは、公共計画や混沌とした状況における一般秩序維持に広く利用されているため、政府や軍事シミュレーションにも応用できる。警察や軍事シミュレーションでは、警官や兵士が大勢の人々の集まりに対処する訓練をするために、群衆モデリングが不可欠である。攻撃的な戦闘員を扱いにくいだけでなく、非戦闘員の群衆も、攻撃的な状況をさらに制御不能にする上で重要な役割を果たしている。ゲーム技術は、兵士や技術者がスキルを練習できるように、これらの状況をシミュレートするために使用される。[41]
社会学
モデル化された群衆の行動は、分析において重要な役割を果たします。これらのダイナミクスは、モデル自体の視覚的現実ではなく、群衆内の個々のエージェントの物理的行動に依存します。これらの構造内の人々の社会的行動は長年にわたって関心を集めており、これらの相互作用の基礎となる社会学的概念は常に研究されています。さまざまな状況での群衆のシミュレーションにより、さまざまな配置や場所での実際の集まりの社会学的研究が可能になります。ストレス レベルの異なる状況での人間の行動の多様性により、一般化ではなく状況に特化して適用できる群衆制御戦略をさらに開発および作成できます。
参照
群衆シミュレーションソフトウェア
- モット・マクドナルド著『STEPS』
- Moving Picture Companyの Alice Software
- ゴレムの群衆
- Massive(ソフトウェア)
- ミアーミー
- クアッドストーンパラミクス
- ヴィッシム
参考文献
- ^ Thalmann, Daniel (2016). 「群衆シミュレーション」.コンピュータグラフィックスとゲームの百科事典. pp. 1–8. doi :10.1007/978-3-319-08234-9_69-1. ISBN 978-3-319-08234-9。
- ^ http://cc.ist.psu.edu/BRIMS/archives/2007/papers/07-BRIMS-025.pdf 2016 年 12 月 21 日に ウェイバック マシンにアーカイブJérôme Comptdaer、Emmanuel Chiva、Stéphane Delorme、Henri Morlaye、 Jérôme Volpoët、都市危機訓練シミュレーション用のマルチスケール行動モデル。
- ^ Drettakis, George; Roussou, Maria; Reche, Alex; Tsingos, Nicolas (2007). 「建築と都市計画のための現実世界の仮想環境の設計と評価」(PDF) . Presence: Teleoperators and Virtual Environments . 16 (3): 318–32. doi :10.1162/pres.16.3.318. S2CID 15945042.
- ^ Gwynne, S.; Galea, ER; Owen, M.; Lawrence, PJ; Filippidis, L. (1999). 「建築環境からの避難のコンピュータシミュレーションで使用される方法論のレビュー」. Building and Environment . 34 (6): 741–9. Bibcode :1999BuEnv..34..741G. doi :10.1016/S0360-1323(98)00057-2.
- ^ Tecchia, Franco; Loscos, Celine; Chrysanthou, Yiorgos (2002). 「リアルタイムでの群衆の視覚化」.コンピュータグラフィックスフォーラム. 21 (4): 753–65. doi :10.1111/1467-8659.00633. S2CID 17920285.
- ^ abダニエル・タルマン、ヘレナ・ グリロン、ジョナサン・マイム、バーバラ・イェルシン (2009)。「群衆シミュレーションの課題」。2009サイバーワールド国際会議。pp. 1–12。CiteSeerX 10.1.1.365.5045。doi :10.1109 / CW.2009.23。ISBN 978-1-4244-4864-7. S2CID 12214496。
- ^ ab Maim, J.; Yersin, B.; Thalmann, D. (2009). 「群衆のためのユニークなキャラクターインスタンス」. IEEE コンピュータグラフィックスとアプリケーション. 29 (6): 82–90. doi :10.1109/MCG.2009.129. PMID 24806782. S2CID 13903301.
- ^ Chao, Qianwen; Deng, Zhigang ; Jin, Xiaogang (2015). 「混合交通シミュレーションにおける車両と歩行者の相互作用」。コンピュータアニメーションと仮想世界。26 (3–4 ) : 405–12。doi :10.1002/cav.1654。S2CID 15616437。
- ^ Sewall, Jason; Wilkie, David; Lin, Ming C. (2011). 「大規模トラフィックのインタラクティブハイブリッドシミュレーション」ACM Transactions on Graphics . 30 (6): 1. doi :10.1145/2070781.2024169.
- ^ Kallmann , Marcelo; Thalmann, Daniel (1999). 「インタラクションタスクのためのオブジェクトのモデリング」。コンピュータアニメーションとシミュレーション '98。Eurographics。pp. 73–86。CiteSeerX 10.1.1.550.2013 。doi : 10.1007 / 978-3-7091-6375-7_6。ISBN 978-3-211-83257-8。
- ^ http://dl.acm.org/citation.cfm?id=1272705 Pelechano, N.、Allbeck, JM、Badler, NI 高密度群集シミュレーションにおける個々のエージェントの制御。2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation の議事録。ISBN 978-1-59593-624-0
- ^ レイノルズ、クレイグ (1987)。「群れ、群れ、群れ群: 分散行動モデル」。第 14 回コンピュータグラフィックスおよびインタラクティブ技術に関する年次会議の議事録。1987 年 7 月巻。pp. 25–34。CiteSeerX 10.1.1.103.7187。doi : 10.1145 / 37401.37406。ISBN 978-0897912273.S2CID 546350 。
- ^ Terzopoulos, Demetri; Tu, Xiaoyuan; Grzeszczuk, Radek (1994). 「人工魚:シミュレートされた物理世界における自律移動、知覚、行動、学習」(PDF) .人工生命. 1 (4): 327–51. CiteSeerX 10.1.1.33.8131 . doi :10.1162/artl.1994.1.4.327. S2CID 1423225.
- ^ タルマン、ダニエル;ミュッセ、ソライア・ラアップ (2012-10-04)。群衆シミュレーション。シュプリンガーのサイエンス&ビジネスメディア。ISBN 978-1-4471-4449-6。
- ^ Musse, SR; Thalmann, D. (1997). 「人間の群集行動モデル: 集団の相互関係と衝突検出分析」.コンピュータアニメーションとシミュレーション '97 . Eurographics. pp. 39–51. CiteSeerX 10.1.1.14.7049 . doi :10.1007/978-3-7091-6874-5_3. ISBN 978-3-211-83048-2。
- ^ 「自律キャラクターのステアリング動作」www.red3d.com 。 2016年12月17日閲覧。
- ^ Musse, SR; Thalmann, D. (2001). 「仮想人間群集のリアルタイムシミュレーションのための階層モデル」. IEEE Transactions on Visualization and Computer Graphics (提出原稿). 7 (2): 152–64. doi :10.1109/2945.928167.
- ^ Matt Anderson、Eric McDaniel、Stephen Chenney (2003 年 7 月 26 ~ 27 日)。「群れの制約アニメーション」。SCA '03 Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation。pp. 286 ~297。ISBN 1-58113-659-5。
- ^ Ulicny, Branislav; Ciechomski, Pablo de Heras; Thalmann, Daniel (2004). 「Crowdbrush」。2004 ACM SIGGRAPH/Eurographics コンピュータアニメーションシンポジウム - SCA '04 の議事録。pp. 243–52。doi : 10.1145 / 1028523.1028555。ISBN 978-3-905673-14-2. S2CID 6233071。
- ^ 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). 「群衆モデリングおよびシミュレーション技術」(PDF) . ACM Transactions on Modeling and Computer Simulation . 20 (4): 1–35. doi :10.1145/1842722.1842725. hdl :10149/118022. S2CID 15442237.
- ^ Degond, Pierre; Navoret, Laurent; Bon, Richard; Sanchez, David (2010). 「集団性をモデル化する自己駆動粒子のマクロモデルにおける輻輳」. Journal of Statistical Physics . 138 (1–3). Springer : 85–125. arXiv : 0908.1817 . Bibcode :2010JSP...138...85D. doi :10.1007/s10955-009-9879-x. S2CID 18007157.
- ^ ab シャオ、ウェイ;デメトリのテルツォプロス(2007 年 9 月~11 月)。 「自律歩行者」(PDF)。グラフィカルモデル。69 (5-6「SCA 2005 特集号」): 246–274。土井:10.1016/j.gmod.2007.09.001。ISSN 1524-0703。
- ^ Cohen, Eyal; Najman, Laurent (1997-01-01). 「群衆シミュレーションからエアバッグ展開まで: 粒子システム、シミュレーションの新しいパラダイム」. Journal of Electronic Imaging . 6 (1): 94. Bibcode :1997JEI.....6...94B. doi :10.1117/12.261175. ISSN 1017-9909.
- ^ Patil, Sachin; Van Den Berg, Jur ; Curtis, Sean; Lin, Ming C; Manocha, Dinesh (2011). 「ナビゲーション フィールドを使用した群衆シミュレーションの指示」. IEEE Transactions on Visualization and Computer Graphics . 17 (2): 244–54. CiteSeerX 10.1.1.183.7823 . doi :10.1109/TVCG.2010.33. PMID 21149879. S2CID 2599701.
- ^ Guy, Stephen J.; Kim, Sujeong; Lin, Ming C.; Manocha, Dinesh (2011). 「性格特性理論を用いた異質な群衆行動のシミュレーション」。2011 ACM SIGGRAPH/Eurographics コンピュータアニメーションシンポジウム - SCA '11 の議事録。pp. 43–52。doi : 10.1145 / 2019406.2019413。ISBN 978-1-4503-0923-3.S2CID 1478678 。
- ^ Durupinar, Funda; Pelechano, Nuria; Allbeck, Jan; Gudukbay, Ugur; Badler, Norman I. (2011). 「海洋パーソナリティモデルが群衆の認識に与える影響」IEEE Computer Graphics and Applications . 31 (3): 22–31. doi :10.1109/MCG.2009.105. hdl : 11693/11800 . PMID 24808089. S2CID 6300564.
- ^ Kim, Sujeong; Guy, Stephen J.; Manocha, Dinesh; Lin, Ming C. (2012). 「一般適応症候群理論を用いた動的群衆行動のインタラクティブシミュレーション」。ACM SIGGRAPH インタラクティブ 3D グラフィックスおよびゲームに関するシンポジウム - I3D '12 の議事録。pp. 55–62。CiteSeerX 10.1.1.673.3693。doi :10.1145/2159616.2159626。ISBN 978-1-4503-1194-6. S2CID 7093705。
- ^ ab Huang、Wenjia;デメトリ州テルゾプロス(2020年3月)。 「バーチャルヒューマンのための玄関と出入り口のマナー」(PDF)。視覚化とコンピュータ グラフィックスに関する IEEE トランザクション。26 (3): 1502–1517。土井:10.1109/TVCG.2018.2874050。ISSN 1077-2626。PMID 30295624。S2CID 52927064 。
- ^ N. Shiwakoti 他、「パニック状況下での歩行者群集の脱出をモデル化する動物ダイナミクスベースのアプローチ」、Transportation Research Part B 45 (2011) 1433-1449。
- ^ S. Wang他「単一出口の部屋から逃げるアリの行動」PLoS One. 2015; 10(6): e0131784.
- ^ Hacohen, S., Shvalb, N., & Shoval, S. (2018). 確率的ナビゲーション機能に基づく混雑した交通における歩行者横断の動的モデル。交通研究パートC:新興技術、86、78-96。
- ^ ab Braun, A.; Musse, SR; De Oliveira, LPL; Bodmann, BEJ (2003). 「群衆シミュレーションにおける個々の行動のモデリング」。第 11 回 IEEE 国際プログラム理解ワークショップの議事録。pp. 143–8。doi : 10.1109 / CASA.2003.1199317。ISBN 978-0-7695-1934-0. S2CID 33477396。
- ^ Pelechano, Nuria; Badler, Norman (2006). 「建物避難時の群衆と訓練されたリーダーの行動のモデル化」. IEEE Computer Graphics and Applications . 26 (6): 80–6. doi :10.1109/MCG.2006.133. hdl : 2117/10047 . PMID 17120916. S2CID 14384959.
- ^ Vigueras, G.; Lozano, M.; Pérez, C.; Orduña, JM (2008). 「群衆シミュレーションのためのスケーラブルなアーキテクチャ: 並列アクション サーバーの実装」。2008年 37 回国際並列処理会議。pp . 430–7。doi : 10.1109 /ICPP.2008.20。S2CID 1435019。
- ^ Yu, Qinqin; Terzopoulos, Demetri (2007 年 8 月)。「仮想人間の行動アニメーションのための決定ネットワーク フレームワーク」(PDF)。Proc . ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA'07)。サンディエゴ、カリフォルニア州。pp. 119–128。
- ^ Torrey, L. マルチエージェント強化学習による群衆シミュレーション。第 6 回 AAAI 人工知能およびインタラクティブ デジタル エンターテイメント会議議事録。AAAI プレス、メンロ パーク (2010)
- ^ Aubel, A.; Boulic, R.; Thalmann, D. (2000). 「仮想人間のリアルタイム表示:詳細レベルと偽者」IEEE Transactions on Circuits and Systems for Video Technology . 10 (2): 207–17. doi :10.1109/76.825720.
- ^ Gosselin, David R.; Sander, Pedro V.; Mitchell, Jason L. (2004). 「Drawing a Crowd」。Engel, Wolfgang (編)。ShaderX3 : DirectX および OpenGL の高度なレンダリング手法。マサチューセッツ州ケンブリッジ: Charles River Media。pp. 505–17。ISBN 9781584503576。
- ^ http://people.ucalgary.ca/~far/Lectures/SENG697/PDF/tutorials/2002/Multiple_Agent_Simulation_System_in_a_Virtual_Environment.pdf Davis Guy. 仮想環境におけるマルチエージェントシミュレーションシステム。
- ^ http://papers.cumincad.org/data/works/att/ecaade2008_160.content.pdf アシュヴァンデン、ギデオン。ハラッチ、ヤン・シュミット、ゲルハルト。都市計画のための群集シミュレーション。
- ^ McKenzie, FD; Petty, MD; Kruszewski, PA; Gaskins, RC; Nguyen, Q.-AH; Seevinck, J.; Weisel, EW (2007). 「ゲーム技術を用いた軍事シミュレーションへの群衆行動モデリングの統合」.シミュレーション&ゲーム. 39 : 10–38. doi :10.1177/1046878107308092. S2CID 7709873.
