(57)【要約】      （修正有）【課題】機械学習を行う際に、学習の対象となるパラメータの数が膨大になり、学習が収束するまでに非現実的な長い時間を要したり、学習が収束しなかったりすることを防止し、操作機器に関して推奨される制御条件を算出させることができる装置を提供する。【解決手段】設備２に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェント４１を備え、複数のエージェント４１のそれぞれは、設備２の状態を示す状態データを取得する状態取得部４１０と、各対象機器の制御条件を示す制御条件データを取得する制御条件取得部４１１と、状態データおよび制御条件データを含む学習データを用い、状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部４１２と、を有する。【選択図】図１
2020027556.tif 000002
【特許請求の範囲】
【請求項１】
設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントを備え、
前記複数のエージェントのそれぞれは、
前記設備の状態を示す状態データを取得する状態取得部と、
各対象機器の制御条件を示す制御条件データを取得する制御条件取得部と、
前記状態データおよび前記制御条件データを含む学習データを用い、前記状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部と、
を有する、装置。
【請求項２】
前記学習処理部は、前記学習データと、予め設定された報酬関数により定まる報酬値とを用いて前記モデルの学習処理を実行し、
前記モデルは、前記状態データの入力に応じ、前記報酬値を基準報酬値よりも高めるために推奨される各対象機器の制御条件を示す前記推奨制御条件データを出力する、請求項１に記載の装置。
【請求項３】
前記複数のエージェントのそれぞれは、前記状態データを前記モデルに供給して得られる前記推奨制御条件データを出力する推奨制御条件出力部をさらに有する、請求項１または２に記載の装置。
【請求項４】
前記推奨制御条件出力部は、前記モデルを用い、将来の各時点での前記対象機器の複数の制御条件から何れか一の制御条件を選択した複数の制御条件シリーズのうち、最も推奨される制御条件シリーズに含まれる直近の制御条件を示す前記推奨制御条件データを出力する、請求項３に記載の装置。
【請求項５】
前記複数のエージェントのそれぞれは、前記推奨制御条件データが示す制御条件で前記対象機器を制御する制御部をさらに有し、
前記状態取得部は、前記制御部による前記対象機器の制御後の前記状態データを取得する、請求項１〜４のいずれか一項に記載の装置。
【請求項６】
前記複数のエージェントの少なくとも２つにおける前記状態取得部は、共通の前記状態データを取得する、請求項１から５のいずれか一項に記載の装置。
【請求項７】
前記複数のエージェントのうち少なくとも１つのエージェントの前記状態取得部は、前記複数の機器のうち当該エージェントの対象機器ではない機器の制御条件を示す制御条件データをさらに含む前記状態データを取得する、請求項１〜６のいずれか一項に記載の装置。
【請求項８】
各エージェントの前記学習処理部は、当該エージェントとは異なる他のエージェントとは独立に前記対象機器に関してカーネルダイナミックポリシープログラミング法（Ｋｅｒｎｅｌ  Ｄｙｎａｍｉｃ  Ｐｏｌｉｃｙ  Ｐｒｏｇｒａｍｍｉｎｇ）を用いて学習処理を実行する、請求項１〜７のいずれか一項に記載の装置。
【請求項９】
前記複数のエージェントそれぞれの対象機器の集合は、前記複数のエージェントのうち当該エージェントとは異なる他の各エージェントの対象機器の集合に対して疎である、請求項１から８のいずれか一項に記載の装置。
【請求項１０】
前記複数のエージェントのそれぞれは単一の機器を前記対象機器とする、請求項９に記載の装置。
【請求項１１】
設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントのそれぞれが、
前記設備の状態を示す状態データを取得し、
各対象機器の制御条件を示す制御条件データを取得し、
前記状態データおよび前記制御条件データを含む学習データを用い、前記状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する、方法。
【請求項１２】
１または複数のコンピュータを、
設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェント
として機能させ、
前記複数のエージェントのそれぞれは、
前記設備の状態を示す状態データを取得する状態取得部と、
各対象機器の制御条件を示す制御条件データを取得する制御条件取得部と、
前記状態データおよび前記制御条件データを含む学習データを用い、前記状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部と、
を有する、プログラム。
【請求項１３】
１または複数のコンピュータを、
設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェント
として機能させ、
前記複数のエージェントのそれぞれは、
前記設備の状態を示す状態データを取得する状態取得部と、
各対象機器の制御条件を示す制御条件データを取得する制御条件取得部と、
前記状態データおよび前記制御条件データを含む学習データを用い、前記状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部と、
を有する、プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置、方法、プログラム、および、記録媒体に関する。
【背景技術】
【０００２】
従来から、プラント等の設備においては、センサや操作機器と、これらを制御する制御装置とが通信手段を介して接続された分散制御システム（ＤＣＳ：Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ）が構築されており、ＤＣＳによる高度な自動操業が実現されている。このような設備では、センサによって設備の収量、運転状況、アラームの発生状況等が測定され、測定結果がＤＣＳを介して収集され、操作盤や監視端末のモニタ等の監視装置で表示される。設備の操業状態を監視するボードオペレータは、設備の収量を増減させる場合等に、フィールドオペレータと呼ばれる作業者に対してバルブ等の操作機器の調整指示を行う。昨今、このような操作機器等の調整を機械学習によって最適化するべく、各操作機器に関して推奨される制御条件を算出させ、設備の操業を自動化する技術が検討されている（例えば、特許文献１参照）。
特許文献１  特開２０１４−１７４９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、単純に機械学習を行うと、学習の対象となるパラメータの数が膨大になり、学習が収束するまでに非現実的な長い時間を要したり、学習が収束しなかったりする結果、操作機器に関して推奨される制御条件を算出させることができない。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明の第１の態様においては、装置が提供される。装置は、設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントを備えてよい。複数のエージェントのそれぞれは、設備の状態を示す状態データを取得する状態取得部を有してよい。複数のエージェントのそれぞれは、各対象機器の制御条件を示す制御条件データを取得する制御条件取得部を有してよい。複数のエージェントのそれぞれは、状態データおよび制御条件データを含む学習データを用い、状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部を有してよい。
【０００５】
学習処理部は、学習データと、予め設定された報酬関数により定まる報酬値とを用いてモデルの学習処理を実行してよい。モデルは、状態データの入力に応じ、報酬値を基準報酬値よりも高めるために推奨される各対象機器の制御条件を示す推奨制御条件データを出力してよい。
【０００６】
複数のエージェントのそれぞれは、状態データをモデルに供給して得られる推奨制御条件データを出力する推奨制御条件出力部をさらに有してよい。
【０００７】
推奨制御条件出力部は、モデルを用い、将来の各時点での対象機器の複数の制御条件から何れか一の制御条件を選択した複数の制御条件シリーズのうち、最も推奨される制御条件シリーズに含まれる直近の制御条件を示す推奨制御条件データを出力してよい。
【０００８】
複数のエージェントのそれぞれは、推奨制御条件データが示す制御条件で対象機器を制御する制御部をさらに有してよい。状態取得部は、制御部による対象機器の制御後の状態データを取得してよい。
【０００９】
複数のエージェントの少なくとも２つにおける状態取得部は、共通の状態データを取得してよい。
【００１０】
複数のエージェントのうち少なくとも１つのエージェントの状態取得部は、複数の機器のうち当該エージェントの対象機器ではない機器の制御条件を示す制御条件データをさらに含む状態データを取得してよい。
【００１１】
各エージェントの学習処理部は、当該エージェントとは異なる他のエージェントとは独立に対象機器に関してカーネルダイナミックポリシープログラミング法（Ｋｅｒｎｅｌ  Ｄｙｎａｍｉｃ  Ｐｏｌｉｃｙ  Ｐｒｏｇｒａｍｍｉｎｇ）を用いて学習処理を実行してよい。
【００１２】
複数のエージェントそれぞれの対象機器の集合は、複数のエージェントのうち当該エージェントとは異なる他の各エージェントの対象機器の集合に対して疎であってよい。
【００１３】
複数のエージェントのそれぞれは単一の機器を対象機器としてよい。
【００１４】
本発明の第２の態様においては、方法が提供される。方法では、設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントのそれぞれが、設備の状態を示す状態データを取得してよい。方法では、複数のエージェントのそれぞれが、各対象機器の制御条件を示す制御条件データを取得してよい。方法では、複数のエージェントのそれぞれが、状態データおよび制御条件データを含む学習データを用い、状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行してよい。
【００１５】
本発明の第３の態様においては、プログラムが提供される。プログラムは、１または複数のコンピュータを、設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントとして機能させてよい。複数のエージェントのそれぞれは、設備の状態を示す状態データを取得する状態取得部を有してよい。複数のエージェントのそれぞれは、各対象機器の制御条件を示す制御条件データを取得する制御条件取得部を有してよい。複数のエージェントのそれぞれは、状態データおよび制御条件データを含む学習データを用い、状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部を有してよい。
【００１６】
本発明の第４の態様においては、プログラムを記録した記録媒体が提供される。プログラムは、１または複数のコンピュータを、設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントとして機能させてよい。複数のエージェントのそれぞれは、設備の状態を示す状態データを取得する状態取得部を有してよい。複数のエージェントのそれぞれは、各対象機器の制御条件を示す制御条件データを取得する制御条件取得部を有してよい。複数のエージェントのそれぞれは、状態データおよび制御条件データを含む学習データを用い、状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部を有してよい。
【００１７】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係るシステム１を示す。
【図２】モデル４１５および推奨制御条件出力部４１６を示す。
【図３】本実施形態に係る装置４の動作を示す。
【図４】変形例に係る装置４Ａを示す。
【図５】設備２の配管計装図の一部を示す。
【図６】図５の設備２における状態パラメータの間の関連モデルを示す。
【図７】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ２２００の例を示す。
【発明を実施するための形態】
【００１９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２０】
［１．システム１の構成］
図１は、本実施形態に係るシステム１を示す。システム１は、設備２と、ネットワーク３と、装置４とを備える。
【００２１】
［１−１．設備２］
設備２は、複数の機器２０を備え付けたものである。例えば設備２は、プラントでもよいし、複数の機器２０を複合させた複合装置でもよい。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。本実施形態においては一例として、設備２は、複数の機器２０と、複数のセンサ２１とを有する。
【００２２】
［１−１−１．機器２０］
各機器２０は、器具、機械または装置であり、例えば、設備２のプロセスにおける圧力、温度、ｐＨ、速度、流量などの少なくとも１つの物理量を制御するバルブ、ポンプ、ヒータ、ファン、モータ、スイッチ等のアクチュエータであってよい。スイッチは、例えば設備２としてのプラントにおける処理手順を変更してよい。各機器２０は互いに異種でもよいし、少なくとも一部の２以上の機器２０が同種でもよい。複数の機器２０のうち少なくとも一部の機器２０は、後述のエージェント４１による学習対象である対象機器２０（Ｔ）であってよい。本実施形態では一例として、機器２０はネットワーク３を介して外部から有線または無線で制御されるが、手動で制御されてもよい。
【００２３】
［１−１−２．センサ２１］
各センサ２１は、設備２の状態の計測または判別を行う。各センサ２１は、設備２の収量、混入する不純物の割合、各機器２０の運転状況、アラームの発生状況等の操業状態の計測または判別を行ってよい。機器２０の運転状況は、一例として機器２０により制御される圧力、温度、ｐＨ、速度、流量などの少なくとも１つの物理量で表されよい。アラームは設備２に異常が生じたことに応じて発生するものであってよく、一例としてアラームの発生状況を判別するセンサ２１は、計測値が上限値および下限値の少なくとも一方を超えることに応じてアラームの発生状況であると判別を行ってよい。各センサ２１は、計測または判別の結果を、ネットワーク３を介して装置４に供給してよい。
【００２４】
［１−２．ネットワーク３］
ネットワーク３は、設備２内の各機器２０およびセンサ２１と、装置４とを通信可能に接続する。ネットワーク３内の通信のうち、少なくとも機器２０と装置４との間の通信は、例えばＩＳＡ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｏｃｉｅｔｙ  ｏｆ  Ａｕｔｏｍａｔｉｏｎ：国際計測制御学会）の無線通信プロトコルで行われてよく、一例としてＩＳＡ１００、ＨＡＲＴ（Ｈｉｇｈｗａｙ  Ａｄｄｒｅｓｓａｂｌｅ  Ｒｅｍｏｔｅ  Ｔｒａｎｓｄｕｃｅｒ）（登録商標）、ＢＲＡＩＮ（登録商標）、ＦＯＵＮＤＡＴＩＯＮ  Ｆｉｅｌｄｂｕｓ、ＰＲＯＦＩＢＵＳ等で行われてよい。センサ２１と装置４の間の通信も、上記の通信プロトコルを用いて行うことが可能である。
【００２５】
［１−３．装置４］
装置４は、複数の機器２０についての学習を行う。装置４は、１または複数のコンピュータであってよく、ＰＣなどで構成されてもよいし、クラウドコンピューティングにより実現されてもよい。装置４は、報酬値取得部４０と、複数のエージェント４１とを有する。
【００２６】
［１−３−１．報酬値取得部４０］
報酬値取得部４０は、エージェント４１での強化学習に用いられる報酬値を取得するものであり、設備２の操業状態を評価するための報酬値を取得する。報酬値は、予め設定された報酬関数により定まる値であってよい。ここで、関数とは、ある集合の各要素に他の集合の各要素を一対一で対応させる規則を持つ写像であり、例えば数式でもよいし、テーブルでもよい。報酬関数は、状態データの入力に応じて、その状態を評価した報酬値を出力してよい。報酬関数は、オペレータによって設定されてよい。報酬値取得部４０は、報酬関数を使用したオペレータから報酬値を取得してもよいし、センサ２１からの状態データを報酬関数に入力して報酬値を取得してもよい。報酬値取得部４０が状態データを報酬関数に入力する場合には、報酬関数は装置４の内部に記憶されていてもよいし、外部に記憶されていてもよい。
【００２７】
［１−３−２．エージェント４１］
複数のエージェント４１は、設備２における一部の機器２０をそれぞれ対象機器２０（Ｔ）とする。各エージェント４１の対象機器２０（Ｔ）の個数は１つであっても複数であってもよく、複数のエージェント４１の間で同じであってもよいし、異なっていてもよい。複数のエージェント４１それぞれの対象機器２０（Ｔ）の集合は、当該エージェント４１とは異なる他の各エージェント４１の対象機器２０（Ｔ）の集合に対して疎であってよい。対象機器２０（Ｔ）の集合は、単一の装置に含まれる複数の機器２０の集まりであってもよいし、別々の装置に含まれる複数の機器２０の少なくとも一部ずつの集まりであってもよい。一のエージェント４１についての対象機器２０（Ｔ）が複数である場合には、これらの対象機器２０（Ｔ）は連動して制御される関係（一例として主従関係、独立には制御されない関係）を有してよい。各エージェント４１は別々の単一の機器２０をそれぞれ対象機器２０（Ｔ）としてもよい。一例としてエージェント４１の個数は設備２における機器２０の個数と同じでよく、この場合には、各機器２０が何れかのエージェント４１の対象機器２０（Ｔ）であってよい。これに代えて、エージェントの個数は設備２における機器２０の個数より少なくてもよく、この場合には設備２にはエージェント４１の対象機器２０（Ｔ）ではない機器２０が含まれてよい。
【００２８】
各エージェント４１は、状態取得部４１０と、制御条件取得部４１１と、学習処理部４１２と、モデル４１５と、推奨制御条件出力部４１６と、制御部４１７とを有する。
【００２９】
［１−３−２（１）．状態取得部４１０］
状態取得部４１０は、設備２の状態を示す状態データを取得する。状態データには、センサ２１による計測または判別の結果を示す状態パラメータが少なくとも１つ含まれてよい。本実施形態では一例として、状態取得部４１０は状態パラメータをセンサ２１から取得するが、センサ２１を確認したオペレータから取得してもよい。状態取得部４１０は、取得した状態データを学習処理部４１２および推奨制御条件出力部４１６に供給してよい。
【００３０】
［１−３−２（２）．制御条件取得部４１１］
制御条件取得部４１１は、各対象機器２０（Ｔ）の制御条件を示す制御条件データを取得する。制御条件は、機器２０に直接入力する設定値や目標値、操作量でよい。本実施形態では一例として、制御条件取得部４１１は、制御条件データを制御部４１７から取得するが、対象機器２０（Ｔ）から取得してもよいし、オペレータから取得してもよい。制御条件取得部４１１は、取得した制御条件データを学習処理部４１２に供給する。
【００３１】
［１−３−２（３）．学習処理部４１２］
学習処理部４１２は、状態データおよび制御条件データを含む学習データを用いてモデル４１５の学習処理を実行する。本実施形態では一例として、学習処理部４１２は、報酬値取得部４０からの報酬値をさらに用いてモデル４１５の学習処理を実行してよい。
【００３２】
［１−３−２（４）．モデル４１５］
モデル４１５は、状態データの入力に応じて各対象機器２０（Ｔ）の推奨される制御条件を示す推奨制御条件データを出力する。推奨される制御条件は、報酬値を基準報酬値よりも高めるための制御条件であってよい。基準報酬値は、所定の時点（一例として現在）の設備２の操業状態に対応する報酬値（一例としてその時点の状態データを報酬関数に入力して得られる報酬値）でもよいし、固定値（一例として報酬値の最大値から許容値を減じた値）でもよい。なお、モデル４１５は、エージェント４１に対応付けられて装置４の外部のサーバに格納されてもよい。
【００３３】
［１−３−２（５）．推奨制御条件出力部４１６］
推奨制御条件出力部４１６は、状態データをモデル４１５に供給して得られる推奨制御条件データを出力する。すなわち、推奨制御条件出力部４１６は、状態データをモデル４１５に供給するとともに、供給することに応じてモデル４１５から得られる推奨制御条件データを出力する。推奨制御条件出力部４１６は、推奨制御条件データを制御部４１７に供給してよい。なお、推奨制御条件出力部４１６は、推奨制御条件データを装置４の外部に出力してもよい。
【００３４】
［１−３−２（６）．制御部４１７］
制御部４１７は、推奨制御条件データが示す制御条件で対象機器２０（Ｔ）を制御する。例えば、制御部４１７は、対象機器２０（Ｔ）に推奨制御条件データを供給することで、推奨制御条件データが示す制御条件で対象機器２０（Ｔ）を制御する。制御部４１７と対象機器２０（Ｔ）との間には、対象機器２０（Ｔ）のコントローラ（図示せず）が介在してもよい。
【００３５】
以上のシステム１によれば、各エージェント４１により設備２の状態データと、対象機器２０（Ｔ）の制御条件データとを含む学習データを用いてモデル４１５の学習処理が行われるので、全ての機器２０の制御条件データを含む学習データを用いてモデル４１５の学習処理を行う場合と比較して学習処理の演算処理数を低減することができる。従って、モデル４１５の学習を収束させることができ、得られたモデル４１５に状態データを入力することで各対象機器２０（Ｔ）の推奨される制御条件データを取得することができる。
【００３６】
また、報酬値を基準報酬値よりも高めるために推奨される各対象機器２０（Ｔ）の推奨制御条件データがモデル４１５から出力されるので、モデル４１５を用いることで、より好適な推奨制御条件データを取得することができる。また、状態データをモデル４１５に供給して推奨制御条件データを出力する推奨制御条件出力部４１６が装置４に具備されるので、装置４に状態データを入力することで推奨制御条件データを取得して、装置４の内部や外部に出力することができる。
【００３７】
また、複数のエージェント４１それぞれの対象機器２０（Ｔ）の集合が他の各エージェント４１の対象機器２０（Ｔ）の集合に対して疎であるので、エージェント４１間で複数の機器２０を分担して学習処理を行うことができる。従って、一部の機器２０に関して重複して学習処理が行われるのを防止し、演算処理数を低減することができる。また、エージェント４１同士で同じ機器２０について重複して学習する場合と比較して学習内容の関連性が低いため、各エージェント４１を別々のＰＣで実現して効率よく分散処理を行うことができる。また、分散処理を行うことによりマシンパワーの低いＰＣを用いることができる。
【００３８】
また、各エージェント４１が単一の機器２０を対象機器２０（Ｔ）とするので、複数の機器２０を対象機器２０（Ｔ）とする場合と比較して、エージェント４１ごとの演算処理数を低減することができる。
【００３９】
［２．モデル４１５および推奨制御条件出力部４１６］
図２は、モデル４１５および推奨制御条件出力部４１６を示す。
【００４０】
［２−１．モデル４１５］
本実施形態では一例として、モデル４１５は、入力された状態データの履歴を記憶してよい。履歴には少なくとも一の時点での状態データが含まれる。モデル４１５は、新たに状態データが入力されることに応じて、将来の複数の時点（ｔ＋１），（ｔ＋２），…（但し添え字の「＋１」、「＋２」は識別子であり、値が大きいほど先の時点であることを示す）のそれぞれでの設備２の予測状態を示す予測状態データの確率分布を出力してよい。
【００４１】
ここで、将来の複数の時点（ｔ＋１），（ｔ＋２），…は、現在からの基準時間（一例として１０分）内における単位時間（一例として３０秒）毎の時点でよい。予測状態データは、制御条件（Ｃ１），（Ｃ２），…で示される何らかの制御が各時点（ｔ＋１），（ｔ＋２），…で対象機器２０（Ｔ）に行われる場合の設備２の予測状態を示してよい。一例として予測状態データは、時点（ｔ＋１）で制御条件（Ｃ１＿ｔ＋１），（Ｃ２＿ｔ＋１），…（但し添え字内の「ｔ＋１」，「ｔ＋２」は制御が行われる時点を示す）の制御が行われる場合の予測状態データ（Ｄ（Ｃ１＿ｔ＋１）），（Ｄ（Ｃ２＿ｔ＋１）），…や、時点（ｔ＋２）で制御条件（Ｃ１＿ｔ＋２），（Ｃ２＿ｔ＋２），…の制御が行われる場合の予測状態データ（Ｄ（Ｃ１＿ｔ＋２）），（Ｄ（Ｃ２＿ｔ＋２）），…などを網羅的に含んでよい。なお、確率とは、事象の生じ得る可能性の度合いであり、事象が起こる割合であってもよいし、割合に応じた値（相対値）であってもよい。
【００４２】
また、モデル４１５は、予測状態データ毎に、設備２の状態が予測状態データで示される状態となった場合に予測される報酬値を出力してよい。例えば、モデル４１５は、現在の状態データの入力に応じて予測される予測状態データの何れかが選択されることに応じて、報酬値を出力してもよいし、予測状態データの入力に応じて報酬値を出力してもよい。
【００４３】
［２−２．推奨制御条件出力部４１６］
【００４４】
推奨制御条件出力部４１６は、モデル４１５を用い、将来の各時点（ｔ＋１），（ｔ＋２），…での対象機器２０（Ｔ）の複数の制御条件（Ｃ１），（Ｃ２），…から何れか一の制御条件（ＣＮ）（Ｎは任意の自然数）を選択した複数の制御条件シリーズのうち、最も推奨される制御条件シリーズに含まれる現時点に対する将来の直近の制御条件を示す推奨制御条件データを出力する。推奨制御条件出力部４１６は、予測状態出力部４１６０と、予測報酬出力部４１６１と、制御条件シリーズ特定部４１６２と、推奨制御条件特定部４１６３とを有する。
【００４５】
［２−２−１．予測状態出力部４１６０］
予測状態出力部４１６０は、各時点（ｔ＋１），（ｔ＋２），…での制御条件（Ｃ１），（Ｃ２），…毎の予測状態データ（Ｄ）を予測報酬出力部４１６１に出力する。例えば、予測状態出力部４１６０は、モデル４１５に現在の状態データを入力し、将来の各時点（ｔ＋１），（ｔ＋２），…について、制御条件（Ｃ１），（Ｃ２），…で示される何らかの制御が機器２０に行われる場合の予測状態データ（Ｄ）の確率分布をモデル４１５から取得し、予測報酬出力部４１６１に出力してよい。
【００４６】
［２−２−２．予測報酬出力部４１６１］
予測報酬出力部４１６１は、各時点（ｔ＋１），（ｔ＋２），…での制御条件（Ｃ１），（Ｃ２），…毎の報酬値を制御条件シリーズ特定部４１６２に出力する。例えば、予測報酬出力部４１６１は、モデル４１５に各時点（ｔ＋１），（ｔ＋２），…での制御条件（Ｃ１），（Ｃ２），…毎の予測状態データ（Ｄ）を順次入力し、設備２が当該予測状態データ（Ｄ）で示される状態になった場合に予測される報酬値をモデル４１５から順次取得して制御条件シリーズ特定部４１６２に出力してよい。
【００４７】
［２−２−３．制御条件シリーズ特定部４１６２］
制御条件シリーズ特定部４１６２は、将来の各時点（ｔ＋１），（ｔ＋２），…で何れか一の制御条件（ＣＮ）をそれぞれ選択した制御条件シリーズ（ＣＮ＿ｔ＋１），（ＣＮ＿ｔ＋２），…を複数生成する。別言すれば、制御条件シリーズ特定部４１６２は、時点（ｔ＋１），（ｔ＋２），…毎に一の制御条件（ＣＮ）を選択して繋ぎ、制御条件の列（制御条件シリーズ）を複数生成する。また、制御条件シリーズ特定部４１６２は、複数の制御条件シリーズのうち、最も推奨される制御条件シリーズの一例として、制御条件に対応する予測報酬値の合計が最大となる制御条件シリーズを特定する。
【００４８】
［２−２−４．推奨制御条件特定部４１６３］
推奨制御条件特定部４１６３は、特定された制御条件シリーズに含まれる各時点の制御条件のうち、現時点に対する将来の直近の制御条件（ＣＮ＿ｔ＋１）を推奨制御条件として特定し、当該制御条件（ＣＮ＿ｔ＋１）を示す制御条件データを推奨制御条件データとして出力する。
【００４９】
以上の推奨制御条件出力部４１６によれば、将来の各時点（ｔ＋１），（ｔ＋２），…で何れか一の制御条件（ＣＮ）を選択した複数の制御条件シリーズのうち、最も推奨される制御条件シリーズに含まれる直近の制御条件を示す推奨制御条件データが出力されるので、将来の各時点での複数の制御条件を考慮に入れて最も推奨される推奨制御条件データを取得することができる。また、このような推奨制御条件データを用いて対象機器２０（Ｔ）の制御を行うことにより、将来の各時点において、設備２の状態を最も推奨される状態に移行させていくことが可能となる。
【００５０】
［３．動作］
図３は、本実施形態に係る装置４の動作を示す。装置４は、ステップＳ１〜Ｓ１１の処理を行うことにより設備２を稼働させつつモデル４１５の学習を行う。
【００５１】
まずステップＳ１において複数のエージェント４１それぞれの制御部４１７が制御条件データを出力して対象機器２０（Ｔ）を制御する。例えば各制御部４１７は、オペレータにより設定された制御条件を示す制御条件データで対象機器２０（Ｔ）を制御してよい。後述のステップＳ１１で推奨制御条件出力部４１６により推奨制御条件データが出力されている場合には、各制御部４１７は当該推奨制御条件データで対象機器２０（Ｔ）を制御してよい。
【００５２】
ステップＳ３において複数のエージェント４１それぞれの状態取得部４１０は設備２の現在の状態を示す状態データを取得する。これにより対象機器２０（Ｔ）が制御部４１７によって制御された後の状態データが取得される。ここで、複数のエージェント４１の少なくとも２つにおける状態取得部４１０は、共通の状態データを取得してよい。例えば、これらの状態取得部４１０は少なくとも１つの共通のセンサ２１から状態データを取得してよく、一例として、全ての状態取得部４１０が設備２内の全てのセンサ２１から状態データを取得してよい。なお、少なくとも１つのエージェント４１の状態取得部４１０が取得する状態データには、設備２における複数の機器２０のうち対象機器２０（Ｔ）ではない少なくとも１つの他の機器２０の制御条件を示す制御条件データが状態パラメータとして含まれてよい。この場合、状態取得部４１０は、当該状態取得部４１０を含むエージェント４１とは別のエージェント４１の制御部４１７から制御条件データを取得してよい。なお、他の機器２０の制御条件は、現在の制御条件でもよいし、過去の１または複数の時点での制御条件（一例として直近の１つの制御条件）でもよい。
【００５３】
ステップＳ５において複数のエージェント４１それぞれの制御条件取得部４１１はステップＳ１での対象機器２０（Ｔ）の制御条件データを取得する。なお、ステップＳ５の処理は、ステップＳ１の前に行われてもよいし、ステップＳ１およびステップＳ３の間に行われてもよい。
【００５４】
ステップＳ７において報酬値取得部４０は、設備２の現在の操業状態を評価するための報酬値を取得する。ここで、報酬関数は、設備２で製造される製造物の品質、製造コスト、収量、不純物の混入割合、設備２の消費エネルギーの少なくとも１つに関するパラメータを有してよい。品質に関するパラメータは、製造物の品質が特定品質である場合に最大値となってよく、特定品質は必ずしも最高品質でなくてもよい。製造コストに関するパラメータは、原料の価格に応じて設定されてよい。報酬関数は偏った状態データ（例えばアラームが発生時の状態データ）を用いた学習を防止するための正則化項をさらに含んでよい。一例として、設備２が製造プラントである場合には、報酬関数は以下の式（１）のように設定されてよい。
【００５５】
報酬値＝１００×収量測定値
−５０×不純物の混入割合の測定値
−１００００×アラームの発生数          …（１）
【００５６】
ステップＳ９において複数のエージェント４１それぞれの学習処理部４１２は、状態データおよび制御条件データを含む学習データと、報酬値とを用いてモデル４１５の学習処理を実行する。各エージェント４１の学習処理部４１２は、当該エージェント４１とは異なる他のエージェント４１とは独立に対象機器２０（Ｔ）に関してカーネルダイナミックポリシープログラミング法（Ｋｅｒｎｅｌ  Ｄｙｎａｍｉｃ  Ｐｏｌｉｃｙ  Ｐｒｏｇｒａｍｍｉｎｇ、ＫＤＰＰ）を用いて学習処理を行ってよい。これにより、結果として複数のエージェント４１の全体により、それぞれのエージェント４１の対象機器２０（Ｔ）の全体に関してファクトリアルカーネルダイナミックポリシープログラミング法（Ｆａｃｔｏｒｉａｌ  ＫＤＰＰ）により学習処理が行われる。従って、一のエージェント４１により設備２における全ての機器２０を対象機器２０（Ｔ）としてＫＤＰＰ法による学習処理が行われる場合と比較して、対象機器２０（Ｔ）の個数を低減して演算処理数を低減することができる。ここで、カーネルダイナミックプログラミング法による学習処理としては、例えば「Y. Cui, T. Matsubara, and K. Sugimoto, "Kernel dynamic policy programming: Applicable reinforcement learning to robot systems with high dimensional states," Neural networks, vol. 94, pp. 13-23, 2017.」に記載の処理を用いることができる。なお、各学習処理部４１２は、ＫＤＰＰに代えて、最急降下法、ニューラルネットワーク、ＤＱＮ（Ｄｅｅｐ  Ｑ−Ｎｅｔｗｏｒｋ）、ガウシアンプロセス、ディープラーニングなどによる学習処理を行ってもよい。また、学習処理部４１２は報酬値を用いずに学習処理を行ってもよく、この場合にはステップＳ７の処理は行われなくてもよい。各エージェント４１が別々のＰＣで実現されている場合には、これらのＰＣはスタンドアロンの状態でステップＳ９の学習処理を行ってよい。これによって、各ＰＣを通信等のネットワークに接続しなくてもよくなり、各ＰＣでのネットワークに関する処理の負担を軽減することができる。
【００５７】
ステップＳ１１において複数のエージェント４１それぞれの推奨制御条件出力部４１６は、現在の状態データをモデル４１５に供給して得られる推奨制御条件データを制御部４１７に出力し、ステップＳ１に処理を移行する。これにより、対象機器２０（Ｔ）が推奨制御条件データで制御されて学習処理が繰り返し行われ、設備２の操業状態が最適化される。なお、ステップＳ１〜Ｓ１１の処理が繰り返し行われる場合に、ステップＳ１の周期は設備２の時定数に応じて定められてよく、一例として３０秒であってよい。また、ステップＳ１〜Ｓ１１の処理が繰り返し行われる場合に、設備２内の機器２０やセンサ２１の数は、メンテナンスや増設、故障などによって増減してよい。設備２内の機器２０の数が増減する場合には、エージェント４１の数も増減してよい。
【００５８】
以上の動作によれば、推奨制御条件データに従って対象機器２０（Ｔ）が制御され、制御に応じた状態データが取得されるので、推奨制御条件データと、これに対応する状態データとを含む学習データを用いてさらにモデル４１５の学習処理が行われる。従って、推奨制御条件データで制御が行われる場合のモデル４１５の学習処理を順次、行って学習精度を高めることができる。
【００５９】
また、少なくとも２つのエージェント４１間で共通の状態データが学習処理に用いられるので、一のエージェント４１の対象機器２０（Ｔ）に対する制御結果が、他のエージェント４１の対象機器２０（Ｔ）の学習処理に間接的に反映される。従って、設備２内の機器２０の一部ずつを対象機器２０（Ｔ）とするエージェント４１同士で間接的に協働し、それぞれの対象機器２０（Ｔ）の制御条件を最適化するよう学習処理を行うことができる。また、一のエージェント４１の対象機器２０（Ｔ）と他のエージェント４１の対象機器２０（Ｔ）とが動作等において関連性を有する場合に、一のエージェント４１の対象機器２０（Ｔ）の制御結果が他のエージェント４１の学習処理に間接的に反映されるため、他のエージェント４１による推奨制御条件をより好適な制御条件にすることができる。
【００６０】
また、対象機器２０（Ｔ）ではない他の機器２０の制御条件データが状態データに含まれて学習処理に用いられるので、他の機器２０の制御条件データが状態データに含まれない場合と比較して、学習精度を向上させることができる。例えば、一のエージェント４１の対象機器２０（Ｔ）の状態データが、対象機器２０（Ｔ）ではない他の機器２０の制御によって影響を受ける場合に、一のエージェント４１の学習処理に他の機器２０の制御条件が間接的に反映されるため、一のエージェント４１による推奨制御条件をより好適な制御条件にすることができる。
【００６１】
［４．変形例］
図４は、変形例に係る装置４Ａを示す。装置４Ａは、各エージェント４１により取得される状態データの状態パラメータを絞り込む絞込部４２をさらに有してよい。
【００６２】
絞込部４２は、状態データに含まれる複数の状態パラメータの間の相関確率に基づいて、各エージェント４１の状態取得部４１０による取得対象の複数の状態パラメータのうち、何れかの状態パラメータを取得対象から外してよい。複数の状態パラメータには、各センサ２１による測定結果、判別結果、および、各機器２０の制御条件の少なくとも１つが含まれてよい。絞込部４２は、各エージェント４１の状態取得部４１０による取得対象の複数の状態パラメータのうち、当該エージェント４１の対象機器２０（Ｔ）の制御条件との間で相関確率が基準確率よりも低い状態パラメータを、取得対象から外してよい。絞込部４２は、各エージェント４１の状態取得部４１０に対し、取得対象から外すべき状態パラメータの識別情報を供給することで、当該状態パラメータの取得を停止させてよい。
【００６３】
以上の装置４Ａによれば、各エージェント４１に状態パラメータを絞って学習処理を行わせることができるため、学習を短時間で収束させることができる。また、学習を、相関確率が規定された複数の機器２０に亘る広域最適となるよう収束させることができる。
【００６４】
図５は、設備２の配管計装図の一部を示す。本図では一例として、設備２はパイプ２００（１）〜２００（９）と、センサ２１としての流量計Ｓ（１）〜Ｓ（５）と、機器２０としてのバルブＶ（１）〜Ｖ（４）とを有する。パイプ２００（１）は一端部においてパイプ２００（２），２００（３）の一端に結合されており、パイプ２００（２），２００（３）は他端においてパイプ２００（４）の一端に結合されている。また、パイプ２００（５）は一端部においてパイプ２００（６），２００（７）の一端に結合されており、パイプ２００（６），２００（７）は他端においてパイプ２００（８）の一端に結合されている。パイプ２００（４），２００（８）の他端はパイプ２００（９）の一端に結合されている。流量計Ｓ（１），Ｓ（２）はパイプ２００（１），２００（５）にそれぞれ設けられ、その流量を計測する。流量計Ｓ（３），Ｓ（４）はパイプ２００（４），２００（８）にそれぞれ設けられ、その流量を計測する。流量計Ｓ（５）はパイプ２００（４），２００（８），２００（９）の結合部に設けられ、結合部の流量を計測する。バルブＶ（１）〜Ｖ（４）はパイプ２００（２），２００（３），２００（６），２００（７）にそれぞれ設けられ、その流量を調整する。
【００６５】
このような設備２においてパイプ２００（８）の流量を変化させたい場合には、バルブＶ（３）またはバルブＶ（４）の開度を変更すればよく、バルブＶ（１），Ｖ（２）の開度はパイプ２００（８）の流量に影響を与えない（あるいは、影響が小さい）。オペレータや、設備２の管理者などは、このように相関のない（または小さい）関係の状態パラメータを設備２の設計図などから推測することができる。絞込部４２は、各エージェント４１の状態取得部４１０に対し、当該エージェント４１の対象機器２０（Ｔ）の制御条件との間で相関確率が基準確率よりも低いとオペレータ等によって推測された状態パラメータの識別情報を供給することで、当該状態パラメータの取得を停止させてよい。
【００６６】
なお、絞込部４２は取得対象から外すべき状態パラメータの識別情報を状態取得部４１０に供給するのに代えて、設備２の複数の状態パラメータの間の関連モデルを学習処理部４１２に供給してよい。この場合、学習処理部４１２は関連モデルを用いてモデル４１５の学習処理を行い、状態パラメータ間の相関確率（ベイズ確率）を計算してよい。また、学習処理部４１２は、各エージェント４１の状態取得部４１０に対し、当該エージェント４１の対象機器２０（Ｔ）の制御条件との間で相関確率が基準確率よりも低く計算された状態パラメータの識別情報を供給することで、当該状態パラメータの取得を停止させてよい。この場合には、オペレータによる推測に基づいて状態パラメータを取得対象から外す場合と比較して、より確実に学習を広域最適となるように収束させることができる。
【００６７】
図６は、図５の設備２における状態パラメータの間の関連モデルを示す。この関連モデルでは、各条件パラメータをノードｓ（１）〜ｓ（５）、ｖ（１）〜ｖ（４）として表し、関連するノード同士をエッジで繋げている。各エッジには、当該エッジにより結ばれるノード間の相関確率ｐ１〜ｐ１０が付されている。相関確率ｐ１〜ｐ１０の初期値は全て１であってよく、学習処理の結果に応じて変化してよい。ここで、ノードｓ（１）〜ｓ（５）は流量計Ｓ（１）〜Ｓ（５）により計測される流量を示し、ノードｖ（１）〜ｖ（４）はバルブＶ（１）〜Ｖ（４）の開度を示す。
【００６８】
学習処理部４１２は、このような関連モデルを用いて状態パラメータ間の相関確率を計算してよい。例えば学習処理部４１２は、バルブＶ（１）〜Ｖ（４）の何れのバルブ開度を変化させると、流量計Ｓ（１）〜Ｓ（５）のうちの何れかの流量計Ｓで計測される流量がより大きく変動する可能性が高いか等を学習することで、状態パラメータ間の相関確率を計算してよい。一例として、センサＳ１の流量がセンサＳ５の流量に対してどれくらい影響を与えるかの相関確率ｐは、ｐ＝（ｐ７＊ｐ３＋ｐ８＊ｐ４）＊ｐ１によって計算することができる。また、センサＳ３の流量がセンサＳ５の流量に対してどれくらい影響を与えるかの相関確率ｐは、ｐ＝ｐ１によって計算することができる。
【００６９】
［５．その他の変形例］
なお、上記の実施形態では、設備２がセンサ２１を有することとして説明したが、センサ２１を有しないこととしてもよい。この場合には、装置４の状態取得部４１０は設備２の状態を確認したオペレータから状態データ（例えば、機械式圧力計の場合には指針が指している圧力値）を取得してよい。
【００７０】
また、装置４は報酬値取得部４０を有することとして説明したが、報酬値取得部４０を有しないこととしてもよい。この場合には、各エージェント４１の学習処理部４１２が状態データを報酬関数に入力して報酬値を取得してもよい。
【００７１】
また、各エージェント４１は推奨制御条件出力部４１６および制御部４１７を有することとして説明したが、これらの少なくとも一方を有しないこととしてもよい。各エージェント４１が推奨制御条件出力部４１６を有しない場合には、学習処理部４１２により学習処理の行われたモデル４１５が別の装置に接続されて設備２の操業に用いられてよい。各エージェント４１が制御部４１７を有しない場合には、各エージェント４１の推奨制御条件出力部４１６から出力される推奨制御条件データに従ってオペレータが当該エージェント４１の対象機器２０（Ｔ）を手動で制御してもよい。
【００７２】
また、本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、（１）操作が実行されるプロセスの段階または（２）操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、およびコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサの少なくとも１つによって実装されてよい。専用回路は、デジタルおよびアナログの少なくとも一方のハードウェア回路を含んでよく、集積回路（ＩＣ）およびディスクリート回路の少なくとも一方を含んでよい。プログラマブル回路は、論理ＡＮＤ、論理ＯＲ、論理ＸＯＲ、論理ＮＡＮＤ、論理ＮＯＲ、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックアレイ（ＰＬＡ）等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【００７３】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー（登録商標）ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭまたはフラッシュメモリ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、コンパクトディスクリードオンリメモリ（ＣＤ-ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（ＲＴＭ）ディスク、メモリスティック、集積回路カード等が含まれてよい。
【００７４】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ、ＪＡＶＡ（登録商標）、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、１または複数のプログラミング言語の任意の組み合わせで記述されたコードまたはオブジェクトコードのいずれかを含んでよい。
【００７５】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク（ＬＡＮ）、インターネット等のようなワイドエリアネットワーク（ＷＡＮ）を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【００７６】
図７は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ２２００の例を示す。コンピュータ２２００にインストールされたプログラムは、コンピュータ２２００に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の１または複数のセクションとして機能させることができ、または当該操作または当該１または複数のセクションを実行させることができ、これに加えて、またはこれに代えて、コンピュータ２２００に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ２２００に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、ＣＰＵ２２１２によって実行されてよい。
【００７７】
本実施形態によるコンピュータ２２００は、ＣＰＵ２２１２、ＲＡＭ２２１４、グラフィックコントローラ２２１６、およびディスプレイデバイス２２１８を含み、それらはホストコントローラ２２１０によって相互に接続されている。コンピュータ２２００はまた、通信インターフェイス２２２２、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６、およびＩＣカードドライブのような入出力ユニットを含み、それらは入出力コントローラ２２２０を介してホストコントローラ２２１０に接続されている。コンピュータはまた、ＲＯＭ２２３０およびキーボード２２４２のようなレガシの入出力ユニットを含み、それらは入出力チップ２２４０を介して入出力コントローラ２２２０に接続されている。
【００７８】
ＣＰＵ２２１２は、ＲＯＭ２２３０およびＲＡＭ２２１４内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ２２１６は、ＲＡＭ２２１４内に提供されるフレームバッファ等またはそれ自体の中にＣＰＵ２２１２によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス２２１８上に表示されるようにする。
【００７９】
通信インターフェイス２２２２は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ２２２４は、コンピュータ２２００内のＣＰＵ２２１２によって使用されるプログラムおよびデータを格納する。ＤＶＤ−ＲＯＭドライブ２２２６は、プログラムまたはデータをＤＶＤ−ＲＯＭ２２０１から読み取り、ハードディスクドライブ２２２４にＲＡＭ２２１４を介してプログラムまたはデータを提供する。ＩＣカードドライブは、プログラムおよびデータをＩＣカードから読み取り、これに加えて、またはこれに代えてプログラムおよびデータをＩＣカードに書き込む。
【００８０】
ＲＯＭ２２３０はその中に、アクティブ化時にコンピュータ２２００によって実行されるブートプログラム等、およびコンピュータ２２００のハードウェアに依存するプログラムの少なくとも１つを格納する。入出力チップ２２４０はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ２２２０に接続してよい。
【００８１】
プログラムが、ＤＶＤ−ＲＯＭ２２０１またはＩＣカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ２２２４、ＲＡＭ２２１４、またはＲＯＭ２２３０にインストールされ、ＣＰＵ２２１２によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ２２００に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ２２００の使用に従い情報の操作または処理を実現することによって構成されてよい。
【００８２】
例えば、通信がコンピュータ２２００および外部デバイス間で実行される場合、ＣＰＵ２２１２は、ＲＡＭ２２１４にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス２２２２に対し、通信処理を命令してよい。通信インターフェイス２２２２は、ＣＰＵ２２１２の制御下、ＲＡＭ２２１４、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭ２２０１、またはＩＣカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【００８３】
また、ＣＰＵ２２１２は、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６（ＤＶＤ−ＲＯＭ２２０１）、ＩＣカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がＲＡＭ２２１４に読み取られるようにし、ＲＡＭ２２１４上のデータに対し様々なタイプの処理を実行してよい。ＣＰＵ２２１２は次に、処理されたデータを外部記録媒体にライトバックする。
【００８４】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。ＣＰＵ２２１２は、ＲＡＭ２２１４から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索，置換等を含む、様々なタイプの処理を実行してよく、結果をＲＡＭ２２１４に対しライトバックする。また、ＣＰＵ２２１２は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第２の属性の属性値に関連付けられた第１の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、ＣＰＵ２２１２は、第１の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第２の属性の属性値を読み取り、それにより予め定められた条件を満たす第１の属性に関連付けられた第２の属性の属性値を取得してよい。
【００８５】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ２２００上またはコンピュータ２２００近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはＲＡＭのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ２２００に提供する。
【００８６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００８７】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８８】
１  システム、２  設備、３  ネットワーク、４  装置、２０  機器、２１  センサ、４０  報酬値取得部、４１  エージェント、４２  絞込部、２００  パイプ、４１０  状態取得部、４１１  制御条件取得部、４１２  学習処理部、４１５  モデル、４１６  推奨制御条件出力部、４１７  制御部、４１６０  予測状態出力部、４１６１  予測報酬出力部、４１６２  制御条件シリーズ特定部、４１６３  推奨制御条件特定部、２２００  コンピュータ、２２０１  ＤＶＤ−ＲＯＭ、２２１０  ホストコントローラ、２２１２  ＣＰＵ、２２１４  ＲＡＭ、２２１６  グラフィックコントローラ、２２１８  ディスプレイデバイス、２２２０  入出力コントローラ、２２２２  通信インターフェイス、２２２４  ハードディスクドライブ、２２２６  ＤＶＤ−ＲＯＭドライブ、２２３０  ＲＯＭ、２２４０  入出力チップ、２２４２  キーボード
【図１】
2020027556.tif 000003
【図２】
2020027556.tif 000004
【図３】
2020027556.tif 000005
【図４】
2020027556.tif 000006
【図５】
2020027556.tif 000007
【図６】
2020027556.tif 000008
【図７】
2020027556.tif 000009