(57)【要約】【課題】最適な制御策を探索するために、制御策とシミュレータの出力との関係を推定することができる。【解決手段】シミュレータ実行部３１が、各ユーザに対する制御内容からなる入力パラメータに基づいて、シミュレーションを実行し、出力データを得る。特徴ベクトル変換部３２が、入力パラメータを、時間帯毎に、各制御内容のユーザ数を表す特徴ベクトルに変換する。関係推定部３３が、特徴ベクトルに変換した結果と出力データとの組である複数のデータ点に基づいて、特徴ベクトルと出力データとの関係を推定する。【選択図】図２
2018147087.tif 000002
【特許請求の範囲】
【請求項１】
各ユーザに対する制御内容からなる入力パラメータに基づいて、シミュレーションを実行し、出力データを得るシミュレータ実行部と、
前記入力パラメータを、時間帯毎に、各制御内容のユーザ数を表す特徴ベクトルに変換する特徴ベクトル変換部と、
前記特徴ベクトルに変換した結果と前記出力データとの組である複数のデータ点に基づいて、前記特徴ベクトルと前記出力データとの関係を推定する関係推定部と、
を含む制御策解析装置。
【請求項２】
前記関係推定部によって推定される前記関係に応じて定まる、前記特徴ベクトル変換部によって前記特徴ベクトルに変換した結果と前記出力データとの組である全てのデータ点のうちの最適な出力データより良い出力データが得られる可能性を表す、前記特徴ベクトルを引数とする獲得関数であって、前記データ点から求まる分散値が大きいほど前記可能性が高くなる獲得関数に基づいて、前記可能性が最大となる特徴ベクトルを決定し、前記決定された特徴ベクトルに対応する入力パラメータを、次の入力パラメータとして決定する次入力パラメータ決定部と、
予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記関係推定部による推定と、前記次入力パラメータ決定部による決定とを繰り返させ、最適な出力データを得るための入力パラメータを求める反復判定部と、
を更に含む請求項１に記載の制御策解析装置。
【請求項３】
前記関係推定部は、前記特徴ベクトル変換部によって前記特徴ベクトルに変換した結果と前記出力データとの組である全てのデータ点に基づいて、前記特徴ベクトルと前記出力データの平均値との関係式、及び前記特徴ベクトルと前記出力データの分散との関係式を推定し、
前記次入力パラメータ決定部は、推定された前記特徴ベクトルと前記出力データの平均値との関係式、及び前記特徴ベクトルと前記出力データの分散との関係式を用いて表される前記獲得関数に基づいて、前記可能性が最大となる特徴ベクトルを決定する
請求項２に記載の制御策解析装置。
【請求項４】
前記入力パラメータを、テーマパークにおける、各ユーザに対するアトラクションの巡回ルートとし、前記シミュレーションを行うシミュレータを、前記テーマパークにおける各アトラクションのユーザの待ち時間を再現するテーマパークシミュレータとし、前記出力データを、前記複数の巡回ルートのユーザの待ち時間の平均値又は最大値とした
請求項１〜３の何れか１項に記載の制御策解析装置。
【請求項５】
シミュレータ実行部が、各ユーザに対する制御内容からなる入力パラメータに基づいて、シミュレーションを実行し、出力データを得るステップと、
特徴ベクトル変換部が、前記入力パラメータを、時間帯毎に、各制御内容のユーザ数を表す特徴ベクトルに変換するステップと、
関係推定部が、前記特徴ベクトルに変換した結果と前記出力データとの組である複数のデータ点に基づいて、前記特徴ベクトルと前記出力データとの関係を推定するステップと、
を含む制御策解析方法。
【請求項６】
コンピュータを、請求項１〜請求項４のいずれか１項に記載の制御策解析装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御策解析装置、方法、及びプログラムに係り、特に、最適な制御策を探索するための制御策解析装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、花火大会などのイベント終了後の駅までの帰り道の人ごみや、テーマパークにおけるアトラクションの長い待ち時間などの、いわゆる混雑等、制御が必要とされる現場が多く存在する。イベント終了後の駅までの帰り道の人ごみでは、交通渋滞や雑踏事故を引き起こす危険性がある。大規模テーマパークにおいては、アトラクションの長い待ち時間は満足度の低下だけでなく、収益低下にもつながると指摘されている。
【０００３】
上記のような問題に対し、国や企業は様々な制御策を講じている。例えば、イベント終了後のある時間帯だけ一部道路を歩行者天国にする制御策や、テーマパークでは、アプリを通じて待ち時間情報をユーザに提示することで空いているアトラクションに誘導するといった制御策も実施されている。また、混雑の平準化を行うための制御策として、ユーザに最も待ち時間の短いアトラクションに推薦するという方法が提案されている。実際に、混雑平準化の効果はテーマパークを模したシミュレータ（以下、テーマパークシミュレータ）を用いて、確かめられている（非特許文献１参照）。
【０００４】
しかしながら、上記手法では、制御策を人手で考えるため、大量に存在する制御策から最適な制御策を選択することはできない。例えば、テーマパークにおいて、５００００人のユーザが３０個あるアトラクションのうち、４個のアトラクションに乗る場合のアトラクション巡回ルートの組み合わせは（３０４）５００００通り存在する。
【０００５】
一方、大量にある機械学習のパラメータから学習精度を向上させるパラメータを探索する手法として、ベイズ最適化という技術が考案されている（非特許文献２参照）。ベイズ最適化は、パラメータが類似していれば、学習精度も類似しているという仮定のもとで、すべてのパラメータで学習を実行することなく、学習率を向上させるパラメータを効率的に探索する技術である。
【０００６】
このベイズ最適化をシミュレータにも適応させることで、大量に存在する制御策の中から最適な制御策を発見できるようになると考えられる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】清水仁, 松林達史, 納谷太. 混雑飽和状態の遊園地における待ち時間削減手法のシミュレーション評価. SIG-DOCMAS 研究会.
【非特許文献２】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)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ベイズ最適化をシミュレータに適応させる技術では、シミュレータを、入力値を制御策、出力値を評価指標となるような関数と見なし、ベイズ最適化を適応することを検討する。ここで言う、制御策・評価指標とは問題ごとに異なってよい。例えば、イベント会場からの帰り道の混雑緩和では、制御策としてユーザがイベント会場から駅まで帰るルートの推薦、評価指標として各道路における人口密度などが考えられる。また、テーマパークの混雑緩和では、制御策としてユーザ毎のアトラクション巡回ルートの推薦、評価指標としてアトラクション平均待ち時間などが考えられる。テーマパークシミュレータのイメージ図を図７に示す。
【０００９】
ここで、ベイズ最適化は関数の最適化手法であるため、入出力値をベクトル値に変換する必要がある。特に、入力値である制御策の問題に適したベクトル値に変換しなければならない。ベクトル値に変換するためには、以下の課題が存在する。
【００１０】
［課題１］高次元のベクトルに変換すると関数の予測精度が悪化する。
【００１１】
［課題２］必要な情報が欠如すると、ベクトルを制御策に逆変換することが困難となる。
【００１２】
それぞれの課題について説明する。
【００１３】
課題１は、高次元のベクトルを入力としてしまうと、次元の呪いにより関数近似の精度を維持するために必要なデータ数が指数的に増加してしまうという課題である。データ数が増加した場合、大規模なシミュレータは一度の実行に長時間かかってしまうため、大量のシミュレーションサンプルを得ることは不可能であり、結果として関数近似の精度が悪化してしまう。例えば、ユーザの巡回ルートという制御策を、図８のように、ユーザが選んだ巡回ルートに１を、それ以外の巡回ルートに０を割り当てるような表現とした場合、特徴ベクトルの次元数が巡回ルートの組み合わせとユーザ数の積で表現されるため、非常に高次元になってしまい、関数の予測精度が悪化する。
【００１４】
課題２は、課題１の解決のためには、低次元のベクトルに変換する必要があるが、制御策に必要な情報を落としてしまうと、制御策への逆変換が困難になってしまうという課題である。例えば、図９のように巡回ルートを、同一ルートを選んだユーザ数という情報に変換してみると、次元を小さくすることができる。これは図８で表現されている行列をユーザ方向に潰す操作と等価である。しかしながら、このような変換方法では特徴ベクトルを制御策に逆変換する際に困難が生じる。例えば、図１０のように１→２→３というような巡回ルートを８０人が選ぶ特徴ベクトルが最適だったとする。この時、制御策としては８０人のユーザをどの来園者に割り振るかという組み合わせの数だけ候補が考えられる。この８０人の割り振り方によって、アトラクション平均待ち時間の結果が大きく異なってしまうため、特徴ベクトルを制御策に逆変換することが困難になってしまう。
【００１５】
本発明は、上記問題点を解決するために成されたものであり、制御策が大量に存在する場合であっても、効率よく、最適な制御策を探索することができる制御策解析装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、第１の発明に係る制御策解析装置は、各ユーザに対する制御内容からなる入力パラメータに基づいて、シミュレーションを実行し、出力データを得るシミュレータ実行部と、前記入力パラメータを、時間帯毎に、各制御内容のユーザ数を表す特徴ベクトルに変換する特徴ベクトル変換部と、前記特徴ベクトルに変換した結果と前記出力データとの組である複数のデータ点に基づいて、前記特徴ベクトルと前記出力データとの関係を推定する関係推定部と、を含んで構成されている。
【００１７】
また、第１の発明に係る制御策解析装置において、前記関係推定部によって推定される前記関係に応じて定まる、前記特徴ベクトル変換部によって前記特徴ベクトルに変換した結果と前記出力データとの組である全てのデータ点のうちの最適な出力データより良い出力データが得られる可能性を表す、前記特徴ベクトルを引数とする獲得関数であって、前記データ点から求まる分散値が大きいほど前記可能性が高くなる獲得関数に基づいて、前記可能性が最大となる特徴ベクトルを決定し、前記決定された特徴ベクトルに対応する入力パラメータを、次の入力パラメータとして決定する次入力パラメータ決定部と、予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記関係推定部による推定と、前記次入力パラメータ決定部による決定とを繰り返させ、最適な出力データを得るための入力パラメータを求める反復判定部と、を更に含むようにしてもよい。
【００１８】
また、第１の発明に係る制御策解析装置において、前記関係推定部は、前記特徴ベクトル変換部によって前記特徴ベクトルに変換した結果と前記出力データとの組である全てのデータ点に基づいて、前記特徴ベクトルと前記出力データの平均値との関係式、及び前記特徴ベクトルと前記出力データの分散との関係式を推定し、前記次入力パラメータ決定部は、推定された前記特徴ベクトルと前記出力データの平均値との関係式、及び前記特徴ベクトルと前記出力データの分散との関係式を用いて表される前記獲得関数に基づいて、前記可能性が最大となる特徴ベクトルを決定するようにしてもよい。
【００１９】
また、第１の発明に係る制御策解析装置において、前記入力パラメータを、テーマパークにおける、各ユーザに対するアトラクションの巡回ルートとし、前記シミュレーションを行うシミュレータを、前記テーマパークにおける各アトラクションのユーザの待ち時間を再現するテーマパークシミュレータとし、前記出力データを、前記複数の巡回ルートのユーザの待ち時間の平均値又は最大値としてもよい。
【００２０】
第２の発明に係る制御策解析方法は、入力部が、シミュレータ実行部が、各ユーザに対する制御内容からなる入力パラメータに基づいて、シミュレーションを実行し、出力データを得るステップと、特徴ベクトル変換部が、前記入力パラメータを、時間帯毎に、各制御内容のユーザ数を表す特徴ベクトルに変換するステップと、関係推定部が、前記特徴ベクトルに変換した結果と前記出力データとの組である複数のデータ点に基づいて、前記特徴ベクトルと前記出力データとの関係を推定するステップと、を含んで実行することを特徴とする。
【００２１】
第３の発明に係るプログラムは、コンピュータを、第１の発明に係る制御策解析装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２２】
本発明の制御策解析装置、方法、及びプログラムによれば、各ユーザに対する制御内容からなる入力パラメータに基づいて、シミュレーションを実行し、出力データを得て、入力パラメータを、時間帯毎に、各制御内容のユーザ数を表す特徴ベクトルに変換し、特徴ベクトルに変換した結果と出力データとの組である複数のデータ点に基づいて、特徴ベクトルと出力データとの関係を推定することにより、制御策が大量に存在する場合であっても、効率よく、最適な制御策を探索することができる、という効果が得られる。
【図面の簡単な説明】
【００２３】
【図１】テーマパークの混雑緩和において、同一の時間帯で、制御策である巡回ルートを特徴ベクトルに変換する例を示す図である。
【図２】本発明の実施の形態に係る制御策解析装置の構成を示すブロック図である。
【図３】本発明の実施の形態に係る制御策解析装置における制御策解析処理ルーチンを示すフローチャートである。
【図４】ベイズ最適化実行部３０の処理の概要図である。
【図５】実験例におけるシミュレータの設定の一例を示す図である。
【図６】実験例における実験結果の一例を示す図である。
【図７】従来のテーマパークシミュレータのイメージを示す図である。
【図８】従来のテーマパークシミュレータにおいて、ユーザの巡回ルートに応じて、高次元になってしまう特徴ベクトルの例を示す図である。
【図９】従来のテーマパークシミュレータにおいて、同一ルートを選んだユーザ数という情報に変換した場合の例を示す図である。
【図１０】従来のテーマパークシミュレータにおいて、同一ルートを選んだユーザ数という情報に変換した場合に、制御策に逆変換することが困難になる例を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２５】
＜本発明の実施の形態に係る概要＞
【００２６】
まず、本発明の実施の形態における概要を説明する。
【００２７】
本実施の形態においては、制御策を一度ベクトルに変換し、ベイズ最適化を行うことで、最適な制御策を探索する制御策解析装置を提案する。
【００２８】
上記要件で述べたとおり、制御策を低次元かつ必要な情報を落とさないようにベクトルに変換する必要がある。イベント会場からの帰路やテーマパークでは、大量のユーザがほぼ同時に行動することが考えられる。その際に、ユーザが帰路として選択するルートやアトラクション巡回順序が少し入れ替わったとしても、道路の人口密度やアトラクション平均待ち時間などの評価指標与える影響は非常に小さい。そのため、ユーザ個々を厳密に区別する必要はない。また制御策は、ユーザが“いつ”・“どの”帰路や巡回ルートを選ぶかによって決定される。そのため、行動開始の時間情報を考慮する必要がある。
【００２９】
以上二つの事を考慮して各ユーザの巡回ルートを表す制御策をベクトルに変換する。
【００３０】
具体的には、同一の時間帯に行動を開始したユーザの中で同一帰路や同一ルートを選んだユーザ数という情報に変換する。図１にテーマパークの混雑緩和において、制御策である各ユーザの巡回ルートを特徴ベクトルに変換する例を示す。この変換方法により、制御策において、上記課題を解決しながらベクトルに変換することが出来る。
【００３１】
以下、シミュレータを用いて評価指標を最小にする制御策を探索する、という場合について説明する。先に述べたように、制御策・評価指標は問題ごとに異なってよい。
【００３２】
＜本発明の実施の形態に係る制御策解析装置の構成＞
【００３３】
次に、本発明の実施の形態に係る制御策解析装置の構成について説明する。図２に示すように、制御策解析装置１は、シミュレータ設定処理部１０、データ記憶部２０、ベイズ最適化実行部３０、及び最適パラメータ処理部４０を含んで構成されている。シミュレータ設定処理部１０、及び最適パラメータ処理部４０は、それぞれ入力装置等の外部装置２に接続されている。
【００３４】
シミュレータ設定処理部１０は、入力パラメータとして、各ユーザに対する巡回ルートからなる制御策を複数受け付ける。また、シミュレータ設定処理部１０は、シミュレーションの最大回数、及び、ベイズ最適化実行部３０の処理を終了するか否かの判定を行うための出力値の閾値の少なくとも一方の入力を受け付けて、データ記憶部２０の各々対応するフィールドに設定する。
【００３５】
データ記憶部２０は、シミュレータ設定テーブル２１、及び、最適パラメータテーブル２２を有している。
【００３６】
シミュレータ設定テーブル２１は、最大シミュレーション実行回数フィールド、閾値フィールドを有する。最大シミュレーション実行回数フィールドは、シミュレータ設定処理部１０により入力された上記最大回数が設定され、閾値フィールドには、上記出力値の閾値が設定される。
【００３７】
最適パラメータテーブル２２は、ベイズ最適化実行部３０により入力された最適パラメータが設定される。
【００３８】
ベイズ最適化実行部３０は、シミュレータ実行部３１、特徴ベクトル変換部３２、関係推定部３３、次入力パラメータ決定部３４、ベイズ最適化結果保管部３５、及び、反復判定部３６を有している。
【００３９】
シミュレータ実行部３１は、各ユーザに対する巡回ルートからなる制御策を表す入力パラメータに基づいて、シミュレーションを実行し、出力データを得る。
【００４０】
特徴ベクトル変換部３２は、制御策Ｘを、時間帯毎に、各巡回ルートのユーザ数を表す特徴ベクトルｘに変換する。
【００４１】
関係推定部３３は、制御策Ｘを、時間帯毎に、各巡回ルートのユーザ数を表す特徴ベクトルｘに変換した結果と出力データとの組である複数のデータ点に基づいて、特徴ベクトルｘと出力データとの関係を推定する。
【００４２】
次入力パラメータ決定部３４は、推定された特徴ベクトルｘと出力データとの関係に基づいて、次の入力パラメータである制御策Ｘを決定する。具体的には、関係推定部３３によって推定される関係に応じて定まる、特徴ベクトル変換部３２によって特徴ベクトルｘに変換した結果と出力データとの組である全てのデータ点のうちの最適な出力データより良い出力データが得られる可能性を表す、特徴ベクトルｘを引数とする獲得関数であって、データ点から求まる分散値が大きいほど可能性が高くなる獲得関数に基づいて、可能性が最大となる特徴ベクトルｘを決定し、決定された特徴ベクトルｘに対応する制御策Ｘを、次の入力パラメータとして決定する。
【００４３】
ベイズ最適化結果保管部３５は、シミュレーションの出力データを入力パラメータと共に保管する。
【００４４】
反復判定部３６は、予め定めた繰り返し条件を満たすまで、シミュレータ実行部３１による実行と、関係推定部３３による推定と、次入力パラメータ決定部３４による決定とを繰り返させ、最適な出力データを得るための入力パラメータを求める。
【００４５】
最適パラメータ処理部４０は、ベイズ最適化結果保管部３５に入力されている入力パラメータのうち、出力データの最小値を与える入力パラメータを、データ記憶部２０の最適パラメータテーブル２２に設定し、データ記憶部２０の最適パラメータテーブル２２に設定されている最適パラメータを外部装置２に出力する。
【００４６】
なお、本実施形態に係る制御策解析装置１は、例えば、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、各種プログラムを記憶するＲＯＭ（Read Only Memory）を備えたコンピュータ装置で構成される。また、制御策解析装置１を構成するコンピュータは、ハードディスクドライブ、不揮発性メモリ等の記憶部を備えていても良い。本実施形態では、ＣＰＵがＲＯＭ、ハードディスク等の記憶部に記憶されているプログラムを読み出して実行することにより、上記のハードウェア資源とプログラムとが協働し、上述した機能が実現される。
【００４７】
＜本発明の実施の形態に係る制御策解析装置の作用＞
【００４８】
次に、本発明の実施の形態に係る制御策解析装置１の作用について説明する。本実施形態に係る制御策解析装置１が実行する制御策解析処理について、図３を参照して説明する。制御策解析装置１が制御策解析処理を実行するタイミングは、例えば、使用者が外部装置２から制御策解析処理の実行を指示したタイミングとする。
【００４９】
ステップＳ１１０では、シミュレータ設定処理部１０が、外部装置２により入力された、最大シミュレーション実行回数Ｍ、及び終了条件の閾値εを、データ記憶部２０のシミュレータ設定テーブル２１に設定する。
【００５０】
次に、以下のステップＳ２１０〜Ｓ２７０において、ベイズ最適化実行部３０は以下の方法で、データ記憶部２０の最適パラメータテーブル２２に入力する最適パラメータを決定する。図４にベイズ最適化実行部３０の処理の概要図を示す。
【００５１】
ステップＳ２１０では、シミュレータ実行部３１は、制御策の集合からランダムに選んだ制御策Ｘ又は後述するステップＳ２８０で決定された制御策Ｘｎｅｘｔによってシミュレーションを実行し、制御結果の評価指標値ｙを得る。
【００５２】
ステップＳ２２０では、特徴ベクトル変換部３２は、制御策Ｘを、時間帯毎に、各巡回ルートのユーザ数を表す特徴ベクトルｘに変換する。ここでは、例としてテーマパークにおけるユーザの巡回ルートという制御策を特徴ベクトルに変換する方法について述べる。
【００５３】
まずユーザｎの到着時間ＡＴｎ、巡回ルートＲＯＵＴＥｎという情報に基づいて、以下（１）式に示すような行列に変換する。
【００５４】
【数１】
2018147087.tif 000003
・・・（１）
【００５５】
ここで、＃は要素の個数、Δｊはシミュレーション内時間を表す。
【００５６】
そして、この行列ｘｔｍｐをベクトルに直したｘ＝(ｘ１１,ｘ１２，…,ｘ１ｎ,ｘ２１…，）を、巡回ルートである制御策Ｘに対応する特徴ベクトルとする。
【００５７】
以降、シミュレーションを行うことで得られた、制御策の特徴ベクトルｘと評価指標値ｙの組（ｘ,ｙ）全体を
【００５８】
【数２】
2018147087.tif 000004
・・・（２）
【００５９】
と書く。ここで、制御策に対応する特徴ベクトル全体の集合を、Ｃｐａｒａと書くことにする。特徴ベクトル変換部３２は、上記Ｄをベイズ最適化結果保管部３５に格納する。
【００６０】
ステップＳ２３０では、シミュレータ実行部３１が、シミュレーション実行回数を更新する。
【００６１】
ステップＳ２４０では、シミュレータ実行部３１が、シミュレーション実行回数がステップＳ１１０で設定された最大繰り返し回数Ｍを超えたか否かを判定する。ステップＳ２４０でシミュレーション実行回数が最大繰り返し回数Ｍを超えたと判定した場合（Ｓ２４０，Ｙ）はステップＳ３１０に移行する。また、ステップＳ２４０でシミュレーション実行回数が最大繰り返し回数Ｍを超えていないと判定した場合（Ｓ２４０，Ｎ）はステップＳ２５０に移行する。
【００６２】
ステップＳ２５０では、シミュレータ実行部３１が、シミュレーションの出力値がステップＳ１１０で設定された閾値εより小さいか否かを判定する。ステップＳ２５０でシミュレーションの出力値が閾値εより小さいと判定した場合（Ｓ２５０，Ｙ）はステップＳ３１０に移行する。また、ステップＳ２５０でシミュレーションの出力値が閾値ε以上であると判定した場合（Ｓ２５０，Ｎ）はステップＳ２６０に移行する。
【００６３】
ステップＳ２６０では、関係推定部３３は、ベイズ最適化結果保管部３５の全てのデータ点に基づいて、シミュレータの入出力に関する、特徴ベクトルと出力データの平均値との関係式、及び特徴ベクトルと出力データの分散との関係式をガウス過程によって推定する。ある特徴ベクトルｘにおける推定結果は、以下（３）式であらわされる平均値μ(ｘ)、（４）式であらわされる分散値σ(ｘ)をもつガウス分布に従う。
【００６４】
【数３】
2018147087.tif 000005
・・・（３）
【００６５】
【数４】
2018147087.tif 000006
・・・（４）
【００６６】
（３）式、（４）式の
【００６７】
【数５】
2018147087.tif 000007
【００６８】
は、カーネル関数と呼ばれる入力パラメータｘ１とｘ２の類似度ｋ(ｘ１,ｘ２)を定義する関数を用いて（５）式、（６）式のように書ける。
【００６９】
【数６】
2018147087.tif 000008
・・・（５）
【００７０】
【数７】
2018147087.tif 000009
・・・（６）
【００７１】
ただし、ｋｉｊ＝ｋ（ｘｉ，ｘｊ）であり、上付きの記号Ｔは行列の転置を表し、上付き記号−１は逆行列を表す。このカーネル関数は問題に応じて変更してよい。代表的なカーネルとして、線形カーネル、ガウスカーネルなどがある（非特許文献３参照）。
【００７２】
ステップＳ２７０では、次入力パラメータ決定部３４は、以下（７）式に従い、次の制御策を決めるため、特徴ベクトルｘｎｅｘｔを算出する。
【００７３】
【数８】
2018147087.tif 000010
・・・（７）
【００７４】
ここでα（ｘ）は獲得関数と呼ばれ、特徴ベクトルｘが最小値を与える可能性を定量的に評価するための指標である。上記（７）式では、獲得関数値が最大となるｘｎｅｘｔを求める。代表的な獲得関数としては、確率改善（ＰＩ）や期待値改善（ＥＩ）が用いられる（非特許文献２参照）。本実施の形態では、獲得関数α（ｘ）は、下記（８）式のように定義する。ここで、σ（ｘ）は、上記（４）式で与えられた分散であり、Φ（ｘ）は、標準正規分布における累積分布関数を表し、Ｎ（ｘ）は、標準正規分布における確率密度関数を表す。
【００７５】
【数９】
2018147087.tif 000011
・・・（８）
【００７６】
また，γ（ｘ）は、上記（３）式及び（４）式で与えられた平均μ及び分散σを用いて下記（９）式で与えられる関数である。なお、下記（９）式におけるｆｂｅｓｔは、シミュレータで得られた出力結果の最小値とする。
【００７７】
【数１０】
2018147087.tif 000012
・・・（９）
【００７８】
上記図４に示すように、次に入力となる次探索点のｘｎｅｘｔは、分散値が大きい点、言い換えると観測データ点が少なく探索が行われていない不確かな領域の点となっている。獲得関数は、“分散値が大きい不確かな領域”と、“現状の最小値を与えるパラメータ付近”を次の探索点に選びやすいようになっている。
【００７９】
ステップＳ２８０では、次入力パラメータ決定部３４は、ステップＳ２７０にて得られたｘｎｅｘｔが実際の制御策に対応する特徴ベクトルになっているとは限らないため、以下（１０）式のように、制御策Ｘを変換した特徴ベクトルｘｉｎｔの中で、ｘｎｅｘｔに最も近いｘｎｅｘｔｉｎｔを決定する。
【００８０】
【数１１】
2018147087.tif 000013
・・・（１０）
【００８１】
そして、ｘｎｅｘｔｉｎｔに対応する制御策Ｘを、制御策Ｘｎｅｘｔとする。
【００８２】
このように、次入力パラメータ決定部３４は、獲得関数に基づいて導出された、可能性が最大となるｘｎｅｘｔに基づいて、制御策Ｘｎｅｘｔを決定する。
【００８３】
（１０）式にて決定された、ｘｎｅｘｔｉｎｔに対応する制御策は複数対応するものがあることが考えられるが、いずれか一つの制御策をランダムで決定する。そして、ステップＳ２１０に戻り、Ｘｎｅｘｔをシミュレータ実行部３１に入力し、Ｘｎｅｘｔを入力制御策としてシミュレーションを行う。
【００８４】
ステップＳ３１０では、ベイズ最適化実行部３０は、ベイズ最適化処理を終了した時点でベイズ最適化結果保管部３５に含まれるデータのうち、最小値を与える制御策をデータ記憶部２０に入力し、データ記憶部２０は最適パラメータテーブル２２にそのパラメータを設定する。
【００８５】
ステップＳ４１０では、最適パラメータ処理部４０は、データ記憶部２０より入力された最適パラメータを外部装置２に出力する。出力処理は、例えば、外部装置２から出力のリクエストが入力された場合に実行すればよい。
【００８６】
［実験結果の例］
【００８７】
テーマパークシミュレータを用いて、アトラクションの待ち時間が短くなる巡回ルートを本実施の形態の手法によって探索を行った。
【００８８】
シミュレータの設定を図５に、実験結果を図６示す。図６の結果からもわかるように、ユーザが巡回ルートをランダムに選択して巡回するというランダムサーチを行った場合の結果に比べ、アトラクション平均待ち時間が短くなる巡回ルートを発見することに成功している。
【００８９】
本実験例では、テーマパークにおいてアトラクション平均待ち時間を短くする巡回ルートを考えたが、初めに乗るアトラクションを出発地点、最後に乗るアトラクションを到着地点、途中のアトラクションを一般道の交差点と考えることで、イベント会場から駅への帰路における一般道の混雑緩和に最適な制御策を探索することが出来る。また、混雑だけではなく様々な目的の制御に関しても制御策を探索することが出来る。
【００９０】
以上説明したように、本発明の実施の形態に係る制御策解析装置によれば、各ユーザに対する制御内容からなる入力パラメータに基づいて、シミュレーションを実行し、出力データを得て、入力パラメータを、時間帯毎に、各制御内容のユーザ数を表す特徴ベクトルに変換し、特徴ベクトルに変換した結果と出力データとの組である複数のデータ点に基づいて、特徴ベクトルと出力データとの関係を推定することにより、制御策が大量に存在する場合であっても、効率よく、最適な制御策を探索することができる。
【００９１】
また、本発明の実施の形態の手法によって発見された巡回ルートをユーザに推薦することで、アトラクションの待ち時間や一般道の混雑を緩和に最適な制御策を発見できるようになる。
【００９２】
また、人手で制御策を考える必要がなくなるため、制御策を策定するコストを削減することが出来る。
【００９３】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００９４】
例えば、制御策解析装置の各構成要素の動作をプログラムとして構築し、制御策解析装置として利用されるコンピュータにインストールして実行させる、またはネットワークを介して流通させることが可能である。
【符号の説明】
【００９５】
１     制御策解析装置
２     外部装置
１０   シミュレータ設定処理部
２０   データ記憶部
２１   シミュレータ設定テーブル
２２   最適パラメータテーブル
３０   ベイズ最適化実行部
３１   シミュレータ実行部
３２   特徴ベクトル変換部
３３   関係推定部
３４   次入力パラメータ決定部
３５   ベイズ最適化結果保管部
３６   反復判定部
４０   最適パラメータ処理部
【図１】
2018147087.tif 000014
【図２】
2018147087.tif 000015
【図３】
2018147087.tif 000016
【図４】
2018147087.tif 000017
【図５】
2018147087.tif 000018
【図６】
2018147087.tif 000019
【図７】
2018147087.tif 000020
【図８】
2018147087.tif 000021
【図９】
2018147087.tif 000022
【図１０】
2018147087.tif 000023