(57)【要約】【課題】シミュレーションに用いられる最適なパラメータを効率的に生成する。【解決手段】所定のパラメータを用いて所定のシミュレーションを実行するシミュレーション部と、前記シミュレーション部によるシミュレーションの評価尺度と、該シミュレーションに用いられたパラメータとに基づいて、前記シミュレーション部によるシミュレーションに未だ用いられていないパラメータの評価尺度を予測する評価尺度予測部と、前記評価尺度予測部が予測した前記評価尺度に基づいて、該評価尺度に対応するパラメータを探索するパラメータ探索部と、前記パラメータ探索部により探索されたパラメータから最適なパラメータを出力する出力部と、を有する。【選択図】図３
2018147075.tif 000002
【特許請求の範囲】
【請求項１】
所定のパラメータを用いて所定のシミュレーションを実行するシミュレーション部と、
前記シミュレーション部によるシミュレーションの評価尺度と、該シミュレーションに用いられたパラメータとに基づいて、前記シミュレーション部によるシミュレーションに未だ用いられていないパラメータの評価尺度を予測する評価尺度予測部と、
前記評価尺度予測部が予測した前記評価尺度に基づいて、該評価尺度に対応するパラメータを探索するパラメータ探索部と、
前記パラメータ探索部により探索されたパラメータから最適なパラメータを出力する出力部と、
を有するパラメータ出力装置。
【請求項２】
前記出力部は、
前記パラメータ探索部により探索されたパラメータのうち、該パラメータに対応する評価尺度が最小又は最大であるパラメータを出力する、請求項１に記載のパラメータ出力装置。
【請求項３】
前記シミュレーション部は、
前記パラメータ探索部により探索されたパラメータを用いて前記シミュレーションを実行し、
前記評価尺度予測部は、
前記シミュレーション部により実行された１以上のシミュレーションの評価尺度と、該シミュレーションにそれぞれ用いられたパラメータとに基づいて、前記シミュレーション部によるシミュレーションに未だ用いられていないパラメータの評価尺度を予測し、
前記出力部は、
前記シミュレーション部による前記シミュレーションが、予め設定された所定の回数実行された場合、前記パラメータ探索部により探索されたパラメータから最適なパラメータを出力する、請求項１又は２に記載のパラメータ出力装置。
【請求項４】
前記シミュレーションの実行時間を所定の時間毎に区切って、該実行時間を離散的な複数の時刻に分割する分割部を有し、
前記シミュレーション部は、
前記時刻において、前記パラメータを用いて前記シミュレーションを実行し、
前記評価尺度予測部は、
前記時刻において、前記評価尺度と、前記パラメータとに基づいて、前記シミュレーション部によるシミュレーションに未だ用いられていないパラメータの評価尺度を予測し、
前記パラメータ探索部は、
前記時刻において、前記評価尺度予測部が予測した前記評価尺度に基づいて、該評価尺度に対応するパラメータを探索し、
前記出力部は、
前記パラメータ探索部により探索されたパラメータから、前記時刻における最適なパラメータを出力する、請求項１乃至３の何れか一項に記載のパラメータ出力装置。
【請求項５】
前記シミュレーション部は、
前記時刻において、前記パラメータ出力装置と接続される観測装置により前記シミュレーションの対象となるオブジェクトが観測された結果と、前記パラメータとを用いて前記シミュレーションを実行する、請求項４に記載のパラメータ出力装置。
【請求項６】
所定のパラメータを用いて所定のシミュレーションを実行するシミュレーション手順と、
前記シミュレーション手順によるシミュレーションの評価尺度と、該シミュレーションに用いられたパラメータとに基づいて、前記シミュレーション手順によるシミュレーションに未だ用いられていないパラメータの評価尺度を予測する評価尺度予測手順と、
前記評価尺度予測手順が予測した前記評価尺度に基づいて、該評価尺度に対応するパラメータを探索するパラメータ探索手順と、
前記パラメータ探索手順により探索されたパラメータから最適なパラメータを出力する出力手順と、
をコンピュータが実行するパラメータ出力方法。
【請求項７】
所定のパラメータを用いて所定のシミュレーションを実行するシミュレーション手順と、
前記シミュレーション手順によるシミュレーションの評価尺度と、該シミュレーションに用いられたパラメータとに基づいて、前記シミュレーション手順によるシミュレーションに未だ用いられていないパラメータの評価尺度を予測する評価尺度予測手順と、
前記評価尺度予測手順が予測した前記評価尺度に基づいて、該評価尺度に対応するパラメータを探索するパラメータ探索手順と、
前記パラメータ探索手順により探索されたパラメータから最適なパラメータを出力する出力手順と、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータ出力装置、パラメータ出力方法及びプログラムに関する。
【背景技術】
【０００２】
人の流れ（人流）や交通量、雨量等の空間的な広がりを有するオブジェクトをシミュレーションする技術が知られている。近年では、シミュレーションする対象のオブジェクトに応じて様々なシミュレータが開発されている（非特許文献１）。
【０００３】
また、シミュレーションに用いられるパラメータと、シミュレーション結果の評価スコア（以降では、「評価尺度」と表す。）とのペアから次に試行するパラメータを生成する手法が知られている。このような手法として、ベイズ的最適化等が存在する（非特許文献２）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】S. Yoshimura et al.: Development of Multi-Agent Traffic and Environmental Simulator MATES, Japan Society for Simulation Technology 23:3, pp. 228{237, 2004.
【非特許文献２】J. Snoek, H. Larochelle, and R. P. Adams: Practical Bayesian Optimization of Machine Learning Algorithms, Advances in Neural Information Processing Systems 25, pp. 2951{2959, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、パラメータと評価尺度との関係が不明瞭であるという問題があった。すなわち、例えば、シミュレーションがどのようなパラメータを有するかは、シミュレーションする対象となるオブジェクトに依存する上、評価尺度の設計にも依存する。このため、どのようなパラメータが良い評価尺度を与えることができるかは、シミュレーションを実行するまでわからず、このようなわからない中でパラメータ探索をする必要がある。
【０００６】
また、シミュレーションのためのパラメータが高次元又はパラメータの候補が多い場合、どのようなパラメータ（又はパラメータの組み合わせ）が良い評価尺度を与えることができるかを効率的に探索することは困難である。
【０００７】
更に、時間的な広がりを持つシミュレーションに対して、単一のパラメータでシミュレーション全区間に対して良い評価尺度を与えるのは困難である。
【０００８】
本発明の実施の形態は、上記の点に鑑みてなされたもので、シミュレーションに用いられる最適なパラメータを効率的に生成することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、パラメータ出力装置は、所定のパラメータを用いて所定のシミュレーションを実行するシミュレーション部と、前記シミュレーション部によるシミュレーションの評価尺度と、該シミュレーションに用いられたパラメータとに基づいて、前記シミュレーション部によるシミュレーションに未だ用いられていないパラメータの評価尺度を予測する評価尺度予測部と、前記評価尺度予測部が予測した前記評価尺度に基づいて、該評価尺度に対応するパラメータを探索するパラメータ探索部と、前記パラメータ探索部により探索されたパラメータから最適なパラメータを出力する出力部と、を有する。
【発明の効果】
【００１０】
シミュレーションに用いられる最適なパラメータを効率的に生成することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態におけるシミュレーションシステムの全体構成の一例を示す図である。
【図２】本発明の実施の形態におけるシミュレーション装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施の形態におけるシミュレーションパラメータ生成部の詳細な機能構成の一例を示す図である。
【図４】本実施形態におけるシミュレーション処理部により動的にパラメータを生成する処理の一例を示すフローチャートである。
【図５】本発明の実施の形態における効果の一例を説明する図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１３】
＜シミュレーションシステム１の全体構成＞
まず、本発明の実施の形態におけるシミュレーションシステム１の全体の構成について、図１を参照しながら説明する。図１は、本発明の実施の形態におけるシミュレーションシステム１の全体構成の一例を示す図である。
【００１４】
図１に示すシミュレーションシステム１は、シミュレーション装置１０と、観測装置２０と有する。シミュレーション装置１０と観測装置２０とは、例えばＬＡＮ（Local Area Network）等のネットワークＮを介して通信可能に接続されている。ネットワークＮは、例えば、電話回線網やインターネット等であっても良い。
【００１５】
シミュレーション装置１０は、例えば人流や交通量等のオブジェクトを対象とするシミュレーションを行う１以上のコンピュータである。シミュレーション装置１０は、当該シミュレーションに用いられるパラメータの生成と、当該パラメータを用いたシミュレーションと、シミュレーション結果の評価とを行うシミュレーション処理部１１０を有する。シミュレーション処理部１１０は、シミュレーション装置１０にインストールされた１以上のプログラムが、ＣＰＵ（Central Processing Unit）に実行させる処理により実現される。
【００１６】
また、シミュレーション処理部１１０は、シミュレーションパラメータ生成部１２０と、シミュレーション部１３０と、シミュレーション評価部１４０とを有する。
【００１７】
シミュレーション部１３０は、シミュレーションパラメータ生成部１２０が生成したパラメータを用いて、空間的な広がりを有するオブジェクト（例えば、人流における人、交通量における車等）の時間経過に伴うシミュレーションを行う。オブジェクトのシミュレーションとは、時間経過に伴って、どのようにオブジェクトが生成、消滅、移動、滞留、密度変化するのか等を計算することである。
【００１８】
例えば、２地点間の人流誘導をシミュレーションする場合、シミュレーション部１３０は、人（オブジェクト）の集団に含まれるそれぞれの人について、時間の経過に伴ってどのような速さでどこへ移動するかを計算する。この場合、シミュレーション部１３０は、例えば、道路情報と、人流速度関数とを持つ。道路情報は、例えば、スタート地点とゴール地点との間の２種類の経路（経路Ａ及び経路Ｂ）の道幅と道のりとが含まれる。人流速度関数は、例えば、経路の道幅と、当該経路を通行中の人数とに応じて、当該通行中の人の速度を決定する。人流速度関数は、典型的には、経路の道幅が小さく、かつ、当該経路を通行中の人数が多い程、速度（速さ）が下がる。
【００１９】
シミュレーション評価部１４０は、あるパラメータに従ったシミュレーション結果（すなわち、シミュレーション部１３０による計算結果）に対して評価尺度を算出する。
【００２０】
例えば、上記と同様の人流誘導をシミュレーションする場合、シミュレーション評価部１４０は、経路ＡにＸ（人数）、経路ＢにＹ（人数）とするパラメータを用いたシミュレーションにより人の集団が移動した結果、全員がゴール地点に到達するまでの所要時間Ｖを評価尺度として算出する。仮に、経路Ａと経路Ｂとの道のりが等しく、かつ、経路Ｂの方が経路Ａよりも道幅が大きい場合、Ｘ＜Ｙであるパラメータにおける評価尺度Ｖは小さくなりやすい。
【００２１】
シミュレーションパラメータ生成部１２０は、パラメータと、シミュレーション評価部１４０により算出された評価尺度とのペアに基づいて新たなパラメータを生成する。
【００２２】
例えば、上記と同様の人流誘導をシミュレーションする場合、シミュレーションパラメータ生成部１２０は、これまで試したパラメータ群（Ｘ１，Ｙ１），（Ｘ２，Ｙ２），・・・，（ＸＮ，ＹＮ）と、これらのパラメータ群にそれぞれ対応する評価尺度Ｖ１，Ｖ２，・・・，ＶＮとに基づいて、Ｖが最小となり得る（Ｘ，Ｙ）を生成する。言い換えれば、人の集団が、最も早くゴール地点に辿り着けるパラメータ（Ｘ，Ｙ）を生成する。
【００２３】
このとき、例えば、所定の時間毎に、人（オブジェクト）がスタート地点で生成される場合には、適当な時間間隔で最適なパラメータ（Ｘ，Ｙ）を生成することで、各時点での経路の混み具合に応じて動的に最適なパラメータを生成することができる。
【００２４】
観測装置２０は、オブジェクトを観測するコンピュータ等である。観測装置２０は、オブジェクトを観測して、観測結果（例えば、オブジェクトの位置や密度等を示す情報）を作成する観測部１５０を有する。観測部１５０による観測結果は、シミュレーション部１３０に入力される。
【００２５】
観測部１５０が観測するオブジェクトは、シミュレーション上のオブジェクト（すなわち、シミュレーション部１３０によるシミュレーション対象のオブジェクト）であっても良いし、実世界におけるオブジェクト（実際の人や車等）であっても良い。以降では、観測部１５０が観測するオブジェクトは、シミュレーション上のオブジェクトであるものとする。なお、実世界におけるオブジェクトを観測する場合には、観測装置２０には、例えば、カメラ装置や各種センサ（例えば人感センサ等）が用いられる。
【００２６】
本実施形態に係るシミュレーション装置１０は、シミュレーション処理部１１０により、時刻ｔにおけるシミュレーション対象のオブジェクトの観測結果を観測部１５０から取得した後、以下の（１）〜（４）を所定の時間毎に繰り返すことで、当該時刻ｔにおける最も評価尺度が良いパラメータ（すなわち、最適なパラメータ）を生成する。
【００２７】
（１）シミュレーションパラメータ生成部１２０によりパラメータθｎを生成する。
【００２８】
（２）パラメータθｎを用いて、シミュレーション部１３０によりシミュレーションを行う。このとき、シミュレーション部１３０は、観測部１５０から取得した観測結果を用いて、時刻ｔからのシミュレーションを行う。
【００２９】
（３）シミュレーション部１３０によるシミュレーション結果から、シミュレーション評価部１４０により評価尺度ｖｎを算出する。
【００３０】
（４）パラメータθｎと、評価尺度ｖｎとのペア（θｎ，ｖｎ）から、シミュレーションパラメータ生成部１２０により次のパラメータθｎ＋１を生成する。
【００３１】
例えば、上記の（１）〜（４）がＮ回繰り返された場合、（θ１，ｖ１），・・・，（θＮ，ｖＮ）が生成される。これらのθ１，・・・，θＮのうち、評価尺度が最も良いθが時刻ｔにおける最適なパラメータである。
【００３２】
なお、図１に示すシミュレーション装置１０は、一例であって、他の構成であっても良い。例えば、シミュレーションパラメータ生成部１２０と、シミュレーション部１３０と、シミュレーション評価部１４０とをそれぞれ異なる装置が有していても良い。また、例えば、シミュレーション装置１０と観測装置２０とが一体の装置で構成されていても良い。
【００３３】
＜シミュレーション装置１０のハードウェア構成＞
次に、本発明の実施の形態におけるシミュレーション装置１０のハードウェア構成について、図２を参照しながら説明する。図２は、本発明の実施の形態におけるシミュレーション装置１０のハードウェア構成の一例を示す図である。
【００３４】
図２に示すシミュレーション装置１０は、入力装置２０１と、表示装置２０２と、外部Ｉ／Ｆ２０３と、ＲＡＭ（Random Access Memory）２０４と、ＲＯＭ（Read Only Memory）２０５と、ＣＰＵ２０６と、通信Ｉ／Ｆ２０７と、補助記憶装置２０８とを有する。これら各ハードウェアは、それぞれがバスＢを介して通信可能に接続されている。
【００３５】
入力装置２０１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置２０２は、例えばディスプレイ等であり、シミュレーション装置１０の処理結果を表示する。
【００３６】
外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。シミュレーション装置１０は、外部Ｉ／Ｆ２０３を介して、記録媒体２０３ａ等の読み取りや書き込みを行うことができる。記録媒体２０３ａには、シミュレーション処理部１１０を実現する１以上のプログラム等が記録されていても良い。
【００３７】
記録媒体２０３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００３８】
ＲＡＭ２０４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ２０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ２０５には、例えば、ＯＳ（Operating System）設定やネットワーク設定等が格納されている。
【００３９】
ＣＰＵ２０６は、ＲＯＭ２０５や補助記憶装置２０８等からプログラムやデータをＲＡＭ２０４上に読み出して処理を実行する演算装置である。
【００４０】
通信Ｉ／Ｆ２０７は、シミュレーション装置１０をネットワークに接続するためのインタフェースである。シミュレーション処理部１１０を実現する１以上のプログラムは、通信Ｉ／Ｆ２０７を介して、所定のサーバ等から取得（ダウンロード）されても良い。
【００４１】
補助記憶装置２０８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置２０８に格納されているプログラムやデータには、例えば、ＯＳ、当該ＯＳ上において各種機能を実現するアプリケーションプログラム、シミュレーション処理部１１０を実現する１以上のプログラム等がある。
【００４２】
本発明の実施の形態におけるシミュレーション装置１０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００４３】
＜シミュレーション部１３０及びシミュレーション評価部１４０の実施例＞
シミュレーション部１３０及びシミュレーション評価部１４０は、従来から知られている手法によりシミュレーション及びシミュレーション結果の評価を行うものを用いることができる。以降では、シミュレーション部１３０によるシミュレーションとして、人流シミュレーションを一例に挙げて、シミュレーション部１３０及びシミュレーション評価部１４０を説明する。
【００４４】
人流シミュレーションでは、シミュレーションの対象は道路上を移動する個々の人である。このとき、個々の人が、予め設定されたスタート地点からゴール地点に到達するまでのシミュレーションにより、人々がより早くゴール地点に到達する誘導をパラメータとして算出する。
【００４５】
シミュレーション部１３０には、例えば、入力として、道路を表すグラフ（例えば、交差点をノード、道をエッジとする）と、各オブジェクトのスタート地点及びゴール地点とが与えられる。各エッジには、道幅と長さ（道のり）とが設定されている。
【００４６】
このとき、シミュレーション部１３０は、例えば、各オブジェクトのスタート地点からゴール地点までの経路（通過するノードのリスト）と、各オブジェクトが当該経路に含まれるノード間を移動する際の所要時間とを出力する。
【００４７】
各オブジェクトの経路は、スタート地点（スタートノード）からゴール地点（ゴールノード）に到達するまでのエッジの長さを最小化するものを選び、当該経路はダイクストラ法によって算出すれば良い。また、ノード間を移動する際の所要時間は、シミュレーションの各時刻毎のオブジェクトの現在位置（例えば、ノードＮ１と、ノードＮ２とを繋ぐエッジ上における、ノードＮ１から１ｍの位置等）と、エッジの道幅から算出される人口密度とを用いて、オブジェクトの速度を計算することで算出すれば良い。
【００４８】
また、各オブジェクトの動きを制御・誘導するためのパラメータとしては、例えば、ノード毎に通過する人流量を分配する割合を用いる。例えば、ノードＮ１が以下の３つのエッジを持つものとする。
【００４９】
・エッジＡ：ノードＮ１とノードＮ２とを繋ぐエッジ
・エッジＢ：ノードＮ１とノードＮ３とを繋ぐエッジ
・エッジＣ：ノードＮ１とノードＮ４とを繋ぐエッジ
このとき、ノードＮ１にパラメータを与えていない場合は、ノードＮ１を通過するオブジェクトはそれぞれのゴール地点に対して最短経路となるエッジを通過する。ここで、パラメータとしては、例えば、［ｗＡ，ｗＢ，ｗＣ］＝［０．５，０．３，０．２］のように与える。これは、ノードＮ１を通過するオブジェクトは、５０％の確率でエッジＡを、３０％の確率でエッジＢを、２０％の確率でエッジＣを通過することを示している。
【００５０】
シミュレーション評価部１４０は、上記のように各ノードにおけるオブジェクトの通過量の割合がパラメータとして与えられたときのシミュレーションの評価尺度として、オブジェクトがスタート地点からゴール地点に到達するまでの所要時間の合計とする。この評価尺度が小さくなるパラメータを、以降で詳細に説明するシミュレーションパラメータ生成部１２０により生成する。
【００５１】
＜シミュレーションパラメータ生成部１２０の詳細な機能構成＞
次に、シミュレーションパラメータ生成部１２０の詳細な機能構成について、図３を参照しながら説明する。図３は、本発明の実施の形態におけるシミュレーションパラメータ生成部１２０の詳細な機能構成の一例を示す図である。
【００５２】
図３に示すシミュレーションパラメータ生成部１２０は、評価尺度予測部１２１と、シミュレーションパラメータ探索部１２２とを有する。
【００５３】
評価尺度予測部１２１は、ガウス過程を用いて、パラメータと評価尺度との関係をモデル化する。なお、２つの変数（すなわち、パラメータ及び評価尺度）の関係をモデル化する際にガウス過程を用いることは、例えば「J. Snoek, H. Larochelle, and R. P. Adams: Practical Bayesian Optimization of Machine Learning Algorithms, Advances in Neural Information Processing Systems 25, pp. 2951-2959, 2012.」に開示されている。
【００５４】
評価尺度予測部１２１によるモデル化にガウス過程を用いるのは、ガウス過程では「パラメータの小さい変化に対して評価尺度がなめらかに変化する」という弱い仮定を求めているのに対し、多くのシミュレーションにおいて当該仮定が成り立つと考えられるためである。
【００５５】
評価尺度予測部１２１は、シミュレーション部１３０がｎ回目に試行したパラメータθｎと、当該θｎに対応する評価尺度ｖｎとのペア（θｎ，ｖｎ）が複数与えられたとき（すなわち、試行結果ＤＮ＝｛（θ１，ｖ１），（θ２，ｖ２），・・・，（θＮ，ｖＮ）｝が与えられたとき）、これまでに試行したことがないパラメータ
【００５６】
【数１】
2018147075.tif 000003
がとる評価尺度
【００５７】
【数２】
2018147075.tif 000004
を予測する。すなわち、評価尺度予測部１２１は、シミュレーションを未だ試行していないパラメータに対する評価尺度がどれほどであるかを予測する。
【００５８】
本実施形態では、当該評価尺度を平均μ及び分散σ２の正規分布に従う確率変数
【００５９】
【数３】
2018147075.tif 000005
として、平均μ及び分散σ２を、ガウス過程を用いてＤＮから算出する。
【００６０】
ガウス過程は、ｖ１，・・・，ｖＮの同時分布を次の共分散ＫＮを持つ正規分布としてモデル化する。
【００６１】
【数４】
2018147075.tif 000006
ここで、Ｋｍｎは行列ＫＮのｍ行ｎ列の要素である。共分散の各要素を構成するｋ（θｍ，θｎ）はカーネルと呼ばれ、θｍとθｎとの類似度を示す。すなわち、θｍとθｎとが似通った値である場合、Ｋｍｎは大きな値となり、その結果ｖｍとｖｎとの相関が高まる（似通った値が取りやすい）というモデルである。本実施形態では、カーネル関数として、例えば「J. Snoek, H. Larochelle, and R. P. Adams: Practical Bayesian Optimization of Machine Learning Algorithms, Advances in Neural Information Processing Systems 25, pp. 2951-2959, 2012.」に開示されているＡＲＤ  Ｍａｔｅｒｎ  ５／２カーネルを採用する。すなわち、θｍ，θｎがＤ次元ベクトルの場合、これらに対して、
【００６２】
【数５】
2018147075.tif 000007
である。ここで、Ｃ０，Ｃ１，・・・，ＣＤはカーネルに与えられるパラメータである。
【００６３】
上記のカーネルｋ（・，・）と試行結果ＤＮとから計算される数３のμ及びσ２は次の通りである。
【００６４】
【数６】
2018147075.tif 000008
ここで、・Ｔはベクトルや行列の転置を意味する。
【００６５】
シミュレーションパラメータ探索部１２２は、上記の数３で予測される評価尺度に基づいて、パラメータ
【００６６】
【数７】
2018147075.tif 000009
を探索する。上記の数６によれば、あるパラメータ
【００６７】
【数８】
2018147075.tif 000010
を与えれば、対応するμとσ２とが求まる。ある
【００６８】
【数９】
2018147075.tif 000011
が確率的なゆらぎを含めても良いかどうかを測る尺度（当該尺度が小さい値程、良い評価であるとする）を
【００６９】
【数１０】
2018147075.tif 000012
とする。ここで、
【００７０】
【数１１】
2018147075.tif 000013
のばらつきをどの程度重視するかのパラメータはα＝０．１とする。
【００７１】
良い評価尺度となりそうなパラメータを探す問題は、上記の数１０を小さくする
【００７２】
【数１２】
2018147075.tif 000014
を探す問題へと帰着する。
【００７３】
ここで、パラメータ
【００７４】
【数１３】
2018147075.tif 000015
の空間が大きい場合（すなわち、例えば、格子点上の網羅が困難なほど広いパラメータ空間である場合）、上記の数１０を対象とする空間すべてで評価することは困難である。そこで、ある提案分布ｑ（θ）を設計し、そこからサンプルされた
【００７５】
【数１４】
2018147075.tif 000016
について、上記の数１０を評価し、
【００７６】
【数１５】
2018147075.tif 000017
が良いパラメータを採用する。提案分布ｑ（θ）の設計指針は２点ある。１点目は、シミュレーションや評価尺度に依存し、より評価尺度の変化に寄与しそうなパラメータ領域に大きな確率密度を割り当てるという指針である。２点目は、低いｆ（θ）を取るθの近傍に大きな確率密度を割り当てるという指針である。
【００７７】
上記の２点の指針について、人流シミュレーションを例にして説明する。ここでのパラメータθは、次のように構成される。
【００７８】
【数１６】
2018147075.tif 000018
ここで、ｃは交差点のインデックス、Ｃｉはパラメータθｉに含まれる誘導対象の交差点数、ｗｃは交差点と接続する道路（エッジ）毎の割合である。提案分布に関する２つの設計指針は次のように用いた。すなわち、１点目としては、「より多くの人が通過する交差点で誘導を行うと、評価尺度である各人のゴール地点までの到達時間に影響を与えやすい」という考えに基づき、交差点ｃの通過人数Ｎｃに比例する確率でｃに誘導を行うパラメータを生成する。２点目としては、あるθｉに対する評価尺度ｆ（θｉ）がこれまでの評価尺度ｆ（θ１），・・・，ｆ（θｉ−１）と比較して良かったとする。このとき、新しいパラメータθｉ＋１は、θｉが含む交差点ｃのうち１つを確率的に削除、又は別の交差点ｃ´について割合ｗｃ´を与えるという操作を行う。
【００７９】
＜シミュレーション装置１０により動的にパラメータを生成する処理＞
ここで、シミュレーションの時刻を離散的に区切り、各時刻毎に、動的に最も評価尺度が良いパラメータを生成する処理について、図４を参照しながら説明する。図４は、本実施形態におけるシミュレーション処理部１１０により動的にパラメータを生成する処理の一例を示すフローチャートである。例えば、シミュレーション全体が２時間程度の人流シミュレーションである場合、誘導の生成の５分毎に行っていることが多い。したがって、この場合、シミュレーションの時刻を５分毎に区切ることで、５分毎に、最も評価尺度が良いパラメータを生成することができる。
【００８０】
まず、シミュレーション処理部１１０は、シミュレーション時刻ｔを「１」に初期化する（ステップＳ１１）。
【００８１】
次に、シミュレーション処理部１１０は、観測部１５０により観測された時刻ｔにおける観測結果（すなわち、観測部１５０により観測された、後述するステップＳ１４におけるシミュレーション結果）を取得する（ステップＳ１２）。より具体的には、１つ前の時刻ｔ−１における最適なパラメータθｔ−１を用いて、時刻ｔ−１からｔまでのシミュレーションがシミュレーション部１３０により行われた結果（シミュレーション結果）を、観測部１５０が観測する。そして、シミュレーション処理部１１０は、当該観測結果を観測部１５０から取得する。
【００８２】
ただし、これに限られず、観測部１５０は、時刻ｔにおける実世界のオブジェクト（実際の人や車等）を観測しても良い。
【００８３】
次に、シミュレーション処理部１１０は、時刻ｔからのシミュレーション及び当該シミュレーションの結果の評価、並びにパラメータの生成を、予め設定されたＮ回試行して、シミュレーション時刻ｔにおける最適なパラメータθｔを出力する（ステップＳ１３）。
【００８４】
すなわち、シミュレーション処理部１１０は、以下の（１）〜（４）を、ｎ＝１，・・・，Ｎまで繰り返して、出力されたパラメータθ１，・・・，θＮの中から、評価尺度が最良のパラメータをθｔ（すなわち、例えば、評価尺度が最小（又は最大）のパラメータ）として出力する。
【００８５】
（１）シミュレーションパラメータ生成部１２０によりパラメータθｎを生成する。
【００８６】
（２）パラメータθｎを用いて、シミュレーション部１３０によりシミュレーションを行う。このとき、シミュレーション部１３０は、上記のステップＳ１２で取得した観測結果を用いて、時刻ｔから時刻ｔ＋τまでのシミュレーションを行う。すなわち、シミュレーション部１３０は、当該観測結果を時刻ｔにおけるオブジェクトの状態とした上で、パラメータθｎを用いて、時刻ｔ＋τまでのシミュレーションを行う。なお、τは、予め設定されたパラメータであり、τ≧１である。
【００８７】
（３）シミュレーション部１３０によるシミュレーション結果から、シミュレーション評価部１４０により評価尺度ｖｎを算出する。
【００８８】
（４）パラメータθｎと、評価尺度ｖｎとのペア（θｎ，ｖｎ）から、シミュレーションパラメータ生成部１２０により次のパラメータθｎ＋１を生成する。
【００８９】
次に、シミュレーション処理部１１０は、シミュレーション部１３０により、パラメータθｔを用いて、時刻ｔからｔ＋１までのシミュレーションを実施する（ステップＳ１４）。これにより、時刻ｔからｔ＋１までのシミュレーションが、最適なパラメータθｔを用いて実施される。
【００９０】
次に、シミュレーション処理部１１０は、時刻ｔに「１」を加算する（ステップＳ１５）。
【００９１】
次に、シミュレーション処理部１１０は、時刻ｔが、予め設定された時刻Ｔ以下であるか否かを判定する（ステップＳ１６）。
【００９２】
ステップＳ１６において、時刻ｔがＴ以下である場合、シミュレーション処理部１１０は、ステップＳ１２の処理に戻る。一方で、ステップＳ１６において、時刻ｔがＴ以下でない場合、シミュレーション処理部１１０は、処理を終了させる。
【００９３】
以上により、本実施形態に係るシミュレーション処理部１１０は、離散的に区切られた時刻ｔ毎に、各時刻の最適なパラメータθｔの生成と、当該パラメータθｔを用いたシミュレーションを行うことができる。
【００９４】
＜本発明の実施の形態における効果＞
ここで、一例として、東京都新宿区の所定のスタート地点から所定のゴール地点まで、８万人の人（オブジェクト）が移動するシミュレーションにおける効果について、図５を参照しながら説明する。図５は、本発明の実施の形態における効果の一例を説明する図である。
【００９５】
スタート地点としては新国立競技場予定地（２０１７年２月時点）を設定した。また、ゴール地点としては、オブジェクトに応じて、ＪＲ信濃町、ＪＲ千駄ヶ谷、都営地下鉄国立競技場、都営地下鉄青山一丁目、東京メトロ外苑前、又は東京メトロ北参道のいずれかの駅を設定した。
【００９６】
また、道路グラフ（ノード数：７６５、エッジ数２４０８）の道幅、長さは国土地理院のデータを利用し、シミュレーションのパラメータとしては各ノードにおけるエッジ通過量の割合を採用した。更に、シミュレーション結果の評価尺度としては、各人がゴール地点に到達するまでの所要時間の総和とした。このとき、当該総和が小さくなるようにパラメータを生成し、パラメータはシミュレーションの時刻を５分毎に区切ることで、動的に生成するものとした。
【００９７】
図５に示すように、本発明の実施の形態により生成したパラメータを用いてシミュレーションを行うことで、従来よりも効率よく人を輸送するパラメータを生成するため、より短い時間で多くの人がゴール地点に到達している。具体的には、全ての人がゴール地点に到達するのに、従来のシミュレーションでは約９０００秒程度を要しているのに対して、本発明の実施の形態により生成したパラメータを用いたシミュレーションでは、約７０００秒程度となる。
【００９８】
＜まとめ＞
以上のように、本実施形態に係るシミュレーション装置１０は、例えば人流シミュレーション等、時空間に広がるオブジェクトのシミュレーションの最適なパラメータ（制御パラメータ）を効率的に生成することができる。また、このようなパラメータの生成を、所定の時間毎に繰り返し行うことで、シミュレーションの全区間を通して最適なパラメータを動的に生成することができる。
【００９９】
更に、本実施形態に係るシミュレーション装置１０は、最適なパラメータを動的に生成する際に、離散的に区切られた時刻ｔ毎に、当該時刻ｔにおける観測結果を用いてシミュレーションを行うことで、最適なパラメータを生成することができる。これにより、各時刻ｔにおけるオブジェクトの状況に応じた最適なパラメータを動的に生成することができるようになる。例えば、ある時刻ｔ−１からｔまでを最適なパラメータでシミュレーションした結果と、時刻ｔにおける実世界のオブジェクトを観測した結果とに差異があった場合であっても、当該時刻ｔにおいて当該観測結果に応じた最適なパラメータを生成することができるようになる。
【０１００】
このため、例えば、人流、交通量等のシミュレーションに適用することで、混雑や渋滞を解消する誘導等を効果的に図ることができるようになる。
【０１０１】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１０２】
１          シミュレーションシステム
１０        シミュレーション装置
２０        観測装置
１１０      シミュレーション処理部
１２０      シミュレーションパラメータ生成部
１２１      評価尺度予測部
１２２      シミュレーションパラメータ探索部
１３０      シミュレーション部
１４０      シミュレーション評価部
１５０      観測部
【図１】
2018147075.tif 000019
【図２】
2018147075.tif 000020
【図３】
2018147075.tif 000021
【図４】
2018147075.tif 000022
【図５】
2018147075.tif 000023