(57)【要約】【課題】群集において群集を構成する個体に行動選択が生じた条件の究明を容易化する。【解決手段】個体情報記憶部４２は、複数の個体について、複数の目的の中から選択された選択目的を含む行動パラメータ、リーダーかフォロワーかを表す属性値、空間における位置を記憶する。確率設定部５３は、刺激値が設定されるたびに、フォロワーである個体に目的ごとの刺激値に基づいて目的ごとの第一当選確率を設定し、リーダーである個体に所定の第二当選確率を設定する。リーダー行動決定部５４は、第一当選確率が設定された個体に対して目的ごとの当該第一当選確率にてリーダーに変更するとともに当選した個体の選択目的を当選した目的に設定する。フォロワー行動決定部５５は、第二当選確率が設定された個体を当該確率にてフォロワーに変更するとともに、フォロワーである個体の選択目的に周囲個体に設定されている選択目的を設定する。【選択図】図２
2019185073.tif 000002
【特許請求の範囲】
【請求項１】
複数の目的を達成することが可能な所定の空間における群集の行動を予測するシミュレーターであって、
前記群集を構成する複数の個体のそれぞれについて、少なくとも、前記複数の目的の中から選択された選択目的を含む行動パラメータ、リーダーかフォロワーかの別を表す属性値、および前記空間における位置を記憶する個体情報記憶部と、
前記複数の目的について、当該目的それぞれを達成するための前記行動の契機となる刺激の程度を表す刺激値を順次設定する刺激値設定部と、
前記刺激値が設定されるたびに、前記個体のうちの、前記属性値がフォロワーである個体に前記目的ごとの前記刺激値に基づく前記目的ごとの第一当選確率を設定し、前記属性値がリーダーである個体に所定の第二当選確率を設定する確率設定部と、
前記第一当選確率が設定された前記個体に対して前記目的ごとの当該第一当選確率での抽選を行い、当選した個体の前記属性値をリーダーに変更するとともに当該個体の前記選択目的を当選した目的に設定するリーダー行動決定部と、
前記個体ごとに当該個体からの前記位置が所定距離以内である周囲個体を抽出する周囲個体情報取得部と、
前記第二当選確率が設定された個体の前記属性値を当該第二当選確率にてフォロワーに変更するとともに、前記属性値がフォロワーである個体の前記選択目的に当該個体の前記周囲個体に設定されている前記選択目的を設定するフォロワー行動決定部と、
を備えたことを特徴とするシミュレーター。
【請求項２】
前記リーダー行動決定部は、前記第一当選確率が設定された前記個体に対し、前記目的ごとの前記第一当選確率のうち最大の第一当選確率が二番目に大きな第一当選確率よりも所定値を超えて高い場合のみ、当該最大の第一当選確率での抽選を行う、請求項１に記載のシミュレーター。
【請求項３】
前記個体情報記憶部は、さらに、前記個体ごとに前記目的それぞれに関する反応閾値を記憶し、
前記確率設定部は、前記個体ごとに前記目的それぞれについて、前記刺激値が高いほど高く且つ前記反応閾値が低いほど高い前記第一当選確率を算出する、
請求項１または２に記載のシミュレーター。
【請求項４】
前記刺激値設定部は、前記複数の目的のうちのいずれか１以上の目的の達成度に応じて前記刺激値を低く変更する、請求項３に記載のシミュレーター。
【請求項５】
前記刺激値設定部は、前記個体ごとに前記刺激値を設定する、請求項１から４のいずれかひとつに記載のシミュレーター。
【請求項６】
複数の目的を達成することが可能な所定の空間における群集の行動を予測するシミュレーション方法であって、
コンピュータに、
前記群集を構成する複数の個体のそれぞれについて、少なくとも、前記複数の目的の中から選択された選択目的を含む行動パラメータ、リーダーかフォロワーかの別を表す属性値、および前記空間における位置を記憶させ、
前記複数の目的について、当該目的それぞれを達成するための前記行動の契機となる刺激の程度を表す刺激値を順次設定する処理と、
前記刺激値が設定されるたびに、前記個体のうちの、前記属性値がフォロワーである個体に前記目的ごとの前記刺激値に基づく前記目的ごとの第一当選確率を設定し、前記属性値がリーダーである個体に所定の第二当選確率を設定する処理と、
前記第一当選確率が設定された前記個体に対して前記目的ごとの当該第一当選確率での抽選を行い、当選した個体の前記属性値をリーダーに変更するとともに当該個体の前記選択目的を当選した目的に設定する処理と、
前記個体ごとに当該個体からの前記位置が所定距離以内である周囲個体を抽出する処理と、
前記第二当選確率が設定された個体の前記属性値を当該第二当選確率にてフォロワーに変更するとともに、前記属性値がフォロワーである個体の前記選択目的に当該個体の前記周囲個体に設定されている前記選択目的を設定する処理と、
を実行させることを特徴とするシミュレーション方法。
【請求項７】
複数の目的を達成することが可能な所定の空間において群集を構成する個体のひとつである自個体の行動を決定する行動決定装置であって、
前記自個体について、少なくとも、前記複数の目的の中から選択された選択目的を含んだ行動パラメータ、リーダーであるかフォロワーであるかの別を表す属性値、および前記空間における位置を記憶する個体情報記憶部と、
前記複数の目的について、当該目的のそれぞれを達成するための前記行動の契機となる刺激の程度を表す刺激値を取得する刺激値取得部と、
前記属性値がフォロワーである場合に前記目的ごとの前記刺激値に基づく前記目的ごとの第一当選確率を設定し、前記属性値がリーダーである場合に所定の第二当選確率を設定する確率設定部と、
前記第一当選確率が設定された場合に前記目的ごとの当該第一当選確率での抽選を行い、当選した個体の前記属性値をリーダーに変更するとともに当該個体の前記選択目的を当選した目的に設定するリーダー行動決定部と、
前記個体のうちの、前記自個体の前記位置から所定距離以下に存在する周囲個体の行動を取得する周囲個体情報取得部と、
前記第二当選確率が設定された場合に前記属性値を当該第二当選確率にてフォロワーに変更するとともに前記選択目的に前記周囲個体の行動に類似する目的を設定するフォロワー行動決定部と、
を備えたことを特徴とする行動決定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、群集の行動を予測するシミュレーター、シミュレーション方法および群集を構成する個体のひとつである自個体の行動を決定する行動決定装置に関する。
【背景技術】
【０００２】
多くの人が集う公共空間等で災害時に災害の拡大やパニック等が生じないよう、群衆を適切に誘導し、または安全な空間設計をするために、災害時の群衆行動のメカニズムを究明する必要がある。そのために、群衆の行動をシミュレートするシミュレーターを用いる方法がある。
【０００３】
災害時等に群衆が非合理的な行動を採ることの説明のひとつとして、認知バイアスによる同調行動が挙げられ、リーダー・フォロワー問題としてアプローチするなどの研究が行なわれてきた。リーダー・フォロワー問題としてのアプローチは、自ら行動を決定するリーダーと自身の行動を他者の行動によって決定するフォロワーとからなる群衆において、個体同士が影響し合った結果、群衆として非合理的な行動を採るというモデル化に基づくアプローチである。
【０００４】
一方で、例えば公共空間等で火災に遭遇した人は避難する他に消火活動に参加することもあり得る、というように、一般に、群衆を構成する個々人には行動目的の選択肢が複数通りある。
【０００５】
例えば、特許文献１に記載の避難行動予測システムにおいては、自力避難が可能な自力避難者クラス、自力避難が不可能な要介助者クラス、および施設管理者や消防隊を対象とした、自力避難が不可能な人間を介助あるいは救助する介助者クラスの３つのタイプの人間を定義して火災発生時の人間の行動を予測していた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１０７２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術においては、予測の間、人間のタイプは変化せず固定的であった。つまり、従来技術では、群集における各個体の行動の目的を恣意的に設定する必要があった。
そのため、群集における各個体の行動選択の様子を未知の条件下において予測させることや、群集において各個体に行動選択が生じた条件を究明することが困難であった。
【０００８】
例えば、従来技術では、時間の流れに伴って自力避難者クラスの人間が介助者クラスの人間に変わるなど、群衆における各個体の行動選択が予測に含まれない。このことから、例えば、火災発生時に各個体が避難と消火のいずれかを行うことを想定した場合、従来技術では、消火に成功するシミュレーション結果を得るために消火を行う個体を一定数以上とする恣意的な設定をし、消火に失敗するシミュレーション結果を得るために大多数の個体が採る行動を避難に設定する恣意的な設定をしなければならなないと考えられる。
【０００９】
本発明は、上記問題を鑑みてなされたものであり、群集における行動選択の様子を未知の条件下において予測でき、群集において行動選択が生じた条件の究明を容易化できるシミュレーター、シミュレーション方法および行動決定装置を提供することを目的とする。
なお、本明細書において「群衆」は人の集まりを表すものとし、「群集」は人を含む社会性生物の集まりを表すものとする。
【課題を解決するための手段】
【００１０】
かかる目的を達成するために本発明は、複数の目的を達成することが可能な所定の空間における群集の行動を予測するシミュレーターであって、前記群集を構成する複数の個体のそれぞれについて、少なくとも、前記複数の目的の中から選択された選択目的を含む行動パラメータ、リーダーかフォロワーかの別を表す属性値、および前記空間における位置を記憶する個体情報記憶部と、前記複数の目的について、当該目的それぞれを達成するための前記行動の契機となる刺激の程度を表す刺激値を順次設定する刺激値設定部と、前記刺激値が設定されるたびに、前記個体のうちの、前記属性値がフォロワーである個体に前記目的ごとの前記刺激値に基づく前記目的ごとの第一当選確率を設定し、前記属性値がリーダーである個体に所定の第二当選確率を設定する確率設定部と、前記第一当選確率が設定された前記個体に対して前記目的ごとの当該第一当選確率での抽選を行い、当選した個体の前記属性値をリーダーに変更するとともに当該個体の前記選択目的を当選した目的に設定するリーダー行動決定部と、前記個体ごとに当該個体からの前記位置が所定距離以内である周囲個体を抽出する周囲個体情報取得部と、前記第二当選確率が設定された個体の前記属性値を当該第二当選確率にてフォロワーに変更するとともに、前記属性値がフォロワーである個体の前記選択目的に当該個体の前記周囲個体に設定されている前記選択目的を設定するフォロワー行動決定部と、を備えたシミュレーターを提供する。
【００１１】
また、前記リーダー行動決定部は、前記第一当選確率が設定された前記個体に対し、前記目的ごとの前記第一当選確率のうち最大の第一当選確率が二番目に大きな第一当選確率よりも所定値を超えて高い場合のみ、当該最大の第一当選確率での抽選を行うことが好適である。
【００１２】
また、前記個体情報記憶部は、さらに、前記個体ごとに前記目的それぞれに関する反応閾値を記憶し、前記確率設定部は、前記個体ごとに前記目的それぞれについて、前記刺激値が高いほど高く且つ前記反応閾値が低いほど高い前記第一当選確率を算出することが好適である。
【００１３】
また、前記刺激値設定部は、前記複数の目的のうちのいずれか１以上の目的の達成度に応じて前記刺激値を低く変更することが好適である。
【００１４】
また、前記刺激値設定部は、前記個体ごとに前記刺激値を設定することが好適である。
【００１５】
また、かかる目的を達成するために本発明は、複数の目的を達成することが可能な所定の空間における群集の行動を予測するシミュレーション方法であって、コンピュータに、前記群集を構成する複数の個体のそれぞれについて、少なくとも、前記複数の目的の中から選択された選択目的を含む行動パラメータ、リーダーかフォロワーかの別を表す属性値、および前記空間における位置を記憶させ、前記複数の目的について、当該目的それぞれを達成するための前記行動の契機となる刺激の程度を表す刺激値を順次設定する処理と、前記刺激値が設定されるたびに、前記個体のうちの、前記属性値がフォロワーである個体に前記目的ごとの前記刺激値に基づく前記目的ごとの第一当選確率を設定し、前記属性値がリーダーである個体に所定の第二当選確率を設定する処理と、前記第一当選確率が設定された前記個体に対して前記目的ごとの当該第一当選確率での抽選を行い、当選した個体の前記属性値をリーダーに変更するとともに当該個体の前記選択目的を当選した目的に設定する処理と、前記個体ごとに当該個体からの前記位置が所定距離以内である周囲個体を抽出する処理と、前記第二当選確率が設定された個体の前記属性値を当該第二当選確率にてフォロワーに変更するとともに、前記属性値がフォロワーである個体の前記選択目的に当該個体の前記周囲個体に設定されている前記選択目的を設定する処理と、を実行させることを特徴とするシミュレーション方法を提供する。
【００１６】
また、かかる目的を達成するために本発明は、複数の目的を達成することが可能な所定の空間において群集を構成する個体のひとつである自個体の行動を決定する行動決定装置であって、前記自個体について、少なくとも、前記複数の目的の中から選択された選択目的を含んだ行動パラメータ、リーダーであるかフォロワーであるかの別を表す属性値、および前記空間における位置を記憶する個体情報記憶部と、前記複数の目的について、当該目的のそれぞれを達成するための前記行動の契機となる刺激の程度を表す刺激値を取得する刺激値取得部と、前記属性値がフォロワーである場合に前記目的ごとの前記刺激値に基づく前記目的ごとの第一当選確率を設定し、前記属性値がリーダーである場合に所定の第二当選確率を設定する確率設定部と、前記第一当選確率が設定された場合に前記目的ごとの当該第一当選確率での抽選を行い、当選した個体の前記属性値をリーダーに変更するとともに当該個体の前記選択目的を当選した目的に設定するリーダー行動決定部と、前記個体のうちの、前記自個体の前記位置から所定距離以下に存在する周囲個体の行動を取得する周囲個体情報取得部と、前記第二当選確率が設定された場合に前記属性値を当該第二当選確率にてフォロワーに変更するとともに前記選択目的に前記周囲個体の行動に類似する目的を設定するフォロワー行動決定部と、を備えた行動決定装置を提供する。
【発明の効果】
【００１７】
本発明によれば、同一の設定を行っても群集を構成する個体における行動の目的が確率的に変更される。これによって、群集を構成する個体における行動の目的の選択の様子を未知の条件下において確率的に予測でき、群集を構成する個体において行動の目的の選択が生じた条件の究明を容易化できる。
【図面の簡単な説明】
【００１８】
【図１】第一の実施形態に係るシミュレーター１の概略の構成を示すブロック図である。
【図２】第一の実施形態に係るシミュレーター１の機能ブロック図である。
【図３】環境情報記憶部４１が記憶する情報を模式的に例示したものである。
【図４】個体情報記憶部４２が記憶する情報を模式的に例示したものである。
【図５】個体情報記憶部４２が記憶する情報を模式的に例示したものである。
【図６】中間予測結果の一例である。
【図７】中間予測結果の別の一例である。
【図８】第一の実施形態に係るシミュレーターの動作を示したフローチャートである。
【図９】第一の実施形態に係るシミュレーターの行動決定処理のフローチャートである。
【発明を実施するための形態】
【００１９】
［第一の実施形態］
本発明のシミュレーターに係る第一の実施形態として、出口を有する部屋Ｒに火災が発生して燃焼エリアが生じ、部屋Ｒに滞在していた複数の人（群集）のそれぞれが避難行動と消火行動のいずれかを選択して実行する様子を予測するシミュレーター１の例を示す。この例では、行動を単純化し、避難行動は出口エリアＡ１への移動、消火行動を燃焼エリアＡ２への移動により行われるとする。
つまり、この実施形態において、シミュレーションの対象となる空間（対象空間）は部屋Ｒであり、群集を構成する個体は人であり、対象空間での事象は火災であり、群集ないし個体の目的は避難および消火であり、対象空間はエリアＡ１，Ａ２があることで目的を達成することが可能となっている。
また、例示するシミュレーター１は、本発明のもうひとつである行動決定装置を含み、行動決定装置が各個体の行動を逐次確率的に決定することにより群集の行動の予測が行われる。
【００２０】
＜シミュレーター１の構成＞
図１は、第一の実施形態に係るシミュレーター１の概略の構成を示すブロック図である。
シミュレーター１は、操作入力部２、ファイル入出力部３、記憶部４、制御部５、および表示部６からなる。これらのうちのファイル入出力部３、記憶部４および制御部５はいわゆるコンピュータで実現でき、操作入力部２および表示部６は当該コンピュータの周辺機器として実現できる。
【００２１】
操作入力部２は、キーボード、マウス等のユーザーインターフェースであり、利用者に操作されてデータの入力等に用いられる。操作入力部２は、制御部５に接続され、利用者の操作を操作信号に変換して制御部５に出力する。
【００２２】
ファイル入出力部３は、ＤＶＤ（Digital Versatile Disc）ドライブ、ＵＳＢ（Universa Serial Bus）インターフェース、ネットワークインターフェース等であり、一方が不図示の外部機器、記録メディア、ネットワーク等に接続され、他方が制御部５に接続され、データをファイルとして制御部５に入力し、およびデータをファイルとして制御部５から出力する。
【００２３】
記憶部４は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等のメモリ装置であり、各種プログラムや各種データを記憶する。記憶部４は、制御部５と接続されて制御部５との間でこれらの情報を入出力する。
【００２４】
制御部５は、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＭＣＵ（Micro Control Unit）等の演算装置で構成される。制御部５は、記憶部４と接続され、記憶部４からプログラムを読み出して実行することにより各種処理部として動作し、各種データを記憶部４に記憶させ、読み出す。また、制御部５は、操作入力部２、ファイル入出力部３および表示部６とも接続され、利用者が操作入力部２を操作して入力されたデータを取得し、ファイル入出力部３を介して外部からファイルとしてデータを取得および出力し、所得したデータに基づいたシミュレーションを行って群集の行動を予測し、予測結果のデータをファイルとしてファイル入出力部３から出力させ、または／および予測結果のデータを画像化して表示部６に表示させる。
【００２５】
表示部６は、液晶ディスプレイ又はＣＲＴ（Cathode Ray Tube）ディスプレイ等のディスプレイ装置であり、制御部５と接続され、制御部５による予測結果を表示する。利用者は表示された予測結果を視認して群集の行動に関する考察等を行う。
【００２６】
＜シミュレーター１の機能＞
図２は、第一の実施形態に係るシミュレーター１の機能ブロック図である。
【００２７】
操作入力部２は条件設定部２０の一部等として機能する。ファイル入出力部３は条件設定部２０の一部および予測結果出力部５７の一部等として機能する。記憶部４は反復条件記憶部４０、環境情報記憶部４１および個体情報記憶部４２等として機能する。制御部５は、リスク値取得部５０、周囲個体情報取得部５１、刺激値設定部５２、確率設定部５３、リーダー行動決定部５４、フォロワー行動決定部５５、個体情報更新部５６、予測結果出力部５７の一部等として機能する。
【００２８】
条件設定部２０は、シミュレーションに必要な各種条件の入力を受け付け、入力された条件を記憶部に記憶させる。条件設定部２０は、例えば、操作入力部２および制御部５が協働して実現され、利用者が操作入力部２を操作して入力した値を、制御部５が記憶部４に記憶させる。条件設定部２０は、条件の一部または全部が記されたファイルを入力するファイル入出力部３を含んでもよく、利用者が操作入力部２を操作して指定したファイルを制御部５がファイル入出力部３を介して取得して当該ファイルに記された値を記憶部４に記憶させる。
【００２９】
シミュレーションは仮想時刻を所定範囲内で進めながら行われる。また、同一範囲内の仮想時刻についての試行が繰り返し行われる。各試行で用いる条件は同一であるが、各試行の各仮想時刻における各個体の行動は確率的に決定されるため、試行間のシミュレーション結果が同一となることは殆ど無い。
【００３０】
仮想時刻は、実際の時間の経過を模擬したものであるが、シミュレーターが１時刻分の演算を終えるたびに進められ、実際の時間の経過よりも高速に刻まれる。例えば、仮想時刻の１時刻を実際の１秒間に対応させ、仮想時刻を０から始まり１ずつ増加する整数で表す。
【００３１】
本実施形態のシミュレーションにおいては、上限仮想時刻をＴ、試行予定回数をＭとし、仮想時刻を０から（Ｔ−１）まで変化させながら仮想時刻ごとに環境および個体の情報を更新する試行がＭ回繰り返される。
【００３２】
反復条件記憶部４０は、上限仮想時刻Ｔおよび試行予定回数Ｍを記憶する。これらの値は、条件設定部２０を用いた利用者による入力操作により予め設定される。
【００３３】
環境情報記憶部４１は対象空間に由来する情報を記憶する。具体的には、環境情報記憶部４１は、出口の領域を含む対象空間の地図、および対象空間に生じるリスクの大きさを表すリスク値を記憶する。リスク値は仮想時刻の関数である。地図とリスク値の初期値は、条件設定部２０を用いた利用者による入力操作により予め設定される。リスク値は順次リスク値取得部５０により追記される。
【００３４】
図３は、環境情報記憶部４１が記憶する情報を模式的に例示したものである。
【００３５】
図３（Ａ）は、二次元のｘｙ座標系における部屋Ｒの地図１００を図化したものである。地図１００においては、部屋Ｒの床面が個体の移動可能領域としてｘ方向に４０個、ｙ方向に４０個の正方形でブロック分割され、ブロックの一部が出口エリアＡ１、ブロックの別の一部が燃焼エリアＡ２となっている。部屋Ｒの中央がｘｙ座標系の原点であり、ｘ方向が北であるとする。環境情報記憶部４１には各ブロックの重心に割り当てられたｘ方向のグリッド番号、ｙ方向のグリッド番号、および出口エリアＡ１と燃焼エリアＡ２とそれ以外とを区別する符号の組み合わせが列挙されたデータが記憶される。地図１００は原理説明のための簡単な例であるが、対象空間は、複数の部屋や通路から構成される複雑な空間であってもよい。その場合の移動可能領域は、壁、什器等の領域を除いた複雑な形状となる。
【００３６】
図３（Ｂ）は、リスク値を模式的に表したものである。環境情報記憶部４１には、初期値ｒ（−１）と、仮想時刻０〜（Ｔ−１）までのリスク値の系列ｒ（０），ｒ（１），ｒ（２），…，ｒ（Ｔ−１）とが記憶される。事象を火災とする本実施形態においてリスク値は火災の規模に応じた値である。
【００３７】
個体情報記憶部４２は、群集を構成する複数の個体のそれぞれについて、少なくとも、属性値、状態値、および行動パラメータを記憶する。状態値は少なくとも対象空間における個体の位置を含む。また、行動パラメータは少なくとも選択目的を含む。また、個体情報記憶部４２は、さらに、各目的に対する個体それぞれの反応閾値、個体それぞれの認知閾値、および目的ごとの個体それぞれに対する刺激値のうちの１以上を記憶してもよい。
【００３８】
属性値には、個体が、避難のリーダー、消火のリーダーおよびフォロワーのいずれであるかを表す識別子が設定される。リーダーとフォロワーは群集における個体の役割である。リーダーは自身の行動を自分の意思によって決定する。フォロワーは自身の行動を他の個体の行動によって決定する。
本発明において属性値は仮想時刻の経過とともに動的に変更される。ただし、各試行において属性値の初期値は共通である。すなわち、条件設定部２０を用いた利用者による入力操作により属性値の初期値が設定され、試行のたびに属性値には当該初期値が設定され、属性値は後述するリーダー行動決定部５４およびフォロワー行動決定部５５により随時変更される。
ちなみに、本実施形態において属性値の初期値は全個体に共通してフォロワーである。
【００３９】
状態値は、各試行の各仮想時刻における各個体の状態を表す。状態値は対象空間における個体の位置であり、グリッド番号で表す。
状態値の初期値も各試行において共通であり、仮想時刻の経過とともに更新される。すなわち、条件設定部２０を用いた利用者による入力操作により状態値の初期値が設定され、試行のたびに状態値には当該初期値が設定され、状態値は後述する個体情報更新部５６により随時更新される。
ちなみに、本実施形態において各個体の位置の初期値は部屋Ｒの移動可能領域中のグリッド番号の中からランダムに設定された値である。
なお、本実施形態において状態値は位置のみの一要素であるが、別の実施形態において状態値は、位置と消火器の所持・不所持の別を表す値というように複数の要素を含んでもよい。
【００４０】
行動パラメータは、各試行の各仮想時刻における各個体の行動を表し、状態値に作用するパラメータである。行動パラメータは、基本的に、各個体の行動の目的、当該目的を達成するために当該個体が決定した行動の手段、当該個体が当該行動の手段を実行することによる１時刻当たりの状態値の変更量（状態変更量）で表すものと定義する。
例えば、目的は避難と消火の２通りであり、目的としてこれらの複数の目的の中から選択された選択目的を表す識別子が記憶される。
また、例えば、手段は出口エリアＡ１への移動と燃焼エリアＡ２への移動の２通りであり、手段として選択エリアを表す符号が記憶される。すなわち、前者を選択したときは手段には符号Ａ１、後者を選択したときは手段には符号Ａ２が記憶される。
また、例えば、状態変更量はグリッド単位の移動量であり、状態変更量としてグリッド番号のｘ方向の増分値とｙ方向の増分値の組を記憶させる。すなわち、図３（Ａ）の地図で表す対象空間においては、例えば、北に１グリッド移動するときは（０，−１）、北西に１グリッド移動するときは（−１，−１）、…などと記憶される。試行回数ｍにおける仮想時刻ｔの位置が（５，１０）である個体の移動量が（−１，−１）であれば、当該試行回数ｍにおける仮想時刻（ｔ＋１）の位置は（４，９）に更新される。
ちなみに、本実施形態において各個体の選択目的の初期値は定義されず、各個体の移動量の初期値は（０，０）である。行動パラメータは後述するリーダー行動決定部５４およびフォロワー行動決定部５５により随時変更される。
【００４１】
反応閾値および認知閾値は、個体の個性を表現するパラメータであり、条件設定部２０を用いた利用者による入力操作により予め設定される。
各目的に対する個体ごとの反応閾値は、当該目的に係る当該個体の刺激値に対する閾値であり、当該目的に係る刺激値に対して自ら行動を起こす反応の生じにくさ、つまりリーダーへの変更されにくさを表す。反応閾値が高い個体ほど刺激に対して鈍感で、低い個体ほど刺激に対して敏感である。よって、反応閾値が高い個体ほどリーダーに変更されにくく、低い個体ほどリーダーに変更され易い。
また、個体ごとの認知閾値は、当該個体が認知するリスクの大きさを表す。認知閾値が高い個体ほどリスク値の上昇に応じて刺激値が上昇しにくく、低い個体ほど刺激値が上昇し易い。よって、認知閾値が高い個体ほどリーダーに変更されにくく、低い個体ほどリーダーに変更され易い。
【００４２】
刺激値は各目的を達成するための行動の契機となる刺激の程度を表す値である。例えば、避難のための行動の刺激値は火災の規模の拡大や避難を促す放送などに応じて時々刻々と上昇する値として設定される。また、例えば、消火のための行動の刺激値は火災の規模の拡大などに応じて時々刻々と上昇する値として設定される。個体それぞれに対する目的ごとの刺激値は当該個体が当該目的を達成するための行動の契機として各仮想時刻において受ける刺激値である。
本実施形態において刺激値は仮想時刻の経過とともに更新される。ただし、各試行において刺激値の初期値は共通である。すなわち、条件設定部２０を用いた利用者による入力操作により刺激値の初期値が設定され、試行のたびに刺激値には当該初期値が設定され、刺激値は後述する刺激値設定部５２により目的ごと且つ個体ごと且つ仮想時刻ごとに更新される。
ちなみに、本実施形態において刺激値の初期値ｓ（−１）は全個体に共通して０である。
【００４３】
図４および図５は、個体情報記憶部４２が記憶する情報を模式的に例示したものである。
【００４４】
Ｎ個の個体それぞれには当該個体を識別する個体ＩＤが付与され、個体ＩＤと当該個体に関する情報とが対応付けて記憶される。
図４の情報１１０は、個体ＩＤが０，１，…，（Ｎ−１）である個体それぞれに対して記憶される、避難に係る刺激値に対する反応閾値θ１，０，θ１，１，…，θ１，Ｎ−１、消火に係る刺激値に対する反応閾値θ２，０，θ２，１，…，θ２，Ｎ−１、および認知閾値μ０，μ１，…，μＮ−１を例示している。
図５は、シミュレーション終了時点の情報１１１を例示したものである。情報１１１として、１，２，…，Ｍ回目の試行それぞれにおける仮想時刻が０，１，２，…，（Ｔ−１）の各時点での個体ＩＤが０，１，…，（Ｎ−１）である個体のそれぞれについて刺激値の履歴、属性値の履歴、状態値の履歴、行動パラメータの履歴が記憶される。例えば、情報１１１には、１回目の試行で個体ＩＤが０である個体に与えられた避難に係る各仮想時刻の刺激値はｓ１，１，０（０），ｓ１，１，０（１），ｓ１，１，０（２），…，ｓ１，１，０（Ｔ−１）、同試行で同個体に与えられた消火に係る各仮想時刻の刺激値はｓ１，２，０（０），ｓ１，２，０（１），ｓ１，２，０（２），…，ｓ１，２，０（Ｔ−１）であり、これに対応して同試行で同個体の属性値はフォロワー，リーダー，リーダー，…，リーダーと変遷し、同試行で同個体の選択目的は未定値，消火，消火，…，消火と変遷し、同試行で同個体の選択エリアは未定値，Ａ２，Ａ２，…，Ａ２と変遷し、同試行で同個体の移動量は（０，０），（Δｘ１，０（１），Δｙ１，０（１）），（Δｘ１，０（２），Δｙ１，０（２）），…，（Δｘ１，０（Ｔ−１），Δｙ１，０（Ｔ−１））と変遷し、同試行で同個体が位置するグリッドは（ｘ１，０（０），ｙ１，０（０）），（ｘ１，０（１），ｙ１，０（１）），（ｘ１，０（２），ｙ１，０（２）），…，（ｘ１，０（Ｔ−１），ｙ１，０（Ｔ−１））と変遷したことなどが記憶される。
【００４５】
リスク値取得部５０は、対象空間に生じるリスクの大きさを表すリスク値を順次取得して刺激値設定部５２に出力する。具体的には、リスク値取得部５０は、仮想時刻ｔが進むごとに刺激値設定部５２から要求を受け、当該仮想時刻ｔのリスク値ｒ（ｔ）を取得して刺激値設定部５２に出力する。
具体的には、リスク値取得部５０は、各仮想時刻ｔにおけるリスク値ｒ（ｔ）を下式（１）に従って算出する。
【数１】
2019185073.tif 000003
【００４６】
ただし、ｒ（ｔ−１）は、１時刻前に設定したリスク値であり、リスク値取得部５０はこれを環境情報記憶部４１から取得する。またリスク値取得部５０は１時刻後での算出のために現時刻で取得したリスク値を環境情報記憶部４１に記憶させる。γは複数の目的のうちのリスクを低減する目的に関するスケールファクタであり、スケールファクタγには０以上の値が予め設定される。本実施形態においてリスクを低減する目的は消火である。Ｎω＝２はリスクを低減する目的で行動している個体の数であり、リスク値取得部５０は個体情報記憶部４２を参照してＮω＝２を取得する。πは１時刻当たりのリスク増加量であり、リスク増加量πには０より大きな値が予め設定される。また、式（１）におけるｍａｘ｛・，０｝は値を非負に制限することを表している。
式（１）におけるγＮω＝２はリスクを低減する目的の達成度の推定値であり、リスク値はリスクを低減する目的の達成度が高いほど低く変更される。Ｎω＝２は行動パラメータに基づく値であるが、Ｎω＝２に代えて燃焼エリアの小ささを達成度として用いるなど対象空間の情報に基づく値とすることもできる。
このように、リスク値取得部５０は、複数の目的のうちのいずれか１以上の目的の達成度に応じてリスク値を低く変更することによって、リスクを低減する目的を含んだ予測をより現実世界に近いものとすることを可能にしている。
【００４７】
周囲個体情報取得部５１は、各個体について当該個体の位置から所定距離以下に存在する周囲個体の情報を取得し、刺激値設定部５２およびフォロワー行動決定部５５に出力する。
周囲個体情報取得部５１が取得する情報のひとつは周囲個体の数であり、周囲個体情報取得部５１は刺激値設定部５２からの個体ＩＤを指定した要求に応じて指定された個体の周囲の個体の数を出力する。例えば、距離閾値ＴＤを近傍の８グリッドを包含する円の半径に予め設定しておく。周囲個体情報取得部５１は、個体情報記憶部４２を参照して、指定された個体の位置から半径ＴＤ内の位置が設定されている個体を周囲個体として抽出し、抽出した周囲個体の数を計数して出力する。また、周囲個体情報取得部５１は刺激値設定部５２からの個体ＩＤと目的とを指定した要求に応じ、指定された個体の周囲個体であって指定された目的が選択目的として設定されている周囲個体の数を出力する。
また、周囲個体情報取得部５１が取得する情報のもうひとつは周囲個体の行動であり、周囲個体情報取得部５１はフォロワー行動決定部５５からの個体ＩＤを指定した要求に応じて指定された個体の周囲の個体の行動を出力する。具体的には、周囲個体情報取得部５１は、上記と同様にして周囲個体を抽出し、抽出した周囲個体に設定されている行動パラメータを出力する。
【００４８】
刺激値設定部５２は、仮想時刻ごとに、各目的に係る各個体に対する刺激値を設定して、設定した刺激値を確率設定部５３に出力する。具体的には、刺激値設定部５２は、各仮想時刻ｔにおける各目的ωに係る各個体ｉ（個体ＩＤがｉである個体）の刺激値ｓω，ｉ（ｔ）を下式（２）〜（５）に従って設定する。
【００４９】
【数２】
2019185073.tif 000004
【数３】
2019185073.tif 000005
【数４】
2019185073.tif 000006
【数５】
2019185073.tif 000007
【００５０】
ただし、ｓω，ｉ（ｔ−１）は、個体ｉに対して１時刻前に設定した目的ωに係る刺激値であり、刺激値設定部５２はこれを個体情報記憶部４２から取得する。また刺激値設定部５２は１時刻後での設定のために現時刻で設定した刺激値を個体情報記憶部４２に記憶させる。δωは１時刻当たりの目的ωに係る刺激増加量であり、刺激増加量δωには０より大きな値が予め設定される。αωは目的ωに係る刺激を抑制するスケールファクタであり、スケールファクタαωには０以上の値が予め設定される。また、ｒ（ｔ）は上述したリスク値であり、刺激値設定部５２はこれをリスク値取得部５０から取得する。ｇは非負の定数である。μｉは上述した認知閾値のうちの個体ｉについての認知閾値であり、刺激値設定部５２はこれを個体情報記憶部４２から取得する。ｎｉは個体ｉの周囲の個体の数であり、刺激値設定部５２はこれを周囲個体情報取得部５１から取得する。Ｎｍａｘは周囲個体数の最大数であり、１以上の値が予め設定される。
また、式（２）におけるｍａｘ｛・，０｝、式（３）（５）における「ｉｆ  ・  ０  ｏｔｈｅｒｗｉｓｅ」はそれぞれ値を非負に制限することを表している。
【００５１】
式（４）のＲｐはリスク値ｒ（ｔ）と認知閾値μｉの差が大きいほど１に近づき、式（２）の刺激値ｓω，ｉ（ｔ）はＲｐが１に近づくほど大きく増加する。つまり、認知閾値μｉが小さな個体ほど、リスク値ｒ（ｔ）との差が大きくなり易く、刺激値ｓω，ｉ（ｔ）が増加し易い。これは、認知閾値が小さな個体ほど、リスクに敏感な個体であり、リーダーになり易い個体であるという現実世界の様子をモデル化している。
このように、刺激値設定部５２は、個体ごとに刺激値を設定し、特に、リスク値ｒ（ｔ）と当該個体ｉの認知閾値μｉとの差が大きな個体ほど個体情報記憶部４２に記憶させた値ｓω，ｉ（ｔ−１）から大きく増加させて刺激値ｓω，ｉ（ｔ）を設定することによって、より現実世界に近い予測を可能にしている。
【００５２】
また、式（５）のＦは周囲個体の数ｎｉが多いほど０に近づき、式（２）の刺激値ｓｉ（ｔ）はＦが０に近づくほど大きく増加する。つまり、周囲個体が多い個体ほど、刺激値ｓｉ（ｔ）が増加し易い。これは、避難が進んでいない領域ほど行動の契機となる刺激の増加が促進され（行動を起こすべき雰囲気が促進され）、避難が進んだ領域は刺激が飽和する現実世界の様子をモデル化している。
このように、刺激値設定部５２は、個体ごとに刺激値を設定し、特に、周囲個体情報取得部５１が抽出した周囲個体の数ｎｉが多い個体ほど個体情報記憶部４２に記憶させた値ｓω，ｉ（ｔ−１）から大きく増加させて刺激値ｓω，ｉ（ｔ）を設定することによって、より現実世界に近い予測を可能にしている。
【００５３】
ここで、刺激値設定部５２は、消火（ω＝２）に係る刺激値ｓ２，ｉ（ｔ）を算出する際のＦを式（５）に代えて下式（６）に従って算出することもできる。
【数６】
2019185073.tif 000008
【００５４】
ただし、ａｂｓ（・）は絶対値を表す。またｎω＝２は選択目的が消火である周囲個体の数であり、刺激値設定部５２はこれを周囲個体情報取得部５１から取得する。Ｎｍａｘは周囲個体数の最大数であり、１以上の値が予め設定される。ξは周囲個体数のうちの選択目的が消火である個体の最適数であり、１以上Ｎｍａｘ以下の値が予め設定される。
式（６）のＦはｎω＝２がξに近づくほど１に近づき、式（２）の刺激値ｓω，ｉ（ｔ）はＦが１に近づくほど増加しにくくなる。つまり、ｎω＝２が増加すると刺激値ｓω，ｉ（ｔ）が抑制されて、当該目的ωのリーダーへの変更が抑制される。これば、群集のうちの少数の個体しか選択し得ないことが既知である目的を選択する個体の数を抑制して、現実世界と乖離した予測にならないようにする効果がある。
【００５５】
なお、試行回数と仮想時刻の制御は刺激値設定部５２によって行われる。
【００５６】
確率設定部５３は、刺激値設定部５２によって刺激値が設定されるたびに、個体のうちの、属性値がフォロワーである個体に目的ごとの刺激値に基づく目的ごとの第一当選確率を設定して当該第一当選確率それぞれをリーダー行動決定部５４に出力し、属性値がリーダーである個体に当該個体に設定されている選択目的に対して定められた第二当選確率を設定して当該第二当選確率それぞれをフォロワー行動決定部５５に出力する。
【００５７】
具体的には、確率設定部５３は、個体情報記憶部４２から属性値がフォロワーである個体の個体ＩＤ（ｉとする）と当該個体の各目的ωに対する反応閾値θω，ｉを読み出し、刺激値設定部５２から入力された刺激値の中から各目的ωに係る当該個体ｉに対する刺激値ｓω，ｉ（ｔ）を特定し、目的ωに係る個体ｉの第一当選確率Ｐω，ｉ（Ｘω，ｉ＝０→Ｘω，ｉ＝１）を次式（７）に従って設定する。
【数７】
2019185073.tif 000009
【００５８】
ただし、Ｘω，ｉは目的ωに係る個体ｉの属性値に対応する確率変数であり、Ｘω，ｉ＝１は個体ｉが目的ωに係るリーダーであること、Ｘω，ｉ＝０は個体ｉがフォロワーであること、（Ｘω，ｉ＝０→Ｘω，ｉ＝１）は個体ｉをフォロワーから目的ωに係るリーダーに変更することを表している。つまりＰω，ｉ（Ｘω，ｉ＝０→Ｘω，ｉ＝１）は個体ｉをフォロワーから目的ωに係るリーダーに変更する確率である。
【００５９】
式（７）の第一当選確率Ｐω，ｉ（Ｘω，ｉ＝０→Ｘω，ｉ＝１）は、目的ωに係る刺激値ｓω，ｉ（ｔ）が高いほど高く、目的ωに係る反応閾値θω，ｉが低いほど高い値となる。これは、目的ωに係る刺激が強いときほど当該目的ωに係るリーダーになり易く、目的ωに係る刺激に対する反応が敏感な個体ほど目的ωに係るリーダーになり易い現実世界の様子をモデル化している。
このように、確率設定部５３は、個体ごとに複数の刺激値ｓω，ｉ（ｔ）が高いほど高く且つ反応閾値θω，ｉが低いほど高い第一当選確率Ｐω，ｉ（Ｘω，ｉ＝０→Ｘω，ｉ＝１）を設定する。
【００６０】
また、確率設定部５３は、個体情報記憶部４２から属性値がリーダーである個体の個体ＩＤ（ｉとする）と選択目的ωを特定し、個体ｉの選択目的ωに係る第二当選確率Ｐω，ｉ（Ｘω，ｉ＝１→Ｘω，ｉ＝０）を次式（８）に従って設定する。
【数８】
2019185073.tif 000010
【００６１】
Ｘｉは式（７）の説明と同様であるからＰω，ｉ（Ｘω，ｉ＝１→Ｘω，ｉ＝０）は目的ωのリーダーからフォロワーに変更する確率である。εには０以上の値が予め設定される。
【００６２】
式（７）と式（８）は反応閾値モデルに倣って定式化しており、確率設定部５３は反応閾値モデルをリーダーとフォロワーの間の変更に応用する独自アプローチを特徴としている。
【００６３】
リーダー行動決定部５４は、確率設定部５３によって第一当選確率が設定された個体に対して目的ごとの第一当選確率での抽選を行い、当選した個体の属性値をリーダーに変更するとともに、当選個体の選択目的を当選した目的に変更する。
【００６４】
具体的には、リーダー行動決定部５４は、第一当選確率が設定された個体ｉに対して複数の目的ωのそれぞれについて第一当選確率Ｐω，ｉ（Ｘω，ｉ＝０→Ｘω，ｉ＝１）での抽選を行い、当該抽選に当選した場合に当該個体（当選個体）ｉの当該目的ωに係る属性値Ｘω，ｉがリーダーであることを個体情報記憶部４２に記憶させる。
上記抽選においては、例えば、リーダー行動決定部５４は、値域［０，１］の乱数を１つ決定し、当該乱数がＰω，ｉ（Ｘω，ｉ＝０→Ｘω，ｉ＝１）未満であれば当選、Ｐω，ｉ（Ｘω，ｉ＝０→Ｘω，ｉ＝１）以上であれば落選と判定する。
【００６５】
ここで、現実世界において個体が同時実行不能な複数の目的が同時選択されないよう、リーダー行動決定部５４は、同時実行不能な複数の目的ごとの第一当選確率のうち最大の第一当選確率が二番目に大きな第一当選確率よりも閾値Ｔｐを超えて高い場合のみ、当該最大の第一当選確率での抽選を行う。すなわち、リーダー行動決定部５４は、個体ｉに関し、第一当選確率が最大の目的をｊ、第一当選確率が二番目に大きな目的をｋとし、次式（９）が満たされた場合に、目的ｊについての抽選を行う。
【数９】
2019185073.tif 000011
【００６６】
なお、同時実行不能な目的の組み合わせ、および閾値Ｔｐは予め適宜に設定される。本実施形態においては、避難と消火は同時実行不能な目的の組み合わせとして設定されている。
このようにすることによって、リーダー行動決定部５４は、同時実行不能な複数の目的の競合を解消し、より現実世界に適合した予測を可能にする。
【００６７】
また、リーダー行動決定部５４は、属性値がリーダーである個体の行動パラメータに当該個体の状態値を当該個体の選択目的の達成に近づける値を設定する。
具体的には、リーダー行動決定部５４は、個体情報記憶部４２から属性値がリーダーである個体の選択エリアと位置を読み出し、当該位置の８近傍グリッドそれぞれから環境情報記憶部４１に記憶されている当該選択エリアまでの距離を算出して、当該個体の位置から最も近い近傍グリッドへの移動量を決定する。
【００６８】
そして、リーダー行動決定部５４は、決定した選択目的と選択エリアと移動量を属性値がリーダーである個体の行動パラメータとして個体情報記憶部４２に記憶させる。
【００６９】
フォロワー行動決定部５５は、確率設定部５３によって第二当選確率が設定された個体の属性値を当該確率にてフォロワーに変更するとともに、属性値がフォロワーである個体の行動パラメータに当該個体の周囲個体の行動パラメータに類似した値を設定する。
具体的には、フォロワー行動決定部５５は、第二当選確率が設定された個体ｉに対して目的ωのそれぞれについて第二当選確率Ｐω，ｉ（Ｘω，ｉ＝１→Ｘω，ｉ＝０）での抽選を行い、当該抽選に当選した場合に当該当選個体ｉの属性値がフォロワーであることを個体情報記憶部４２に記憶させる。
上記抽選においては、例えば、フォロワー行動決定部５５は、値域［０，１］の乱数を１つ決定し、当該乱数がＰω，ｉ（Ｘω，ｉ＝１→Ｘω，ｉ＝０）未満であれば当選、Ｐω，ｉ（Ｘω，ｉ＝１→Ｘω，ｉ＝０）以上であれば落選と判定する。
また、フォロワー行動決定部５５は、周囲個体情報取得部５１に属性値がフォロワーである個体の周囲の個体の行動パラメータを取得させ、取得した行動パラメータの中で最多の選択目的を当選個体の選択目的に決定する。
また、フォロワー行動決定部５５は、属性値がフォロワーである個体の位置の８近傍グリッドそれぞれから選択エリアまでの距離を算出して、当該個体の位置から最も近い近傍グリッドへの移動量を決定する。そして、フォロワー行動決定部５５は、決定した選択目的と選択エリアと移動量を属性値がフォロワーである個体の行動パラメータとして個体情報記憶部４２に記憶させる。
【００７０】
個体情報更新部５６は、各個体の状態値を当該個体の行動パラメータにて更新する。
本実施形態においては、個体情報更新部５６は、状態値のうちの位置に、行動パラメータのうちの移動量を加算することによって更新を行う。具体的には、個体情報更新部５６は、個体情報記憶部４２から各個体の位置と移動量とを読み出し、個体ごとに、読み出した位置に読み出した移動量を加算して加算後の位置を個体情報記憶部４２に記憶させる。
【００７１】
予測結果出力部５７は、シミュレーションの結果である予測結果を出力する。予測結果は、個体情報記憶部４２に記憶されている情報の一部または全部を少なくとも含み、好適には、さらに環境情報記憶部４１に記憶されている情報の一部または全部を含む。また、予測結果出力部５７は個体情報記憶部４２に記憶されている情報、または該情報と環境情報記憶部４１に記憶されている情報とを統計処理し、得られた統計量を予測結果として出力してもよい。
【００７２】
予測結果の出力タイミングは、シミュレーションを終えた時点の他に、シミュレーションの途中を含んでもよい。つまり、シミュレーションの途中までに得られた上記情報の一部または全部を中間予測結果として出力してもよい。
【００７３】
また、予測結果出力部５７は、予測結果をデータファイルとして出力してもよいし、画像ファイルとして出力してもよいし、画像として表示してもよいし、これらのうちの１以上の形式で出力してもよい。
【００７４】
図６、図７のそれぞれは、或る試行回数での上限仮想時刻に近い仮想時刻における中間予測結果の一例である。予測結果出力部５７は、対象空間の地図を画像化するとともに当該画像上の各個体の位置と対応する座標に個体を表す図形を重畳描画して中間予測結果を生成し、表示部６に出力する。
【００７５】
これらのうちの図６に例示した中間予測結果１１０は、十分な数の個体が消火を選択し（燃焼エリアＡ２に移動し）、消火に成功することが予測された予測結果である。他方、図７に例示した中間予測結果１２０は、消火を選択した個体が少なく、消火に失敗することが予測された予測結果である。これらの予測結果は同一の設定から得られる。
【００７６】
シミュレーター１による予測結果を用いれば、例えば、図６に例示される試行と図７に例示される試行におけるリーダーの位置やその時間推移を比較する解析を行い、消火に失敗する条件を究明することが可能となる。
【００７７】
＜シミュレーター１の動作例＞
図８および図９のフローチャートを参照してシミュレーター１の動作例を説明する。
【００７８】
始めに、条件設定部２０が利用者からの入力を受け付けてシミュレーションの条件を設定する（ステップＳ１）。すなわち、利用者が条件設定部２０を用いて手入力することによって得られたシミュレーションの条件、または／および利用者が条件設定部２０を用いてファイルを指定しそれに応じた条件設定部２０が該当するファイルから読み出すことによって得られたシミュレーションの条件を、条件設定部２０が反復条件記憶部４０、環境情報記憶部４１および個体情報記憶部４２に設定する。
【００７９】
シミュレーションの条件が設定されると、刺激値設定部５２は試行回数を１に初期化し（ステップＳ２）、ステップＳ２〜Ｓ１２のループ処理を設定する。
【００８０】
さらに、試行回数のループ処理において、刺激値設定部５２は仮想時刻を０に初期化し（ステップＳ３）、ステップＳ３〜Ｓ１０のループ処理を設定する。
【００８１】
仮想時刻のループ処理においては、まず、行動決定処理が行われる（ステップＳ４）。
【００８２】
図９のフローチャートを参照してステップＳ４の行動決定処理について説明する。
【００８３】
行動決定処理においては、まず、リスク値の取得が行われる。刺激値設定部５２がリスク値取得部５０に設定中の仮想時刻を指定してリスク値の取得を要求し、リスク値取得部５０がこれに応じてリスク値を更新して刺激値設定部５２に出力する。すなわち、リスク値取得部５０は、個体情報記憶部４２を参照して最新（１時刻前）の選択目的が消火である個体の数を消火の達成度として算出するとともに（ステップＳ４０１）、指定された時刻の１時刻前のリスク値を環境情報記憶部４１から読み出し、これらの値を式（１）に適用してリスク値を更新する（ステップＳ４０２）。
【００８４】
次に、刺激値設定部５２が、個体情報記憶部４２を参照してその位置が未だ出口エリアＡ１に達していない個体を特定し、特定した個体を順次処理対象に設定することによって（ステップＳ４０３）、ステップＳ４０３〜Ｓ４２０のループ処理を設定する。
【００８５】
個体のループ処理においては、まず、周囲個体の計数が行われる（ステップＳ４０４）。すなわち、刺激値設定部５２が処理対象の個体の個体ＩＤを指定して周囲個体情報取得部５１に周囲個体の情報の取得を要求し、周囲個体情報取得部５１は個体情報記憶部４２を参照して指定された個体の周囲個体を計数し、計数した周囲個体数を刺激値設定部５２に出力する。
【００８６】
次に、各目的に係る刺激値の更新が行われる（ステップＳ４０５）。すなわち、刺激値設定部５２は、個体情報記憶部４２から処理対象の個体の１時刻前の刺激値および認知閾値を読み出し、読み出した刺激値と、認知閾値と、ステップＳ４０２で取得されたリスク値と、ステップＳ４０３で取得された周囲個体数とを式（２）〜（６）に適用して刺激値を算出し、当該刺激値を個体情報記憶部４２に追記する。例えば、刺激値設定部５２は、避難と消火の２つの目的に係る更新を行い、避難に係る更新は式（２）〜（５）を用いて行い、消火に係る更新は式（２）〜（４）と式（６）とを用いて行う。
【００８７】
続いて、確率設定部５３が、個体情報記憶部４２を参照して処理対象の個体の属性値を確認する（ステップＳ４０６）。
【００８８】
属性値がフォロワーである場合（ステップＳ４０６にてＹＥＳ）、確率設定部５３は、複数の目的それぞれについて、個体情報記憶部４２から処理対象の個体の反応閾値と最新の刺激値を読み出し、これらを式（７）に適用して目的ごとの第一当選確率を算出し（ステップＳ４０７）、目的と第一当選確率の組を第一当選確率の昇順で並べ替える（ステップＳ４０８）。そして、リーダー行動決定部５４は、最大の第一当選確率と２番目に大きな第一当選確率との差を閾値と比較し（ステップＳ４０９）、差が閾値を超えた場合に（ステップＳ４０９にてＹＥＳ）、最大の第一当選確率での抽選を行う（ステップＳ４１０）。当選した場合（ステップＳ４１１にてＹＥＳ）、個体情報記憶部４２における処理対象の個体の属性値をリーダーに変更するとともに（ステップＳ４１２）、最大の第一当選確率と対応する目的を処理対象の個体の選択目的に設定し（ステップＳ４１２）、処理をステップＳ４１７に進める。差が閾値以下の場合（ステップＳ４０９にてＮＯ）、または当選しなかった場合（ステップＳ４１１にてＮＯ）、処理対象の個体の属性値は変更しないことが決定されて、処理はステップＳ４１９に進められる。
【００８９】
他方、属性値がリーダーである場合（ステップＳ４０６にてＮＯ）、確率設定部５３が処理対象の個体の選択目的に対応する第二当選確率を式（８）に基づいて設定し、フォロワー行動決定部５５が設定された第二当選確率での抽選を行う（ステップＳ４１４）。当選した場合（ステップＳ４１５にてＹＥＳ）、フォロワー行動決定部５５が個体情報記憶部４２における処理対象の個体の属性値をフォロワーに変更し（ステップＳ４１６）、処理をステップＳ４１９に進める。当選しなかった場合（ステップＳ４１５にてＮＯ）、処理対象の個体の属性値は変更しないことが決定されてステップＳ４１６は省略され、処理はステップＳ４１７に進められる。
【００９０】
ステップＳ４１７においては、リーダー行動決定部５４が、属性値をリーダーに変更することが決定された個体および属性値をリーダーから変更しないことが決定された個体の選択エリアを、個体情報記憶部４２に記憶されている当該個体の選択目的と対応するエリアに決定する。
そして、リーダー行動決定部５４は、処理対象の個体の位置の８近傍グリッドのうちの選択エリアに最も近い近傍グリッドへの移動量を、当該個体の移動量として算出する（ステップＳ４１８）。
【００９１】
他方、ステップＳ４１９においては、フォロワー行動決定部５５が、属性値をフォロワーに変更することが決定された個体および属性値をフォロワーから変更しないことが決定された個体の選択目的を周囲個体に類似させて決定する。フォロワー行動決定部５５は、処理対象の個体の周囲の個体の選択目的を周囲個体情報取得部５１に取得させ、そのうちの最も多数である選択目的を処理対象の個体の選択目的に決定する。なお、仮想時刻が０または０に近いときは周囲個体の多くの選択目的が未定の場合があるが、その場合は処理対象の個体の選択目的も未定となる。
そして、リーダー行動決定部５４は、処理対象の個体の選択エリアを当該個体の選択目的と対応するエリアに決定し（Ｓ４２０）、さらに当該個体の位置の８近傍グリッドのうちの選択エリアに最も近い近傍グリッドへの移動量を、当該個体の移動量として算出する（ステップＳ４２１）。
【００９２】
続くステップＳ４２２では個体のループ処理の終了判定が行われる。刺激値設定部５２は、出口に達していない個体の全てを処理し終えたか否かを確認し、処理し終えていない場合は（ステップＳ４２２にてＮＯ）、処理をステップＳ４０３に戻して、個体のループ処理を継続する。
【００９３】
他方、出口に達していない個体の全てを処理し終えた場合（ステップＳ４２２にてＹＥＳ）、リーダー行動決定部５４およびフォロワー行動決定部５５が個体情報記憶部４２に記憶されている各個体の行動パラメータを更新する（ステップＳ４２３）。すなわちリーダー行動決定部５４はステップＳ４１３で決定した選択目的、ステップＳ４１７で決定した選択エリアおよびステップＳ４１８で決定した移動量を個体情報記憶部４２に記憶させ、フォロワー行動決定部５５はステップＳ４１９で決定した選択目的、ステップＳ４２０で決定した選択エリアおよびステップＳ４２１で決定した移動量を個体情報記憶部４２に記憶させる。
【００９４】
行動パラメータが更新されると行動決定処理は終了して、処理は図８のステップＳ５に進められ、個体情報更新部５６がステップＳ４で更新された各個体の移動量を用いて当該個体の位置を更新する。
【００９５】
続くステップＳ６では予測結果の出力が行われる。予測結果出力部５７は、環境情報記憶部４１を参照して部屋Ｒの地図を描画し、個体情報記憶部４２を参照して各個体の最新の位置を地図に重畳して描画し、描画結果の画像を中間予測結果として表示部６に表示させる。
【００９６】
続いて仮想時刻のループ処理の終了判定が行われる。刺激値設定部５２は、仮想時刻を１だけ増加させるとともに（ステップＳ７）、個体情報記憶部４２を参照して全個体が出口に到達したか否かを確認する（ステップＳ８）。さらに、出口に到達していない個体がある場合（ステップＳ８にてＮＯ）、刺激値設定部５２は、増加させた仮想時刻が上限仮想時刻以上であるか否かを確認する（ステップＳ９）。
出口に到達していない個体があり且つ仮想時刻が上限仮想時刻未満である場合（ステップＳ９にてＮＯ）、刺激値設定部５２は、処理をステップＳ４に戻し、仮想時刻のループ処理を継続する。
【００９７】
他方、全個体が出口に到達した場合（ステップＳ８にてＹＥＳ）、または仮想時刻が上限仮想時刻以上である場合は（ステップＳ９にてＹＥＳ）、試行回数のループ処理の終了判定が行われる。刺激値設定部５２は、試行回数を１だけ増加させ（ステップＳ１０）、増加させた試行回数が試行予定回数を超えたか否かを確認する（ステップＳ１１）。増加させた試行回数が試行予定回数以下の場合（ステップＳ１１にてＮＯ）、刺激値設定部５２は、処理をステップＳ３に戻して試行回数のループ処理を継続する。
【００９８】
増加させた試行回数が試行予定回数を超えた場合（ステップＳ１１にてＹＥＳ）、シミュレーションは終了となり、予測結果の出力が行われる。予測結果出力部５７は個体情報記憶部４２の全データと環境情報記憶部４１の全データとをファイルに書き出し、当該ファイルをファイル入出力部３から出力する。
【００９９】
［第二の実施形態］
第一の実施形態においては、個体情報記憶部４２、周囲個体情報取得部５１、刺激値設定部５２、確率設定部５３、リーダー行動決定部５４、フォロワー行動決定部５５、個体情報更新部５６が複数の個体についての処理を行う例を示した。第二の実施形態におけるシミュレーター１ｂは、これらに代えて、それぞれが１つの個体についての処理を行う個体情報記憶部４２ｂ−ｉ、周囲個体情報取得部５１ｂ−ｉ、刺激値設定部５２ｂ−ｉ、確率設定部５３ｂ−ｉ、リーダー行動決定部５４ｂ−ｉ、フォロワー行動決定部５５ｂ−ｉ、個体情報更新部５６ｂ−ｉで構成される行動決定装置７０ｂ−ｉを個体の数Ｎだけ備える。ただし、ｉ＝０，１，２，…，Ｎ−１である。
すなわち、シミュレーター１ｂに含まれる行動決定装置７０ｂ−ｉ（ただし、ｉ＝０，１，２，…，Ｎ−１）のそれぞれは、記憶部４が並列に或いは時分割なメモリ領域として機能し、制御部５が並列に或いは時分割に動作するプロセスを実行することによって実現される。
【０１００】
すなわち、行動決定装置７０ｂ−ｉのそれぞれは、複数の目的を達成することが可能な対象空間において群集を構成する個体のひとつである自個体の行動を決定する行動決定装置であって、自個体について、少なくとも、目的の中から選択された選択目的を含んだ行動パラメータ、リーダーであるかフォロワーであるかの別を表す属性値、および対象空間における位置を記憶する個体情報記憶部４２ｂ−ｉと、複数の目的について、当該目的のそれぞれを達成するための行動の契機となる刺激の程度を表す刺激値を取得する刺激値取得部５２ｂ−ｉと、属性値がフォロワーである場合に目的ごとの刺激値に基づく目的ごとの第一当選確率を設定し、属性値がリーダーである場合に所定の第二当選確率を設定する確率設定部５３ｂ−ｉと、第一当選確率が設定された場合に目的ごとの当該第一当選確率での抽選を行い、当選した個体の属性値をリーダーに変更するとともに当該個体の選択目的を当選した目的に設定するリーダー行動決定部５４ｂ−ｉと、個体のうちの、自個体の位置から所定距離以下に存在する周囲個体の行動を取得する周囲個体情報取得部５１ｂ−ｉと、第二当選確率が設定された場合に属性値を当該第二当選確率にてフォロワーに変更するとともに選択目的に周囲個体の行動に類似する目的を設定するフォロワー行動決定部５５ｂ−ｉと、を備える。
【０１０１】
［第一の実施形態および第二の実施形態の変形例］
上記各実施形態においては、環境情報記憶部４１が空間の二次元地図を記憶する例を示したが三次元地図としてもよい。その場合、個体情報記憶部４２および４２ｂ−ｉのそれぞれが記憶する状態値、行動パラメータも三次元の情報となる。
【０１０２】
上記各実施形態およびその変形例においては、シミュレーションの条件の一部をリアルタイムの対象空間の状況に応じた値とすることができる。例えば、各個体の位置として実際の人の位置を設定したシミュレーションによって近未来の状況を予測すれば、群集の誘導を適確に行うことが可能となる。
【０１０３】
上記各実施形態およびその変形例においては、リスク値取得部５０は、環境情報記憶部４１からリスク値を読み出す例を示したが、別の実施形態においてリスク値取得部５０は、炎センサ、煙センサなどの災害に関する実空間の物理量を計測する災害センサおよび災害センサからの信号をプログラムに従って処理する制御部の機能によって構成されてもよい。この場合、リスク値取得部５０は、災害の発生有無や災害の程度を表す信号を所定規則に従ってリスク値に定量化する。
【０１０４】
上記各実施形態およびその変形例においては、個体情報更新部５６および５６ｂ−ｉのそれぞれが個体の大きさを考慮せず重なりを排除せずに個体の位置を更新する例を示したが、これらの物理的な制約を考慮して個体の位置を更新してもよい。その場合、例えば、個体情報更新部５６および５６ｂ−ｉのそれぞれが、リーダー行動決定部５４および５４ｂ−ｉのそれぞれやフォロワー行動決定部５５および５５ｂ−ｉのそれぞれが決定した移動量を、仮想空間内で個体同士が重ならない位置への移動量に調整して更新を行う。または、例えば、個体情報更新部５６および５６ｂ−ｉのそれぞれが、リーダー行動決定部５４および５４ｂ−ｉのそれぞれやフォロワー行動決定部５５および５５ｂ−ｉのそれぞれが決定した選択エリアに個体を近づける移動量であって、仮想空間内で個体同士が重ならない位置への移動量を算出して更新を行う。
【０１０５】
［第三の実施形態］
第三の実施形態に係る自律走行ロボット８は、本発明の行動決定装置の一例である行動決定装置７０ｃを備え、群集を構成するひとつの個体を模擬する。
【０１０６】
自律走行ロボット８は、第一の実施形態の操作入力部２、ファイル入出力部３、制御部５、表示部６と同様の操作入力部２ｃ、ファイル入出力部３ｃ、制御部５ｃ、表示部６ｃを備え、さらに、炎センサや煙センサなどの災害センサ、カメラ等の周囲個体センサ、実時刻を計時する計時部、および、モータと車輪と測位手段と障害物センサ等からなる移動制御部を備える。災害センサ、周囲個体センサおよび移動制御部のそれぞれは制御部５ｃに接続される。操作入力部２ｃおよび表示部６ｃは着脱可能であることが望ましい。
【０１０７】
自律走行ロボット８は、第一の実施形態の条件設定部２０、反復条件記憶部４０、環境情報記憶部４１、個体情報記憶部４２、リスク値取得部５０、周囲個体情報取得部５１、刺激値設定部５２、確率設定部５３、リーダー行動決定部５４、フォロワー行動決定部５５、個体情報更新部５６、予測結果出力部５７のそれぞれに対応して、それぞれがひとつの個体についての処理を行う条件設定部２０ｃ、反復条件記憶部４０ｃ、環境情報記憶部４１ｃ、個体情報記憶部４２ｃ、リスク値取得部５０ｃ、周囲個体情報取得部５１ｃ、刺激値設定部５２ｃ、確率設定部５３ｃ、リーダー行動決定部５４ｃ、フォロワー行動決定部５５ｃ、個体情報更新部５６ｃ、予測結果出力部５７ｃを備える。
【０１０８】
ただし、リスク値取得部５０ｃは災害センサが出力する信号を所定規則に従って定量化することでリスク値を取得する。
また、周囲個体情報取得部５１ｃは周囲個体センサが出力する画像を解析して自律走行ロボット８の周囲に存在する自律走行ロボット８と同型のロボットおよび人を周囲個体として検出し、検出した周囲個体の数および行動を認識することで周囲個体の数および行動を取得する。
また、第一の実施形態における仮想時刻に代えて実時刻が用いられ、刺激値設定部５２ｃは、計時部が出力する実時刻を参照してシミュレーションの時刻を制御する。試行回数は操作入力部２ｃによる利用者からの指示ごとに進め、刺激値設定部５２ｃは操作入力部２ｃからの指示の信号を参照して試行回数を制御する。
また、個体情報更新部５６ｃは、行動パラメータのうちの移動量が示す方向に当該移動量が示す距離を上限としてモータを回転させ、モータと接続された車輪を駆動して自律走行ロボット８を移動させる。また、個体情報更新部５６ｃは、自律走行ロボット８の周囲の障害物を検出する障害物センサからの信号を解析して障害物までの距離と方向を検出し、障害物と自律走行ロボット８との距離が所定距離未満とならないようモータの回転を抑制する。また、個体情報更新部５６ｃは、ビーコンシステムやＧＰＳシステムとの通信を行う通信インターフェースを含む測位手段が出力する信号を解析して自律走行ロボット８の位置を検出し、検出した位置で状態値を更新する。
【０１０９】
これらのうちの個体情報記憶部４２ｃ、周囲個体情報取得部５１ｃ、刺激値設定部５２ｃ、確率設定部５３ｃ、リーダー行動決定部５４ｃ、フォロワー行動決定部５５ｃ、個体情報更新部５６ｃが、行動決定装置７０ｃに含まれる。
【０１１０】
すなわち、行動決定装置７０ｃは、複数の目的を達成することが可能な対象空間において群集を構成する個体のひとつである自個体の行動を決定する行動決定装置であって、自個体について、少なくとも、複数の目的の中から選択された選択目的を含んだ行動パラメータ、リーダーであるかフォロワーであるかの別を表す属性値、および対象空間における位置を記憶する個体情報記憶部４２ｃと、複数の目的について、当該目的のそれぞれを達成するための行動の契機となる刺激の程度を表す刺激値を取得する刺激値取得部５２ｃと、属性値がフォロワーである場合に目的ごとの刺激値に基づく目的ごとの第一当選確率を設定し、属性値がリーダーである場合に所定の第二当選確率を設定する確率設定部５３ｃと、第一当選確率が設定された場合に目的ごとの当該第一当選確率での抽選を行い、当選した個体の属性値をリーダーに変更するとともに当該個体の選択目的を当選した目的に設定するリーダー行動決定部５４ｃと、個体のうちの、自個体の位置から所定距離以下に存在する周囲個体の行動を取得する周囲個体情報取得部５１ｃと、第二当選確率が設定された場合に属性値を当該第二当選確率にてフォロワーに変更するとともに選択目的に周囲個体の行動に類似する目的を設定するフォロワー行動決定部５５ｃと、を備える。
【０１１１】
［上記各実施形態に共通する変形例］
上記各実施形態およびその変形例においては、対象空間として部屋を例示したが、対象空間は、コンサートホール、駅などであってもよいし、屋内に限らず商店街、公園、街などの屋外の空間であってもよいし、イベント会場、学校などの屋内と屋外を横断した空間であってもよい。
【０１１２】
上記各実施形態およびその変形例においては、事象として火災を例示したが、地震、不審者の出現などといった他の災害、イベント会場等における病人の発生、著名人の出現、群集に対する呼びかけや質問提示などといった災害以外の事象にも適用できる。
【０１１３】
上記各実施形態およびその変形例においては、行動の目的として避難と消火を例示したが、病人の発生に対する救護行動や野次馬行動、著名人の出現に対する野次馬行動、呼びかけや質問提示に対する応答など、事象に対応した目的を適宜設定できる。
【０１１４】
上記各実施形態およびその変形例においては、行動の手段として移動を例示したが、地震に対する避難の手段としてのかがみ姿勢への移行（着席中の机の下へ避難）、呼びかけや質問提示に対する応答の手段としての挙手や発声など、事象と目的に応じた移動を伴わない手段を適宜設定することもできる。なお、手段の選択肢として出口への移動とかがみ姿勢への移行を設定し、いずれかをランダムに選択するようにしてもよい。
なお、上記実施形態およびその変形例においては、１つの目的に対する手段を１つとしたが、１つ以上であれば１つ以外でも良い。
【０１１５】
上記各実施形態およびその変形例においては、人の群集を例示したが、魚、鳥、蟻などの他の社会性生物の群集にも適用できる。なお、個体が人以外である場合は、対象空間や事象を個体の種類に応じて適宜設定することができる。
【０１１６】
以上で説明した、シミュレーター１、シミュレーター１ｂおよびシミュレーター１ｂに含まれる行動決定装置７０ｂ−ｉ、自律移動ロボット８および自律移動ロボット８に含まれる行動決定装置７０ｃによれば、同一の設定を行っても各個体の選択目的が確率的に変更され、同一の設定を行っても異なる予測結果が生成できる。そのため、これらのそれぞれによって群集における各個体の行動選択の様子を未知の条件下において予測でき、それぞれによって得られる予測結果を用いれば群集を構成する個体において行動選択が生じた条件の究明を容易化できる。
【符号の説明】
【０１１７】
１・・・シミュレーター
２・・・操作入力部
２０・・・条件設定部
３・・・ファイル入出力部
４・・・記憶部
４０・・・反復条件記憶部
４１・・・環境情報記憶部
４２・・・個体情報記憶部
５・・・制御部
５０・・・リスク値取得部
５１・・・周囲個体情報取得部
５２・・・刺激値設定部
５３・・・確率設定部
５４・・・リーダー行動決定部
５５・・・フォロワー行動決定部
５６・・・個体情報更新部
５７・・・予測結果出力部
６・・・表示部
【図１】
2019185073.tif 000012
【図２】
2019185073.tif 000013
【図３】
2019185073.tif 000014
【図４】
2019185073.tif 000015
【図５】
2019185073.tif 000016
【図６】
2019185073.tif 000017
【図７】
2019185073.tif 000018
【図８】
2019185073.tif 000019
【図９】
2019185073.tif 000020