(57)【要約】【課題】時間遅れが発生する状況下であっても、観測誤差を小さくするようなエージェントの行動経路を効率的に推定することができるようにする。【解決手段】シミュレータ実行部１４１が、シミュレーションの結果から、推定対象時間帯及び推定対象時間帯の次の時間帯を含む所定数の時間帯において、観測地点の各々についてのエージェントに関する計算値と、実環境での観測値との観測誤差を表す目的関数を計算することと、次入力パラメータ決定部１４２が、入力パラメータと、目的関数の計算結果とに基づいて、次の入力パラメータを決定することとを繰り返し、最適化制御部１４３が、目的関数を最適化する入力パラメータを求める。【選択図】図２
2019102066.tif 000002
【特許請求の範囲】
【請求項１】
実環境における複数の経路の各々についての、推定対象時間帯での前記経路を通過するエージェントの数を要素とする入力パラメータに基づいて、各時間帯において複数のエージェントが移動するシミュレーションを実行し、前記シミュレーションの結果から、推定対象時間帯及び前記推定対象時間帯の次の時間帯を含む所定数の時間帯において、観測地点の各々についての前記エージェントに関する計算値と、実環境での観測値との観測誤差を表す目的関数を計算するシミュレータ実行部と、
前記入力パラメータと、前記目的関数の計算結果とに基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させ、前記目的関数を最適化する入力パラメータを求める最適化制御部と、
を含む移動経路推定装置。
【請求項２】
全ての時間帯の各々を、前記推定対象時間帯として、前記最適化制御部により前記入力パラメータを求めることを繰り返させる反復制御部を更に含み、
前記反復制御部は、予め定めた繰り返し条件を満たすまで、全ての時間帯の各々を、前記推定対象時間帯として、前記最適化制御部により前記入力パラメータを繰り返し求めることを、繰り返し実行させる
請求項１記載の移動経路推定装置。
【請求項３】
前記シミュレータ実行部は、全ての時間帯のうち、前記推定対象時間帯の前の所定数の時間帯、前記推定対象時間帯、及び前記推定対象時間帯の次の時間帯を含む所定数の時間帯において複数のエージェントが移動する前記シミュレーションを実行する
請求項１又は２記載の移動経路推定装置。
【請求項４】
シミュレータ実行部が、実環境における複数の経路の各々についての、推定対象時間帯での前記経路を通過するエージェントの数を要素とする入力パラメータに基づいて、各時間帯において複数のエージェントが移動するシミュレーションを実行し、前記シミュレーションの結果から、推定対象時間帯及び前記推定対象時間帯の次の時間帯を含む所定数の時間帯において、観測地点の各々についての前記エージェントに関する計算値と、実環境での観測値との観測誤差を表す目的関数を計算するステップと、
次入力パラメータ決定部が、前記入力パラメータと、前記目的関数の計算結果とに基づいて、次の入力パラメータを決定するステップと、
最適化制御部が、予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させ、前記目的関数を最適化する入力パラメータを求めるステップと、
を含む移動経路推定方法。
【請求項５】
反復制御部が、全ての時間帯の各々を、前記推定対象時間帯として、前記最適化制御部により前記入力パラメータを求めることを繰り返させるステップを更に含み、
前記繰り返させるステップは、予め定めた繰り返し条件を満たすまで、全ての時間帯の各々を、前記推定対象時間帯として、前記最適化制御部により前記入力パラメータを繰り返し求めることを、繰り返し実行させる
請求項４記載の移動経路推定方法。
【請求項６】
前記実行するステップは、全ての時間帯のうち、前記推定対象時間帯の前の所定数の時間帯、前記推定対象時間帯、及び前記推定対象時間帯の次の時間帯を含む所定数の時間帯において複数のエージェントが移動する前記シミュレーションを実行する
請求項４又は５記載の移動経路推定方法。
【請求項７】
コンピュータを、請求項１乃至３の何れか１項記載の移動経路推定装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動経路推定装置、移動経路推定方法、およびプログラムに関し、特に、時間帯ごとに得られたある地点での観測人数に基づいて、観測に合うようなエージェントの移動経路の推定を行う移動経路推定装置、移動経路推定方法、およびプログラムに関する。
【背景技術】
【０００２】
大規模なイベントなどで起こりうる混雑に対応するため、マルチエージェントシミュレータ（ＭＡＳ）を用いた人流の把握や制御策の策定が行われている。より正確な人流の把握や効果的な制御策の策定のためには、精度の高いシミュレーションが必要となる。そのためには、観測したデータをもとに、その観測データを再現するパラメータを決定する技術が必要不可欠となる。
【０００３】
観測データとは、時間および空間的にある粒度で計測し、集計化されたデータを指す。具体的には、図９に示すように観測の時間幅を
2019102066.tif 000003
としたときに、ある時刻
2019102066.tif 000004
から時刻
2019102066.tif 000005
までの時間帯
2019102066.tif 000006
にある観測地点ｋで観測された通行人数
2019102066.tif 000007
が得られる。
【０００４】
また、ＭＡＳとは、図１０に示すように、エージェントに対して、発生時刻、出発地、目的地、そして通る経路を指定すると実行され、各エージェントの通過ノードと通過時間を出力するものとする。パラメータとは、図１１に示すように、ある時間帯Ｔｊに経路Ｒｉを通るエージェント数を並べたベクトル
2019102066.tif 000008
を、全時間帯分つないだＩ×Ｊ次元ベクトル
2019102066.tif 000009
である。
【０００５】
ＭＡＳの出力を集計することで得られる観測値
2019102066.tif 000010
と、実際の観測値
2019102066.tif 000011
との誤差を最小化するという問題は、ブラックボックス関数最適化の問題と捉えることができ、最適化手法の従来技術としてベイズ最適化（非特許文献１）がある。
【０００６】
最適化手法は、探索すべきパラメータと目的関数をあらかじめ設定し、パラメータに対する目的関数値を逐次的に得ることで、目的関数を近似し、最小値を与えるパラメータを探索するアプローチである。
【０００７】
今回の問題に対して、入力パラメータと目的関数の決め方により二つのナイーブな設定が考えられる。それぞれのイメージ図を図１２、図１３に示す。
【０００８】
図１２に示す一つ目のナイーブな設定（設定１）は、入力パラメータを“全時間帯の各移動経路を通るエージェント数
2019102066.tif 000012
を要素とするＩ×Ｊ次元ベクトル
2019102066.tif 000013
”、目的関数を“全時間帯、各観測地点ｋにおける観測誤差”と設定するものである。ここで、時間帯
2019102066.tif 000014
から時間帯
2019102066.tif 000015
までの誤差を下記式（１）であらわすとすると、設定１では下記式（２）の最適化問題を解くことでパラメータ
2019102066.tif 000016
を求める。
【０００９】
【数１】
2019102066.tif 000017
【００１０】
【数２】
2019102066.tif 000018
【００１１】
図１３に示す二つ目のナイーブな設定（以下、設定２）は、入力パラメータを“一つの時間帯Ｔｊに各ルートＲｉを通るエージェント数
2019102066.tif 000019
を要素とするＩ次元ベクトル
2019102066.tif 000020
”、目的関数を“一つの時間帯Ｔｊ、各観測地点ｋにおける観測誤差”と設定するものである。
【００１２】
つまり、設定２では、下記式（３）の最適化問題を解くことで、パラメータ
2019102066.tif 000021
を求める。
【００１３】
【数３】
2019102066.tif 000022
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】J.Snoek, H.Larochelle, and R.P.Adams. Practical Bayesian optimization of machine learning algorithms. In Advances in Neural Information Processing Systems (NIPS), 2012.
【非特許文献２】Nello Cristianini, John Shawa-Taylor, 大北剛(訳)：カーネル法によるパターン解析(2010).
【発明の概要】
【発明が解決しようとする課題】
【００１５】
設定１では、全時刻・全ルートを通るエージェントの人数を入力値とすることでベイズ最適化を行う手法である。しかしながら、この定式化では、パラメータの次元数が大きくなりすぎてしまい、目的関数の近似精度が悪化してしまう。そのため、効率的な解の探索が困難となってしまう。
【００１６】
一方、設定２では、入力次元数が移動経路数となるため、次元数の問題は生じない。この設定は、エージェントが発生時間帯内で観測地点に到着する場合は自然である。なぜなら、同時間帯内に到着するということは、各時刻に発生したエージェントは同時間帯の観測誤差にしか影響を与えないからである。このような例として、小規模な会場におけるブース間の移動などが考えられる。
【００１７】
しかしながら、大規模なイベントを考えると、発生時刻と同時間帯内の到着を仮定することが出来るとは限らない。例えば、図１４に示すように８：０２に出発２で発生したエージェントが目的地１２へと向かう場合を考える。この時、観測間隔が５分だとすると、観測地点（３）では、エージェントは同時間内に観測されるものの、観測地点（１０）では発生から観測まで時間がかかってしまい、翌時間帯に観測されてしまう。この例のように、観測地点が発生場所と離れている場合、エージェントの発生時間帯と観測時間帯にはズレ（時間遅れ）が発生する。つまり、エージェントが影響を与える観測誤差はいくつかの時間帯にまたがっていることを考慮する必要がある。このような場合に従来技術では、適応困難であるという問題が存在した。
【００１８】
本発明は上記の点に鑑みてなされたものであり、時間遅れが発生する状況下であっても、観測誤差を小さくするようなエージェントの行動経路を効率的に推定することができる移動経路推定装置、移動経路推定方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明に係る移動経路推定装置は、実環境における複数の経路の各々についての、推定対象時間帯での前記経路を通過するエージェントの数を要素とする入力パラメータに基づいて、各時間帯において複数のエージェントが移動するシミュレーションを実行し、前記シミュレーションの結果から、推定対象時間帯及び前記推定対象時間帯の次の時間帯を含む所定数の時間帯において、観測地点の各々についての前記エージェントに関する計算値と、実環境での観測値との観測誤差を表す目的関数を計算するシミュレータ実行部と、前記入力パラメータと、前記目的関数の計算結果とに基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させ、前記目的関数を最適化する入力パラメータを求める最適化制御部と、を含んで構成される。
【００２０】
また、本発明に係る移動経路推定方法は、シミュレータ実行部が、実環境における複数の経路の各々についての、推定対象時間帯での前記経路を通過するエージェントの数を要素とする入力パラメータに基づいて、各時間帯において複数のエージェントが移動するシミュレーションを実行し、前記シミュレーションの結果から、推定対象時間帯及び前記推定対象時間帯の次の時間帯を含む所定数の時間帯において、観測地点の各々についての前記エージェントに関する計算値と、実環境での観測値との観測誤差を表す目的関数を計算するステップと、次入力パラメータ決定部が、前記入力パラメータと、前記目的関数の計算結果とに基づいて、次の入力パラメータを決定するステップと、最適化制御部が、予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させ、前記目的関数を最適化する入力パラメータを求めるステップと、を含む。
【００２１】
本発明に係る移動経路推定装置及び移動経路推定方法によれば、シミュレータ実行部が、実環境における複数の経路の各々についての、推定対象時間帯での前記経路を通過するエージェントの数を要素とする入力パラメータに基づいて、各時間帯において複数のエージェントが移動するシミュレーションを実行し、前記シミュレーションの結果から、推定対象時間帯及び前記推定対象時間帯の次の時間帯を含む所定数の時間帯において、観測地点の各々についての前記エージェントに関する計算値と、実環境での観測値との観測誤差を表す目的関数を計算する。
【００２２】
そして、次入力パラメータ決定部が、前記入力パラメータと、前記目的関数の計算結果とに基づいて、次の入力パラメータを決定し、最適化制御部が、予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させ、前記目的関数を最適化する入力パラメータを求める。
【００２３】
このように、シミュレーションの結果から、推定対象時間帯及び推定対象時間帯の次の時間帯を含む所定数の時間帯において、観測地点の各々についてのエージェントに関する計算値と、実環境での観測値との観測誤差を表す目的関数を計算することと、入力パラメータと、目的関数の計算結果とに基づいて、次の入力パラメータを決定することとを繰り返し、目的関数を最適化する入力パラメータを求めることにより、時間遅れが発生する状況下であっても、観測誤差を小さくするようなエージェントの行動経路を効率的に推定することができる。
【００２４】
また、本発明に係る移動経路推定装置は、全ての時間帯の各々を、前記推定対象時間帯として、前記最適化制御部により前記入力パラメータを求めることを繰り返させる反復制御部を更に含み、前記反復制御部は、予め定めた繰り返し条件を満たすまで、全ての時間帯の各々を、前記推定対象時間帯として、前記最適化制御部により前記入力パラメータを繰り返し求めることを、繰り返し実行させることができる。
【００２５】
このように、予め定めた繰り返し条件を満たすまで、全ての時間帯の各々を、推定対象時間帯として、入力パラメータを繰り返し求めることを、全ての時間帯の各々を、推定対象時間帯として、繰り返し実行させることにより、時間遅れが発生する状況下であっても、観測誤差を小さくするようなエージェントの行動経路を精度良く推定することができる。
【００２６】
また、本発明に係る移動経路推定装置における前記シミュレータ実行部は、全ての時間帯のうち、前記推定対象時間帯の前の所定数の時間帯、前記推定対象時間帯、及び前記推定対象時間帯の次の時間帯を含む所定数の時間帯において複数のエージェントが移動する前記シミュレーションを実行することができる。
【００２７】
このように、全ての時間帯のうち、推定対象時間帯の前の所定数の時間帯、推定対象時間帯、及び推定対象時間帯の次の時間帯を含む所定数の時間帯において複数のエージェントが移動するシミュレーションを実行することにより、時間遅れが発生する状況下であっても、観測誤差を小さくするようなエージェントの行動経路を高速に推定することができる。
【００２８】
本発明に係るプログラムは、上記の移動経路推定装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２９】
本発明の移動経路推定装置、移動経路推定方法、およびプログラムによれば、時間遅れが発生する状況下であっても、観測誤差を小さくするようなエージェントの行動経路を効率的に推定することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の第１の実施の形態の概要を示すイメージ図である。
【図２】本発明の第１の実施の形態に係る移動経路推定装置の構成を示すブロック図である。
【図３】本発明の第１の実施の形態に係る移動経路推定装置の移動経路推定処理ルーチンを示すフローチャートである。
【図４】本発明の第１の実施の形態に係る移動経路推定装置の最適化処理ルーチンを示すフローチャートである。
【図５】本発明の第２の実施の形態の概要を示すイメージ図である。
【図６】本発明の第２の実施の形態に係る移動経路推定装置の構成を示すブロック図である。
【図７】本発明の第２の実施の形態に係る移動経路推定装置の移動経路推定処理ルーチンを示すフローチャートである。
【図８】本発明の第３の実施の形態の概要を示すイメージ図である。
【図９】道路ネットワークと観測データの一例である。
【図１０】ＭＡＳの入出力の一例である。
【図１１】入力パラメータの一例である。
【図１２】従来のナイーブな入出力設定の一例である（設定１）。
【図１３】従来のナイーブな入出力設定の一例である（設定２）。
【図１４】時間遅れのイメージ図である。
【発明を実施するための形態】
【００３１】
以下、本発明の実施の形態について図面を用いて説明する。
【００３２】
＜本発明の第１の実施の形態に係る移動経路推定装置の概要＞
まず、本発明の第１の実施形態の概要について説明する。
【００３３】
本実施形態では、入力次元数の増加を防ぐため、入力パラメータを設定２と同じく“一つの時間帯Ｔｊに各ルートＲｉを通るエージェント数
2019102066.tif 000023
を要素とするＩ次元ベクトル
2019102066.tif 000024
”とする。
【００３４】
しかし、目的関数は設定２と異なり、同時間帯の観測誤差だけではなく、時間遅れによって影響を与える翌時間帯以降の測定誤差も用いる。図１は、本実施形態の概要を示すイメージ図である。
【００３５】
つまり、本実施形態では、下記式（４）の最適化問題を解くことにより、各時間帯に各ルートを通るエージェント数を求める。
【００３６】
【数４】
2019102066.tif 000025
【００３７】
ここで、Ｄはエージェントが発生してから観測されるまでに最大でかかる時間帯数とする。Ｄはエージェントがどれだけ遅れるかを表すものであるため、状況に応じて適宜変更することができる。
【００３８】
目的関数を
2019102066.tif 000026
とすることにより、時間帯Ｔｊに発生するエージェントが時間遅れによって影響を与える時間帯の観測誤差まで考慮することができるため、高精度にエージェントの移動経路を推定できるようになる。
【００３９】
＜本発明の第１の実施の形態に係る移動経路推定装置の構成＞
図２を参照して、本発明の実施の形態に係る移動経路推定装置の構成について説明する。図２は、本発明の実施の形態に係る移動経路推定装置の構成を示すブロック図である。
【００４０】
移動経路推定装置１００は、ＣＰＵと、ＲＡＭと、後述する移動経路推定処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００４１】
図２に示すように、本実施形態に係る移動経路推定装置１００は、シミュレータ設定処理部１１０と、最適化処理部１２０と、データ記憶部１３０と、最適化実行部１４０と、最適パラメータ処理部１５０とを備え、入力装置や表示装置などの外部装置２００に接続されて構成される。
【００４２】
シミュレータ設定処理部１１０は、外部装置２００より入力された、シミュレータを実行するに当たり必要なフィールドを、シミュレータ設定テーブル１３１に設定する。
【００４３】
最適化処理部１２０は、外部装置２００より入力された最大最適化実行回数Ｓ、時間分割数Ｊ、及び時間遅れ定数Ｄを、最適化設定テーブル１３２に設定する。
【００４４】
最大最適化実行回数Ｓは、一つの時間帯に対して最適化を行う最大回数であり、時間分割数Ｊは、データが観測された時間帯の分割個数であり、時間遅れ定数Ｄは、エージェントが発生時間帯から観測されるまでにかかる時間帯の最大数である。
【００４５】
データ記憶部１３０は、シミュレータ設定テーブル１３１と、最適化設定テーブル１３２と、最適パラメータテーブル１３３とを備えている。
【００４６】
シミュレータ設定テーブル１３１は、人流シミュレータを実行するに当たり必要なフィールドを有する。必要なフィールドとしては、例えば道路ネットワーク、エージェントの歩行速度などである。
【００４７】
最適化設定テーブル１３２は、最大最適化実行回数フィールド、最大繰り返し回数フィールド、時間帯分割数フィールド、時間遅れ定数フィールドを有する。
【００４８】
最大最適化実行回数フィールドには、最大最適化実行回数Ｓが設定され、時間帯分割数フィールドには、時間分割数Ｊが設定され、時間遅れ定数フィールドには、時間遅れ定数Ｄが設定される。
【００４９】
最適パラメータテーブル１３３は、最適化実行部１４０より入力された最適パラメータが設定される。
【００５０】
最適化実行部１４０は、シミュレータ設定テーブル１３１と、最適化設定テーブル１３２との設定を読み込んで、目的関数
2019102066.tif 000027
を最適化する入力パラメータ
2019102066.tif 000028
を求める。
【００５１】
具体的には、最適化実行部１４０は、シミュレータ実行部１４１と、次入力パラメータ決定部１４２と、最適化制御部１４３と、最適化結果保管部１４４と、時間帯最適化結果保管部１４５とを備えている。
【００５２】
シミュレータ実行部１４１は、実環境における複数の経路Ｒｉの各々についての、推定対象時間帯Ｔｊでの経路Ｒｉを通過するエージェントの数を要素とする入力パラメータ
2019102066.tif 000029
に基づいて、各時間帯Ｔｊにおいて複数のエージェントが移動するシミュレーションを実行し、シミュレーションの結果から、推定対象時間帯Ｔｊ及び推定対象時間帯の次の時間帯Ｔｊ＋Ｄを含む所定数の時間帯において、観測地点の各々についてのエージェントに関する計算値
2019102066.tif 000030
と、実環境での観測値
2019102066.tif 000031
との観測誤差を表す目的関数
2019102066.tif 000032
を計算する。
【００５３】
具体的には、シミュレータ実行部１４１は、時間帯Ｔｊにおける入力パラメータ
2019102066.tif 000033
に基づいて、人流シミュレータ（ＭＡＳ）を実行し、目的関数値
2019102066.tif 000034
を算出し、
2019102066.tif 000035
を最適化結果保管部１４４に追加する。
【００５４】
ここで、人流シミュレータ自体は、全ての時間帯のシミュレーションを行っており、シミュレータ実行部１４１は、その人流シミュレータの実行結果から、目的関数値
2019102066.tif 000036
を算出する。
【００５５】
次入力パラメータ決定部１４２は、入力パラメータ
2019102066.tif 000037
と、目的関数
2019102066.tif 000038
の計算結果とに基づいて、次の入力パラメータ
2019102066.tif 000039
を決定する。
【００５６】
例えば、最適化手法としてベイズ最適化を用いた場合では、ガウス過程などの確率モデルを用いることによって、次の入力パラメータを決定する。具体的には、次入力パラメータ決定部１４２は、最適化結果保管部１４４内の全てのデータを用いて、パラメータ
2019102066.tif 000040
と、目的関数値
2019102066.tif 000041
との関係式を、例えばガウス過程による推定を行う。
2019102066.tif 000042
とあらわされるとき、あるパラメータ
2019102066.tif 000043
における目的関数値
2019102066.tif 000044
は、下記式（５）であらわされる平均値
2019102066.tif 000045
と、下記式（６）であらわされる分散値
2019102066.tif 000046
を持つガウス分布に従う。
【００５７】
【数５】
2019102066.tif 000047
【００５８】
ただし、上付きの記号Ｔは行列の転置を表し、上付き記号”−１”は逆行列を表す。このカーネル関数は、問題に応じて変更してよい。代表的なカーネルとして、線形カーネル、ガウスカーネルなどがある（非特許文献２参照）。
【００５９】
【数６】
2019102066.tif 000048
【００６０】
ここで、
2019102066.tif 000049
であり、ｋ、Ｋは、カーネル関数と呼ばれる、パラメータ
2019102066.tif 000050
と
2019102066.tif 000051
との類似度を定義する関数
2019102066.tif 000052
を用いて、下記式（７）、及び式（８）のように書くことができる。
【００６１】
【数７】
2019102066.tif 000053
【００６２】
【数８】
2019102066.tif 000054
【００６３】
そして、次入力パラメータ決定部１４２は、下記式（９）に従い、次に人流シミュレータに入力するパラメータ
2019102066.tif 000055
を決定する。
【００６４】
【数９】
2019102066.tif 000056
【００６５】
ここで、
2019102066.tif 000057
は獲得関数と呼ばれ、パラメータ
2019102066.tif 000058
が最小値を与える可能性を定量的に評価するための指標である。獲得関数には、確率改善（ＰＩ）や、期待値改善（ＥＩ）などを用いてもよい。
【００６６】
最適化制御部１４３は、時間帯Ｔｊを推定対象時間帯として、予め定めた繰り返し条件を満たすまで、シミュレータ実行部１４１による実行と、次入力パラメータ決定部１４２による決定とを繰り返させ、目的関数
2019102066.tif 000059
を最適化する入力パラメータ
2019102066.tif 000060
を求める
【００６７】
具体的には、まず、最適化制御部１４３は、最適化結果保管部１４４を空集合に初期化する。
【００６８】
次に、最適化制御部１４３は、時間帯Ｔｊにおいて、最大最適化実行回数Ｓを超えるまで、シミュレータ実行部１４１と、次入力パラメータ決定部１４２との処理を繰り返させる。
【００６９】
最適化制御部１４３は、シミュレータ実行部１４１に、次入力パラメータ決定部１４２により得られたパラメータ
2019102066.tif 000061
を入力パラメータとして入力して、人流シミュレータを実行させる。
【００７０】
そして、最適化制御部１４３は、繰り返しが終わると、最適化結果保管部１４４に格納された入力パラメータの中で誤差を最小とする
2019102066.tif 000062
を算出し、時間帯最適化結果保管部１４５に、
2019102066.tif 000063
を格納する。ここで、Ｄａｔａは、最適化結果保管部１４４を意味する。
【００７１】
そして、最適化制御部１４３は、最適化結果保管部１４４を空集合に初期化して、次の時間帯Ｔｊ＋１を推定対象時間として同様の処理を行う。
【００７２】
最適化制御部１４３は、全ての時間帯（Ｔ１〜ＴＪ）について上記処理を行うと、時間帯最適化結果保管部１４５に含まれるデータをまとめて最適パラメータ
2019102066.tif 000064
を算出し、最適パラメータテーブル１３３に格納する。
【００７３】
最適化結果保管部１４４は、シミュレータ実行部１４１により得られた時間帯Ｔｊにおける入力パラメータ
2019102066.tif 000065
と目的関数値
2019102066.tif 000066
との組である
2019102066.tif 000067
を、記憶する。
【００７４】
また、最適化結果保管部１４４は、最適化制御部１４３により初期化すべき命令を取得すると、記憶している
2019102066.tif 000068
を全て削除し、空集合にする。
【００７５】
時間帯最適化結果保管部１４５は、最適化制御部１４３により得られた時間帯Ｔｊにおける最適パラメータ
2019102066.tif 000069
を記憶している。
【００７６】
最適パラメータ処理部１５０は、最適パラメータテーブル１３３から取得した最適パラメータ
2019102066.tif 000070
を、外部装置２００に出力する。出力処理は、例えば、外部装置２００から出力のリクエストが入力された場合等に実行すればよい。
【００７７】
＜本発明の第１の実施の形態に係る移動経路推定装置の作用＞
図３は、本発明の第１の実施の形態に係る移動経路推定処理ルーチンを示すフローチャートである。
【００７８】
シミュレータ設定処理部１１０と、最適化処理部１２０に、各設定が入力されると、移動経路推定装置３００において、図３に示す移動経路推定処理ルーチンが実行される。
【００７９】
まず、ステップＳ１００において、シミュレータ設定処理部１１０は、外部装置２００より入力された、シミュレータを実行するに当たり必要なフィールドを、最適化処理部１２０は、外部装置２００より入力された最大最適化実行回数Ｓ、時間分割数Ｊ、及び時間遅れ定数Ｄを、それぞれ取得する。
【００８０】
ステップＳ１１０において、シミュレータ設定処理部１１０は、上記ステップＳ１００により取得したシミュレータを実行するに当たり必要なフィールドを、シミュレータ設定テーブル１３１に設定する。
【００８１】
ステップＳ１２０において、最適化処理部１２０は、上記ステップＳ１００により取得した最大最適化実行回数Ｓ、時間分割数Ｊ、及び時間遅れ定数Ｄを、最適化設定テーブル１３２に設定する。
【００８２】
ステップＳ１３０において、最適化制御部１４３は、最適化結果保管部１４４（Ｄａｔａ）を空集合に初期化する。
【００８３】
ステップＳ１４０において、ｊ＝１とする。ｊは推定対象時間帯Ｔｊを数えるためのカウンタである。
【００８４】
ステップＳ１５０において、最適化実行部１４０は、最適化処理を実行する。
【００８５】
ステップＳ１６０において、最適化制御部１４３は、最適化結果保管部１４４に格納された入力パラメータの中で誤差を最小とする
2019102066.tif 000071
を算出し、時間帯最適化結果保管部１４５に、
2019102066.tif 000072
を格納する。
【００８６】
ステップＳ１７０において、ｊ＝ｊ＋１とする。
【００８７】
ステップＳ１８０において、最適化制御部１４３は、ｊが時間分割数Ｊより大きいか否かを判定する。
【００８８】
ｊがＪよりも大きくない場合（ステップＳ１８０のＮＯ）、ステップＳ１９０において、最適化制御部１４３は、最適化結果保管部１４４を空集合に初期化して、再度ステップＳ１５０〜Ｓ１７０の処理を繰り返す。
【００８９】
一方、ｊがＪよりも大きい場合（ステップＳ１８０のＹＥＳ）、ステップＳ２００において、最適化制御部１４３は、時間帯最適化結果保管部１４５に含まれるデータをまとめて最適パラメータ
2019102066.tif 000073
を生成し、最適パラメータテーブル１３３に格納する。
【００９０】
ステップＳ２１０において、最適パラメータ処理部１５０は、最適パラメータテーブル１３３から取得した最適パラメータ
2019102066.tif 000074
を、外部装置２００に出力する。
【００９１】
ここで、上記ステップＳ１５０における最適化処理について説明する。図４は、最適化処理ルーチンを示すフローチャートである。
【００９２】
ステップＳ３００において、ｓ＝１とする。ｓは最適化を行った回数を数えるためのカウンタである。
【００９３】
ステップＳ３１０において、シミュレータ実行部１４１は、実環境における複数の経路Ｒｉの各々についての、推定対象時間帯Ｔｊでの経路Ｒｉを通過するエージェントの数を要素とする入力パラメータ
2019102066.tif 000075
に基づいて、各時間帯Ｔｊにおいて複数のエージェントが移動するシミュレーションを実行する。
【００９４】
ステップＳ３２０において、シミュレータ実行部１４１は、上記ステップＳ３１０によるシミュレーションの結果から、推定対象時間帯Ｔｊ及び推定対象時間帯の次の時間帯Ｔｊ＋Ｄを含む所定数の時間帯において、観測地点の各々についてのエージェントに関する計算値
2019102066.tif 000076
と、実環境での観測値
2019102066.tif 000077
との観測誤差を表す目的関数
2019102066.tif 000078
を計算する。
【００９５】
ステップＳ３３０において、シミュレータ実行部１４１は、上記ステップＳ３２０で算出した
2019102066.tif 000079
を最適化結果保管部１４４に追加する。
【００９６】
ステップＳ３４０において、次入力パラメータ決定部１４２は、最適化結果保管部１４４内の全てのデータを用いて、パラメータ
2019102066.tif 000080
と、目的関数値
2019102066.tif 000081
との関係式を推定する。
【００９７】
ステップＳ３５０において、次入力パラメータ決定部１４２は、式（９）に従い、次に人流シミュレータに入力するパラメータ
2019102066.tif 000082
を決定する。
【００９８】
ステップＳ３６０において、ｓ＝ｓ＋１とする。
【００９９】
ステップＳ３７０において、最適化制御部１４３は、ｓが最大最適化実行回数Ｓより大きいか否かを判定する。
【０１００】
ｓが最大最適化実行回数Ｓより大きくない場合（ステップＳ３７０のＮＯ）、ステップＳ３１０に戻り、ステップＳ３１０〜Ｓ３６０の処理を繰り返す。
【０１０１】
最大最適化実行回数Ｓより大きい場合（ステップＳ３７０のＹＥＳ）、リターンする。
【０１０２】
以上説明したように、本実施形態によれば、シミュレーションの結果から、推定対象時間帯及び推定対象時間帯の次の時間帯を含む所定数の時間帯において、観測地点の各々についてのエージェントに関する計算値と、実環境での観測値との観測誤差を表す目的関数を計算することと、入力パラメータと、目的関数の計算結果とに基づいて、次の入力パラメータを決定することとを繰り返し、目的関数を最適化する入力パラメータを求めることにより、時間遅れが発生する状況下であっても、観測誤差を小さくするようなエージェントの行動経路を効率的に推定することができる。
【０１０３】
＜本発明の第２の実施の形態に係る移動経路推定装置の概要＞
次に、本発明の第２の実施形態の概要について説明する。
【０１０４】
図５は、本実施形態の概要を示すイメージ図である。本実施形態では、第１の実施形態によって、時間帯Ｔ１、Ｔ２、Ｔ３…と逐次的に最適化を行うことで、最終的に全ての時間帯に各ルートを通るエージェント数を求める。その際、全時間帯の最適化を一度行った後、さらに複数回、時間帯Ｔ１、Ｔ２、Ｔ３…というように最適化を行う。
【０１０５】
時間帯Ｔｊの入力パラメータは前後Ｄ個の時間帯に発生したエージェントの影響を受けるため、同じ時間帯であっても前後の時間帯が最適化された後に、もう一度最適化することで、さらにエージェントの移動経路推定の精度を上げることができる。
【０１０６】
＜本発明の第２の実施の形態に係る移動経路推定装置の構成＞
図６を参照して、本発明の実施の形態に係る移動経路推定装置の構成について説明する。図６は、本発明の実施の形態に係る移動経路推定装置３００の構成を示すブロック図である。なお、第１の実施の形態に係る移動経路推定装置１００と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１０７】
最適化処理部３２０は、外部装置２００より入力された最大最適化実行回数Ｓ、最大繰り返し回数Ｒ、時間分割数Ｊ、及び時間遅れ定数Ｄを、最適化設定テーブル３３２に設定する。
【０１０８】
最大繰り返し回数Ｒは、最大最適化実行回数Ｓを１単位としたときの最大単位数である。
【０１０９】
最適化設定テーブル３３２は、最大最適化実行回数フィールド、最大繰り返し回数フィールド、時間帯分割数フィールド、時間遅れ定数フィールドを有する。最大繰り返し回数フィールドには、最大繰り返し回数Ｒが設定される。
【０１１０】
最適化実行部３４０は、シミュレータ実行部１４１と、次入力パラメータ決定部１４２と、最適化制御部１４３と、最適化結果保管部１４４と、時間帯最適化結果保管部１４５と、反復制御部３４６を備えている。
【０１１１】
反復制御部３４６は、全ての時間帯（Ｔ１〜ＴＪ）の各々を、推定対象時間帯として、最適化制御部１４３により入力パラメータを求めることを繰り返させる。
【０１１２】
具体的には、反復制御部３４６は、最適化制御部１４３が、全ての時間帯（Ｔ１〜ＴＪ）についての処理を終えると、シミュレータ実行部１４１による実行と、次入力パラメータ決定部１４２による決定とを繰り返した回数が最大繰り返し回数Ｒを超えるまで、最適化制御部１４３に対して再度時間帯Ｔ１から処理を行わせる。
【０１１３】
この時、最適化制御部１４３は最適化結果保管部１４４を空集合に初期化せず、最適化結果保管部１４４に、
2019102066.tif 000083
とその目的関数値
2019102066.tif 000084
を格納する。
【０１１４】
また、繰り返した回数が最大繰り返し回数Ｒを超えた場合には、反復制御部３４６は、最適化制御部１４３に、時間帯最適化結果保管部１４５に含まれるデータをまとめて最適パラメータ
2019102066.tif 000085
を算出させ、最適パラメータテーブル１３３に格納させる。
【０１１５】
＜本発明の第２の実施の形態に係る移動経路推定装置の作用＞
図７は、本発明の実施の形態に係る移動経路推定処理ルーチンを示すフローチャートである。なお、第１の実施の形態に係る移動経路推定処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
【０１１６】
ステップＳ４００において、シミュレータ設定処理部１１０は、外部装置２００より入力された、シミュレータを実行するに当たり必要なフィールドを、最適化処理部３２０は、外部装置２００より入力された最大最適化実行回数Ｓ、時間分割数Ｊ、最大繰り返し回数Ｒ、及び時間遅れ定数Ｄを、それぞれ取得する。
【０１１７】
ステップＳ４２０において、最適化処理部３２０は、上記ステップＳ４００により取得した最大最適化実行回数Ｓ、時間分割数Ｊ、最大繰り返し回数Ｒ、及び時間遅れ定数Ｄを、最適化設定テーブル３３２に設定する。
【０１１８】
ステップＳ４３５において、ｒ＝１とする。ｒは、最適化処理を繰り返した回数を数えるためのカウンタである。
【０１１９】
ステップＳ１７０において、ｊ＝ｊ＋１とする。なお、ｊ＋１＞Ｊとなる場合には、ｊ＝１とする。
【０１２０】
ステップＳ４７５において、ｒ＝ｒ＋１とする。
【０１２１】
ステップＳ４８０において、反復制御部３４６は、ｒが最大繰り返し回数Ｒより大きいか否かを判定する。
【０１２２】
ｒが最大繰り返し回数Ｒより大きくない場合（ステップＳ４８０のＮＯ）、ステップＳ４９０において、最適化制御部１４３は、ｒが時間分割数Ｊより大きいか否かを判定する。
【０１２３】
ｒがＪよりも大きくない場合（ステップＳ４９０のＮＯ）、ステップＳ５００において、最適化結果保管部１４４を空集合に初期化して、再度ステップＳ１５０〜Ｓ４８０の処理を繰り返す。
【０１２４】
一方、ｒがＪよりも大きい場合（ステップＳ４９０のＹＥＳ）、ステップＳ５１０において、最適化制御部１４３は、時間帯最適化結果保管部１４５に格納されている
2019102066.tif 000086
とその目的関数値
2019102066.tif 000087
を読み出して、最適化結果保管部１４４に格納して、再度ステップＳ１５０〜Ｓ４８０の処理を繰り返す。
【０１２５】
一方、ｊがＪよりも大きい場合（ステップＳ４９０のＹＥＳ）、
【０１２６】
また、一方、ｒが最大繰り返し回数Ｒより大きい場合（ステップＳ４８０のＹＥＳ）、ステップＳ２００に進む。
【０１２７】
以上説明したように、本実施形態によれば、予め定めた繰り返し条件を満たすまで、全ての時間帯の各々を、推定対象時間帯として、入力パラメータを繰り返し求めることを、全ての時間帯の各々を、推定対象時間帯として、繰り返し実行させることにより、時間遅れが発生する状況下であっても、観測誤差を小さくするようなエージェントの行動経路を精度良く推定することができる。
【０１２８】
＜本発明の第３の実施の形態に係る移動経路推定装置＞
次に、本発明の第３の実施形態について説明する。
【０１２９】
図８は、本実施形態の概要を示すイメージ図である。本実施形態では、第１の実施形態、または第２の実施形態において、時間帯Ｔｊの最適化を行う際、前後Ｄ個の時間帯のエージェントのみを発生させることで、全時間帯のエージェントを行動させる場合に比べ、ＭＡＳの実行時間が短縮され、結果として最適化の高速化が可能となる。
【０１３０】
本実施形態において、第１の実施形態、または第２の実施形態に係る移動経路推定装置と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１３１】
シミュレータ実行部１４１は、全ての時間帯（Ｔ１〜ＴＪ）のうち、推定対象時間帯の前の所定数の時間帯（Ｔｊ−Ｄ）、推定対象時間帯（Ｔｊ）、及び推定対象時間帯の次の時間帯を含む所定数の時間帯（Ｔｊ＋Ｄ）において複数のエージェントが移動するシミュレーションを実行する。
【０１３２】
具体的には、シミュレータ実行部１４１は、人流シミュレータを実行する場合において、実際のシミュレータ上では、パラメータ
2019102066.tif 000088
によって発生するエージェントのみを行動させる。
【０１３３】
以上説明したように、本実施形態によれば、全ての時間帯のうち、推定対象時間帯の前の所定数の時間帯、推定対象時間帯、及び推定対象時間帯の次の時間帯を含む所定数の時間帯において複数のエージェントが移動するシミュレーションを実行することにより、時間遅れが発生する状況下であっても、観測誤差を小さくするようなエージェントの行動経路を高速に推定することができる。
【０１３４】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１３５】
上述の実施形態では、最適化手法の例としてベイズ最適化を用いる場合について説明したが、ベイズ最適化に限定されるものではなく、他の最適化手法やアルゴリズムを適用しても良い。例えば、最適化手法として、遺伝的アルゴリズムを適用することができる。
【０１３６】
本実施形態では、複数の観測地ｋにおいてある時間帯Ｔｊに計測された通行人数
2019102066.tif 000089
から各時間帯に経路Ｒｉを通過した人数
2019102066.tif 000090
を推定するという場合を考えたが、様々な観測データ（通行人数、単位時間当たりの観測地点の密度、目的地までの平均移動時間等）に対して柔軟に適応させることが出来る。このため、種々のデバイスから得られたデータに対応することが出来る。
【０１３７】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、移動経路推定装置の各構成要素の動作をプログラムとして構築し、移動経路推定装置として利用されるコンピュータにインストールして実行させる、またはネットワークを介して流通させることが可能である。また、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１３８】
１００ 移動経路推定装置
１１０ シミュレータ設定処理部
１２０ 最適化処理部
１３０ データ記憶部
１３１ シミュレータ設定テーブル
１３２ 最適化設定テーブル
１３３ 最適パラメータテーブル
１４０ 最適化実行部
１４１ シミュレータ実行部
１４２ 次入力パラメータ決定部
１４３ 最適化制御部
１４４ 最適化結果保管部
１４５ 時間帯最適化結果保管部
１５０ 最適パラメータ処理部
２００ 外部装置
３００ 移動経路推定装置
３２０ 最適化処理部
３３２ 最適化設定テーブル
３４０ 最適化実行部
３４６ 反復制御部
【図１】
2019102066.tif 000091
【図２】
2019102066.tif 000092
【図３】
2019102066.tif 000093
【図４】
2019102066.tif 000094
【図５】
2019102066.tif 000095
【図６】
2019102066.tif 000096
【図７】
2019102066.tif 000097
【図８】
2019102066.tif 000098
【図９】
2019102066.tif 000099
【図１０】
2019102066.tif 000100
【図１１】
2019102066.tif 000101
【図１２】
2019102066.tif 000102
【図１３】
2019102066.tif 000103
【図１４】
2019102066.tif 000104