(57)【要約】【課題】最適な制御策を発見することができる入力パラメータ探索装置、入力パラメータ探索方法、及び入力パラメータ探索プログラムを提供する。【解決手段】入力パラメータに基づいてシミュレーションを実行し、出力データを得るシミュレータ実行部と、入力パラメータと出力データとの組であるデータ点に基づいて、次の入力パラメータを決定する次入力パラメータ決定部とを含み、予め定めた繰り返し条件を満たすまで、シミュレータ実行部による実行と、次入力パラメータ決定部による決定とを繰り返させ、最適な出力データを得るための入力パラメータを求める。次入力パラメータ決定部は、全てのデータ点のうちの最適な出力データより良い出力データが得られる可能性を表す、入力パラメータを引数とする獲得関数であって、データ点から求まる分散値が大きいほど可能性が高くなる獲得関数に基づいて、可能性が最大となる入力パラメータを、次の入力パラメータとして決定する。【選択図】図５
2018073360.tif 000002
【特許請求の範囲】
【請求項１】
入力パラメータに基づいて、シミュレーションを実行し、出力データを得るシミュレータ実行部と、
前記入力パラメータと前記出力データとの組であるデータ点に基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、
予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させ、最適な出力データを得るための入力パラメータを求める反復判定部と、
を含み、
前記次入力パラメータ決定部は、全てのデータ点のうちの最適な出力データより良い出力データが得られる可能性を表す、入力パラメータを引数とする獲得関数であって、前記データ点から求まる分散値が大きいほど前記可能性が高くなる獲得関数に基づいて、前記可能性が最大となる入力パラメータを、次の入力パラメータとして決定する
入力パラメータ探索装置。
【請求項２】
前記次入力パラメータ決定部は、全てのデータ点に基づいて、入力パラメータと前記出力データの平均値との関係式、及び入力パラメータと前記出力データの分散との関係式を推定し、推定された入力パラメータと前記出力データの平均値との関係式、及び入力パラメータと前記出力データの分散との関係式を用いて表される前記獲得関数に基づいて、前記可能性が最大となる入力パラメータを、次の入力パラメータとして決定する
請求項１記載の入力パラメータ探索装置。
【請求項３】
前記入力パラメータを、テーマパークにおけるアトラクションの複数の巡回ルートとし、前記シミュレーションを行うシミュレータを、前記テーマパークにおける各アトラクションのユーザの待ち時間を再現するテーマパークシミュレータとし、前記出力データを、前記複数の巡回ルートのユーザの待ち時間の平均値又は最大値とした
請求項１又は２記載の入力パラメータ探索装置。
【請求項４】
前記シミュレーションの最大回数、及び前記出力データに対する閾値の入力を受け付けて設定するシミュレータ設定処理部を更に備え、
前記反復判定部は、前記シミュレータ実行部による実行と前記次入力パラメータ決定部による決定とを繰り返す回数が前記最大回数を超えること、及び、前記出力データが前記閾値を下回ること、の何れか一方を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させる
請求項１〜３の何れか１項記載の入力パラメータ探索装置。
【請求項５】
シミュレータ実行部、次入力パラメータ決定部、及び反復判定部を含む入力パラメータ探索装置における入力パラメータ探索方法であって、
前記シミュレータ実行部が、入力パラメータに基づいて、シミュレーションを実行し、出力データを得るステップと、
前記次入力パラメータ決定部が、前記入力パラメータと前記出力データとの組であるデータ点に基づいて、次の入力パラメータを決定するステップと、
前記反復判定部が、予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させ、最適な出力データを得るための入力パラメータを求めるステップと、
を行い、
前記次の入力パラメータを決定するステップでは、全てのデータ点のうちの最適な出力データより良い出力データが得られる可能性を表す、入力パラメータを引数とする獲得関数であって、前記データ点から求まる分散値が大きいほど前記可能性が高くなる獲得関数に基づいて、前記可能性が最大となる入力パラメータを、次の入力パラメータとして決定する
入力パラメータ探索方法。
【請求項６】
コンピュータを、請求項１〜４の何れか１項記載の入力パラメータ探索装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレータの結果を最適化するような入力パラメータを探索する入力パラメータ探索装置、入力パラメータ探索方法、及び入力パラメータ探索プログラムに係り、特に、テーマパークシミュレータにおけるユーザの平均待ち時間を最小にするような、ユーザ毎のアトラクション巡回ルートを探索する入力パラメータ探索装置、入力パラメータ探索方法、及び入力パラメータ探索プログラムに関する。
【背景技術】
【０００２】
近年、一般道における交通渋滞、テーマパークにおけるアトラクションの長い待ち列等、いわゆる混雑が問題視されている。これに対し、国、自治体、企業等は、信号の点灯時間の変更による渋滞緩和を図ったり、パレード開催によるアトラクション待ち人数の分散を図ったりする等、様々な対策を行っている。
【０００３】
しかしながら、このような対策は、リスク及びコストの関係から簡単に行うことは難しい。例えば、渋滞を緩和するために信号点灯時間を変更した場合には逆に渋滞を引き起こすリスクが発生し、アトラクション待ち人数を分散させるためにパレードを実施した場合には、非常に多くのコストがかかってしまう。
【０００４】
このように対策を簡単に行うことができないという問題の一般的な解決方法として、シミュレータを用いて現実を仮想的に再現することで、シミュレータ上で疑似的に対策を行い、最適な対策を調べるということが行われている。例えば、シミュレータとしては、道路の形状、信号の点灯時間等を入力することで道路交通状況を再現することができる交通流シミュレータ、又は、アトラクション数、アトラクションの巡回ルート等を入力することでテーマパークでのユーザの待ち時間を再現することができるテーマパークシミュレータ等が存在する（上記非特許文献１を参照）。
【０００５】
図６に、テーマパークシミュレータの概略について説明するための説明図を示した。図６に示すように、シミュレータに対して、最適な出力（以下、「最適値」という）を与える入力パラメータ（以下、「最適パラメータ」という）を調べるという問題を、入力が“ユーザ毎のアトラクション巡回ルート”であって、出力が“平均待ち時間”であるテーマパークシミュレータを例にして考える。
【０００６】
この場合、ユーザの平均待ち時間が最少となるような巡回ルートを探索することになる。探索方法は、使用者が自身で“待ち時間の長いユーザ１００人分のルートを変更する”、“現在最も空いているアトラクション乗るようなルートに変更する”等というように、巡回ルートのルールを設定することで、待ち時間が短くなるような巡回ルートを探索することとなる。
【０００７】
また、図７に、テーマパークシミュレータの入出力について説明するための説明図を示した。このシミュレータでは、図７に示すように、シミュレーション使用者が自身でルールを考え、最適な入力を探索するイメージを、入力をユーザの巡回ルートとし、出力をアトラクション平均待ち時間としている。
【０００８】
シミュレーションの入力値及び出力値における“最適”の定義は、シミュレータ、シミュレータ使用者の目的等によって異なってもよい。
【０００９】
図８及び図９に、一例として、シミュレータの入力値及び出力値を示した。図８では、入力を巡回ルートとし、出力を巡回ルート毎の最大待ち時間としている。図８に示す例では、巡回ルートＲ４３が、最大待ち時間が最少となる巡回ルートであることがわかる。このようにすることで、最大待ち時間が最少となるルートを把握することができ、ユーザに不満が募りにくいルートを選択することが可能となる。
【００１０】
また、図９では、入力を、ユーザがアトラクションに乗り終わったら次にどのアトラクションに乗りやすいかというアトラクション間の遷移確率とし、出力を遷移確率毎の平均待ち時間としている。図９に示す例では、遷移確率Ｐ５２が、平均待ち時間が最少となる遷移確率であることがわかる。この場合には、個人の巡回ルートというミクロなパラメータではなく、アトラクション間の遷移確率というマクロなパラメータとして最適なものを選ぶことが可能となるため、テーマパーク運営者側として、どのようにユーザが遷移することが望ましいか、を把握することが可能となる。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】馬場美也子, 棚橋巌, 北岡広宣, 森博子, 寺本英二ほか. 交通流シミュレータnetstream. 情報処理学会論文誌, Vol. 46, No. 1, pp. 226-235, 2005.
【非特許文献２】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).
【発明の概要】
【発明が解決しようとする課題】
【００１２】
シミュレータへの入出力は、シミュレーションの種類、目的等に応じて変更することができる。例えば、道路交通状況を再現するための交通流シミュレータでは、入力を信号の点灯時間とし、出力を単位時間当たりの車の流量等とすることができる。
【００１３】
このように、シミュレーションのみを用いて最適な入力パラメータを発見しようとする場合、図７に示すように、シミュレータ使用者が自身で制御策の設定を考えなければならない。さらに、シミュレータの入力パラメータを決定する際に、どのような巡回ルートであれば待ち時間が短縮されるかといった知見は必ずしも存在せず、自身で考えた制御策の設定が待ち時間が短くなるルートとなっている保証もない。
【００１４】
本発明は、以上のような事情に鑑みてなされたものであり、最適な制御策を発見することができる入力パラメータ探索装置、入力パラメータ探索方法、及び入力パラメータ探索プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明の入力パラメータ探索装置は、入力パラメータに基づいて、シミュレーションを実行し、出力データを得るシミュレータ実行部と、前記入力パラメータと前記出力データとの組であるデータ点に基づいて、次の入力パラメータを決定する次入力パラメータ決定部と、予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させ、最適な出力データを得るための入力パラメータを求める反復判定部と、を含み、前記次入力パラメータ決定部は、全てのデータ点のうちの最適な出力データより良い出力データが得られる可能性を表す、入力パラメータを引数とする獲得関数であって、前記データ点から求まる分散値が大きいほど前記可能性が高くなる獲得関数に基づいて、前記可能性が最大となる入力パラメータを、次の入力パラメータとして決定する。
【００１６】
なお、本発明の入力パラメータ探索装置において、前記次入力パラメータ決定部は、全てのデータ点に基づいて、入力パラメータと前記出力データの平均値との関係式、及び入力パラメータと前記出力データの分散との関係式を推定し、推定された入力パラメータと前記出力データの平均値との関係式、及び入力パラメータと前記出力データの分散との関係式を用いて表される前記獲得関数に基づいて、前記可能性が最大となる入力パラメータを、次の入力パラメータとして決定するようにしても良い。
【００１７】
また、本発明の入力パラメータ探索装置において、前記入力パラメータを、テーマパークにおけるアトラクションの複数の巡回ルートとし、前記シミュレーションを行うシミュレータを、前記テーマパークにおける各アトラクションのユーザの待ち時間を再現するテーマパークシミュレータとし、前記出力データを、前記複数の巡回ルートのユーザの待ち時間の平均値又は最大値とするようにしても良い。
【００１８】
また、本発明の入力パラメータ探索装置において、前記シミュレーションの最大回数、及び前記出力データに対する閾値の入力を受け付けて設定するシミュレータ設定処理部を更に備え、前記反復判定部は、前記シミュレータ実行部による実行と前記次入力パラメータ決定部による決定とを繰り返す回数が前記最大回数を超えること、及び、前記出力データが前記閾値を下回ること、の何れか一方を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させるようにしても良い。
【００１９】
上記目的を達成するために、本発明の入力パラメータ探索方法は、シミュレータ実行部、次入力パラメータ決定部、及び反復判定部を含む入力パラメータ探索装置における入力パラメータ探索方法であって、
前記シミュレータ実行部が、入力パラメータに基づいて、シミュレーションを実行し、出力データを得るステップと、前記次入力パラメータ決定部が、前記入力パラメータと前記出力データとの組であるデータ点に基づいて、次の入力パラメータを決定するステップと、
前記反復判定部が、予め定めた繰り返し条件を満たすまで、前記シミュレータ実行部による実行と、前記次入力パラメータ決定部による決定とを繰り返させ、最適な出力データを得るための入力パラメータを求めるステップと、
を行い、
前記次の入力パラメータを決定するステップでは、全てのデータ点のうちの最適な出力データより良い出力データが得られる可能性を表す、入力パラメータを引数とする獲得関数であって、前記データ点から求まる分散値が大きいほど前記可能性が高くなる獲得関数に基づいて、前記可能性が最大となる入力パラメータを、次の入力パラメータとして決定する。
【００２０】
上記目的を達成するために、本発明の文書分類プログラムは、コンピュータを、上記入力パラメータ探索装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２１】
本発明によれば、最適な制御策を発見することができることができる。
【図面の簡単な説明】
【００２２】
【図１】実施形態に係る入力パラメータ探索装置における入力パラメータ探索処理を説明するための説明図である。
【図２】本実施形態に係る入力パラメータ探索装置において、所定のシミュレータに対して、最小値を与えるパラメータを探索する様子を示すグラフである。
【図３】実施形態に係る入力パラメータ探索装置における入力をユーザの巡回ルートとし、出力を平均待ち時間とした場合のテーマパークシミュレータに対し、ベイズ最適化を行った結果の一例を示すグラフである。
【図４】実施形態に係る入力パラメータ探索装置の機能構成を示すブロック図である。
【図５】実施形態に係る入力パラメータ探索装置により実行される入力パラメータ探索処理の流れを示すフローチャートである。
【図６】従来のテーマパークシミュレータの概略について説明するための説明図である。
【図７】従来のテーマパークシミュレータの入出力について説明するための説明図である。
【図８】従来のテーマパークシミュレータの入力値及び出力値の一例である。
【図９】従来のテーマパークシミュレータの入力値及び出力値の一例である。
【発明を実施するための形態】
【００２３】
本実施形態に係る入力パラメータ探索装置は、どのような入力パラメータを用いると良い結果をもたらすかを使用者が考えることなく、最適パラメータを探索する。
【００２４】
例えば、図６に示すように、巡回ルートＲ１、Ｒ２、…、ＲＮをシミュレータに入力し、平均待ち時間ｙ１、ｙ２、…、ｙＮという結果を得たとする。ここで、平均待ち時間が最少となった巡回ルートを巡回ルートＲ＊とする。この場合、本実施形態では、下記（１）及び（２）に示す２つの考え方に基づいて平均待ち時間を最小にするパラメータの探索を行う。
【００２５】
（１）巡回ルートＲ＊と“似た”ルートは、同様に良い結果をもたらす可能性が高い。
（２）Ｒ１、Ｒ２、…、ＲＮと”似ていない”ルートは、類似のルートが調べられていないという意味で不確実性が高いため、探索を行う必要がある。
【００２６】
ここで、巡回ルートが“似ている”といったいわゆる類似度は、問題毎に変更して良い。例えば、ユーザ１の巡回ルートがアトラクション１→アトラクション２→アトラクション３であった場合、その巡回ルートを（１，２，３）という風に自然にユークリッド空間に射影し、巡回ルート間の距離を射影したベクトルのユークリッド距離によって定義しても良いし、巡回ルートの一部を抽出して、部分構造の類似度によって近さを定義しても良い。
【００２７】
このように、本手法では、「待ち時間が最少となる可能性が高い巡回ルート」を探索していくため、使用者が入力の巡回ルートを自身で考えることなく最適パラメータを発見することが可能となる。
【００２８】
そこで、本実施形態に係る入力パラメータ探索装置は、“シミュレータ”と“ベイズ最適化”とを合わせた手法を行う。この手法は、下記の２つのステップで実現される
【００２９】
（ステップ１）シミュレータによってデータ点（ｘ，ｙ）を得る。
（ステップ２）シミュレータに入力するパラメータｘｎｅｘｔを決定する。
【００３０】
（ステップ１）及び（ステップ２）を行った後、（ステップ１）に戻り、（ステップ２）で得られたパラメータｘｎｅｘｔを入力する。
【００３１】
ベイズ最適化は、本来、機械学習におけるハイパーパラメータを探索する技術として用いられ、ある分野では、専門家のパラメータチューニングよりも正確で高速な入力パラメータ探索を実現しており、その有効性が確かめられている。特に、機械学習に係る時間が非常に短い場合に有用であると言われている（上記非特許文献２を参照）。
【００３２】
以下、本実施形態に係る入力パラメータ探索装置で用いる手法について詳細に説明する。図１は、本実施形態に係る入力パラメータ探索装置における入力パラメータ探索処理について説明するための説明図である。図１に示すように、まず、ベイズ最適化では、入力及び出力の関係式がガウス過程に従うと仮定する。ここで、シミュレータ５０の入力ｘｉ及び出力ｙｉとのデータの組を、Ｄ＝｛（ｘｉ，ｙｉ）｜ｉ＝１、２、…Ｎ｝とすると、入力パラメータ全体の集合Ｘｐａｒａの元ｘは、下記（１）式及び（２）式で与えられる平均をμとし、分散をσとした正規分布に従う。
【００３３】
【数１】
2018073360.tif 000003
…（１）
【００３４】
【数２】
2018073360.tif 000004
…（２）
【００３５】
ここで、上記（１）式及び（２）式におけるｋ、Ｋは、カーネル関数と呼ばれる入力パラメータｘ１とｘ２との類似度ｋ（ｘ１，ｘ２）を定義する関数を用いると、下記（３）式及び（４）式のように書ける。ただし、上付き記号Ｔは行列の転置を表し、上付き記号−１は逆行列を表す。
【００３６】
【数３】
2018073360.tif 000005
…（３）
【００３７】
【数４】
2018073360.tif 000006
（ただし、ｋｉｊ＝ｋ（ｘｉ，ｘｊ））
…（４）
【００３８】
このカーネル関数は、問題に応じて変更して良い。代表的なカーネルとして、線形カーネル、ガウスカーネル等が挙げられる（上記非特許文献３を参照）。
【００３９】
次に、入力パラメータｘに対し、現状得られている最小値を下回る可能性を定量的に表す獲得関数と呼ばれる実数値関数αを、上記（１）式及び（２）式で与えられた平均μ及び分散σを用いて下記（５）式のように定義する。ここで、Φ（ｘ）は、標準正規分布における累積分布関数を表し、Ｎ（ｘ）は、標準正規分布における確率密度関数を表す。
【００４０】
【数５】
2018073360.tif 000007
…（５）
【００４１】
また，γ（ｘ）は、下記（６）式で与えられる関数である。なお、下記（６）式におけるｆｂｅｓｔは、シミュレータ５０で得られた出力結果の最小値とする。
【００４２】
【数６】
2018073360.tif 000008
…（６）
【００４３】
この獲得関数値が最大となる入力パラメータを下記（７）式によって求め、ｘｎｅｘｔとする。
【００４４】
【数７】
2018073360.tif 000009
…（７）
【００４５】
この（ステップ１）及び（ステップ２）を繰り返し行うことで最適パラメータを探索することが可能となる。
【００４６】
図２は、本実施形態に係る入力パラメータ探索装置１において、シミュレータ５０に対して、最小値を与えるパラメータを探索する様子を示すグラフである。図２の上部には、シミュレータ５０から得られたデータ点｛（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）｝、ｘにおける平均値５２、ドット領域でガウス量によって出力された分散値をもとに９５％信頼領域５４を示している。
【００４７】
また、図２で考えているパラメータ全体の集合Ｘｐａｒａは、Ｘｐａｒａ＝｛ｘ｝｜０≦ｘ≦１０｝としている。図２の下部には、入力パラメータｘに対し、ｘがどれだけ最小値をとる可能性が高いかを表す獲得関数α（ｘ）の値が示されている。この獲得関数値が最も高いパラメータが、次のシミュレーションの入力パラメータｘｎｅｘｔとなる。
【００４８】
ここで、図２の下部の獲得関数値を見てみると、次に入力となっているｘｎｅｘｔは、分散値が大きい点、言い換えると観測データ点が少なく探索が行われていない不確かな領域の点となっている。また、図２において最小値を与えているデータは（ｘ２，ｙ２）であるが、この付近の獲得関数値が最も大きくなっていることがわかる。
【００４９】
このように、上記（５）式に示される獲得関数は、“分散値が大きい不確かな領域”と、“現状の最小値を与えるパラメータ付近”を次の探索点に選びやすいようになっている。なお、今回は例示のためにこれら４点で説明したが、これに限らず、任意の点に対しても成立する事実である。
【００５０】
図３に、入力をユーザの巡回ルートとし、出力を平均待ち時間とした場合のテーマパークシミュレータ５０に対し、ベイズ最適化を行った結果を示した。なお、図３に示すグラフの横軸はベイズ最適化における探索回数を表し、縦軸は平均待ち時間を表している。実線６０でランダムに巡回ルートを選択し、シミュレーションを行った結果を示し、点線６２で、ベイズ最適化の結果を示す。
【００５１】
図３におけるそれぞれの手法を用いた結果において、探索回数までの平均待ち時間の最小値を表示している。図３から、ランダムに巡回ルートを入力した場合に比べ、ベイズ最適化によって待ち時間が短くなるような巡回ルートを発見できていることがわかる。
【００５２】
また、以上の処理は全て自動で行われるため、使用者が入力する制御策の設定を考える必要はない。このようにシミュレータ５０とベイズ最適化技術とを組み合わせたことにより、最適な制御策を発見することができる、という効果が得られる。
【００５３】
図４に、本実施形態に係る入力パラメータ探索装置１の全体構成を示した。図４に示すように、入力パラメータ探索装置１は、シミュレータ設定処理部１０、データ記憶部２０、ベイズ最適化実行部３０、及び最適パラメータ処理部４０を含んで構成されている。シミュレータ設定処理部１０、及び最適パラメータ処理部４０は、それぞれ入力装置等の外部装置２に接続されている。
【００５４】
シミュレータ設定処理部１０は、入力パラメータとして、シミュレーションの最大回数、及び、システムを終了するか否かの判定を行うための出力値の閾値の少なくとも一方の入力を受け付けて、データ記憶部２０の各々対応するフィールドに設定する。
【００５５】
データ記憶部２０は、シミュレータ設定テーブル２１、及び、最適パラメータテーブル２２を有している。
【００５６】
シミュレータ設定テーブル２１は、最大シミュレーション実行回数フィールド、閾値フィールドを有する。最大シミュレーション実行回数フィールドは、シミュレータ設定処理部１０により入力された上記最大回数が設定され、閾値フィールドには、上記出力値の閾値が設定される。
【００５７】
最適パラメータテーブル２２は、ベイズ最適化実行部３０により入力された最適パラメータが設定される。
【００５８】
ベイズ最適化実行部３０は、次入力パラメータ決定部３１、シミュレータ実行部３２、ベイズ最適化結果保管部３３、及び、反復判定部３４を有している。
【００５９】
次入力パラメータ決定部３１は、入力パラメータと前記出力データとの組であるデータ点に基づいて、次の入力パラメータを決定する。
【００６０】
シミュレータ実行部３２は、入力パラメータに基づいて、シミュレーションを実行し、出力データを得る。
【００６１】
ベイズ最適化結果保管部３３は、シミュレーションの出力値を最少とするパラメータを保管する。
【００６２】
反復判定部３４は、予め定めた繰り返し条件を満たすまで、シミュレータ実行部３２による実行と、次入力パラメータ決定部３１による決定とを繰り返させ、最適な出力データを得るための入力パラメータを求める。
【００６３】
なお、本実施形態に係る入力パラメータ探索装置１は、例えば、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、各種プログラムを記憶するＲＯＭ（Read Only Memory）を備えたコンピュータ装置で構成される。また、入力パラメータ探索装置１を構成するコンピュータは、ハードディスクドライブ、不揮発性メモリ等の記憶部を備えていても良い。本実施形態では、ＣＰＵがＲＯＭ、ハードディスク等の記憶部に記憶されているプログラムを読み出して実行することにより、上記のハードウェア資源とプログラムとが協働し、上述した機能が実現される。
【００６４】
ここで、本実施形態に係る入力パラメータ探索装置１が実行する入力パラメータ探索処理について、図５を参照して説明する。
【００６５】
本実施形態では、入力パラメータ探索装置１が入力パラメータ探索処理を実行するタイミングは、例えば、使用者が外部装置２から入力パラメータ探索処理の実行を指示したタイミングとする。
【００６６】
ステップＳ１０１では、シミュレータ設定処理部１０が、外部装置２により入力された、最大シミュレーション実行回数Ｍ、及び終了条件の閾値εを、データ記憶部２０のシミュレータ設定テーブル２１に設定する。
【００６７】
ステップＳ１０３では、シミュレータ実行部３２が、ランダムに選んだ巡回ルートＲ又は後述するステップＳ１１３で決定された巡回ルートＲを入力パラメータとしてシミュレーションを実行し、巡回ルートＲとそれにより得られた結果ｙとの組（Ｒ，ｙ）をベイズ最適化結果保管部３３に入力する。
【００６８】
ステップＳ１０５では、シミュレータ実行部３２が、シミュレーション実行回数を更新する。
【００６９】
ステップＳ１０７では、シミュレータ実行部３２が、シミュレーション実行回数がステップＳ１０１で設定された最大繰り返し回数Ｍを超えたか否かを判定する。ステップＳ１０７でシミュレーション実行回数が最大繰り返し回数Ｍを超えたと判定した場合（Ｓ１０７，Ｙ）はステップＳ１１７に移行する。また、ステップＳ１０７でシミュレーション実行回数が最大繰り返し回数Ｍを超えていないと判定した場合（Ｓ１０７，Ｎ）はステップＳ１０９に移行する。
【００７０】
ステップＳ１０９では、シミュレータ実行部３２が、シミュレーションの出力値がステップＳ１０１で設定された閾値εより小さいか否かを判定する。ステップＳ１０９でシミュレーションの出力値が閾値εより小さいと判定した場合（Ｓ１０９，Ｙ）はステップＳ１１７に移行する。また、ステップＳ１０９でシミュレーションの出力値が閾値ε以上であると判定した場合（Ｓ１０９，Ｎ）はステップＳ１０３に移行する。
【００７１】
ステップＳ１１１では、次入力パラメータ決定部３１が、ベイズ最適化結果保管部３に入力された全てのデータ点を用いて、入力パラメータと出力データの平均値との関係式μ（ｘ）、及び入力パラメータと出力データの分散との関係式σ（ｘ）を推定する。
【００７２】
ステップＳ１１３では、次入力パラメータ決定部３１が、上記ステップＳ１１１で推定された関係式μ（ｘ）、σ（ｘ）を用いて、上記（７）式に従って次にシミュレータ５０に入力する入力パラメータとして、巡回ルートＲｎｅｘｔを算出する。
【００７３】
ステップＳ１１５では、最適パラメータ処理部４０が、処理を終了した時点でベイズ最適化結果保管部３に入力されているデータのうち、最小値を与える入力パラメータを算出し、算出した入力パラメータをデータ記憶部２０の最適パラメータテーブル２２に設定する。
【００７４】
ステップＳ１１７では、最適パラメータ処理部４０が、データ記憶部２０の最適パラメータテーブル２２に設定されている最適パラメータを外部装置２に出力して、本処理のプログラムの実行を終了する。
【００７５】
なお、本実施形態では、入力をユーザの巡回ルートとし、出力を平均待ち時間とするテーマパークシミュレータ５０を用いた場合について説明したが、これに限らない。例えば、出力を待ち時間の最大値してもよい。また、入力を信号の点灯時間とし、出力を単位時間当たりの車の流量とするシミュレータ等を用いることもでき、その形態にとらわれることなく全てのシミュレータに対して最適パラメータを探索することが可能である。
【００７６】
また、本実施形態では、図４に示す機能の構成要素の動作をプログラムとして構築し、入力パラメータ探索装置１として利用されるコンピュータにインストールして実行させるが、これに限らず、ネットワークを介して流通させても良い。
【００７７】
また、構築されたプログラムをハードディスクやフレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールしたり、配布したりしても良い。
【符号の説明】
【００７８】
１  入力パラメータ探索装置
２  外部装置
１０  シミュレータ設定処理部
２０  データ記憶部
２１  シミュレータ設定テーブル
２２  最適パラメータテーブル
３０  ベイズ最適化実行部
３１  次入力パラメータ決定部
３２  シミュレータ実行部
３３  ベイズ最適化結果保管部
４０  最適パラメータ処理部
【図１】
2018073360.tif 000010
【図２】
2018073360.tif 000011
【図３】
2018073360.tif 000012
【図４】
2018073360.tif 000013
【図５】
2018073360.tif 000014
【図６】
2018073360.tif 000015
【図７】
2018073360.tif 000016
【図８】
2018073360.tif 000017
【図９】
2018073360.tif 000018