(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-16
(45)【発行日】2022-05-24
(54)【発明の名称】シミュレーター、シミュレーション方法及びシミュレーションプログラム
(51)【国際特許分類】
G06Q 10/04 20120101AFI20220517BHJP
G06Q 90/00 20060101ALI20220517BHJP
【FI】
G06Q10/04
G06Q90/00 310
(21)【出願番号】P 2018116416
(22)【出願日】2018-06-19
【審査請求日】2021-04-09
(73)【特許権者】
【識別番号】000108085
【氏名又は名称】セコム株式会社
(74)【代理人】
【識別番号】100103850
【氏名又は名称】田中 秀▲てつ▼
(74)【代理人】
【識別番号】100114177
【氏名又は名称】小林 龍
(74)【代理人】
【識別番号】100066980
【氏名又は名称】森 哲也
(72)【発明者】
【氏名】宮野 修平
(72)【発明者】
【氏名】山内 敦
【審査官】岡北 有平
(56)【参考文献】
【文献】国際公開第2017/175551(WO,A1)
【文献】特開2014-219851(JP,A)
【文献】特開2005-242688(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
所定の空間における個体の移動を予測するシミュレーターであって、
前記空間に設定された複数の移動目標位置を含んだ空間情報を記憶している空間情報記憶手段と、
前記複数の移動目標位置のいずれかへ移動する前記個体が
自領域に誘引されるように設定された誘引領域を、当該移動目標位置と対応付けて記憶する誘引領域記憶手段と、
前記空間における前記個体の位置、および前記個体の目標として前記複数の移動目標位置の中から選択された選択目標位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、
前記選択目標位置に近づく第1の方向と、前記選択目標位置に対応し且つ前記個体の周囲に位置する前記誘引領域
に近づく第2の方向と、を合成した方向に前記個体を移動させる移動量を設定する行動決定手段と、
前記個体の位置を前記移動量に応じて更新する個体情報変更手段と、
を備えることを特徴とするシミュレーター。
【請求項2】
所定の空間における個体の移動を予測するシミュレーターであって、
前記空間に設定された複数の移動目標位置を含んだ空間情報を記憶している空間情報記憶手段と、
前記複数の移動目標位置のいずれかへ移動する前記個体が誘引されるように設定された誘引領域を、当該移動目標位置と対応付けて記憶する誘引領域記憶手段と、
前記空間における前記個体の位置、および前記個体の目標として前記複数の移動目標位置の中から選択された選択目標位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、
前記選択目標位置に対応し且つ前記個体の周囲に位置する前記誘引領域と前記選択目標位置との両方へ、前記個体を近づける移動量を設定する行動決定手段と、
前記個体の位置を前記移動量に応じて更新する個体情報変更手段と、
を備え、
前記誘引領域記憶手段は、前記誘引領域ごとに誘引し易さの度合いを表す誘引度を記憶し、
前記行動決定手段は、前記誘引度が高い前記誘引領域ほど前記個体を前記誘引領域へ近づける前記移動量を設定する、ことを特徴とす
るシミュレーター。
【請求項3】
前記誘引領域記憶手段は、前記誘引領域ごとに予め定められた標準速度を記憶し、
前記行動決定手段は、前記個体の前記移動量を、前記選択目標位置に対応する前記誘引領域の前記標準速度に近づけることを特徴とする請求項1又は2に記載のシミュレーター。
【請求項4】
前記個体情報記憶手段は、さらに前記個体に設定された前記移動量を記憶し、
前記行動決定手段は、前記個体情報記憶手段に記憶された前記移動量が示す前記個体の移動方向に偏って広がるように前記個体の周囲に設定された作用領域に前記誘引領域が存在する場合に、前記誘引領域と前記選択目標位置との両方へ前記個体を近づける移動量を設定し、前記作用領域に前記誘引領域が存在しない場合に前記選択目標位置へ前記個体を近づける移動量を設定する、ことを特徴とする請求項1~3のいずれか一項に記載のシミュレーター。
【請求項5】
所定の空間における個体の移動を予測するシミュレーション方法であって、
前記空間に設定された複数の移動目標位置を含んだ空間情報と、前記複数の移動目標位置のいずれかへ移動する前記個体が
自領域に誘引されるように設定された誘引領域が当該移動目標位置と対応付けられている誘引領域情報と、前記空間における前記個体の位置、および前記個体の目標として前記複数の移動目標位置の中から選択された選択目標位置を少なくとも含む個体情報と、を記憶装置に記憶しているコンピュータに、
前記選択目標位置に近づく第1の方向と、前記選択目標位置に対応し且つ前記個体の周囲に位置する前記誘引領域
に近づく第2の方向と、を合成した方向に前記個体を移動させる移動量を設定する処理と、
前記個体の位置を前記移動量に応じて更新する処理と、
を実行させることを特徴とするシミュレーション方法。
【請求項6】
所定の空間における個体の移動をコンピュータに予測させるシミュレーションプログラムであって、
前記空間に設定された複数の移動目標位置を含んだ空間情報と、前記複数の移動目標位置のいずれかへ移動する前記個体が
自領域に誘引されるように設定された誘引領域が当該移動目標位置と対応付けられている誘引領域情報と、前記空間における前記個体の位置、および前記個体の目標として前記複数の移動目標位置の中から選択された選択目標位置を少なくと
も含む個体情報と、を記憶装置に記憶している前記コンピュータに、
前記選択目標位置に近づく第1の方向と、前記選択目標位置に対応し且つ前記個体の周囲に位置する前記誘引領域
に近づく第2の方向と、を合成した方向に前記個体を移動させる移動量を設定する処理と、
前記個体の位置を前記移動量に応じて更新する処理と、
を実行させることを特徴とするシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の空間における個体の移動を予測するシミュレーター、シミュレーション方法及びシミュレーションプログラムに関する。
【背景技術】
【0002】
群集が円滑に移動できる空間の設計や、既存の空間における適切な群集の誘導計画などを検証するために、群集の行動を予測するシミュレーターが活用されている。
例えば特許文献1には、火災発生時の群集の移動を予測する際に、群集は避難方向の指示(避難誘導)があれば直感に逆らってでもそれに従うものと仮定し、群集に作用する力として避難誘導による誘導ポテンシャルを想定して、群集の移動速度に作用させるシミュレーターが記載されている。
【0003】
また、例えば特許文献2には、火災時の避難者の行動を予測する際に、自力避難者は、(1)自分のいる空間に出口がある場合は自分から最も近い出口を、(2)自分のいる空間に誘導灯がある場合は自分から最も近い誘導灯が示すドアを、(3)その他の場合は自分のいる部屋にあるドアの中で自分から最も近いドアを、それぞれ短期移動目標として選択するルールに従って、自力避難者の移動を予測する避難行動予測システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開昭58-186895号公報
【文献】特開2006-107231号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
これらの従来技術では、個体の行動を予測する際に個体を誘導する誘導情報を利用しているが、この誘導情報は単に移動目標位置を定めるものであった。このため、個体が動線に誘導されたときの行動を予測できなかった。特に、移動目標位置に応じて異なる動線に個体が誘導されたときの行動を予測できなかった。
【0006】
例えば、駅構内の乗降客についての動線計画を立てる場合、ホームに向かう乗車客と出口に向かう降車客とが混在する。従来技術においては、ホームを移動目標位置とする個体と出口を移動目標位置とする個体のいずれに対しても同じ内容の誘導情報が作用する。このため、誘導情報によってこれらの個体を異なる動線に誘導するシミュレーションはできなかった。
本発明は、上記の問題点を鑑みてなされたものであり、移動目標位置に応じて異なる動線へ個体を誘導したときの行動を予測できるシミュレーションを実現することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一形態によれば、所定の空間における個体の移動を予測するシミュレーターが与えられる。シミュレーターは、空間に設定された複数の移動目標位置を含んだ空間情報を記憶している空間情報記憶手段と、複数の移動目標位置のいずれかへ移動する個体が誘引されるように設定された誘引領域を、当該移動目標位置と対応付けて記憶する誘引領域記憶手段と、空間における個体の位置、および個体の目標として複数の移動目標位置の中から選択された選択目標位置を少なくとも含む個体情報を記憶する個体情報記憶手段と、選択目標位置に対応し且つ個体の周囲に位置する誘引領域と選択目標位置との両方へ、個体を近づける移動量を設定する行動決定手段と、個体の位置を移動量に応じて更新する個体情報変更手段と、を備える。
【0008】
本発明の他の形態によれば、所定の空間における個体の移動を予測するシミュレーション方法が与えられる。シミュレーション方法では、空間に設定された複数の移動目標位置を含んだ空間情報と、複数の移動目標位置のいずれかへ移動する個体が誘引されるように設定された誘引領域が当該移動目標位置と対応付けられている誘引領域情報と、空間における個体の位置、および個体の目標として複数の移動目標位置の中から選択された選択目標位置を少なくとも含む個体情報と、を記憶装置に記憶しているコンピュータに、選択目標位置に対応し且つ個体の周囲に位置する誘引領域と選択目標位置との両方へ、個体を近づける移動量を設定する処理と、個体の位置を移動量に応じて更新する処理と、を実行させる。
【0009】
本発明のさらに他の形態によれば、所定の空間における個体の移動をコンピュータに予測させるシミュレーションプログラムが与えられる。シミュレーションプログラムは、空間に設定された複数の移動目標位置を含んだ空間情報と、複数の移動目標位置のいずれかへ移動する個体が誘引されるように設定された誘引領域が当該移動目標位置と対応付けられている誘引領域情報と、空間における個体の位置、および個体の目標として複数の移動目標位置の中から選択された選択目標位置を少なくとも含む個体情報と、を記憶装置に記憶しているコンピュータに、選択目標位置に対応し且つ個体の周囲に位置する誘引領域と選択目標位置との両方へ、個体を近づける移動量を設定する処理と、個体の位置を移動量に応じて更新する処理と、を実行させる。
【発明の効果】
【0010】
本発明によれば、移動目標位置に応じて異なる動線へ個体を誘導した場合の個体の行動を予測できる。
【図面の簡単な説明】
【0011】
【
図1】実施形態に係るシミュレーターの一例の概略構成図である。
【
図2】実施形態に係るシミュレーターの一例の機能ブロック図である。
【
図3】(a)は対象空間内において個体が移動可能な移動可能領域の設定例を示す図であり、(b)は移動目標位置の代表点及び移動目標位置への代表経路を形成するための中間目標点の設定例を示す図である。
【
図5】(a)~(i)は
図4の誘引領域情報によりそれぞれ設定された誘引領域の例を示す図である。
【
図6】(a)は時刻に依存しない個体情報の一例を示す図であり、(b)は時刻に依存する個体情報の一例を示す図である。
【
図8】(a)は選択目標位置に近付ける加速度e
i(t)の算出方法の一例の説明図であり、(b)は誘引領域に近付ける加速度a
i(t)の算出方法の一例の説明図である。
【
図9】個体の加速度の算出方法の一例の説明図である。
【
図10】実施形態に係るシミュレーション方法の一例のフローチャートである。
【
図11】被誘引度更新処理の一例のフローチャートである。
【
図12】行動決定処理の一例のフローチャートである。
【発明を実施するための形態】
【0012】
以下において、図面を参照して本発明の実施形態を説明する。なお、以下に示す本発明の実施形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものではない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【0013】
本発明の実施形態として、西側連絡口、東側連絡口、南側連絡口の3つの連絡口を有するT字路において複数の人のそれぞれがいずれかの連絡口に移動する行動を予測するシミュレーターの例を示す。
すなわち、本実施形態において、シミュレーションの対象となる空間(対象空間)はT字路であり、群集を構成する個体は人であり、各個体の目的は連絡口の先にある施設等により提供される役務などである。
【0014】
各個体は当該個体の目的に対応する連絡口を移動目標位置とし、移動目標位置に向けた移動という手段によって目的を達成しようとしている。
また、この実施形態においては、シミュレーションの実施者(以下、利用者と称する)が、シミュレーターを用いて、T字路に右側通行で運用する施策を適用した場合の群集の行動を予測する様子を例にして説明を行う。
【0015】
なお、本明細書において説明されるT字路は、あくまで対象空間の一例であり、本発明の対象はこれに限定されるものではない。例えば、複数の部屋や通路から構成される空間などより複雑な空間であってもよい。その場合、対象空間内において個体が移動可能な移動可能領域は、壁、什器等の領域を除いた複雑な形状となる。
【0016】
(構成)
図1は、実施形態に係るシミュレーターの一例の概略構成図である。
シミュレーター1は、操作入力部2、ファイル入出力部3、記憶部4、制御部5、および表示部6からなる。これらのうちのファイル入出力部3、記憶部4および制御部5はいわゆるコンピュータで実現でき、操作入力部2および表示部6は当該コンピュータの周辺機器として実現できる。
【0017】
操作入力部2は、キーボード、マウス等のユーザーインターフェースであり、利用者に操作されてデータの入力等に用いられる。操作入力部2は、制御部5に接続され、利用者の操作を操作信号に変換して制御部5に出力する。
【0018】
ファイル入出力部3は、DVD(Digital Versatile Disc)ドライブ、USB(Universal Serial Bus)インターフェース、ネットワークインターフェース等であり、一方が不図示の外部機器、記録メディア、ネットワーク等に接続され、他方が制御部5に接続され、データをファイルとして制御部5に入力し、およびデータをファイルとして制御部5から出力する。
【0019】
記憶部4は、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ装置であり、各種プログラムや各種データを記憶する。記憶部4は、制御部5と接続されて制御部5との間でこれらの情報を入出力する。
【0020】
制御部5は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、MCU(Micro Control Unit)等の演算装置で構成される。制御部5は、記憶部4と接続され、記憶部4からプログラムを読み出して実行することにより各種処理部として動作し、各種データを記憶部4に記憶させ、読み出す。また、制御部5は、操作入力部2、ファイル入出力部3および表示部6とも接続され、利用者が操作入力部2を操作して入力されたデータを取得し、ファイル入出力部3を介して外部からファイルとしてデータを取得および出力し、所得したデータに基づいたシミュレーションを行って群集の行動を予測し、予測結果のデータをファイルとしてファイル入出力部3から出力させ、および/または予測結果のデータを画像化して表示部6に表示させる。
【0021】
表示部6は、液晶ディスプレイ又はCRT(Cathode Ray Tube)ディスプレイ等のディスプレイ装置であり、制御部5と接続され、制御部5による予測結果を表示する。利用者は表示された予測結果を視認して群集の行動に関する考察等を行う。
【0022】
(シミュレーター1の機能)
図2は、実施形態に係るシミュレーター1の一例の機能ブロック図である。
操作入力部2は、条件設定手段20の一部等として機能し、ファイル入出力部3は条件設定手段20の一部および予測結果出力手段52の一部等として機能する。
記憶部4は空間情報記憶手段40、誘引領域記憶手段41および個体情報記憶手段42等として機能する。
制御部5は、CPU、DSP、MCU等の演算装置によって記憶部4に格納されたコンピュータプログラムを実行することにより、行動決定手段50、個体情報変更手段51および予測結果出力手段52の一部等として機能する。
【0023】
条件設定手段20は、シミュレーションに必要な各種条件の入力を受け付け、入力された条件を記憶部4に記憶させる。条件設定手段20は、例えば、操作入力部2および制御部5が協働して実現され、利用者が操作入力部2を操作して入力した値を、制御部5が記憶部4に記憶させる。条件設定手段20は、条件の一部または全部が記されたファイルを入力するファイル入出力部3を含んでもよく、利用者が操作入力部2を操作して指定したファイルを制御部5がファイル入出力部3を介して取得して当該ファイルに記された値を記憶部4に記憶させる。
【0024】
本実施形態のシミュレーションは、仮想時刻を進めながら行われる。例えば、全個体が移動目標位置に到達するまで仮想時刻を0から1ずつ増加させながら仮想時刻ごとに個体の情報を更新する処理が繰り返される。なお、条件設定手段20によって仮想時刻の上限Tを設定し、仮想時刻が(T-1)に達するまでの繰り返しとしてもよい。また、操作入力部2にて利用者による終了指示の入力を受け付け、終了指示が入力された時点で強制終了する処理を加えてもよい。
【0025】
仮想時刻は、実際の時間の経過を模擬したものであるが、シミュレーターが1時刻分の演算を終えるたびに進められ、実際の時間の経過よりも高速に刻まれる。例えば、仮想時刻の1時刻を実際の1秒間に対応させ、仮想時刻を0から始まり1ずつ増加する整数で表す。
【0026】
空間情報記憶手段40は、対象空間内において個体が移動可能な移動可能領域、および複数の移動目標位置を含んだ空間情報を記憶する。空間情報は、条件設定手段20を用いた利用者による入力操作により予め設定される。
図3(a)を参照する。空間情報は、例えば2次元xy座標系に定義された対象空間内の移動可能領域の地
図100を有している。地
図100は、ハッチングで示された移動可能領域110を表す座標情報を含んでおり、
図3(a)の例では、移動可能領域110は、座標(0,20)-(30,20)-(30,10)-(20,10)-(20,0)-(10,0)-(10,10)-(0,10)を結ぶT字型の閉多角形として定義されている。
【0027】
空間情報は、対象空間に定義された複数の移動目標位置について、各移動目標位置を識別する目標位置IDと座標情報とを対応付けて有している。
例えば移動目標位置は、西側連絡口、東側連絡口及び南側連絡口の位置をそれぞれ示す線状の領域であってよい。
図3(a)の例では、西側連絡口I、東側連絡口II及び南側連絡口IIIの目標位置IDをそれぞれ「I」、「II」及び「III」とし、それぞれの位置を、線分(0,20)-(0,10)、線分(30,10)-(30,20)及び線分(10,0)-(20,0)に設定する。
【0028】
空間情報は、移動目標位置の補助情報として、各移動目標位置の代表点も含んでよい。
図3(b)の例では、西側連絡口I、東側連絡口II及び南側連絡口IIIの代表点Pt1、Pt2及びPt3は、それぞれ西側連絡口Iの線分の中点(0,15)、東側連絡口IIの線分の中点(30,15)、及び南側連絡口IIIの線分の中点(15,30)である。
また、空間情報は、移動目標位置のもう一つの補助情報として、各移動目標位置への代表経路を形成するための中間目標点も記憶してよい。中間目標点は、対象空間に障害物がある場合に、障害物を回避する経路の中間点となるように適宜設定してよい。
図3(b)の例では、Pi1(11,11)及びPi2(19,11)が中間目標点として設定されている。
【0029】
図2を参照する。誘引領域記憶手段41は、個体を誘導する案内によって個体が誘引されて、動線となり得る誘引領域に関する誘引領域情報を記憶する。
案内は、例えば指示、表示、サイン、空間形状、音声案内などであり、誘引は、案内によって個体が引き寄せられる作用である。誘引領域は、移動可能領域内に設定される。
【0030】
例えば、右側通行の案内表示に係る誘引領域は、道路や通路の右側の領域である。例えば、道路上の右側にペイントされた矢印(案内)に対応して当該道路の右側に誘引領域が設定される。また例えば、複数の異なる地点のそれぞれへ誘導するために分けられたレーンに係る誘引領域は、道路や通路に設けられたレーンに対応する領域(例えばそれぞれのレーン内の領域)である。
上記例では、誘引領域内に案内が表示されたが、誘引領域は、案内が表示される場所と一致する必要はなく、さらには視覚以外で知覚される案内に対応した領域であってもよい。
【0031】
例えば、右側通行の道路区間の手前に設置された標識や誘導灯などの案内表示または右側に導くパイロン等に対応して当該道路区間の右側に設定される誘引領域は、案内の表示や空間形状の変化が誘引領域外に設けられる場合の一例である。
また例えば、右側通行の道路区間内および/または当該道路区間付近に向けて行われる右側通行の案内放送に対応して当該道路区間の右側に設定される誘引領域は、視覚以外により知覚される指示や案内により個体が誘引される誘引領域の一例である。
【0032】
誘引領域情報は、条件設定手段20を用いて予め利用者により設定される。
図4を参照する。誘引領域情報120は、複数の誘引領域それぞれについての、誘引領域ID、移動目標位置情報、座標情報、誘引度、標準速度の情報を有する。誘引領域記憶手段41には、誘引領域ごとに誘引領域ID、移動目標位置情報、座標情報、誘引度、標準速度が対応付けられて記憶される。
【0033】
誘引領域IDは、誘引領域の識別子である。
移動目標位置情報は、誘引領域に誘引する対象となる個体の移動目標位置を示す。すなわち、誘引領域は、特定の移動目標位置へ移動する個体を誘引するように設定されており、移動目標位置情報は、特定の移動目標位置と、この移動目標位置へ移動する個体を誘引する誘引領域との対応付けを示す。
例えば、東西に延在した右側通行の道路に対し、東に向かう人に作用する誘引領域は当該道路内の南側に設定され、西に向かう人に作用する誘引領域は当該道路内の北側に設定される。
【0034】
誘引領域の座標情報は、移動可能領域110内に設定された誘引領域の位置及び形状を示す。
誘引度は、誘引領域への個体の誘引し易さの度合いを表す。
標準速度は、誘引領域における個体の標準的な速度ベクトル(単位時間当たりの移動量)を表す。
【0035】
例えば、
図4に示す誘引領域情報120の第1行は、誘引領域ID「i」を有する誘引領域は、移動目標位置I(すなわち西側連絡口I)に対応付けられ、座標(0,20)-(0,15)-(15,15)-(15,20)を結ぶ矩形領域であり、誘引度「1.0」、標準速度(-1,0)を有することを表している。
例えば第4行は、誘引領域ID「iv」を有する誘引領域は、移動目標位置II(すなわち東側連絡口II)に対応付けられ、座標(0,15)-(0,10)-(15,10)-(15,15)を結ぶ矩形領域であり、誘引度「1.0」、標準速度(1,0)を有することを表している。
図4に示す誘引領域情報120により設定された誘引領域ID「i」~「ix」の誘引領域121~129を、
図5(a)~
図5(i)にそれぞれ示す。なお、同一の移動目標位置に対応付けられる複数の誘引領域が、重複部分を有するように設定してもよい。
【0036】
図2を参照する。個体情報記憶手段42は、群集を構成する複数の個体のそれぞれに関する情報である個体情報を記憶する。
図6(a)及び
図6(b)に、それぞれ個体情報130及び131の一例を示す。
図6(a)の個体情報130は時刻に依存しない情報であり、
図6(b)の個体情報131は時刻に依存する個体情報である。なお、
図6(a)及び
図6(b)に示す個体情報130及び131は、あくまで一例であり、本発明の個体情報の構成はこれに限定されるものではない。
【0037】
個体情報は、例えば、状態値と、行動パラメータとを少なくとも含んでよい。個体情報は、さらに個体ごとの被誘引度を含んでもよい。
(個体の状態値)
状態値は、各仮想時刻における各個体の状態を示す。本実施形態において状態値は、対象空間における個体の位置を示す。
各個体の位置の初期値は、条件設定手段20を用いた利用者による入力操作により初期位置として設定される。本実施形態において各個体の位置の初期値は西側連絡口I、東側連絡口II、南側連絡口IIIのいずれかであってよい。
【0038】
図6(a)の例において個体ID「0」の個体の初期位置は、南側連絡口IIIの位置(17.78,0)に設定されている。
初期位置の設定後、各個体の位置は、仮想時刻の経過とともに個体情報変更手段51によって随時更新される。例えば、仮想時刻「1」において個体ID「0」の個体は、位置(17.78,1.3)へ移動し、仮想時刻「463」までに西側連絡口Iの位置(0,15.21)まで移動している。
【0039】
(個体の行動パラメータ)
行動パラメータは、各仮想時刻における各個体の行動を表し、状態値に作用するパラメータである。
例えば行動パラメータは、各個体の行動の目的と、当該目的を達成するために当該個体が決定した行動の手段と、当該個体が当該行動の手段を実行することによる単位時間当たりの(1仮想時刻ごとの)状態値の変更量(状態変更量)とを含んでよい。
【0040】
例えば、本実施形態における行動の目的はA駅への移動、B駅への移動、観客席への移動などであってよく、それぞれの目的に割り当てられた識別子を行動パラメータとして記憶してよい。
また例えば、本実施形態における行動の手段は移動目標位置への移動であり、行動の手段として移動目標として選択された移動目標位置の目標位置IDを行動パラメータとして記憶してよい。以下、移動目標として選択された移動目標位置を「選択目標位置」と表記することがある。
【0041】
例えば、西側連絡口が選択目標位置である個体には目標位置ID「I」が、東側連絡口が選択目標位置である個体には目標位置ID「II」が、南側連絡口が選択目標位置である個体には目標位置ID「III」が記憶される。
図6(a)の例において個体ID「0」の個体の選択目標位置として、西側連絡口Iが指定されている。
なお、行動の手段である選択目標位置は行動の目的に応じて定められ、本実施形態のシミュレーター1は、選択目標位置が設定された後の処理に関するものであるため、以下、行動の目的に関する記述は省略する。
【0042】
本実施形態における状態変更量は単位時間当たり(1仮想時刻あたり)の移動量であり、状態変更量としてx方向の増分値とy方向の増分値の組であるベクトルが記憶される。
例えば、北に1単位距離だけ移動する場合の移動量は(0,1)、北西に1単位距離だけ移動する場合の移動量は(0.707,-0.707)、…などと記憶される。仮想時刻tの位置が(5,15)である個体の移動量が(0,1)であれば、仮想時刻(t+1)の位置は(5,16)に更新される。
【0043】
図6(b)の例において、仮想時刻「0」では個体ID「0」及びID「1」の個体の移動量は(0,1.3)であり、個体ID「99」の個体の移動量は(1.3,0)である。仮想時刻「463」における個体ID「0」の個体の移動量は(-1.09,0)であり、仮想時刻「572」における個体ID「1」の個体の移動量は(1.1,0.01)であり、仮想時刻「789」における個体ID「99」の個体の移動量は(0,-1.09)である。
【0044】
(被誘引度)
被誘引度は個体の個性を表現するパラメータであり、各個体の誘引領域への誘引されやすさの度合いを表す値である。被誘引度が高い個体ほど誘引領域に誘引され易く、低い個体ほど誘引され難い。被誘引度の初期値は、条件設定手段20を用いた利用者による入力操作により予め設定され、その後に個体情報変更手段51により適宜に更新される。
なお、個体ごとの被誘引度を考慮しない実施形態では、個体情報に被誘引度を含まなくてもよい。
【0045】
図6(a)の例では個体ID「0」の個体の被誘引度の初期値として値「1.0」が設定されている。
図6(b)の例では、仮想時刻「463」までに個体ID「0」の個体の被誘引度は「0.85」へ更新されている。
例えば、被誘引度の値域は「0」以上「1」以下である。例えば、被誘引度が「0」である個体に対応する人物は、現実世界において右側通行等の案内を全く無視して行動する人物であり、被誘引度が「1」である個体に対応する人物は現実世界において右側通行等の案内を頑なに守る人物である。
【0046】
そのほか個体情報は、個体ごとの時定数、個体ごとの作用領域、および個体ごとの生成時刻のいずれかを含んでよい。個体ごとの時定数は、当該個体の被誘引度が、周囲に存在する他の個体(以下、「周囲個体」と表記することがある)の被誘引度と同一になるまでに要する時間や、当該個体の被誘引度が周囲個体の被誘引度と同一になってから初期値に戻るまでに要する時間である。
【0047】
時定数は、当該個体の被誘引度が変化する速さの逆数として表され、時定数が大きい個体ほど周囲個体の被誘引度と同一になるまでに長い時間を要し、時定数が小さい個体ほど短い時間で周囲個体の被誘引度と同一になる。
時定数は、条件設定手段20を用いた利用者による入力操作により予め設定される。
例えば、時定数の値域は「1」以上「1000」以下である。
【0048】
時定数が「1」である個体に対応する人物は、現実世界において、周囲の人物が右側通行等の案内に従っていればすぐに自身も誘導に従って行動し、周囲の人物が案内を無視していればすぐに自身も無視して行動する人物である。時定数が「1000」である個体に対応する人物は、現実世界において、周囲の人物が右側通行等の案内に従っているか否かによらず自身が案内に従うか否かの意思をなかなか変えない人物である。
図6(a)の例では、個体ID「0」の個体の時定数として値「1」が設定され、個体ID「1」の個体の時定数として値「1000」が設定されている。
【0049】
個体ごとの作用領域は、個体の周囲の誘引領域や周囲個体が個体に作用を及ぼす領域を示す。すなわち、ある個体を誘引する誘引領域はその個体の作用領域内に存在する誘引領域のみであり、ある個体の被誘引度に影響する他の個体は、その個体の作用領域内に存在する周囲個体のみである。
作用領域は、個体情報変更手段51により算出され、更新される。
【0050】
図7は、作用領域の一例を示す。例えば作用領域は、個体の周囲の誘引領域や周囲個体から作用を受ける方向に偏って広がるように個体の周囲に設定される。本実施形態では、仮想時刻tにおける各個体の作用領域Riを、個体の位置x
i(t)を中心とする中心角θ(例えば60°)、半径R(例えば5単位距離)の扇形として定義する。
添え字i(i=1,2,…,M:Mは全個体数)は注目する個体を表すインデックスであり、添え字iとして個体IDを用いてもよい。以下、個体IDが「i」である個体を個体iと表記することがある。
【0051】
本実施形態の個体情報131は、作用領域Riを表す作用領域情報として、扇形の中心線Lc(すなわち二本の半径の交点と弧の中央を結んだ線)の方向を示すベクトルを記憶し、当該ベクトルは同時刻・同個体の移動量と同値である。これにより作用領域は、例えば個体iの移動方向に偏って広がるように設定される。
図6(b)の例では、仮想時刻「0」では個体ID「0」の個体の作用領域は、位置(17.78,0)を中心とし、中心線Lcの方向が移動量と同じベクトル(0,1.3)で表される中心角60°及び半径5単位距離の扇形の領域である。
【0052】
個体ごとの生成時刻は、各個体の情報を生成する仮想時刻であり、対象空間に各個体が現れる仮想時刻である。
本実施形態においては、人物が時間を追って次々と連絡口経由で対象空間に現れる様子を模擬するために個体ごとの生成時刻を設定するが、仮想時刻が0の時点で全個体が存在している対象空間を模擬する場合は生成時刻の設定を省略してもよい。
図6(a)の例では、個体ID「0」及び「1」の個体は仮想時刻「0」で対象空間に出現し、個体ID「99」の個体は仮想時刻「42」で対象空間に出現する。
【0053】
図2を参照する。行動決定手段50は、各仮想時刻tにおいて、空間情報記憶手段40が記憶している空間情報、誘引領域記憶手段41が記憶している誘引領域情報、および個体情報記憶手段42が記憶している個体情報を参照する。
行動決定手段50は、これらの情報に基づいて、個体ごとの行動パラメータを決定し(すなわち個体ごとの行動を決定し)、決定した行動パラメータを個体情報変更手段51に出力する。
【0054】
具体的には、行動決定手段50は各仮想時刻tにおける個体の移動量を決定する。
まず、行動決定手段50は、個体i(i=1,2,…,M)のそれぞれについて、仮想時刻tにおいて個体iが自身の位置を選択目標位置に近付けるための加速度ベクトルei(t)を算出する。
【0055】
行動決定手段50は、個体情報記憶手段42から個体iの位置xi(t)と個体iの選択目標位置を読み出すとともに、空間情報記憶手段40から選択目標位置の代表点と移動可能領域110と中間目標点を読み出す。
行動決定手段50は、移動可能領域内110において、個体iの位置xi(t)と選択目標位置の代表点を結ぶ経路、および任意の中間目標点を介して個体iの位置xi(t)と代表点を結ぶ経路のうちの最短経路を選択する。このとき、行動決定手段50は、移動可能領域110から逸脱する経路を選択対象から除外してもよい。
【0056】
次に、行動決定手段50は、選択した最短経路上の中間目標点と選択目標位置の代表点のうちの個体iの位置xi(t)から最も近い点を短期目標点として特定する。最短経路が中間目標点を通らない場合には、選択目標位置の代表点が短期目標点として特定される。最短経路が複数の中間目標点を通る場合には、これら中間目標点のうち個体iの位置xi(t)に最も近い中間目標点が短期目標点として特定される。
行動決定手段50は、個体iの位置xi(t)から短期目標点に向かう単位ベクトルを選択目標位置に近付ける加速度ei(t)として算出する。
【0057】
図8を参照する。
図8(a)の例では、移動可能領域110から逸脱する経路R0を選択対象から除外した結果、個体iの位置x
i(t)と中間目標点Pi2と選択目標位置IIの代表点Pt2を結ぶ経路R1が最短経路であり、中間目標点Pi2が短期目標点として選択される。
なお、中間目標点を設定せずに、個体iの位置x
i(t)から選択目標位置の代表点に向かう単位ベクトルeをベクトルe
i(t)として算出してもよい。
【0058】
次に行動決定手段50は、個体i(i=1,2,…,M)のそれぞれについて、仮想時刻tにおいて誘引領域から個体iに対して作用する誘引力により、個体iを誘引領域に近付けるための加速度ベクトルai(t)を算出する。
【0059】
行動決定手段50は、個体情報記憶手段42から個体iの位置xi(t)と個体iの選択目標位置と個体iの作用領域情報を読み出し、誘引領域記憶手段41から誘引領域の情報を読み出す。
行動決定手段50は、個体iの位置xi(t)と個体iの作用領域情報に基づいて対象空間内における個体iの作用領域Riを算出する。行動決定手段50は、誘引領域の中から、作用領域Riとの重複領域を有し且つ選択目標位置と同じ移動目標位置に対応付けられている誘引領域を検出する。
【0060】
作用領域Riと誘引領域との重複領域を検出する際に、行動決定手段50は、作用領域Ri内に中心角方向および放射方向に等間隔で複数のサンプル点Psを設定する。サンプル点Psのいずれかが誘引領域に含まれる場合、行動決定手段50は、作用領域Riと誘引領域との重複領域があると判定する。
作用領域Riとの重複領域Roを有し且つ選択目標位置IIと同じ移動目標位置に対応付けられている誘引領域が検出された場合、行動決定手段50は、個体iが当該誘引領域の誘引対象個体ξであると判定し、次式(1)に従い0ベクトルではないベクトルai(t)を算出する。
作用領域Riとの重複領域Roを有し且つ選択目標位置IIと同じ移動目標位置に対応付けられている誘引領域が検出されない場合、行動決定手段50は、個体iが誘引領域の誘引対象個体ξでないと判定し、次式(2)に従ってベクトルai(t)を0ベクトルとする。
【0061】
【0062】
図8を参照する。
図8(b)の例では、扇形の図形Riが個体iの作用領域であり、作用領域Ri内に描画されている16点がサンプル点Psである。
図8(b)の例では、ハッチングされた領域Roが、作用領域Riと誘引領域との重複領域である。これらのサンプル点Psのうちの1点以上をその内側に含む誘引領域123(ID=iii)と誘引領域126(ID=vi)のうち、選択目標位置IIと対応付けられている誘引領域126が検出される。
【0063】
式(1)において添え字rは、誘引領域内に含まれるサンプル点のインデックスであり、Σrは誘引領域内に含まれるサンプル点についての総和を示す。
また、ベクトルxr(t-1)は、仮想時刻(t-1)における個体iの作用領域Riに設定され且つ誘引領域内に含まれたサンプル点(すなわち重複領域Ro内のサンプル点)の座標である。ベクトルxi(t-1)は、仮想時刻(t-1)における個体iの位置の座標である。また、Normalize(・)はベクトルを単位ベクトル化(正規化)する演算子である。
【0064】
ベクトルxr(t-1)とベクトルxi(t-1)の差ベクトルは、個体iの位置から、作用領域Riと誘引領域との重複領域Roへと向かう方向を表すベクトルを表す。
また、変数Srはサンプル点rを含む誘引領域に設定されている誘引度を示す。式(1)において誘引度Srは、ベクトルxr(t-1)とベクトルxi(t-1)の差ベクトルに乗じられる。
【0065】
したがって、式(1)のベクトルai(t)は、個体iの位置から重複領域Roへと向かう方向を表す単位ベクトルを、誘引領域の誘引度で重み付けて平均した加重平均ベクトルであり、重複領域Ro内の加重平均点へと向かうベクトルとなる。
このため、式(1)に従うことにより、個体iの選択目標位置に対応する誘引領域へと個体iを近付ける方向を示すベクトルを、個体iを誘引領域に近付ける加速度ai(t)として算出できる。
【0066】
特に、作用領域Riが個体iの周囲(例えば個体iを中心とする半径Rの範囲)に設定されているため、ベクトルai(t)は、個体iの周囲に位置する誘引領域へと個体iを近付ける方向を示すベクトルを、個体iを誘引領域に近付ける加速度ai(t)として算出できる。
すなわち、個体iの選択目標位置に対応する誘引領域と個体iとの間の距離が基準を下回る誘引対象個体を、誘引領域へと近づける加速度ai(t)を算出できる。
以上のように加速度ai(t)を算出することにより、選択目標位置の異なる個体それぞれの、選択目標位置に応じて異なる誘引の影響下での行動を予測できる。よって、複数の移動目標位置のそれぞれに応じた誘導が行われる空間における群集の行動を予測することが可能となる。
【0067】
ベクトルai(t)は、重複領域Roに設定されている誘引度が高いほど大きく、誘引度が低いほど小さくなる。
さらに、重複領域Roを有する誘引領域が複数検出された場合、ベクトルai(t)は、各誘引領域の重複領域Roに含まれるサンプル点数についての平均となっているため、重複領域Roの面積が大きな誘引領域ほどベクトルai(t)に対する寄与が高くなる。
したがって、誘引度が高い誘引領域ほどより誘引対象個体を近付けやすい加速度ai(t)を算出でき、また、重複領域Roがより大きな誘引領域へ誘引対象個体を近付けやすい加速度ai(t)を算出できる。
【0068】
なおサンプル点数についての総和の代わりに重複領域Roの面積を用いて加速度a
i(t)を算出してもよい。この場合、例えば行動決定手段50は、式(1)に代えて次式(3)にしたがって加速度a
i(t)を算出してよい。
【数2】
変数Qrは、重複領域Roの面積を示し、ベクトルx
c(t-1)は仮想時刻(t-1)における重複領域Roの重心位置である。
【0069】
また、個体iの移動量に基づいて個体iの作用領域Riの方位を決定する。これによって、個体の移動方向に存在する誘引領域に近付ける加速度a
i(t)を算出できる。このため、個体iが影響を受けやすい方向に存在する誘引領域に近付ける加速度a
i(t)を算出できる。したがって、個体iが影響を受けにくい範囲に誘引領域が設定されていても、その影響を防止して現実世界の個体の行動に近い滑らかな動きを予測できる。
なお、
図7に示す扇形の作用領域Riに代えて、個体iの位置x
i(t)を中心とする半径Rの円形領域を作用領域Riとしてもよい。
【0070】
さらに行動決定手段50は、個体i(i=1,2,…,M)のそれぞれについて、仮想時刻tにおいて個体iが自身の速度を誘引領域の標準速度に合わせるために要する加速度ベクトルbi(t)を算出する。
作用領域Riとの重複領域Roを有し且つ選択目標位置IIと同じ移動目標位置に対応付けられている誘引領域が検出された場合、個体iは当該誘引領域の誘引対象個体ξであると判定して、式(4)に従い0ベクトルではないベクトルbi(t)を算出する。
【0071】
作用領域Riとの重複領域Roを有し且つ選択目標位置IIと同じ移動目標位置に対応付けられている誘引領域が検出されない場合、個体iは当該誘引領域の誘引対象個体ξでない判定として、式(5)に従ってベクトルb
i(t)を0ベクトルとする。
【数3】
式(4)中、Aは検出された誘引領域、Σ
Aは検出された誘引領域についての総和を示す。ベクトルV
Aは検出された誘引領域に設定されている標準速度であり、右辺の第一項は検出された誘引領域についてのベクトルV
Aの平均ベクトルとなる。
【0072】
したがって、ベクトルbi(t)は、検出された誘引領域に設定されている標準速度(の平均)と個体iの速度の差ベクトルであり、個体iの移動量を選択目標位置IIに対応する誘引領域の標準速度に近づける加速度となる。
これにより、複数の移動目標位置のそれぞれに応じた速度規制の運用施策が行われる空間における群集の行動を予測することが可能となる。また、通路に沿った移動など現実世界の個体の行動に近い滑らかな動きを予測できる。
【0073】
そして行動決定手段50は、次式(6)に従って選択目標位置に近付ける加速度e
i(t)、誘引領域に近付ける加速度a
i(t)、誘引領域の標準速度に近づける加速度b
i(t)を合成することにより仮想時刻tにおける個体iの加速度ベクトルΔv
i(t)を算出する。
【数4】
図9は式(6)のベクトル合成の説明図である。
【0074】
式(6)中のni(t)は、個体情報記憶手段42から読み出すことにより取得される仮想時刻tにおける個体iごとの被誘引度である。
ni(t)は、誘引領域に近付ける加速度ai(t)に乗じられている。このため、被誘引度が高いほど加速度ベクトルΔvi(t)に対する加速度ai(t)の寄与が大きくなる。
したがって、被誘引度ni(t)が高い個体iほど誘引領域により近づける加速度Δvi(t)を算出できる。
なお、個体iごとの被誘引度ni(t)を考慮しない実施形態では、式(6)からni(t)を省略してもよい。
【0075】
行動決定手段50は、1時刻前の時刻(t-1)の個体iの移動量に加速度Δv
i(t)を加算して時刻tの個体iの移動量を算出する(式(7))。
【数5】
【0076】
式(7)中、ベクトルvi(t)は時刻tの個体iの移動量である。また、ベクトルvi(t-1)は、個体情報記憶手段42から読み出して取得される1時刻前の時刻(t-1)の個体iの移動量である。
なお、式(7)の演算の結果、ベクトルvi(t)が最大速さVmaxを超えた場合、行動決定手段50は、ベクトルvi(t)を最大速さVmaxに補正する。最大速さVmaxは、例えば個体や空間の種類に応じた値に予め設定してよい。
【0077】
このように、選択目標位置に近付ける加速度ei(t)と誘引領域に近付ける加速度ai(t)とを加えて得られる加速度Δvi(t)に基づいて移動量を算出することによって、誘引領域および選択目標位置の両方に個体iを近付ける移動量を算出できる。
また、誘引領域の標準速度に近づける加速度bi(t)を加えて得られる加速度Δvi(t)に基づいて移動量を算出することによって、速度規制など誘引領域の標準速度に合わせようとする個体iの移動量を予測することができる。
【0078】
図2を参照する。個体情報変更手段51は個体情報の新規作成、更新及び削除を行う。
個体情報を新規作成する際、個体情報変更手段51は、条件設定手段20により設定された条件に従って適宜に新規の個体情報を作成し、個体情報記憶手段42に追加記憶させる。
個体情報を更新する際、個体情報変更手段51は、各個体の状態値を当該個体の行動パラメータにて更新する。
【0079】
本実施形態においては、個体情報変更手段51は、状態値のうちの位置に、行動パラメータのうちの移動量を加算することによって更新を行う。具体的には、個体情報変更手段51は、個体情報記憶手段42から各個体の位置と移動量とを読み出し、個体ごとに、読み出した位置に読み出した移動量を加算して加算後の位置を個体情報記憶手段42に記憶させる。
【0080】
また、個体情報変更手段51は、個体ごとの被誘引度を更新する。個体情報変更手段51は、注目する個体iの周囲に他の個体(周囲個体)が存在する場合は、注目する個体の被誘引度を周囲個体の被誘引度に近づける。
個体情報変更手段51は、例えば
図7に示す扇形の作用領域Ri内の個体を周囲個体として検出してよい。この場合、個体情報変更手段51は、個体情報記憶手段42から現存する各個体の位置と作用領域情報を読み出し、個体iの位置と個体iの作用領域情報から対象空間内における個体iの作用領域Riを算出し、作用領域Ri内に存在する個体i以外の個体を周囲個体として検出する。
【0081】
図7に示す扇形の作用領域Riに代えて、個体iの位置を中心とする半径Rの円形領域を作用領域Riとしてもよい。
周囲個体が存在しない場合は、個体情報変更手段51は、注目する個体iの被誘引度を当該個体iの被誘引度の初期値に近づける更新を行う。
具体的には、個体情報変更手段51は次式(8)及び(9)に従って被誘引度n
i(t)を更新する。
【0082】
【0083】
式(8)及び(9)において、添え字iは注目する個体の個体IDを示し、tは最新の仮想時刻を示し、ni(t)は仮想時刻tにおける個体iの被誘引度を示す。また、添え字kは個体iの周囲個体の個体IDを示し、Σkは周囲個体についての総和を示し、Kは周囲個体の総数を示し、τiは個体iの時定数を示す。
【0084】
式(8)により、注目する個体iに周囲個体が存在する場合は、注目する個体iの被誘引度を、時間の経過とともに周囲個体の被誘引度と注目する個体iの被誘引度の初期値との平均値に近づけることができる。この更新は、現実世界において、群集として行動することで群集内の個体が同調していくことに相当する。
式(9)により、注目する個体iに周囲個体が存在しない場合は、時間の経過とともに当該個体の被誘引度を初期値に戻すことができる。この更新は、現実世界において、周囲個体との同調により変化していた被誘引度が、時間の経過とともに本来の被誘引度に戻ることに相当する。
【0085】
このようにすることで、現実世界の個体の心理に即した高精度な予測が可能となる。なお、個体ごとの被誘引度を考慮しない実施形態では、被誘引度ni(t)の更新処理を省略してもよい。
個体情報変更手段51は、移動目標位置に到達した個体を削除する。この処理は、該当する個体の個体情報を行動決定手段50の処理対象外に設定することを意味する。
【0086】
予測結果出力手段52は、シミュレーションの結果である予測結果を出力する。予測結果は、個体情報記憶手段42に記憶されている情報の一部または全部を少なくとも含み、好適には、さらに空間情報記憶手段40に記憶されている情報の一部または全部を含む。また、予測結果出力手段52は個体情報記憶手段42に記憶されている情報、または該情報と空間情報記憶手段40に記憶されている情報とを統計処理し、得られた統計量を予測結果として出力してもよい。
【0087】
予測結果の出力タイミングは、シミュレーションを終えた時点の他に、シミュレーションの途中を含んでもよい。つまり、シミュレーションの途中までに得られた上記情報の一部または全部を中間予測結果として出力してもよい。
【0088】
また、予測結果出力手段52は、予測結果をデータファイルとして出力してもよいし、画像ファイルとして出力してもよいし、画像として表示してもよいし、これらのうちの1以上の形式で出力してもよい。
予測結果出力手段52は、出口を含む対象空間の地図を画像化するとともに当該画像上の各個体の位置と対応する座標に個体を表す図形を重畳描画して予測結果の画像を生成し、生成した画像をファイルとして出力し、および/または表示部6に出力する。
【0089】
(シミュレーター1の動作例)
図10~
図12のフローチャートを参照してシミュレーター1の動作例を説明する。
ステップS1において、条件設定手段20が利用者からの入力を受け付けてシミュレーションの条件を設定する。すなわち、利用者が条件設定手段20を用いて手入力することによって得られたシミュレーションの条件を、空間情報記憶手段40、誘引領域記憶手段41、個体情報記憶手段42に設定する。
シミュレーションの条件は、利用者が条件設定手段20を用いてファイルを指定しそれに応じた条件設定手段20が該当するファイルから読み出して取得してもよい。
【0090】
シミュレーションの条件が設定されると、ステップS2においてシミュレーター1は、仮想時刻を0に初期化してステップS2~S9のループ処理を設定する。
仮想時刻のループ処理では、まずステップS3にて各個体の被誘引度を更新する被誘引度更新処理が行われる。
図11を参照して、ステップS3の被誘引度更新処理を説明する。
【0091】
ステップS30において個体情報変更手段51は、現存する個体の各々を順次処理対象の個体iに設定する。
ステップS31において個体情報変更手段51は、個体情報記憶手段42から個体iの位置と作用領域情報を読み出し、個体iの位置と個体iの作用領域情報から個体iの作用領域Riを算出する。
【0092】
ステップS32において個体情報変更手段51は、個体情報記憶手段42から現存する個体の位置を読み出し、作用領域Ri内に存在する個体i以外の個体を周囲個体として検出する。
ステップS33において個体情報変更手段51は、周囲個体が存在するか否かを判定する。周囲個体が存在する場合(S33:Y)に処理はステップS34に進む。周囲個体が存在しない場合(S33:N)に処理はステップS35に進む。
【0093】
ステップS34において個体情報変更手段51は、個体情報記憶手段42から周囲個体の被誘引度を読み出す。個体情報変更手段51は、式(8)に従って、処理対象の個体iの被誘引度を周囲個体の被誘引度に近づける。その後に処理はステップS36に進む。
ステップS35において個体情報変更手段51は、個体情報記憶手段42から個体iの被誘引度の初期値を読み出す。個体情報変更手段51は、式(9)に従って、処理対象の個体iの被誘引度を初期値に近づける。その後に処理はステップS36に進む。
【0094】
ステップS36において個体情報変更手段51は、現存する個体の全てについて処理を完了したか否かを判定する。現存する個体の全てについて処理を完了した場合(S36:Y)に被誘引度更新処理を終了し、処理は
図10のステップS4へ戻る。現存する個体の全てについて処理を完了していない場合(S36:N)に処理はS31へ戻る。
【0095】
図10を参照する。ステップS4において行動決定手段50は、各個体の移動量を算出する行動決定処理を行う。
図12を参照してステップS4の行動決定処理を説明する。
ステップS40において行動決定手段50は、現存する個体の各々を順次処理対象の個体iに設定する。
【0096】
ステップS41において行動決定手段50は、個体情報記憶手段42から個体iの位置と選択目標位置を読み出すとともに、空間情報記憶手段40から選択目標位置の代表点と移動可能領域と中間目標点を読み出す。行動決定手段50は、個体iの位置と、選択目標位置の代表点と、移動可能領域と、中間目標点とに基づいて個体iを選択目標位置に近付ける加速度ei(t)を算出する。
【0097】
ステップS42において行動決定手段50は、個体情報記憶手段42から個体iの位置と作用領域情報を読み出し、個体iの位置と個体iの作用領域情報から個体iの作用領域Riを算出する。
ステップS43において行動決定手段50は、誘引領域記憶手段41から、全ての誘引領域の座標情報と誘引領域に対応付けられた移動目標位置とを読み出す。行動決定手段50は、作用領域Riとの重複領域Roを有し且つ個体iの選択目標位置と同じ移動目標位置に対応付けられている誘引領域を検出する。誘引領域がある場合(S43:Y)に処理はS44へ進む。誘引領域がない場合(S43:N)に処理はS47へ進む。
【0098】
ステップS44において行動決定手段50は、検出した誘引領域の誘引度Srを誘引領域記憶手段41から読み出す。行動決定手段50は、式(1)に従って、重複領域Roに設定されているサンプル点Psの座標と、個体iの位置と、誘引度Srに基づいて誘引領域に近付ける加速度ai(t)を算出する。
ステップS45において行動決定手段50は、検出した誘引領域の標準速度を誘引領域記憶手段41から読み出す。行動決定手段50は、式(4)に従って、個体iの移動量を標準速度に近付ける加速度bi(t)を算出する。
【0099】
ステップS46において行動決定手段50は、ステップS3にて更新された被誘引度を用いて、式(6)にしたがって加速度ei(t)、加速度ai(t)、及び加速度bi(t)をベクトル合成することにより、個体iの加速度Δvi(t)を算出する。その後に処理はステップS48に進む。
作用領域Riとの重複領域Roを有し且つ個体iの選択目標位置に対応付けられている誘引領域が検出されなかった場合(ステップS43:N)は、ステップS47において行動決定手段50は、加速度ai(t)及び加速度bi(t)が0ベクトルとして個体iの加速度Δvi(t)を算出する。その後に処理はステップS48に進む。
【0100】
ステップS48において行動決定手段50は、1時刻前の時刻(t-1)の個体iの移動量に加速度Δv
i(t)を加算して時刻tの個体iの移動量を算出する(式(7))。行動決定手段50は、算出した個体iの移動量を個体情報記憶手段42に記憶する。
ステップS49において行動決定手段50は、現存する個体の全てについて処理を完了したか否かを判定する。現存する個体の全てについて処理を完了した場合(S49:Y)に行動決定処理は終了し、処理は
図10のステップS5へ戻る。現存する個体の全てについて処理を完了していない場合(S49:N)に処理はS41へ戻る。
【0101】
図10を参照する。ステップS5において個体情報変更手段51は、現存する個体の情報量を更新する。具体的には、個体情報変更手段51は、個体情報記憶手段42から各個体の位置と移動量とを読み出し、個体ごとに、読み出した位置に読み出した移動量を加算し、加算後の位置を個体情報記憶手段42に記憶させる。
【0102】
ステップS6において個体情報変更手段51は、条件設定手段20により設定された条件に従って、生成時期が到来した新規の個体情報を作成し、個体情報記憶手段42に追加記憶させる。
ステップS7において個体情報変更手段51は、移動目標位置に到達した個体を削除する。
【0103】
ステップS8において個体情報変更手段51は、個体情報記憶手段42に記憶されている全ての個体が移動目標位置に到達したか否かを判定する。全ての個体が移動目標位置に到達した場合(S8:Y)に処理はステップS10へ進む。移動目標位置に到達していない個体が残っている場合(S8:N)に処理はステップS9へ進む。
【0104】
ステップS9においてシミュレーター1は、仮想時刻を1だけ進めて処理をステップS3に戻す。
ステップS10において予測結果出力手段52は、シミュレーションの結果である予測結果を出力する。その後に処理は終了する。
【0105】
(変形例)
(1)上記の実施形態では、個体情報記憶手段42が個体ごとに被誘引度を記憶する例を示したが、シミュレーションの目的によっては被誘引度を一律の値としてもよい。この場合、個体情報記憶手段42が記憶する項目から被誘引度を除外し、行動決定手段50のプログラムに被誘引度を定数として記述してもよい。
(2)上記実施形態およびその変形例では、個体情報変更手段51が個体の被誘引度を変更する例を示したが、シミュレーションの目的によっては被誘引度を経時変化させなくてもよい。その場合、個体情報変更手段51による被誘引度の更新処理を省略してもよい。
【0106】
(3)上記実施形態およびその変形例では、個体情報変更手段51が個体の大きさを考慮せず、また個体同士の重なりを排除せずに個体の位置を更新したが、これら物理的な制約を考慮して個体の位置を更新してもよい。
この場合、例えば個体情報変更手段51は、行動決定手段50が決定した移動量を対象空間内で個体同士が重ならないように補正した更新を行ってよい。
【0107】
また例えば、行動決定手段50が選択目標位置と誘引領域の両方へ個体を近付ける移動量または選択目標位置へ個体を近付ける移動量を算出した後に、行動決定手段50自身が、当該移動量を個体同士が重ならないように補正し、個体情報変更手段51が、行動決定手段50により補正された移動量を用いて個体の位置の更新を行ってもよい。
【0108】
(4)上記の実施形態およびその実施例では、誘引領域記憶手段41が誘引領域ごとに誘引度を設定する例を示したが、シミュレーションの目的によっては誘引度を一律の値としてもよい。この場合、誘引領域記憶手段41が記憶する項目から誘引度を除外し、行動決定手段50のプログラムに誘引度を定数として記述してもよい。
【0109】
(5)上記実施形態およびその実施例においては、空間情報記憶手段40が空間の二次元地図を記憶する例を示したが三次元地図としてもよい。その場合、誘引領域記憶手段41が記憶する誘引領域の座標情報や、個体情報記憶手段42が記憶する個体の位置、移動量、作用領域の中心線方向も三次元の情報となる。
【0110】
(6)上記実施形態およびその変形例においては、シミュレーションの条件の一部をリアルタイムの対象空間の状況に応じた値とすることができる。例えば、各個体の位置として実際の人の位置を設定したシミュレーションによって近未来の状況を予測すれば、群集の誘導を適確に行うことが可能となる。
【0111】
(7)また、シミュレーションの対象とする個体は、人に限らず、人が制御する物体(例えば人が運転している車両)であってもよい。
【0112】
(8)上記実施形態およびその実施例においては、行動決定手段50及び個体情報変更手段51のそれぞれが、注目する個体を中心とする所定距離内の範囲である作用領域Riに存在する個体を計数して周囲個体の数を算出した。これに代えて、対象空間をブロック分割してブロックごとの個体数を計数し、注目する個体が属するブロックの個体数を周囲個体数としてもよい。
【0113】
(9)上記実施形態及びその変形例においては、移動方向に偏って広がる作用領域として扇形の作用領域を例示したが、扇形に代えて、個体の位置から移動方向に沿って5単位距離だけ離れた点と、個体の位置と、の間を結ぶ線分を直径とする円又は楕円を作用領域として設定してもよい。
【0114】
(実施形態の効果)
(1)シミュレーター1は、所定の対象空間における個体の移動を予測する。空間情報記憶手段40は、対象空間に設定された複数の移動目標位置を含んだ空間情報を記憶する。誘引領域記憶手段41は、複数の移動目標位置のいずれかへ移動する個体が誘引されるように設定された誘引領域を、当該移動目標位置と対応付けて記憶する。個体情報記憶手段42は、空間における個体の位置、および個体の目標として複数の移動目標位置の中から選択された選択目標位置を少なくとも含む個体情報を記憶する。行動決定手段50は、選択目標位置に対応し且つ個体の周囲に位置する誘引領域と選択目標位置との両方へ、個体を近づける移動量を設定する。個体情報変更手段51は、個体の位置を移動量に応じて更新する。
【0115】
これにより、個体が選択した選択目標位置に対応付けられた誘引領域及び選択目標位置の両方へ近付けられる個体の移動を予測することができる。このため、選択目標位置の異なる個体それぞれの、選択目標位置ごとの誘導の影響下での行動を予測できる。よって、複数の移動目標位置のそれぞれに応じた誘導が行われる空間における群集の行動を予測することが可能となる。
また、誘引領域に誘引され選択目標位置へと移動する個体は、誘引領域内を移動する動線を形成する。したがって、本発明によれば、移動目標位置に応じて異なる動線へ個体を誘導したときの行動を予測できる。
【0116】
(2)誘引領域記憶手段41は、誘引領域ごとに誘引し易さの度合いを表す誘引度を記憶する。行動決定手段50は、誘引度が高い誘引領域ほど個体を誘引領域へ近づける移動量を設定する。
これにより、誘引領域ごとに個体を誘引し易さが異なる空間における群集の行動を予測することが可能となる。
【0117】
(3)誘引領域記憶手段41は、誘引領域ごとに予め定められた標準速度を記憶する。行動決定手段50は、個体の移動量を選択目標位置に対応する誘引領域の標準速度に近づける。誘引領域ごとに異なる速度規制の運用施策が行われる空間における群集の行動を予測することが可能となる。また、通路に沿った移動など現実世界の個体の行動に近い滑らかな動きを予測できる。
【0118】
(4)個体情報記憶手段42は、個体に設定された移動量を記憶する。行動決定手段50は、個体情報記憶手段42に記憶された移動量が示す個体の移動方向に偏って広がるように前記個体の周囲に設定された作用領域に誘引領域が存在する場合に、誘引領域と選択目標位置との両方へ個体を近づける移動量を設定し、作用領域に誘引領域が存在しない場合に選択目標位置へ個体を近づける移動量を設定する。
これにより、個体の移動方向(すなわち個体が影響を受けやすい方向)に存在する誘引領域に近付ける移動量を設定できる。また、個体が影響を受けにくい範囲に誘引領域が設定されていても、その影響を防止して現実世界の個体の行動に近い滑らかな動きを予測できる。
【符号の説明】
【0119】
1…シミュレーター、2…操作入力部、3…ファイル入出力部、4…記憶部、5…制御部、6…表示部、20…条件設定手段、40…空間情報記憶手段、41…誘引領域記憶手段、42…個体情報記憶手段、50…行動決定手段、51…個体情報変更手段、52…予測結果出力手段