(57)【要約】  パラメータ最適化装置１０は、パラメータを入力とし、特定の事象についてのシミュレーションを実行するシミュレータ１１と、シミュレータ１１からの出力結果を論理表現に変換するデータ解釈部１２と、論理表現、特定の事象の目的状態を示すクエリ、及び特定の事象について予め用意されている知識情報を用いて、特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する推論部１３と、推論パスから、シミュレーションにおいて入力となる新たなパラメータを決定するパラメータ決定部１４とを備えている。シミュレータ１１は、新たなパラメータが決定されると、これを入力として、特定の事象についてのシミュレーションを実行する。
2018083950.tif 000002
【特許請求の範囲】
【請求項１】
パラメータを入力として、特定の事象についてのシミュレーションを実行する、シミュレータと、
前記シミュレータからの出力の結果を論理表現に変換する、データ解釈部と、
前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、推論部と、
前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、パラメータ決定部と、
を備え、
前記シミュレータは、前記新たなパラメータが決定されると、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とするパラメータ最適化装置。
【請求項２】
前記データ解釈部は、前記シミュレータからの出力の結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
請求項１に記載のパラメータ最適化装置。
【請求項３】
前記パラメータ決定部は、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
請求項１または２に記載のパラメータ最適化装置。
【請求項４】
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレータからの出力の結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを有し、
前記新たなパラメータが決定されると、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とするパラメータ最適化方法。
【請求項５】
前記（ｂ）のステップにおいて、前記シミュレータからの出力の結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
請求項４に記載のパラメータ最適化方法。
【請求項６】
前記（ｄ）のステップにおいて、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
請求項４または５に記載のパラメータ最適化方法。
【請求項７】
コンピュータに、
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレータからの出力の結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを、
実行させる命令を含み、
前記新たなパラメータが決定されると、前記コンピュータに、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行させる、
プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【請求項８】
前記（ｂ）のステップにおいて、前記シミュレータからの出力の結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
請求項７に記載のコンピュータ読み取り可能な記録媒体。
【請求項９】
前記（ｄ）のステップにおいて、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
請求項７または８に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定の事象についてのシミュレーションを実行する際のパラメータを最適化する、パラメータ最適化装置、及びパラメータ最適化方法に関し、更には、これらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、種々の分野においてシミュレーション、取り分け、コンピュータを利用したコンピュータ・シミュレーションが利用されている。コンピュータ・シミュレーション（以下、単に「シミュレーション」と表記する。）は、コンピュータによって、対象となるシステムを模したモデルを構築し、このモデルに種々のパラメータを入力することによって行なわれる。【０００３】
例えば、圃場における農産物の栽培のシミュレーションを行なう場合は、シミュレータとして機能するコンピュータには、降水量、日射量、土質、地形、肥料、農作業等のパラメータが入力される。そして、コンピュータは、入力されたパラメータの値に応じて、収穫量を予測し、予測した値を出力する。このため、このようなシミュレーションによれば、生産者は、どのようにして栽培すれば、農産物の収穫量を高めることができるのかを予め知ることができる。【０００４】
また、シミュレーションを行なうためには、このように複数のパラメータを入力する必要があり、そして、良いシミュレーション結果を得るためには、適切なパラメータの組合せを探し出す必要がある。適切なパラメータの組合せを探し出す手法としては、グリッドサーチ及びベイズ的最適化（Bayesian Optimization）が知られている（例えば、非特許文献１参照）。【０００５】
グリッドサーチでは、探索対象となるパラメータの数を次元として、格子状に区切られたパラメータの探索空間が設定される。このとき、格子点毎に、パラメータの組合せが割当てられ、格子点毎に、シミュレーションが実行される。【０００６】
但し、グリッドサーチでは、パラメータの全ての組合せについて、シミュレーションを実行する必要がある。このため、１回のシミュレーションにかかるコストが大きい場合に対応できないという問題がある。【０００７】
これに対して、ベイズ的最適化では、既にある情報を元に、まず、候補となるパラメータの組合せが選択され、選択されたパラメータの組合せからシミュレーションが実行される。そして、この実行結果に基づいて、別のパラメータの組合せが選択され、シミュレーションが実行される。つまり、ベイズ的最適化によれば、適切となる可能性が高いパラメータの当りをつけながら、シミュレーションが実行されるので、グリッドサーチに比べて、シミュレーションの回数を抑えることができ、シミュレーションコストを低減できる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】牧山幸史、匿名知的集団ホクソエム、「機械学習のためのベイズ最適化入門」、［online］、平成２８年８月２５日、Ｍａｎａｔｅｅ、［平成２８年１０月１１日検索］、インターネット＜URL：https://book.mynavi.jp/manatee/detail/id=59393＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、ベイズ的最適化において、パラメータの組合せの選択の際に、シミュレーションの対象となっている事象における知識を利用できれば、パラメータの組合せの選択をより効率的に行なえると考えられる。例えば、上述した農産物の栽培のシミュレーションにおいては、農業における知識を活用すれば、より可能性の高いパラメータの組合せを選択できると考えられる。【００１０】
しかしながら、従来からのベイズ的最適化においては、知識を活用することは考慮されておらず、パラメータの組合せの選択は、目的関数に対して評価関数を設定することによって行なわれている。このため、ベイズ的最適化を用いても、シミュレーションの回数の削減には、限度があり、結果、シミュレーションコストの削減にも限度がある。【００１１】
本発明の目的の一例は、上記問題を解消し、特定の事象についてのシミュレーションを実行する際に、最適なパラメータの組合せを効率良く選択し得る、パラメータ最適化装置、パラメータ最適化方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の一側面におけるパラメータ最適化装置は、
パラメータを入力として、特定の事象についてのシミュレーションを実行する、シミュレータと、
前記シミュレータからの出力の結果を論理表現に変換する、データ解釈部と、
前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、推論部と、
前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、パラメータ決定部と、
を備え、
前記シミュレータは、前記新たなパラメータが決定されると、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とする。【００１３】
また、上記目的を達成するため、本発明の一側面におけるパラメータ最適化方法は、
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレータからの出力の結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを有し、
前記新たなパラメータが決定されると、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とする。【００１４】
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、
コンピュータに、
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレータからの出力の結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを、
実行させる命令を含み、
前記新たなパラメータが決定されると、前記コンピュータに、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行させる、
プログラムを記録していることを特徴とする。
【発明の効果】
【００１５】
以上のように、本発明によれば、特定の事象についてのシミュレーションを実行する際に、最適なパラメータの組合せを効率良く選択することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施の形態におけるパラメータ最適化装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態におけるパラメータ最適化装置の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態で用いられるデータの一例を示す図である。
【図４】図４は、本発明の実施の形態におけるパラメータ最適化装置の動作を示すフロー図である。
【図５】図５は、本発明の実施の形態におけるパラメータ最適化装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１７】
（実施の形態）
以下、本発明の実施の形態における、パラメータ最適化装置、パラメータ最適化方法、及びプログラムについて、図１〜図５を参照しながら説明する。
【００１８】
［装置構成］
最初に、本実施の形態におけるパラメータ最適化装置の概略構成について説明する。図１は、本発明の実施の形態におけるパラメータ最適化装置の概略構成を示すブロック図である。
【００１９】
図１に示す、本実施の形態におけるパラメータ最適化装置１０は、特定の事象についてのシミュレーションを実行する際におけるパラメータを最適化する装置である。図１に示すように、パラメータ最適化装置１０は、シミュレータ１１と、データ解釈部１２と、推論部１３と、パラメータ決定部１４とを備えている。
【００２０】
シミュレータ１１は、パラメータを入力として、特定の事象についてのシミュレーションを実行する。データ解釈部１２は、シミュレータ１１からの出力の結果を論理表現に変換する。
【００２１】
推論部１３は、論理表現、特定の事象の目的状態を示すクエリ、及び特定の事象について予め用意されている知識情報を用いて、特定の事象において生じる現象を推測する。また、推論部１３は、推測した現象から推論パスを生成する。
【００２２】
パラメータ決定部１４は、推論パスから、シミュレーションにおいて入力となる新たなパラメータを決定する。そして、新たなパラメータが決定されると、シミュレータ１１は、新たなパラメータを入力として、特定の事象についてのシミュレーションを再度実行する。
【００２３】
このように、本実施の形態では、シミュレータ１１によってシミュレーションが行なわれると、シミュレーション結果に知識情報を適用して現象の推測が行なわれ、更に、推測結果から新たなパラメータが決定される。そして、新たなパラメータを用いたシミュレーションが再度実行される。つまり、本実施の形態では、特定の事象についての事前知識を考慮して、シミュレーションを実行できるので、特定の事象についてのシミュレーションを実行する際に、最適なパラメータの組合せを効率良く選択することができる。
【００２４】
続いて、図２及び図３を用いて、本実施の形態におけるパラメータ最適化装置１０の構成について更に具体的に説明する。図２は、本発明の実施の形態におけるパラメータ最適化装置の具体的構成を示すブロック図である。図３は、本発明の実施の形態で用いられるデータの一例を示す図である。
【００２５】
図２に示すように、本実施の形態では、パラメータ最適化装置１０は、シミュレータ１１、データ解釈部１２、推論部１３、及びパラメータ決定部１４に加えて、解釈ルールデータベース１５と、知識データベース１６と、変換ルールデータベース１７とを備えている。各データベースに格納されている情報については後述する。
【００２６】
シミュレータ１１は、本実施の形態では、特定の事象を模擬的に再現したモデルを有し、このモデルにパラメータを入力することによって、特定の事象を再現する。特定の事象としては、例えば、ある圃場での農作物の生産、プラントの運転、航空機の飛行等が挙げられる。従って、特定の事象が農産物の生産である場合は、シミュレータ１１は、例えば、パラメータとして、農産物の作付面積、肥料の量及び肥料を与えるタイミング等を受付けると、受付けたパラメータに応じて、農産物の生産量を算出する（図３参照）。
【００２７】
データ解釈部１２は、本実施の形態では、シミュレータ１１からの出力の結果、例えば、数値データ、カテゴリデータ等を、予め設定された解釈ルールに基づいて、論理表現に変換する。また、解釈ルールは、解釈ルールデータベース１５に格納されている。論理表現としては、例えば、一階述語論理（ＦＯＬ：First Order predicate Logic）が挙げられる。なお、データ解釈部１２に入力される入力データは、シミュレータ１１の出力の結果に限定されず、シミュレータ１１に入力されるパラメータであっても良い。
【００２８】
具体的には、例えば、シミュレータ１１からの出力の結果が、図３に示すように、「圃場ａでの農産物Ａの収穫量：５０ｋｇ、圃場ｂでの農産物Ｂの収穫量：１００ｋｇ、１月の降水量：１０ｍｍ、１月の日照量：２４０Ｈ、・・・」であるとする。また、解釈ルールデータベース１５には、図３に示すように、解釈ルールとして、「農産物Ａの収穫量＞７０ｋｇ→収穫（Ａ，豊作）」、「１月の降水量＜２０ｍｍ→降水量（１月，少）」、といったルールが格納されているとする。
【００２９】
この場合、データ解釈部１２は、出力結果を、解釈ルールに適用して、図３に示すように、「収穫（Ａ，豊作）、収穫（Ｂ，豊作）、降水量（１月，少）、降水量（２月，並）、降水量（３月，多）、・・・」といった論理表現を作成する。
【００３０】
推論部１３は、本実施の形態では、知識情報として、知識データベース１６に格納されている知識情報を用いる。知識情報としては、例えば、特定の事象がある圃場での農作物の生産であるとすると、「１月に雨が多いにも拘わらず、農産物Ａに１月に与えた肥料Ｐの量が多い場合は、農産物Ａの根が腐る［雨（１月，多）ＡＮＤ肥料Ｐ（Ｘ，１月，多）→根腐れ（Ｘ）］」といった情報（図３参照）が挙げられる。
【００３１】
また、本実施の形態において、知識情報は、予め人手によって作成されていても良いし、教科書、マニュアル、過去の作業日誌等から自動的又は半自動的に作成されていても良い。なお、図３において、「Ｘ」は、任意のパラメータであり、Ｘが特定する内容は特に限定されるものではない。
【００３２】
また、推論部１３が用いる論理表現としては、上述した一階述語論理が挙げられる。推論部１３が用いるクエリとしては、図３に示す「農産物Ａ及び農産物Ｂの収穫が豊作［収穫（Ａ，豊作）ＡＮＤ  収穫（Ｂ，豊作）］」といったクエリが挙げられる。
【００３３】
そして、このようなクエリと、図３に示す論理表現「収穫（Ａ，豊作）、収穫（Ｂ，豊作）、降水量（１月，少）、降水量（２月，並）、降水量（３月，多）、・・・」が入力されるとすると、推論部１３は、上述の知識情報に基づいて、下記のような推論パス（図３参照）を生成する。
推論パス：降水量（１月，少）ＡＮＤ肥料Ｑ（Ａ，１月，少）→生育（Ａ，大）→収穫（Ａ，豊作）
【００３４】
また、本実施の形態では、推論部１３は、推測処理エンジンを有しており、この推測処理エンジンに、論理表現、クエリ、及び知識情報を入力することによって、論理パスを生成する。また、推測処理エンジンの例としては、Ｐｒｏｌｏｇ（PROgram in LOGic）と呼ばれる論理型プログラミング言語（参考文献１）によって作成されたプログラムが挙げられる。その他に、推理処理エンジンの例としては、確率論理推論（参考文献２）に基づいて作成されたプログラム、重みつき仮説推論（Weighted Abduction：参考文献３）に基づいて作成されたプログラムも挙げられる。
【００３５】
参考文献１：新田克己著、「知識と推論」、サイエンス社、ｐ．５８〜６２
参考文献２：JSAI2016、佐々木健太郎、アンドラーデ・ダニエル、渡邉陽太郎、定政邦彦著、「確率論理推論の推論結果を端的に説明するルール集合の特定」、The 30th Annual Conference of the Japanese Society for ArtificialIntelligence 2016
参考文献３：山本風人、井之上直也、乾健太郎著、「言語処理のための仮説推論エンジン」、Phillip、言語処理学会、第２１回年次大会、２０１５年３月
【００３６】
パラメータ決定部１４は、本実施の形態では、既に実行されているシミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定する。そして、パラメータ決定部１４は、推論パスに基づいて、パラメータの候補を補正することによって、新たなパラメータを決定する。
【００３７】
具体的には、パラメータ決定部１４が、既に実行されているシミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、例えば、パラメータ候補として、「肥料Ｑ：３ｇ／ｍ２〜６ｇ／ｍ２」を得ているとする。
【００３８】
また、パラメータ決定部１４は、推論部１３が生成した推論パスの中から、制御可能な述語を選択する。例えば、上述した推論パスの具体例であれば、パラメータ決定部１４は、制御可能な述語として、「肥料Ｑ（Ａ，１月，少）」を選択する。そして、パラメータ決定部１４は、選択した述語を、変換ルールデータベース１７に格納されている変換ルールに適用して、変換結果を取得する。例えば、変換ルールが、図３に示すように、「肥料Ｑ（Ａ，１月，少）」→肥料Ｑ：５ｇ／ｍ２〜１０ｇ／ｍ２」であるならば、パラメータ決定部１４は、変換結果として「肥料Ｑ：５ｇ／ｍ２〜１０ｇ／ｍ２」を取得する。
【００３９】
そして、このような場合、パラメータ決定部１４は、パラメータ候補「肥料Ｑ：３ｇ／ｍ２〜６ｇ／ｍ２」を、変換結果「肥料Ｑ：５ｇ／ｍ２〜１０ｇ／ｍ２」によって補正し、補正後のパラメータ候補を新たなパラメータに決定する。上述の場合は、例えば、「肥料Ｑ：６ｇ／ｍ２」が新たなパラメータに決定される（図３参照）。パラメータ決定部１４は、その後、新たなパラメータをシミュレータ１１に入力する。
【００４０】
［装置動作］
次に、本実施の形態におけるパラメータ最適化装置１０の動作について図４を用いて説明する。図４は、本発明の実施の形態におけるパラメータ最適化装置の動作を示すフロー図である。以下の説明においては、適宜図１〜図３を参酌する。また、本実施の形態では、パラメータ最適化装置１０を動作させることによって、パラメータ最適化方法が実施される。よって、本実施の形態におけるパラメータ最適化方法の説明は、以下のパラメータ最適化装置１０の動作説明に代える。
【００４１】
図４に示すように、最初に、シミュレータ１１は、初期設定のパラメータを入力として、特定の事象についてのシミュレーションを実行する（ステップＡ１）。シミュレータ１１は、シミュレーションの結果を、データ解釈部１２に受け渡す。
【００４２】
次に、データ解釈部１２は、解釈ルールデータベース１５に格納されている解釈ルールに基づいて、ステップＡ１で得られたシミュレーションの結果を論理表現に変換する（ステップＡ２）。データ解釈部１２は、得られた論理表現を推論部１３に受け渡す。
【００４３】
次に、推論部１３は、ステップＡ２で生成された論理表現、特定の事象の目的状態を示すクエリ、及び知識データベース１６に格納されている知識情報を用いて、特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する（ステップＡ３）。推論部１３は、生成した推論パスをパラメータ決定部１４に受け渡す。
【００４４】
次に、パラメータ決定部１４は、ステップＡ３で生成された推論パスから、シミュレーションにおいて入力となる新たなパラメータを決定する（ステップＡ４）。また、パラメータ決定部１４は、決定した新たなパラメータをシミュレータ１１に受け渡す。
【００４５】
次に、シミュレータ１１は、ステップＡ４で決定された新たなパラメータを入力として、特定の事象についてのシミュレーションを再度実行する（ステップＡ５）。
【００４６】
その後、シミュレータ１１は、処理終了が指示されているかどうかを判定する（ステップＡ６）。ステップＡ６の判定の結果、処理終了が指示されていない場合は、シミュレータ１１は、シミュレーションの結果をデータ解釈部１２に受け渡す。これにより、再度ステップＡ２が実行される。一方、処理終了が指示されている場合は、シミュレータ１１は、結果を外部に出力する。
【００４７】
以上のように本実施の形態によれば、シミュレーション結果の論理表現への変換、推論パスの生成、新たなパラメータの決定、新たなパラメータによるシミュレーション、という工程が繰り返し実行される。そして、推論パスの生成には、知識情報が活用される。このため、本実施の形態によれば、特定の事象についてのシミュレーションを実行する際に、最適なパラメータの組合せを効率良く選択することができる。
【００４８】
［プログラム］
本実施の形態におけるプログラムは、コンピュータに、図４に示すステップＡ１〜Ａ６を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるパラメータ最適化装置１０とパラメータ最適化方法とを実現することができる。この場合、コンピュータのプロセッサは、シミュレータ１１、データ解釈部１２、推論部１３、及びパラメータ決定部１４として機能し、処理を行なう。
【００４９】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、シミュレータ１１、データ解釈部１２、推論部１３、及びパラメータ決定部１４のいずれかとして機能しても良い。
【００５０】
ここで、本実施の形態におけるプログラムを実行することによって、パラメータ最適化装置１０を実現するコンピュータについて図５を用いて説明する。図５は、本発明の実施の形態におけるパラメータ最適化装置を実現するコンピュータの一例を示すブロック図である。
【００５１】
図５に示すように、コンピュータ１１０は、ＣＰＵ（CentralProcessing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００５２】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００５３】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００５４】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００５５】
また、記録媒体１２０の具体例としては、ＣＦ（CompactFlash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact DiskRead Only Memory）などの光学記録媒体が挙げられる。
【００５６】
なお、本実施の形態におけるパラメータ最適化装置１０は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、パラメータ最適化装置１０は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００５７】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記９）によって表現することができるが、以下の記載に限定されるものではない。
【００５８】
（付記１）  パラメータを入力として、特定の事象についてのシミュレーションを実行する、シミュレータと、
前記シミュレータからの出力の結果を論理表現に変換する、データ解釈部と、
前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、推論部と、
前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、パラメータ決定部と、
を備え、
前記シミュレータは、前記新たなパラメータが決定されると、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とするパラメータ最適化装置。
【００５９】
（付記２）  前記データ解釈部は、前記シミュレータからの出力の結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
付記１に記載のパラメータ最適化装置。
【００６０】
（付記３）  前記パラメータ決定部は、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
付記１または２に記載のパラメータ最適化装置。
【００６１】
（付記４）（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレータからの出力の結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを有し、
前記新たなパラメータが決定されると、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とするパラメータ最適化方法。
【００６２】
（付記５）  前記（ｂ）のステップにおいて、前記シミュレータからの出力の結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
付記４に記載のパラメータ最適化方法。
【００６３】
（付記６）
前記（ｄ）のステップにおいて、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
付記４または５に記載のパラメータ最適化方法。
【００６４】
（付記７）コンピュータに、
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレータからの出力の結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを、
実行させる命令を含み、
前記新たなパラメータが決定されると、前記コンピュータに、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行させる、
プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【００６５】
（付記８）  前記（ｂ）のステップにおいて、前記シミュレータからの出力の結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
付記７に記載のコンピュータ読み取り可能な記録媒体。
【００６６】
（付記９）  前記（ｄ）のステップにおいて、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
付記７または８に記載のコンピュータ読み取り可能な記録媒体。
【００６７】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００６８】
この出願は、２０１６年１１月７日に出願された日本出願特願２０１６−２１７５９７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００６９】
以上のように、本発明によれば、特定の事象についてのシミュレーションを実行する際に、最適なパラメータの組合せを効率良く選択することができる。本発明は、シミュレーションが行なわれる種々の分野に有用である。
【符号の説明】
【００７０】
１０  パラメータ最適化装置
１１  シミュレータ
１２  データ解釈部
１３  推論部
１４  パラメータ決定部
１５  解釈ルールデータベース
１６  知識データベース
１７  変換ルールデータベース
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2018083950.tif 000003
【図２】
2018083950.tif 000004
【図３】
2018083950.tif 000005
【図４】
2018083950.tif 000006
【図５】
2018083950.tif 000007
【手続補正書】
【提出日】平成31年4月23日(2019.4.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パラメータを入力として、特定の事象についてのシミュレーションを実行する、シミュレータと、
前記シミュレータからの出力の結果を論理表現に変換する、データ解釈部と、
前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、推論部と、
前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、パラメータ決定部と、
を備え、
前記シミュレータは、前記新たなパラメータが決定されると、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とするパラメータ最適化装置。
【請求項２】
前記データ解釈部は、前記シミュレータからの出力の結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
請求項１に記載のパラメータ最適化装置。
【請求項３】
前記パラメータ決定部は、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
請求項１または２に記載のパラメータ最適化装置。
【請求項４】
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレーションの結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを有し、
前記新たなパラメータが決定されると、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とするパラメータ最適化方法。
【請求項５】
前記（ｂ）のステップにおいて、前記シミュレーションの結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
請求項４に記載のパラメータ最適化方法。
【請求項６】
前記（ｄ）のステップにおいて、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
請求項４または５に記載のパラメータ最適化方法。
【請求項７】
コンピュータに、
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレーションの結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを実行させ、
前記新たなパラメータが決定されると、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行させるプログラム。
【請求項８】
前記（ｂ）のステップにおいて、前記シミュレーションの結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
請求項７に記載のプログラム。
【請求項９】
前記（ｄ）のステップにおいて、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
請求項７または８に記載のプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、特定の事象についてのシミュレーションを実行する際のパラメータを最適化する、パラメータ最適化装置、及びパラメータ最適化方法に関し、更には、これらを実現するためのプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の目的の一例は、上記問題を解消し、特定の事象についてのシミュレーションを実行する際に、最適なパラメータの組合せを効率良く選択し得る、パラメータ最適化装置、パラメータ最適化方法、及びプログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
また、上記目的を達成するため、本発明の一側面におけるパラメータ最適化方法は、
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレーションの結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを有し、
前記新たなパラメータが決定されると、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータによって、
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレーションの結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを実行させ、
前記新たなパラメータが決定されると、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
この場合、データ解釈部１２は、解釈ルールを、出力結果に適用して、図３に示すように、「収穫（Ａ，豊作）、収穫（Ｂ，豊作）、降水量（１月，少）、降水量（２月，並）、降水量（３月，多）、・・・」といった論理表現を作成する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
（付記４）
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレーションの結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを有し、
前記新たなパラメータが決定されると、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行する、
ことを特徴とするパラメータ最適化方法。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
（付記５）
前記（ｂ）のステップにおいて、前記シミュレーションの結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
付記４に記載のパラメータ最適化方法。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
（付記７）
コンピュータに、
（ａ）パラメータを入力として、特定の事象についてのシミュレーションを実行する、ステップと、
（ｂ）前記シミュレーションの結果を論理表現に変換する、ステップと、
（ｃ）前記論理表現、前記特定の事象の目的状態を示すクエリ、及び前記特定の事象について予め用意されている知識情報を用いて、前記特定の事象において生じる現象を推測し、推測した現象から推論パスを生成する、ステップと、
（ｄ）前記推論パスから、前記シミュレーションにおいて入力となる新たなパラメータを決定する、ステップとを実行させ、
前記新たなパラメータが決定されると、前記（ａ）のステップにおいて、前記新たなパラメータを入力として、前記特定の事象についてのシミュレーションを再度実行させるプログラム。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
（付記８）
前記（ｂ）のステップにおいて、前記シミュレーションの結果を、予め設定されたルールに基づいて、一階述語論理に変換する、
付記７に記載のプログラム。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
（付記９）
前記（ｄ）のステップにおいて、既に実行されている前記シミュレーションにおけるパラメータ及び出力結果を用いてベイズ的最適化を実行して、パラメータの候補を決定し、更に、前記推論パスに基づいて、前記パラメータの候補を補正することによって、前記新たなパラメータを決定する、
付記７または８に記載のプログラム。
【国際調査報告】
2018083950.tif 000008
2018083950.tif 000009
2018083950.tif 000010
2018083950.tif 000011