(57)【要約】【課題】モデル生成の精度を向上させることができるデータ生成装置、データ生成方法およびデータ生成プログラムを提供する。【解決手段】データ生成装置は、受付部と、第１判定部と、第２判定部と、探索部と、出力制御部とを有する。受付部は、入力データを受け付ける。第１判定部は、受け付けた入力データの時系列の入力値について、時系列順に入力値間の制約を満たすか否かを判定する。第２判定部は、時系列順に入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定する。探索部は、入力値間の制約の判定結果と、変化速度の制約の判定結果とに基づいて、入力値を修正する修正値を探索する。出力制御部は、入力値を修正値に変更した修正後の入力データを出力する。【選択図】図１
2017107332.tif 000002
【特許請求の範囲】
【請求項１】
入力データを受け付ける受付部と、
受け付けた前記入力データの時系列の入力値について、時系列順に前記入力値間の制約を満たすか否かを判定する第１判定部と、
時系列順に前記入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定する第２判定部と、
前記入力値間の制約の判定結果と、前記変化速度の制約の判定結果とに基づいて、前記入力値を修正する修正値を探索する探索部と、
前記入力値を前記修正値に変更した修正後の入力データを出力する出力制御部と、
を有することを特徴とするデータ生成装置。
【請求項２】
前記探索部は、前記入力値をグラフ上にプロットした場合における、現在の入力値と、直前の入力値とを結んだ直線上において、前記修正値を探索する、
ことを特徴とする請求項１に記載のデータ生成装置。
【請求項３】
前記探索部は、前記直線上において、前記直前の入力値に近づく方向に前記修正値を探索する、
ことを特徴とする請求項２に記載のデータ生成装置。
【請求項４】
前記探索部は、前記直前の入力値が修正値であり、前記現在の入力値が前記入力値間の制約を満たさない場合に、前記現在の入力値の修正値を、前記直前の入力値の修正値から前記変化速度の制約を満たし、かつ、前記入力値間の制約を満たす範囲で探索する、
ことを特徴とする請求項２または３に記載のデータ生成装置。
【請求項５】
前記探索部は、前記直前の入力値が修正値であり、前記現在の入力値が前記入力値間の制約を満たす場合に、前記現在の入力値の修正値を、前記直前の入力値の修正値から前記変化速度の制約を満たす範囲で探索する、
ことを特徴とする請求項２または３に記載のデータ生成装置。
【請求項６】
前記第１判定部は、前記入力値が１番目の入力値である場合に、該１番目の入力値と、前記入力値間の制約を満たす既知の入力値との間で、前記入力値間の制約を満たすか否かを判定し、
前記第２判定部は、前記入力値が１番目の入力値である場合に、前記変化速度の制約について判定を行わない、
ことを特徴とする請求項１〜５のいずれか１つに記載のデータ生成装置。
【請求項７】
入力データを受け付け、
受け付けた前記入力データの時系列の入力値について、時系列順に前記入力値間の制約を満たすか否かを判定し、
時系列順に前記入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定し、
前記入力値間の制約の判定結果と、前記変化速度の制約の判定結果とに基づいて、前記入力値を修正する修正値を探索し、
前記入力値を前記修正値に変更した修正後の入力データを出力する、
処理をコンピュータが実行することを特徴とするデータ生成方法。
【請求項８】
入力データを受け付け、
受け付けた前記入力データの時系列の入力値について、時系列順に前記入力値間の制約を満たすか否かを判定し、
時系列順に前記入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定し、
前記入力値間の制約の判定結果と、前記変化速度の制約の判定結果とに基づいて、前記入力値を修正する修正値を探索し、
前記入力値を前記修正値に変更した修正後の入力データを出力する、
処理をコンピュータに実行させることを特徴とするデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ生成装置、データ生成方法およびデータ生成プログラムに関する。
【背景技術】
【０００２】
近年、製品開発において、開発期間の短縮およびコスト削減のために、モデルベース開発が行われている。例えば、自動車エンジンのＥＣＵ（Engine  Control  Unit）の開発では、エンジンのモデルを用いて開発が行われている。モデルベース開発では、実物を再現するモデルを用いるが、モデルの種類として、対象の定常状態を表現する定常モデルと、対象の過渡応答を表現する過渡モデルとがある。また、モデルの生成方法として、対象の挙動を表現する物理式に基づくホワイトボックスモデリングと、対象の実データ、つまり入出力データに基づくブラックボックスモデリングとがある。
【０００３】
過渡モデルのブラックボックスモデリングでは、時系列の入出力データを用いてモデルを生成するが、入力データの入力値や入力値の変化速度の網羅性については、高い方が望ましい。網羅性の高いモデルの生成には、周波数が時間変化する正弦波であるｃｈｉｒｐを用いることが提案されている。ｃｈｉｒｐを用いることで、振幅や周波数が時間変化することで網羅性を実現し、さらに、入力ごとにｃｈｉｒｐのパラメータを変更することで入力間の網羅性を実現する。ところで、ｃｈｉｒｐを用いる場合には、入力値間に制約がある場合に、制約違反があれば入力値を修正する。例えば、制約関係にある複数の入力値のうち、１つの入力値のみを修正することで、入力値間の制約を満たす。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】N.Sakushima,  et  al.,  "Transient  Modeling  of  Diesel  Engine  Emissions,"  International  Journal  of  Automotive  Engineering  4,pp.63-68,2013
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、入力値間の制約を満たすように入力値を修正すると、入力値の変化速度の制約違反が生じる場合がある。変化速度の制約違反が生じると、一見データが入力できるように見えるが、対象のモデルが対応できず、適切な出力データが得られないこととなる。すなわち、制約関係にある複数の入力値のうち、１つの入力値のみを修正することで入力値間の制約を満たすようにすると、入力値の変化速度について制約違反が生じている場合がある。
【０００６】
一つの側面では、本発明は、モデル生成の精度を向上させることができるデータ生成装置、データ生成方法およびデータ生成プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
一つの態様では、データ生成装置は、受付部と、第１判定部と、第２判定部と、探索部と、出力制御部とを有する。受付部は、入力データを受け付ける。第１判定部は、受け付けた前記入力データの時系列の入力値について、時系列順に前記入力値間の制約を満たすか否かを判定する。第２判定部は、時系列順に前記入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定する。探索部は、前記入力値間の制約の判定結果と、前記変化速度の制約の判定結果とに基づいて、前記入力値を修正する修正値を探索する。出力制御部は、前記入力値を前記修正値に変更した修正後の入力データを出力する。
【発明の効果】
【０００８】
モデル生成の精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１のデータ生成装置の構成の一例を示すブロック図である。
【図２】図２は、修正前データ記憶部の一例を示す図である。
【図３】図３は、既知データ記憶部の一例を示す図である。
【図４】図４は、第１制約記憶部の一例を示す図である。
【図５】図５は、第２制約記憶部の一例を示す図である。
【図６】図６は、修正後データ記憶部の一例を示す図である。
【図７】図７は、ｃｈｉｒｐの一例を示す図である。
【図８】図８は、修正前の入力データの範囲および入力値間の制約の一例を示す図である。
【図９】図９は、現在の入力値を修正することで変化速度の制約を満たさなくなる場合の一例を示す図である。
【図１０】図１０は、修正値の探索の一例を示す図である。
【図１１】図１１は、１番目の入力値を修正する場合の一例を示す図である。
【図１２】図１２は、直前の入力値が修正された場合における修正値の探索範囲の一例を示す図である。
【図１３】図１３は、直前の入力値が修正された場合における修正値の探索範囲の他の一例を示す図である。
【図１４】図１４は、実施例１のデータ生成処理の一例を示すフローチャートである。
【図１５】図１５は、実施例１の探索処理の一例を示すフローチャートである。
【図１６】図１６は、実施例２のデータ生成装置の構成の一例を示すブロック図である。
【図１７】図１７は、実施例２の探索処理の一例を示すフローチャートである。
【図１８】図１８は、データ生成プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本願の開示するデータ生成装置、データ生成方法およびデータ生成プログラムの実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例１】
【００１１】
図１は、実施例１のデータ生成装置の構成の一例を示すブロック図である。図１に示すデータ生成装置１００は、例えば、ｃｈｉｒｐを用いた実験計画である入力データを受け付ける。データ生成装置１００は、受け付けた入力データの時系列の入力値について、時系列順に入力値間の制約を満たすか否かを判定する。データ生成装置１００は、時系列順に入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定する。データ生成装置１００は、入力値間の制約の判定結果と、変化速度の制約の判定結果とに基づいて、例えば時系列順に入力値を修正する修正値を探索する。データ生成装置１００は、入力値を修正値に変更した修正後の入力データを出力する。これにより、データ生成装置１００は、モデル生成の精度を向上させることができる。
【００１２】
図１に示すデータ生成装置１００は、入力部１１０と、出力部１１１と、表示部１１２と、操作部１１３と、記憶部１２０と、制御部１３０とを有する。なお、データ生成装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の通信デバイス、入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。データ生成装置１００の一例としては、据置型のパーソナルコンピュータを採用できる。データ生成装置１００には、上記の据置型のパーソナルコンピュータのみならず、可搬型のパーソナルコンピュータをデータ生成装置１００として採用することもできる。また、データ生成装置１００は、可搬型の端末としては、上記の可搬型のパーソナルコンピュータの他にも、例えば、タブレット端末やスマートフォン等を採用することもできる。
【００１３】
入力部１１０は、例えば、光学ディスク、ＵＳＢ（Universal  Serial  Bus）メモリ、ＳＤメモリカード等の外部記憶媒体に対する媒体アクセス装置等によって実現される。入力部１１０は、外部記憶媒体に記憶された入力データを読み取って、読み取った入力データを制御部１３０に出力する。なお、入力部１１０は、制御部１３０で入力データを生成する場合には、入力データを生成するためのパラメータを読み取って、読み取ったパラメータを制御部１３０に出力してもよい。
【００１４】
出力部１１１は、例えば、光学ディスク、ＵＳＢメモリ、ＳＤメモリカード等の外部記憶媒体に対する媒体アクセス装置等によって実現される。出力部１１１は、制御部１３０から入力された修正後の入力データを外部記憶媒体に記憶することで出力する。なお、入力部１１０と出力部１１１とは、一体化されるようにしてもよい。
【００１５】
表示部１１２は、各種情報を表示するための表示デバイスである。表示部１１２は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１２は、制御部１３０から入力された出力画面等の各種画面を表示する。
【００１６】
操作部１１３は、データ生成装置１００のユーザから各種操作を受け付ける入力デバイスである。操作部１１３は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１３は、ユーザによって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１３は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１２の表示デバイスと、操作部１１３の入力デバイスとは、一体化されるようにしてもよい。
【００１７】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、修正前データ記憶部１２１と、既知データ記憶部１２２と、第１制約記憶部１２３と、第２制約記憶部１２４と、修正後データ記憶部１２５とを有する。また、記憶部１２０は、制御部１３０での処理に用いられる情報を記憶する。
【００１８】
修正前データ記憶部１２１は、修正前の入力データを記憶する。図２は、修正前データ記憶部の一例を示す図である。図２に示すように、修正前データ記憶部１２１は、「入力１」、「入力２」といった項目を有する。修正前データ記憶部１２１は、例えば、時系列のステップごとに１レコードとして記憶する。「入力１」および「入力２」は、それぞれモデルに対する入力値を示す情報である。
【００１９】
図１の説明に戻って、既知データ記憶部１２２は、入力値間の制約を満たす既知の入力値を記憶する。図３は、既知データ記憶部の一例を示す図である。図３に示すように、既知データ記憶部１２２は、「入力１」、「入力２」といった項目を有する。「入力１」および「入力２」は、それぞれが予め入力値間の制約を満たす入力値を示す情報である。
【００２０】
図１の説明に戻って、第１制約記憶部１２３は、入力値間の制約を記憶する。図４は、第１制約記憶部の一例を示す図である。図４に示すように、第１制約記憶部１２３は、「入力値間の制約」といった項目を有する。「入力値間の制約」は、例えば、入力１と入力２との間の制約を式で表した情報である。図４の例では、入力１と入力２との間に、「入力１＋入力２≦１．８」という制約があることを示す。なお、第１制約記憶部１２３に記憶される入力値間の制約は、入力データに対して制約を満たすか否かを判定できれば、どのような形式でも構わない。当該形式は、例えば、上述の式の他にデータベース形式であってもよい。また、入力値をグラフ上にプロットした場合における制約を満たすか否かの境界の形状も、どのような形状でも構わない。例えば、２入力の場合には直線や曲線、３入力の場合には平面や曲面が挙げられる。さらに、３入力以上である場合には、一部の入力の入力値だけで判定されてもよい。
【００２１】
図１の説明に戻って、第２制約記憶部１２４は、入力値の変化速度の制約を記憶する。図５は、第２制約記憶部の一例を示す図である。図５に示すように、第２制約記憶部１２４は、「入力１」、「入力２」といった項目を有する。「入力１」および「入力２」は、それぞれの入力における、直前の入力値から現在の入力値への変化速度、すなわち変化量を示す情報である。図５の例では、入力１は、変化量が「０．２５」以下の場合に変化速度の制約を満たすことを示す。入力２は、変化量が「１」以下の場合に変化速度の制約を満たすことを示す。
【００２２】
図１の説明に戻って、修正後データ記憶部１２５は、修正後の入力データを記憶する。図６は、修正後データ記憶部の一例を示す図である。図６に示すように、修正後データ記憶部１２５は、「入力１」、「入力２」といった項目を有する。修正後データ記憶部１２５は、例えば、時系列のステップごとに１レコードとして記憶する。「入力１」および「入力２」は、それぞれ、修正前の入力値から、入力値間の制約および変化速度の制約を満たす入力値に変更された修正値を示す情報である。
【００２３】
図１の説明に戻って、制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３０は、受付部１３１と、第１判定部１３２と、第２判定部１３３と、探索部１３４と、出力制御部１３５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００２４】
受付部１３１は、入力部１１０から入力データが入力されると、入力された入力データを受け付けて、受け付けた入力データを修正前データ記憶部１２１に記憶する。受付部１３１は、入力データを修正前データ記憶部１２１に記憶すると、第１判定部１３２に第１判定指示を出力する。なお、受付部１３１は、入力部１１０から入力データを生成するためのパラメータが入力された場合には、当該パラメータに基づいてｃｈｉｒｐを用いて入力データを生成し、生成した入力データを修正前データ記憶部１２１に記憶するようにしてもよい。
【００２５】
ここで、図７を用いてｃｈｉｒｐについて説明する。図７は、ｃｈｉｒｐの一例を示す図である。図７に示すように、ｃｈｉｒｐは、周波数が時間変化する正弦波である。図７の例では、入力１と入力２とでは、パラメータが異なるので、正弦波の周波数の時間変化の仕方も異なる。入力１および入力２は、例えば対象がディーゼルエンジンモデルであれば、入力１を回転数、入力２をトルクといった項目とすることができる。なお、ｃｈｉｒｐを表す式は、下記の式（１）となる。
【００２６】
Ｙ  ＝  ｓｉｎ２πｆｔ２                    ・・・（１）
【００２７】
また、図８を用いて修正前の入力データの範囲および入力値間の制約について説明する。図８は、修正前の入力データの範囲および入力値間の制約の一例を示す図である。図８のグラフは、入力１と入力２とを、それぞれグラフの横軸と縦軸とに対応させたグラフである。図８に示すように、入力１と入力２とがそれぞれ取りうる値の範囲、すなわち入力データ範囲２１は、入力値間の制約を満たすＯＫ領域２２と、入力値間の制約を満たさないＮＧ領域２３とに分けられる。このとき、入力データのうち、ある時刻の入力値２４は、ＮＧ領域２３にプロットされているとする。つまり、入力値２４は、入力値間の制約を満たさない。ここで、例えば、入力値２４は、入力２の入力値を修正して入力値２５とすることで、入力値間の制約を満たすように修正される。
【００２８】
ところが、入力値間の制約を満たすように入力２の入力値を修正すると、変化速度の制約を満たさなくなる場合がある。図９は、現在の入力値を修正することで変化速度の制約を満たさなくなる場合の一例を示す図である。図９に示すように、現在の入力値２６が修正値２７に修正されたとすると、直前の入力値２８からの変化速度の許容範囲２９を差分３０だけ超えてしまう。このため、図９の例では、修正値２７は、入力値間の制約は満たすが、直前の入力値２８からの変化速度の制約を満たさなくなってしまうので、修正値２７は適切ではない値であるといえる。
【００２９】
図１の説明に戻って、第１判定部１３２は、受付部１３１から第１判定指示が入力されると、修正前データ記憶部１２１から入力データを読み出して取得する。また、第１判定部１３２は、第１制約記憶部１２３から入力値間の制約を読み出して取得する。第１判定部１３２は、時刻Ｔ＝０、すなわち入力データの最初の時刻について、入力値間の制約を満たすか否かを判定する。言い換えると、第１判定部１３２は、受け付けた入力データの時系列の入力値について、時系列順に入力値間の制約を満たすか否かを判定する。
【００３０】
第１判定部１３２は、時刻Ｔ＝０について入力値間の制約を満たす場合、あるいは、第２判定部１３３または探索部１３４から修正中の入力データおよび次ステップ判定指示が入力された場合には、時刻Ｔが入力データの最後の時刻であるか否かを判定する。第１判定部１３２は、時刻Ｔが入力データの最後の時刻である場合には、出力制御部１３５に出力指示を出力する。
【００３１】
第１判定部１３２は、時刻Ｔが入力データの最後の時刻でない場合には、時刻Ｔをインクリメントして次の時刻、つまり時系列の次のステップとする。第１判定部１３２は、次の時刻である時刻Ｔについて入力値間の制約を満たすか否かを判定する。第１判定部１３２は、時刻Ｔについて入力値間の制約を満たす場合には、第２判定部１３３に修正中の入力データと第２判定指示とを出力する。なお、第１判定部１３２は、修正中の入力データを第１判定部１３２、第２判定部１３３および探索部１３４間で入出力する代わりに、次の時刻である時刻Ｔごとに修正後データ記憶部１２５から時刻Ｔ−１までの修正後データを読み出して入力データとしてもよい。
【００３２】
第１判定部１３２は、時刻Ｔ＝０について入力値間の制約を満たさない場合、または、時刻Ｔについて入力値間の制約を満たさない場合には、探索部１３４に入力データと探索指示とを出力する。
【００３３】
第２判定部１３３は、第１判定部１３２から修正中の入力データと第２判定指示とが入力されると、第２制約記憶部１２４から変化速度の制約を読み出して取得する。第２判定部１３３は、時刻Ｔ−１から時刻Ｔの間について入力値の変化速度の制約を満たすか否かを判定する。言い換えると、第２判定部１３３は、時系列順に入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定する。
【００３４】
第２判定部１３３は、時刻Ｔ−１から時刻Ｔの間について入力値の変化速度の制約を満たす場合には、第１判定部１３２に修正中の入力データおよび次ステップ判定指示を出力する。第２判定部１３３は、時刻Ｔ−１から時刻Ｔの間について入力値の変化速度の制約を満たさない場合には、探索部１３４に修正中の入力データと探索指示とを出力する。
【００３５】
探索部１３４は、第１判定部１３２または第２判定部１３３から修正中の入力データと探索指示とが入力されると、現在の入力値を修正する修正値を探索する探索処理を実行する。なお、探索処理には、二分探索を適用することができる。すなわち、探索部１３４は、入力値間の制約の判定結果と、変化速度の制約の判定結果とに基づいて、入力値を修正する修正値を探索する。
【００３６】
まず、探索処理に用いるパラメータについて説明する。ｎｏｗは、現在の入力値を示す。ｌｂは、探索範囲の下限値を示す。Ｉ（Ｘ）は、Ｘの入力値ベクトル＝（入力１の入力値、入力２の入力値、・・・）を示す。ここで、Ｘは、時刻Ｔ、時刻Ｔ−１または既知のいずれかである。ｐｒｅは、直前の入力値を示す。ｕｂは、探索範囲の上限値を示す。★は、★＝ｍｉｎ（１，☆）を示す。ここで、ｍｉｎ（１，☆）は、１と☆とのうち小さい値を選択することを示す。☆は、Δｉ≠０の入力についてのＬｉ／Δｉの最小値を示す。ここで、Δｉは、ｎｏｗ−ｐｒｅのｉ番目の要素、つまり入力値ｉの差分を示す。また、Ｌｉは、入力値ｉの変化速度の上限値を示す。ｄｉｆｆは、ｎｏｗ−ｐｒｅを格納する変数を示す。Ｉ＿ｔｍｐは、修正値の暫定解を示す。ｅｐｓは微小量を示す。ｍは、（ｕｂ＋ｌｂ）／２を格納する変数を示す。Ｍは、ｐｒｅ＋ｍ×ｄｉｆｆを格納する変数を示す。
【００３７】
探索部１３４は、ｎｏｗ＝Ｉ（Ｔ）、および、ｌｂ＝０をセットする。すなわち、探索部１３４は、時刻Ｔの入力値ベクトルを、現在の入力値としてｎｏｗにセットし、探索範囲の下限値であるｌｂに０をセットする。探索部１３４は、時刻Ｔ＝０であるか否かを判定する。探索部１３４は、時刻Ｔ＝０である場合には、ｐｒｅ＝Ｉ（既知）、および、ｕｂ＝１をセットする。すなわち、探索部１３４は、既知データ記憶部１２２を参照して既知の入力値ベクトルを、直前の入力値としてｐｒｅにセットし、探索範囲の上限値であるｕｂに１をセットする。
【００３８】
探索部１３４は、時刻Ｔ＝０でない場合には、ｐｒｅ＝Ｉ（Ｔ−１）、および、ｕｂ＝★をセットする。すなわち、探索部１３４は、時刻Ｔ−１の入力値ベクトルを、直前の入力値としてｐｒｅにセットし、探索範囲の上限値であるｕｂに★、つまりｍｉｎ（１，Ｌｉ／Δｉの最小値）をセットする。
【００３９】
探索部１３４は、ｄｉｆｆ＝ｎｏｗ−ｐｒｅ、および、Ｉ＿ｔｍｐ＝Ｉ（Ｔ−１）をセットする。すなわち、探索部１３４は、現在の入力値と直前の入力値との差分をｄｉｆｆとしてセットし、暫定解として直前の入力値または修正値をＩ＿ｔｍｐにセットする。
【００４０】
探索部１３４は、ｕｂ−ｌｂがｅｐｓより大きいか否かを判定する。すなわち、探索部１３４は、探索範囲の上限値と下限値の差分が微小量ｅｐｓより大きいか否かを判定する。探索部１３４は、ｕｂ−ｌｂがｅｐｓより大きい場合には、ｍ＝（ｕｂ＋ｌｂ）／２、および、Ｍ＝ｐｒｅ＋ｍ×ｄｉｆｆを算出する。
【００４１】
探索部１３４は、Ｍが入力値間の制約を満たすか否かを判定する。探索部１３４は、Ｍが入力値間の制約を満たす場合には、暫定解であるＩ＿ｔｍｐにＭを代入し、探索範囲の下限値であるｌｂにｍを代入して、ｕｂ−ｌｂがｅｐｓより大きいか否かの判定に戻る。探索部１３４は、Ｍが入力値間の制約を満たさない場合には、探索範囲の上限値であるｕｂにｍを代入して、ｕｂ−ｌｂがｅｐｓより大きいか否かの判定に戻る。
【００４２】
探索部１３４は、ｕｂ−ｌｂがｅｐｓ以下の場合には、現在の入力値Ｉ（Ｔ）を、暫定解であるＩ＿ｔｍｐに修正する。つまり、探索部１３４は、現在の入力値Ｉ（Ｔ）を修正値であるＩ＿ｔｍｐに変更する。なお、Ｍが入力値間の制約を満たす値が１つも探索できなかった場合には、現在の入力値Ｉ（Ｔ）は、直前の入力値Ｉ（Ｔ−１）となる。探索部１３４は、修正後の現在の入力値Ｉ（Ｔ）を、修正後データ記憶部１２５に記憶して、探索処理を終了する。探索部１３４は、探索処理を終了すると、第１判定部１３２に修正中の入力データおよび次ステップ判定指示を出力する。
【００４３】
出力制御部１３５は、第１判定部１３２から出力指示が入力されると、修正後データ記憶部１２５から修正後の入力データを読み出して出力部１１１に出力し、修正後の入力データを外部記憶媒体に記憶させる。また、出力制御部１３５は、修正後の入力データについてグラフ化した出力画面を表示部１１２に出力して表示させてもよい。すなわち、出力制御部１３５は、入力値を修正値に変更した修正後の入力データを出力する。
【００４４】
ここで、図１０から図１３のグラフを用いて探索処理について説明する。図１０は、修正値の探索の一例を示す図である。図１０に示すように、入力データ範囲２１は、入力値間の制約を満たすＯＫ領域２２と、入力値間の制約を満たさないＮＧ領域２３とに分けられる。現在の入力値２６は、ＮＧ領域２３にプロットされ、直前の入力値２８は、ＯＫ領域２２にプロットされているとする。このとき、探索部１３４は、現在の入力値２６と、直前の入力値２８とを結んだ直線、つまり線分３１上において、線分３１を二分探索することにより、線分３１上、かつ、ＯＫ領域２２内にある修正値３２を探索する。すなわち、探索部１３４は、入力値をグラフ上にプロットした場合における、現在の入力値２６と、直前の入力値２８とを結んだ直線上において、修正値３２を探索する。また、探索部１３４は、直線上において、直前の入力値２８に近づく方向に修正値３２を探索する。探索された修正値３２は、入力値間の制約および変化速度の制約のいずれも満たす修正値である。
【００４５】
次に、入力データの１番目の入力値がＮＧ領域２３にプロットされる場合の修正について説明する。図１１は、１番目の入力値を修正する場合の一例を示す図である。図１１に示すように、入力データ範囲２１は、入力値間の制約を満たすＯＫ領域２２と、入力値間の制約を満たさないＮＧ領域２３とに分けられる。１番目の入力値３３は、ＮＧ領域２３にプロットされ、既知データ記憶部１２２に記憶されている既知の入力値３４は、ＯＫ領域２２にプロットされているとする。このとき、探索部１３４は、１番目の入力値３３と、既知の入力値３４とを結んだ直線、つまり線分３５上において、当該線分３５を二分探索することにより、線分３５上、かつ、ＯＫ領域２２内にある修正値を探索する。なお、１番目の入力値は、直前の入力値が存在しないので、第２判定部１３３の変化速度の制約について判定を行わない。すなわち、第１判定部１３２は、入力値が１番目の入力値３３である場合に、該１番目の入力値３３と、入力値間の制約を満たす既知の入力値３４との間で、入力値間の制約を満たすか否かを判定する。また、第２判定部１３３は、入力値が１番目の入力値３３である場合に、変化速度の制約について判定を行わない。
【００４６】
次に、現在の入力値が入力値間の制約を満たさず、直前の入力値が修正された場合について説明する。図１２は、直前の入力値が修正された場合における修正値の探索範囲の一例を示す図である。図１２に示すように、入力データ範囲２１は、入力値間の制約を満たすＯＫ領域２２と、入力値間の制約を満たさないＮＧ領域２３とに分けられる。現在の入力値３６と、修正前の直前の入力値３７とは、ＮＧ領域２３にプロットされ、直前の入力値３７の修正値３８は、ＯＫ領域２２にプロットされているとする。
【００４７】
このとき、探索部１３４は、現在の入力値３６と、修正値３８とを結んだ直線のうち、入力１の変化速度の範囲３９と、入力２の変化速度の範囲４０とに含まれる範囲の線分４１上において、当該線分４１を二分探索する。すなわち、探索部１３４は、線分４１上、かつ、ＯＫ領域２２内にある修正値を探索する。言い換えると、探索部１３４は、直前の入力値が修正値３８であり、現在の入力値３６が入力値間の制約を満たさない場合に、現在の入力値３６の修正値を、直前の入力値３７の修正値３８から変化速度の制約を満たし、かつ、入力値間の制約を満たす範囲で探索する。なお、例えば、現在の入力値３６と修正値３８との入力１成分の差分がΔｉであり、入力１の変化速度の範囲３９の入力１成分がＬｉである。ここで、Ｌｉ／Δｉが１を超える場合には、現在の入力値３６よりもさらにＮＧとなる方向であるので、Ｌｉ／Δｉを１として無駄な探索を行わないようにしている。
【００４８】
次に、現在の入力値が入力値間の制約を満たし、直前の入力値が修正された場合について説明する。図１３は、直前の入力値が修正された場合における修正値の探索範囲の他の一例を示す図である。図１３に示すように、入力データ範囲２１は、入力値間の制約を満たすＯＫ領域２２と、入力値間の制約を満たさないＮＧ領域２３とに分けられる。修正前の直前の入力値３７は、ＮＧ領域２３にプロットされ、現在の入力値４２と、直前の入力値３７の修正値３８とは、ＯＫ領域２２にプロットされているとする。この場合において、現在の入力値４２は、入力値間の制約は満たしているが、修正値３８からの変化速度の制約を満たしていないものとする。
【００４９】
このとき、探索部１３４は、現在の入力値４２と、修正値３８とを結んだ直線のうち、入力１の変化速度の範囲４３と、入力２の変化速度の範囲４４とに含まれる範囲の線分４５上において、当該線分４５を二分探索する。すなわち、探索部１３４は、線分４５上、かつ、ＯＫ領域２２内にある修正値を探索する。言い換えると、探索部１３４は、直前の入力値が修正値３８であり、現在の入力値４２が入力値間の制約を満たす場合に、現在の入力値の修正値を、直前の入力値３７の修正値３８から変化速度の制約を満たす範囲で探索する。なお、図１２の場合と同様に、現在の入力値４２よりも修正値３８と反対側の方向は、Ｌｉ／Δｉを１として無駄な探索を行わないようにしている。
【００５０】
次に、実施例１のデータ生成装置１００の動作について説明する。図１４は、実施例１のデータ生成処理の一例を示すフローチャートである。
【００５１】
データ生成装置１００の受付部１３１は、入力部１１０から入力データが入力されると、入力された入力データを受け付けて、受け付けた入力データを修正前データ記憶部１２１に記憶する。受付部１３１は、入力データを修正前データ記憶部１２１に記憶すると、第１判定部１３２に第１判定指示を出力する。
【００５２】
第１判定部１３２は、受付部１３１から第１判定指示が入力されると、修正前データ記憶部１２１から入力データを読み出して取得する。また、第１判定部１３２は、第１制約記憶部１２３から入力値間の制約を読み出して取得する。第１判定部１３２は、時刻Ｔ＝０をセットする（ステップＳ１）。
【００５３】
第１判定部１３２は、入力データの時刻Ｔについて入力値間の制約を満たすか否かを判定する（ステップＳ２）。第１判定部１３２は、時刻Ｔについて入力値間の制約を満たす場合には（ステップＳ２：肯定）、時刻Ｔが入力データの最後の時刻であるか否かを判定する（ステップＳ３）。第１判定部１３２は、時刻Ｔが入力データの最後の時刻でない場合には（ステップＳ３：否定）、時刻Ｔをインクリメントする（ステップＳ４）。第１判定部１３２は、インクリメントされた時刻Ｔについて入力値間の制約を満たすか否かを判定する（ステップＳ５）。
【００５４】
第１判定部１３２は、時刻Ｔについて入力値間の制約を満たす場合には（ステップＳ５：肯定）、第２判定部１３３に入力データと第２判定指示とを出力する。第１判定部１３２は、時刻Ｔ＝０であるときの時刻Ｔについて入力値間の制約を満たさない場合（ステップＳ２：否定）、または、時刻Ｔについて入力値間の制約を満たさない場合には（ステップＳ５：否定）、探索部１３４に入力データと探索指示とを出力する。
【００５５】
第２判定部１３３は、第１判定部１３２から入力データと第２判定指示とが入力されると、第２制約記憶部１２４から変化速度の制約を読み出して取得する。第２判定部１３３は、時刻Ｔ−１から時刻Ｔの間について入力値の変化速度の制約を満たすか否かを判定する（ステップＳ６）。第２判定部１３３は、時刻Ｔ−１から時刻Ｔの間について入力値の変化速度の制約を満たす場合には（ステップＳ６：肯定）、第１判定部１３２に修正中の入力データおよび次ステップ判定指示を出力し、ステップＳ３に戻る。第２判定部１３３は、時刻Ｔ−１から時刻Ｔの間について入力値の変化速度の制約を満たさない場合には（ステップＳ６：否定）、探索部１３４に入力データと探索指示とを出力する。
【００５６】
探索部１３４は、第１判定部１３２または第２判定部１３３から入力データと探索指示とが入力されると、現在の入力値を修正する修正値を探索する探索処理を実行する（ステップＳ７）。ここで、図１５を用いて探索処理について説明する。図１５は、実施例１の探索処理の一例を示すフローチャートである。
【００５７】
探索部１３４は、ｎｏｗ＝Ｉ（Ｔ）、および、ｌｂ＝０をセットする（ステップＳ７１）。探索部１３４は、時刻Ｔ＝０であるか否かを判定する（ステップＳ７２）。探索部１３４は、時刻Ｔ＝０である場合には（ステップＳ７２：肯定）、ｐｒｅ＝Ｉ（既知）、および、ｕｂ＝１をセットする（ステップＳ７３）。探索部１３４は、時刻Ｔ＝０でない場合には（ステップＳ７２：否定）、ｐｒｅ＝Ｉ（Ｔ−１）、および、ｕｂ＝★をセットする（ステップＳ７４）。
【００５８】
探索部１３４は、ステップＳ７３またはＳ７４において、ｐｒｅおよびｕｂがセットされると、ｄｉｆｆ＝ｎｏｗ−ｐｒｅ、および、Ｉ＿ｔｍｐ＝Ｉ（Ｔ−１）をセットする（ステップＳ７５）。探索部１３４は、ｕｂ−ｌｂがｅｐｓより大きいか否かを判定する（ステップＳ７６）。探索部１３４は、ｕｂ−ｌｂがｅｐｓより大きい場合には（ステップＳ７６：肯定）、ｍ＝（ｕｂ＋ｌｂ）／２、および、Ｍ＝ｐｒｅ＋ｍ×ｄｉｆｆを算出する（ステップＳ７７）。
【００５９】
探索部１３４は、Ｍが入力値間の制約を満たすか否かを判定する（ステップＳ７８）。探索部１３４は、Ｍが入力値間の制約を満たさない場合には（ステップＳ７８：否定）、ｕｂ＝ｍとして（ステップＳ７９）、ステップＳ７６に戻る。探索部１３４は、Ｍが入力値間の制約を満たす場合には（ステップＳ７８：肯定）、Ｉ＿ｔｍｐ＝Ｍとし、ｌｂ＝ｍとして（ステップＳ８０）、ステップＳ７６に戻る。
【００６０】
探索部１３４は、ｕｂ−ｌｂがｅｐｓ以下の場合には（ステップＳ７６：否定）、Ｉ（Ｔ）＝Ｉ＿ｔｍｐとして、現在の入力値Ｉ（Ｔ）を暫定解に修正し（ステップＳ８１）、修正後の現在の入力値Ｉ（Ｔ）、つまり修正値を修正後データ記憶部１２５に記憶する。探索部１３４は、修正値を修正後データ記憶部１２５に記憶すると、探索処理を終了して元の処理に戻る。これにより、探索部１３４は、現在の入力値を修正する修正値を求めることができる。
【００６１】
図１４の説明に戻って、探索部１３４は、探索処理を終了すると、第１判定部１３２に修正中の入力データおよび次ステップ判定指示を出力し、ステップＳ３に戻る。第１判定部１３２は、時刻Ｔが入力データの最後の時刻である場合には（ステップＳ３：肯定）、出力制御部１３５に出力指示を出力する。出力制御部１３５は、第１判定部１３２から出力指示が入力されると、修正後データ記憶部１２５から修正後の入力データを読み出して出力部１１１に出力し、修正後の入力データを外部記憶媒体に記憶させる。これにより、データ生成装置１００は、モデル生成の精度を向上させることができる。すなわち、データ生成装置１００は、入力値間の制約と、入力値の変化速度の制約とを満たす実験計画の入力データを生成できる。つまり、データ生成装置１００が生成する修正後の入力データは、現在の入力値の修正値が、直前の入力値から現在の入力値までの移動可能な範囲で探索されるので、入力値間の制約と、入力値の変化速度の制約とを満たすことができる。
【００６２】
このように、データ生成装置１００は、入力データを受け付ける。また、データ生成装置１００は、受け付けた入力データの時系列の入力値について、時系列順に入力値間の制約を満たすか否かを判定する。また、データ生成装置１００は、時系列順に入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定する。また、データ生成装置１００は、入力値間の制約の判定結果と、変化速度の制約の判定結果とに基づいて、入力値を修正する修正値を探索する。また、データ生成装置１００は、入力値を修正値に変更した修正後の入力データを出力する。その結果、モデル生成の精度を向上させることができる。
【００６３】
また、データ生成装置１００は、入力値をグラフ上にプロットした場合における、現在の入力値と、直前の入力値とを結んだ直線上において、修正値を探索する。その結果、二分探索を用いるので、修正値の探索速度を向上できる。
【００６４】
また、データ生成装置１００は、直線上において、直前の入力値に近づく方向に修正値を探索する。その結果、修正値が見つからない方向への探索を抑止できる。
【００６５】
また、データ生成装置１００は、直前の入力値が修正値であり、現在の入力値が入力値間の制約を満たさない場合に、現在の入力値の修正値を、直前の入力値の修正値から変化速度の制約を満たし、かつ、入力値間の制約を満たす範囲で探索する。その結果、直前の入力値から入力値間の制約と、変化速度の制約とを満たす修正値を探索できる。
【００６６】
また、データ生成装置１００は、直前の入力値が修正値であり、現在の入力値が入力値間の制約を満たす場合に、現在の入力値の修正値を、直前の入力値の修正値から変化速度の制約を満たす範囲で探索する。その結果、直前の入力値から入力値間の制約と、変化速度の制約とを満たす修正値を探索できる。
【００６７】
また、データ生成装置１００は、入力値が１番目の入力値である場合に、該１番目の入力値と、入力値間の制約を満たす既知の入力値との間で、入力値間の制約を満たすか否かを判定する。また、データ生成装置１００は、入力値が１番目の入力値である場合に、変化速度の制約について判定を行わない。その結果、入力値が１番目の入力値である場合において、入力値間の制約を満たす修正値を探索できる。
【実施例２】
【００６８】
上記実施例１では、探索処理において、入力値間の制約のＯＫとＮＧとの境界を探索したが、入力値間の制約がＯＫである修正値を見つけた時点で探索処理を終了してもよく、この場合の実施の形態につき、実施例２として説明する。図１６は、実施例２のデータ生成装置の構成の一例を示すブロック図である。なお、実施例１のデータ生成装置１００と同一の構成には同一符号を付すことで、その重複する構成および動作の説明については省略する。
【００６９】
実施例２のデータ生成装置２００は、実施例１のデータ生成装置１００の探索部１３４に代えて、探索部２３４を有する。
【００７０】
探索部２３４は、第１判定部１３２または第２判定部１３３から入力データと探索指示とが入力されると、現在の入力値を修正する修正値を探索する探索処理を実行する。探索部２３４は、探索処理において、ｐｒｅおよびｕｂのセット後に、ｄｉｆｆ＝ｎｏｗ−ｐｒｅをセットする。すなわち、探索部２３４は、現在の入力値と直前の入力値との差分をｄｉｆｆとしてセットする。つまり、探索部２３４は、実施例１の探索部１３４と比べて、Ｉ＿ｔｍｐ＝Ｉ（Ｔ−１）のセットを省略している。
【００７１】
また、探索部２３４は、Ｍが入力値間の制約を満たすか否かを判定するときに、Ｍが入力値間の制約を満たす場合には、現在の入力値Ｉ（Ｔ）をＭで修正して、すなわち、Ｉ（Ｔ）＝Ｍとして探索処理を終了する。つまり、探索部２３４は、入力値間の制約と変化速度の制約とを満たす修正値Ｍが見つかった時点で探索処理を終了する。
【００７２】
さらに、探索部２３４は、ｕｂ−ｌｂがｅｐｓより大きいか否かを判定するときに、ｕｂ−ｌｂがｅｐｓ以下の場合には、現在の入力値Ｉ（Ｔ）を、直前の入力値Ｉ（Ｔ−１）に修正する。つまり、探索部２３４は、現在の入力値Ｉ（Ｔ）を、直前の入力値Ｉ（Ｔ−１）から変化させない。探索部２３４は、現在の入力値Ｉ（Ｔ）を、直前の入力値Ｉ（Ｔ−１）に修正すると、探索処理を終了する。
【００７３】
次に、実施例２のデータ生成装置２００の動作について説明する。実施例２では、実施例１のデータ生成処理と比べて、探索処理が異なり他の処理は実施例１と同様であるので、探索処理について説明し、他の処理はその説明を省略する。また、実施例２の探索処理は、ステップＳ７１からステップＳ７４について、実施例１と同様であるのでその説明を省略する。図１７は、実施例２の探索処理の一例を示すフローチャートである。
【００７４】
探索部２３４は、ステップＳ７３またはＳ７４において、ｐｒｅおよびｕｂがセットされると、ｄｉｆｆ＝ｎｏｗ−ｐｒｅをセットする（ステップＳ８５）。探索部２３４は、ｕｂ−ｌｂがｅｐｓより大きいか否かを判定する（ステップＳ７６）。探索部２３４は、ｕｂ−ｌｂがｅｐｓより大きい場合には（ステップＳ７６：肯定）、ｍ＝（ｕｂ＋ｌｂ）／２、および、Ｍ＝ｐｒｅ＋ｍ×ｄｉｆｆを算出する（ステップＳ７７）。
【００７５】
探索部２３４は、Ｍが入力値間の制約を満たすか否かを判定する（ステップＳ７８）。探索部２３４は、Ｍが入力値間の制約を満たさない場合には（ステップＳ７８：否定）、ｕｂ＝ｍとして（ステップＳ７９）、ステップＳ７６に戻る。探索部２３４は、Ｍが入力値間の制約を満たす場合には（ステップＳ７８：肯定）、Ｉ（Ｔ）＝Ｍとして、現在の入力値Ｉ（Ｔ）をＭに修正し（ステップＳ８６）、修正後の現在の入力値Ｉ（Ｔ）、つまり修正値を修正後データ記憶部１２５に記憶する。探索部２３４は、修正値を修正後データ記憶部１２５に記憶すると、探索処理を終了して元の処理に戻る。
【００７６】
探索部２３４は、ｕｂ−ｌｂがｅｐｓ以下の場合には（ステップＳ７６：否定）、Ｉ（Ｔ）＝Ｉ（Ｔ−１）として、現在の入力値Ｉ（Ｔ）を直前の入力値Ｉ（Ｔ−１）に修正し（ステップＳ８７）、修正後の現在の入力値Ｉ（Ｔ）、つまり修正値を修正後データ記憶部１２５に記憶する。探索部２３４は、修正値を修正後データ記憶部１２５に記憶すると、探索処理を終了して元の処理に戻る。これにより、探索部２３４は、より処理量を軽減して、現在の入力値を修正する修正値を求めることができる。
【００７７】
なお、上記各実施例では、修正値の探索範囲を現在の入力値と直前の入力値とを結ぶ直線上としたが、これに限定されない。例えば、平面の範囲や、入力が３つ以上である場合には、立体の範囲について修正値の探索範囲としてもよい。この場合には、探索範囲にランダムに点をばら撒いて、それぞれの点を入力値として、入力値間の制約および変化速度の制約を満たす入力値を探索するようにしてもよい。
【００７８】
また、上記各実施例では、入力を２つとして説明したが、これに限定されない。例えば、入力が３つ以上のＮである場合には、Ｎ次元空間において、直前の入力値と現在の入力値とを結んだ直線上を探索するようにしてもよい。なお、直線上の探索であるので、探索方法および探索の難易度については、入力が２つの場合と同等である。
【００７９】
また、上記各実施例では、モデル化対象としてディーゼルエンジンを挙げたが、これに限定されない。例えば、ガソリンエンジンや発電所等にも適用可能である。
【００８０】
また、上記各実施例では、ｃｈｉｒｐで生成した入力データを修正したが、修正する入力データはこれに限定されない。例えば、入力値間の制約が考慮されていない入力データであれば、他の入力データについても適用可能である。
【００８１】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第１判定部１３２と第２判定部１３３とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００８２】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００８３】
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１８は、データ生成プログラムを実行するコンピュータの一例を示す図である。
【００８４】
図１８に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、データ入力を受け付ける入力装置３０２と、モニタ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る媒体読取装置３０４と、各種装置と接続するためのインタフェース装置３０５と、他の情報処理装置等と有線または無線により接続するための通信装置３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。また、各装置３０１〜３０８は、バス３０９に接続される。
【００８５】
ハードディスク装置３０８には、図１または図１６に示した受付部１３１、第１判定部１３２、第２判定部１３３、探索部１３４または探索部２３４、および、出力制御部１３５の各処理部と同様の機能を有するデータ生成プログラムが記憶される。また、ハードディスク装置３０８には、修正前データ記憶部１２１、既知データ記憶部１２２、第１制約記憶部１２３、第２制約記憶部１２４、修正後データ記憶部１２５、および、データ生成プログラムを実現するための各種データが記憶される。入力装置３０２は、例えば、コンピュータ３００のユーザから操作情報等の各種情報の入力を受け付ける。モニタ３０３は、例えば、コンピュータ３００のユーザに対して出力画面等の各種画面を表示する。媒体読取装置３０４は、記憶媒体から入力データを読み取る。インタフェース装置３０５は、例えば印刷装置等が接続される。通信装置３０６は、例えば、図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
【００８６】
ＣＰＵ３０１は、ハードディスク装置３０８に記憶された各プログラムを読み出して、ＲＡＭ３０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ３００を図１または図１６に示した受付部１３１、第１判定部１３２、第２判定部１３３、探索部１３４または探索部２３４、および、出力制御部１３５として機能させることができる。
【００８７】
なお、上記のデータ生成プログラムは、必ずしもハードディスク装置３０８に記憶されている必要はない。例えば、コンピュータ３００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ３００が読み出して実行するようにしてもよい。コンピュータ３００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのデータ生成プログラムを記憶させておき、コンピュータ３００がこれらからデータ生成プログラムを読み出して実行するようにしてもよい。
【００８８】
以上、本実施例を含む実施の形態に関し、さらに以下の付記を開示する。
【００８９】
（付記１）入力データを受け付ける受付部と、
受け付けた前記入力データの時系列の入力値について、時系列順に前記入力値間の制約を満たすか否かを判定する第１判定部と、
時系列順に前記入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定する第２判定部と、
前記入力値間の制約の判定結果と、前記変化速度の制約の判定結果とに基づいて、前記入力値を修正する修正値を探索する探索部と、
前記入力値を前記修正値に変更した修正後の入力データを出力する出力制御部と、
を有することを特徴とするデータ生成装置。
【００９０】
（付記２）前記探索部は、前記入力値をグラフ上にプロットした場合における、現在の入力値と、直前の入力値とを結んだ直線上において、前記修正値を探索する、
ことを特徴とする付記１に記載のデータ生成装置。
【００９１】
（付記３）前記探索部は、前記直線上において、前記直前の入力値に近づく方向に前記修正値を探索する、
ことを特徴とする付記２に記載のデータ生成装置。
【００９２】
（付記４）前記探索部は、前記直前の入力値が修正値であり、前記現在の入力値が前記入力値間の制約を満たさない場合に、前記現在の入力値の修正値を、前記直前の入力値の修正値から前記変化速度の制約を満たし、かつ、前記入力値間の制約を満たす範囲で探索する、
ことを特徴とする付記２または３に記載のデータ生成装置。
【００９３】
（付記５）前記探索部は、前記直前の入力値が修正値であり、前記現在の入力値が前記入力値間の制約を満たす場合に、前記現在の入力値の修正値を、前記直前の入力値の修正値から前記変化速度の制約を満たす範囲で探索する、
ことを特徴とする付記２または３に記載のデータ生成装置。
【００９４】
（付記６）前記第１判定部は、前記入力値が１番目の入力値である場合に、該１番目の入力値と、前記入力値間の制約を満たす既知の入力値との間で、前記入力値間の制約を満たすか否かを判定し、
前記第２判定部は、前記入力値が１番目の入力値である場合に、前記変化速度の制約について判定を行わない、
ことを特徴とする付記１〜５のいずれか１つに記載のデータ生成装置。
【００９５】
（付記７）入力データを受け付け、
受け付けた前記入力データの時系列の入力値について、時系列順に前記入力値間の制約を満たすか否かを判定し、
時系列順に前記入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定し、
前記入力値間の制約の判定結果と、前記変化速度の制約の判定結果とに基づいて、前記入力値を修正する修正値を探索し、
前記入力値を前記修正値に変更した修正後の入力データを出力する、
処理をコンピュータが実行することを特徴とするデータ生成方法。
【００９６】
（付記８）前記探索する処理は、前記入力値をグラフ上にプロットした場合における、現在の入力値と、直前の入力値とを結んだ直線上において、前記修正値を探索する、
ことを特徴とする付記７に記載のデータ生成方法。
【００９７】
（付記９）前記探索する処理は、前記直線上において、前記直前の入力値に近づく方向に前記修正値を探索する、
ことを特徴とする付記８に記載のデータ生成方法。
【００９８】
（付記１０）前記探索する処理は、前記直前の入力値が修正値であり、前記現在の入力値が前記入力値間の制約を満たさない場合に、前記現在の入力値の修正値を、前記直前の入力値の修正値から前記変化速度の制約を満たし、かつ、前記入力値間の制約を満たす範囲で探索する、
ことを特徴とする付記８または９に記載のデータ生成方法。
【００９９】
（付記１１）前記探索する処理は、前記直前の入力値が修正値であり、前記現在の入力値が前記入力値間の制約を満たす場合に、前記現在の入力値の修正値を、前記直前の入力値の修正値から前記変化速度の制約を満たす範囲で探索する、
ことを特徴とする付記８または９に記載のデータ生成方法。
【０１００】
（付記１２）前記入力値間の制約を満たすか否かを判定する処理は、前記入力値が１番目の入力値である場合に、該１番目の入力値と、前記入力値間の制約を満たす既知の入力値との間で、前記入力値間の制約を満たすか否かを判定し、
前記変化速度の制約を満たすか否かを判定する処理は、前記入力値が１番目の入力値である場合に、前記変化速度の制約について判定を行わない、
ことを特徴とする付記７〜１１のいずれか１つに記載のデータ生成方法。
【０１０１】
（付記１３）入力データを受け付け、
受け付けた前記入力データの時系列の入力値について、時系列順に前記入力値間の制約を満たすか否かを判定し、
時系列順に前記入力値が直前の入力値からみて変化速度の制約を満たすか否かを判定し、
前記入力値間の制約の判定結果と、前記変化速度の制約の判定結果とに基づいて、前記入力値を修正する修正値を探索し、
前記入力値を前記修正値に変更した修正後の入力データを出力する、
処理をコンピュータに実行させることを特徴とするデータ生成プログラム。
【０１０２】
（付記１４）前記探索する処理は、前記入力値をグラフ上にプロットした場合における、現在の入力値と、直前の入力値とを結んだ直線上において、前記修正値を探索する、
ことを特徴とする付記１３に記載のデータ生成プログラム。
【０１０３】
（付記１５）前記探索する処理は、前記直線上において、前記直前の入力値に近づく方向に前記修正値を探索する、
ことを特徴とする付記１４に記載のデータ生成プログラム。
【０１０４】
（付記１６）前記探索する処理は、前記直前の入力値が修正値であり、前記現在の入力値が前記入力値間の制約を満たさない場合に、前記現在の入力値の修正値を、前記直前の入力値の修正値から前記変化速度の制約を満たし、かつ、前記入力値間の制約を満たす範囲で探索する、
ことを特徴とする付記１４または１５に記載のデータ生成プログラム。
【０１０５】
（付記１７）前記探索する処理は、前記直前の入力値が修正値であり、前記現在の入力値が前記入力値間の制約を満たす場合に、前記現在の入力値の修正値を、前記直前の入力値の修正値から前記変化速度の制約を満たす範囲で探索する、
ことを特徴とする付記１４または１５に記載のデータ生成プログラム。
【０１０６】
（付記１８）前記入力値間の制約を満たすか否かを判定する処理は、前記入力値が１番目の入力値である場合に、該１番目の入力値と、前記入力値間の制約を満たす既知の入力値との間で、前記入力値間の制約を満たすか否かを判定し、
前記変化速度の制約を満たすか否かを判定する処理は、前記入力値が１番目の入力値である場合に、前記変化速度の制約について判定を行わない、
ことを特徴とする付記１３〜１７のいずれか１つに記載のデータ生成プログラム。
【符号の説明】
【０１０７】
１００  データ生成装置
１１０  入力部
１１１  出力部
１１２  表示部
１１３  操作部
１２０  記憶部
１２１  修正前データ記憶部
１２２  既知データ記憶部
１２３  第１制約記憶部
１２４  第２制約記憶部
１２５  修正後データ記憶部
１３０  制御部
１３１  受付部
１３２  第１判定部
１３３  第２判定部
１３４  探索部
１３５  出力制御部
【図１】
2017107332.tif 000003
【図２】
2017107332.tif 000004
【図３】
2017107332.tif 000005
【図４】
2017107332.tif 000006
【図５】
2017107332.tif 000007
【図６】
2017107332.tif 000008
【図７】
2017107332.tif 000009
【図８】
2017107332.tif 000010
【図９】
2017107332.tif 000011
【図１０】
2017107332.tif 000012
【図１１】
2017107332.tif 000013
【図１２】
2017107332.tif 000014
【図１３】
2017107332.tif 000015
【図１４】
2017107332.tif 000016
【図１５】
2017107332.tif 000017
【図１６】
2017107332.tif 000018
【図１７】
2017107332.tif 000019
【図１８】
2017107332.tif 000020