IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 横河電機株式会社の特許一覧 ▶ 国立大学法人 奈良先端科学技術大学院大学の特許一覧

特許7011239装置、方法、プログラム、および、記録媒体
<>
  • 特許-装置、方法、プログラム、および、記録媒体 図1
  • 特許-装置、方法、プログラム、および、記録媒体 図2
  • 特許-装置、方法、プログラム、および、記録媒体 図3
  • 特許-装置、方法、プログラム、および、記録媒体 図4
  • 特許-装置、方法、プログラム、および、記録媒体 図5
  • 特許-装置、方法、プログラム、および、記録媒体 図6
  • 特許-装置、方法、プログラム、および、記録媒体 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-18
(45)【発行日】2022-01-26
(54)【発明の名称】装置、方法、プログラム、および、記録媒体
(51)【国際特許分類】
   G05B 23/02 20060101AFI20220119BHJP
   G06N 20/00 20190101ALI20220119BHJP
【FI】
G05B23/02 G
G06N20/00
【請求項の数】 14
(21)【出願番号】P 2018153340
(22)【出願日】2018-08-17
(65)【公開番号】P2020027556
(43)【公開日】2020-02-20
【審査請求日】2020-01-17
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(73)【特許権者】
【識別番号】504143441
【氏名又は名称】国立大学法人 奈良先端科学技術大学院大学
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】松原 崇充
(72)【発明者】
【氏名】崔 允端
(72)【発明者】
【氏名】朱 令緯
(72)【発明者】
【氏名】鹿子木 宏明
(72)【発明者】
【氏名】藤崎 守広
(72)【発明者】
【氏名】▲高▼見 豪
(72)【発明者】
【氏名】古川 陽太
【審査官】松本 泰典
(56)【参考文献】
【文献】特開2004-178492(JP,A)
【文献】特開2011-197714(JP,A)
【文献】2016 IEEE-RAS 16th International Conference on Humanoid Robots(Humanoids),MX,IEEE,2016年11月15日,p.662-667
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントを備え、
前記複数のエージェントのそれぞれは、
前記設備の状態を示す状態データを取得する状態取得部と、
各対象機器の制御条件を示す制御条件データを取得する制御条件取得部と、
前記状態データおよび前記制御条件データを含む学習データを用い、前記状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部と、
を有し、
前記複数のエージェントのうち少なくとも1つのエージェントの前記状態取得部は、前記複数の機器のうち当該エージェントの対象機器ではない機器の制御条件を示す制御条件データをさらに含む前記状態データを取得する、装置。
【請求項2】
記状態取得部により取得される状態データに含まれ得る複数の状態パラメータのうち、前記対象機器の制御条件との間で基準よりも相関の低い状態パラメータを前記状態取得部による取得対象から除外する絞込部をさらに備える、請求項1に記載の装置。
【請求項3】
前記複数のエージェントのそれぞれの学習処理部は、
前記状態取得部により取得される状態データに含まれ得る複数の状態パラメータのうち、前記対象機器の制御条件との間で基準よりも相関の低い状態パラメータを特定し、特定された状態パラメータを前記状態取得部による取得対象から除外する、請求項に記載の装置。
【請求項4】
前記学習処理部は、前記学習データと、予め設定された報酬関数により定まる報酬値とを用いて前記モデルの学習処理を実行し、
前記モデルは、前記状態データの入力に応じ、前記報酬値を基準報酬値よりも高めるために推奨される各対象機器の制御条件を示す前記推奨制御条件データを出力する、請求項1から3の何れか一項に記載の装置。
【請求項5】
前記複数のエージェントのそれぞれは、前記状態データを前記モデルに供給して得られる前記推奨制御条件データを出力する推奨制御条件出力部をさらに有する、請求項1から4の何れか一項に記載の装置。
【請求項6】
前記推奨制御条件出力部は、前記モデルを用い、将来の各時点での前記対象機器の複数の制御条件から何れか一の制御条件を選択した複数の制御条件シリーズのうち、最も推奨される制御条件シリーズに含まれる直近の制御条件を示す前記推奨制御条件データを出力する、請求項5に記載の装置。
【請求項7】
前記複数のエージェントのそれぞれは、前記推奨制御条件データが示す制御条件で前記対象機器を制御する制御部をさらに有し、
前記状態取得部は、前記制御部による前記対象機器の制御後の前記状態データを取得する、請求項1~6のいずれか一項に記載の装置。
【請求項8】
前記複数のエージェントの少なくとも2つにおける前記状態取得部は、共通の前記状態データを取得する、請求項1から7のいずれか一項に記載の装置。
【請求項9】
各エージェントの前記学習処理部は、当該エージェントとは異なる他のエージェントとは独立に前記対象機器に関してカーネルダイナミックポリシープログラミング法(Kernel Dynamic Policy Programming)を用いて学習処理を実行する、請求項1~8のいずれか一項に記載の装置。
【請求項10】
前記複数のエージェントそれぞれの対象機器の集合は、前記複数のエージェントのうち当該エージェントとは異なる他の各エージェントの対象機器の集合に対して疎である、請求項1から9のいずれか一項に記載の装置。
【請求項11】
前記複数のエージェントのそれぞれは単一の機器を前記対象機器とする、請求項10に記載の装置。
【請求項12】
設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントのそれぞれが、
前記設備の状態を示す状態データを取得し、
各対象機器の制御条件を示す制御条件データを取得し、
前記状態データおよび前記制御条件データを含む学習データを用い、前記状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行し、
前記複数のエージェントのうち少なくとも1つのエージェントは、前記状態データを取得する場合に、前記複数の機器のうち当該エージェントの対象機器ではない機器の制御条件を示す制御条件データをさらに含む前記状態データを取得する、方法。
【請求項13】
1または複数のコンピュータを、
設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェント
として機能させ、
前記複数のエージェントのそれぞれは、
前記設備の状態を示す状態データを取得する状態取得部と、
各対象機器の制御条件を示す制御条件データを取得する制御条件取得部と、
前記状態データおよび前記制御条件データを含む学習データを用い、前記状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部と、
を有し、
前記複数のエージェントのうち少なくとも1つのエージェントの前記状態取得部は、前記複数の機器のうち当該エージェントの対象機器ではない機器の制御条件を示す制御条件データをさらに含む前記状態データを取得する、プログラム。
【請求項14】
1または複数のコンピュータを、
設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェント
として機能させ、
前記複数のエージェントのそれぞれは、
前記設備の状態を示す状態データを取得する状態取得部と、
各対象機器の制御条件を示す制御条件データを取得する制御条件取得部と、
前記状態データおよび前記制御条件データを含む学習データを用い、前記状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部と、
を有し、
前記複数のエージェントのうち少なくとも1つのエージェントの前記状態取得部は、前記複数の機器のうち当該エージェントの対象機器ではない機器の制御条件を示す制御条件データをさらに含む前記状態データを取得する、プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置、方法、プログラム、および、記録媒体に関する。
【背景技術】
【0002】
従来から、プラント等の設備においては、センサや操作機器と、これらを制御する制御装置とが通信手段を介して接続された分散制御システム(DCS:Distributed Control System)が構築されており、DCSによる高度な自動操業が実現されている。このような設備では、センサによって設備の収量、運転状況、アラームの発生状況等が測定され、測定結果がDCSを介して収集され、操作盤や監視端末のモニタ等の監視装置で表示される。設備の操業状態を監視するボードオペレータは、設備の収量を増減させる場合等に、フィールドオペレータと呼ばれる作業者に対してバルブ等の操作機器の調整指示を行う。昨今、このような操作機器等の調整を機械学習によって最適化するべく、各操作機器に関して推奨される制御条件を算出させ、設備の操業を自動化する技術が検討されている(例えば、特許文献1参照)。
特許文献1 特開2014-174993号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、単純に機械学習を行うと、学習の対象となるパラメータの数が膨大になり、学習が収束するまでに非現実的な長い時間を要したり、学習が収束しなかったりする結果、操作機器に関して推奨される制御条件を算出させることができない。
【課題を解決するための手段】
【0004】
上記課題を解決するために、本発明の第1の態様においては、装置が提供される。装置は、設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントを備えてよい。複数のエージェントのそれぞれは、設備の状態を示す状態データを取得する状態取得部を有してよい。複数のエージェントのそれぞれは、各対象機器の制御条件を示す制御条件データを取得する制御条件取得部を有してよい。複数のエージェントのそれぞれは、状態データおよび制御条件データを含む学習データを用い、状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部を有してよい。
【0005】
学習処理部は、学習データと、予め設定された報酬関数により定まる報酬値とを用いてモデルの学習処理を実行してよい。モデルは、状態データの入力に応じ、報酬値を基準報酬値よりも高めるために推奨される各対象機器の制御条件を示す推奨制御条件データを出力してよい。
【0006】
複数のエージェントのそれぞれは、状態データをモデルに供給して得られる推奨制御条件データを出力する推奨制御条件出力部をさらに有してよい。
【0007】
推奨制御条件出力部は、モデルを用い、将来の各時点での対象機器の複数の制御条件から何れか一の制御条件を選択した複数の制御条件シリーズのうち、最も推奨される制御条件シリーズに含まれる直近の制御条件を示す推奨制御条件データを出力してよい。
【0008】
複数のエージェントのそれぞれは、推奨制御条件データが示す制御条件で対象機器を制御する制御部をさらに有してよい。状態取得部は、制御部による対象機器の制御後の状態データを取得してよい。
【0009】
複数のエージェントの少なくとも2つにおける状態取得部は、共通の状態データを取得してよい。
【0010】
複数のエージェントのうち少なくとも1つのエージェントの状態取得部は、複数の機器のうち当該エージェントの対象機器ではない機器の制御条件を示す制御条件データをさらに含む状態データを取得してよい。
【0011】
各エージェントの学習処理部は、当該エージェントとは異なる他のエージェントとは独立に対象機器に関してカーネルダイナミックポリシープログラミング法(Kernel Dynamic Policy Programming)を用いて学習処理を実行してよい。
【0012】
複数のエージェントそれぞれの対象機器の集合は、複数のエージェントのうち当該エージェントとは異なる他の各エージェントの対象機器の集合に対して疎であってよい。
【0013】
複数のエージェントのそれぞれは単一の機器を対象機器としてよい。
【0014】
本発明の第2の態様においては、方法が提供される。方法では、設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントのそれぞれが、設備の状態を示す状態データを取得してよい。方法では、複数のエージェントのそれぞれが、各対象機器の制御条件を示す制御条件データを取得してよい。方法では、複数のエージェントのそれぞれが、状態データおよび制御条件データを含む学習データを用い、状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行してよい。
【0015】
本発明の第3の態様においては、プログラムが提供される。プログラムは、1または複数のコンピュータを、設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントとして機能させてよい。複数のエージェントのそれぞれは、設備の状態を示す状態データを取得する状態取得部を有してよい。複数のエージェントのそれぞれは、各対象機器の制御条件を示す制御条件データを取得する制御条件取得部を有してよい。複数のエージェントのそれぞれは、状態データおよび制御条件データを含む学習データを用い、状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部を有してよい。
【0016】
本発明の第4の態様においては、プログラムを記録した記録媒体が提供される。プログラムは、1または複数のコンピュータを、設備に設けられた複数の機器の一部をそれぞれ対象機器とする複数のエージェントとして機能させてよい。複数のエージェントのそれぞれは、設備の状態を示す状態データを取得する状態取得部を有してよい。複数のエージェントのそれぞれは、各対象機器の制御条件を示す制御条件データを取得する制御条件取得部を有してよい。複数のエージェントのそれぞれは、状態データおよび制御条件データを含む学習データを用い、状態データの入力に応じて各対象機器の推奨される制御条件を示す推奨制御条件データを出力するモデルの学習処理を実行する学習処理部を有してよい。
【0017】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0018】
図1】本実施形態に係るシステム1を示す。
図2】モデル415および推奨制御条件出力部416を示す。
図3】本実施形態に係る装置4の動作を示す。
図4】変形例に係る装置4Aを示す。
図5】設備2の配管計装図の一部を示す。
図6図5の設備2における状態パラメータの間の関連モデルを示す。
図7】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。
【発明を実施するための形態】
【0019】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0020】
[1.システム1の構成]
図1は、本実施形態に係るシステム1を示す。システム1は、設備2と、ネットワーク3と、装置4とを備える。
【0021】
[1-1.設備2]
設備2は、複数の機器20を備え付けたものである。例えば設備2は、プラントでもよいし、複数の機器20を複合させた複合装置でもよい。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。本実施形態においては一例として、設備2は、複数の機器20と、複数のセンサ21とを有する。
【0022】
[1-1-1.機器20]
各機器20は、器具、機械または装置であり、例えば、設備2のプロセスにおける圧力、温度、pH、速度、流量などの少なくとも1つの物理量を制御するバルブ、ポンプ、ヒータ、ファン、モータ、スイッチ等のアクチュエータであってよい。スイッチは、例えば設備2としてのプラントにおける処理手順を変更してよい。各機器20は互いに異種でもよいし、少なくとも一部の2以上の機器20が同種でもよい。複数の機器20のうち少なくとも一部の機器20は、後述のエージェント41による学習対象である対象機器20(T)であってよい。本実施形態では一例として、機器20はネットワーク3を介して外部から有線または無線で制御されるが、手動で制御されてもよい。
【0023】
[1-1-2.センサ21]
各センサ21は、設備2の状態の計測または判別を行う。各センサ21は、設備2の収量、混入する不純物の割合、各機器20の運転状況、アラームの発生状況等の操業状態の計測または判別を行ってよい。機器20の運転状況は、一例として機器20により制御される圧力、温度、pH、速度、流量などの少なくとも1つの物理量で表されよい。アラームは設備2に異常が生じたことに応じて発生するものであってよく、一例としてアラームの発生状況を判別するセンサ21は、計測値が上限値および下限値の少なくとも一方を超えることに応じてアラームの発生状況であると判別を行ってよい。各センサ21は、計測または判別の結果を、ネットワーク3を介して装置4に供給してよい。
【0024】
[1-2.ネットワーク3]
ネットワーク3は、設備2内の各機器20およびセンサ21と、装置4とを通信可能に接続する。ネットワーク3内の通信のうち、少なくとも機器20と装置4との間の通信は、例えばISA(International Society of Automation:国際計測制御学会)の無線通信プロトコルで行われてよく、一例としてISA100、HART(Highway Addressable Remote Transducer)(登録商標)、BRAIN(登録商標)、FOUNDATION Fieldbus、PROFIBUS等で行われてよい。センサ21と装置4の間の通信も、上記の通信プロトコルを用いて行うことが可能である。
【0025】
[1-3.装置4]
装置4は、複数の機器20についての学習を行う。装置4は、1または複数のコンピュータであってよく、PCなどで構成されてもよいし、クラウドコンピューティングにより実現されてもよい。装置4は、報酬値取得部40と、複数のエージェント41とを有する。
【0026】
[1-3-1.報酬値取得部40]
報酬値取得部40は、エージェント41での強化学習に用いられる報酬値を取得するものであり、設備2の操業状態を評価するための報酬値を取得する。報酬値は、予め設定された報酬関数により定まる値であってよい。ここで、関数とは、ある集合の各要素に他の集合の各要素を一対一で対応させる規則を持つ写像であり、例えば数式でもよいし、テーブルでもよい。報酬関数は、状態データの入力に応じて、その状態を評価した報酬値を出力してよい。報酬関数は、オペレータによって設定されてよい。報酬値取得部40は、報酬関数を使用したオペレータから報酬値を取得してもよいし、センサ21からの状態データを報酬関数に入力して報酬値を取得してもよい。報酬値取得部40が状態データを報酬関数に入力する場合には、報酬関数は装置4の内部に記憶されていてもよいし、外部に記憶されていてもよい。
【0027】
[1-3-2.エージェント41]
複数のエージェント41は、設備2における一部の機器20をそれぞれ対象機器20(T)とする。各エージェント41の対象機器20(T)の個数は1つであっても複数であってもよく、複数のエージェント41の間で同じであってもよいし、異なっていてもよい。複数のエージェント41それぞれの対象機器20(T)の集合は、当該エージェント41とは異なる他の各エージェント41の対象機器20(T)の集合に対して疎であってよい。対象機器20(T)の集合は、単一の装置に含まれる複数の機器20の集まりであってもよいし、別々の装置に含まれる複数の機器20の少なくとも一部ずつの集まりであってもよい。一のエージェント41についての対象機器20(T)が複数である場合には、これらの対象機器20(T)は連動して制御される関係(一例として主従関係、独立には制御されない関係)を有してよい。各エージェント41は別々の単一の機器20をそれぞれ対象機器20(T)としてもよい。一例としてエージェント41の個数は設備2における機器20の個数と同じでよく、この場合には、各機器20が何れかのエージェント41の対象機器20(T)であってよい。これに代えて、エージェントの個数は設備2における機器20の個数より少なくてもよく、この場合には設備2にはエージェント41の対象機器20(T)ではない機器20が含まれてよい。
【0028】
各エージェント41は、状態取得部410と、制御条件取得部411と、学習処理部412と、モデル415と、推奨制御条件出力部416と、制御部417とを有する。
【0029】
[1-3-2(1).状態取得部410]
状態取得部410は、設備2の状態を示す状態データを取得する。状態データには、センサ21による計測または判別の結果を示す状態パラメータが少なくとも1つ含まれてよい。本実施形態では一例として、状態取得部410は状態パラメータをセンサ21から取得するが、センサ21を確認したオペレータから取得してもよい。状態取得部410は、取得した状態データを学習処理部412および推奨制御条件出力部416に供給してよい。
【0030】
[1-3-2(2).制御条件取得部411]
制御条件取得部411は、各対象機器20(T)の制御条件を示す制御条件データを取得する。制御条件は、機器20に直接入力する設定値や目標値、操作量でよい。本実施形態では一例として、制御条件取得部411は、制御条件データを制御部417から取得するが、対象機器20(T)から取得してもよいし、オペレータから取得してもよい。制御条件取得部411は、取得した制御条件データを学習処理部412に供給する。
【0031】
[1-3-2(3).学習処理部412]
学習処理部412は、状態データおよび制御条件データを含む学習データを用いてモデル415の学習処理を実行する。本実施形態では一例として、学習処理部412は、報酬値取得部40からの報酬値をさらに用いてモデル415の学習処理を実行してよい。
【0032】
[1-3-2(4).モデル415]
モデル415は、状態データの入力に応じて各対象機器20(T)の推奨される制御条件を示す推奨制御条件データを出力する。推奨される制御条件は、報酬値を基準報酬値よりも高めるための制御条件であってよい。基準報酬値は、所定の時点(一例として現在)の設備2の操業状態に対応する報酬値(一例としてその時点の状態データを報酬関数に入力して得られる報酬値)でもよいし、固定値(一例として報酬値の最大値から許容値を減じた値)でもよい。なお、モデル415は、エージェント41に対応付けられて装置4の外部のサーバに格納されてもよい。
【0033】
[1-3-2(5).推奨制御条件出力部416]
推奨制御条件出力部416は、状態データをモデル415に供給して得られる推奨制御条件データを出力する。すなわち、推奨制御条件出力部416は、状態データをモデル415に供給するとともに、供給することに応じてモデル415から得られる推奨制御条件データを出力する。推奨制御条件出力部416は、推奨制御条件データを制御部417に供給してよい。なお、推奨制御条件出力部416は、推奨制御条件データを装置4の外部に出力してもよい。
【0034】
[1-3-2(6).制御部417]
制御部417は、推奨制御条件データが示す制御条件で対象機器20(T)を制御する。例えば、制御部417は、対象機器20(T)に推奨制御条件データを供給することで、推奨制御条件データが示す制御条件で対象機器20(T)を制御する。制御部417と対象機器20(T)との間には、対象機器20(T)のコントローラ(図示せず)が介在してもよい。
【0035】
以上のシステム1によれば、各エージェント41により設備2の状態データと、対象機器20(T)の制御条件データとを含む学習データを用いてモデル415の学習処理が行われるので、全ての機器20の制御条件データを含む学習データを用いてモデル415の学習処理を行う場合と比較して学習処理の演算処理数を低減することができる。従って、モデル415の学習を収束させることができ、得られたモデル415に状態データを入力することで各対象機器20(T)の推奨される制御条件データを取得することができる。
【0036】
また、報酬値を基準報酬値よりも高めるために推奨される各対象機器20(T)の推奨制御条件データがモデル415から出力されるので、モデル415を用いることで、より好適な推奨制御条件データを取得することができる。また、状態データをモデル415に供給して推奨制御条件データを出力する推奨制御条件出力部416が装置4に具備されるので、装置4に状態データを入力することで推奨制御条件データを取得して、装置4の内部や外部に出力することができる。
【0037】
また、複数のエージェント41それぞれの対象機器20(T)の集合が他の各エージェント41の対象機器20(T)の集合に対して疎であるので、エージェント41間で複数の機器20を分担して学習処理を行うことができる。従って、一部の機器20に関して重複して学習処理が行われるのを防止し、演算処理数を低減することができる。また、エージェント41同士で同じ機器20について重複して学習する場合と比較して学習内容の関連性が低いため、各エージェント41を別々のPCで実現して効率よく分散処理を行うことができる。また、分散処理を行うことによりマシンパワーの低いPCを用いることができる。
【0038】
また、各エージェント41が単一の機器20を対象機器20(T)とするので、複数の機器20を対象機器20(T)とする場合と比較して、エージェント41ごとの演算処理数を低減することができる。
【0039】
[2.モデル415および推奨制御条件出力部416]
図2は、モデル415および推奨制御条件出力部416を示す。
【0040】
[2-1.モデル415]
本実施形態では一例として、モデル415は、入力された状態データの履歴を記憶してよい。履歴には少なくとも一の時点での状態データが含まれる。モデル415は、新たに状態データが入力されることに応じて、将来の複数の時点(t+1),(t+2),…(但し添え字の「+1」、「+2」は識別子であり、値が大きいほど先の時点であることを示す)のそれぞれでの設備2の予測状態を示す予測状態データの確率分布を出力してよい。
【0041】
ここで、将来の複数の時点(t+1),(t+2),…は、現在からの基準時間(一例として10分)内における単位時間(一例として30秒)毎の時点でよい。予測状態データは、制御条件(C),(C),…で示される何らかの制御が各時点(t+1),(t+2),…で対象機器20(T)に行われる場合の設備2の予測状態を示してよい。一例として予測状態データは、時点(t+1)で制御条件(C1_t+1),(C2_t+1),…(但し添え字内の「t+1」,「t+2」は制御が行われる時点を示す)の制御が行われる場合の予測状態データ(D(C1_t+1)),(D(C2_t+1)),…や、時点(t+2)で制御条件(C1_t+2),(C2_t+2),…の制御が行われる場合の予測状態データ(D(C1_t+2)),(D(C2_t+2)),…などを網羅的に含んでよい。なお、確率とは、事象の生じ得る可能性の度合いであり、事象が起こる割合であってもよいし、割合に応じた値(相対値)であってもよい。
【0042】
また、モデル415は、予測状態データ毎に、設備2の状態が予測状態データで示される状態となった場合に予測される報酬値を出力してよい。例えば、モデル415は、現在の状態データの入力に応じて予測される予測状態データの何れかが選択されることに応じて、報酬値を出力してもよいし、予測状態データの入力に応じて報酬値を出力してもよい。
【0043】
[2-2.推奨制御条件出力部416]
【0044】
推奨制御条件出力部416は、モデル415を用い、将来の各時点(t+1),(t+2),…での対象機器20(T)の複数の制御条件(C),(C),…から何れか一の制御条件(C)(Nは任意の自然数)を選択した複数の制御条件シリーズのうち、最も推奨される制御条件シリーズに含まれる現時点に対する将来の直近の制御条件を示す推奨制御条件データを出力する。推奨制御条件出力部416は、予測状態出力部4160と、予測報酬出力部4161と、制御条件シリーズ特定部4162と、推奨制御条件特定部4163とを有する。
【0045】
[2-2-1.予測状態出力部4160]
予測状態出力部4160は、各時点(t+1),(t+2),…での制御条件(C),(C),…毎の予測状態データ(D)を予測報酬出力部4161に出力する。例えば、予測状態出力部4160は、モデル415に現在の状態データを入力し、将来の各時点(t+1),(t+2),…について、制御条件(C),(C),…で示される何らかの制御が機器20に行われる場合の予測状態データ(D)の確率分布をモデル415から取得し、予測報酬出力部4161に出力してよい。
【0046】
[2-2-2.予測報酬出力部4161]
予測報酬出力部4161は、各時点(t+1),(t+2),…での制御条件(C),(C),…毎の報酬値を制御条件シリーズ特定部4162に出力する。例えば、予測報酬出力部4161は、モデル415に各時点(t+1),(t+2),…での制御条件(C),(C),…毎の予測状態データ(D)を順次入力し、設備2が当該予測状態データ(D)で示される状態になった場合に予測される報酬値をモデル415から順次取得して制御条件シリーズ特定部4162に出力してよい。
【0047】
[2-2-3.制御条件シリーズ特定部4162]
制御条件シリーズ特定部4162は、将来の各時点(t+1),(t+2),…で何れか一の制御条件(C)をそれぞれ選択した制御条件シリーズ(CN_t+1),(CN_t+2),…を複数生成する。別言すれば、制御条件シリーズ特定部4162は、時点(t+1),(t+2),…毎に一の制御条件(C)を選択して繋ぎ、制御条件の列(制御条件シリーズ)を複数生成する。また、制御条件シリーズ特定部4162は、複数の制御条件シリーズのうち、最も推奨される制御条件シリーズの一例として、制御条件に対応する予測報酬値の合計が最大となる制御条件シリーズを特定する。
【0048】
[2-2-4.推奨制御条件特定部4163]
推奨制御条件特定部4163は、特定された制御条件シリーズに含まれる各時点の制御条件のうち、現時点に対する将来の直近の制御条件(CN_t+1)を推奨制御条件として特定し、当該制御条件(CN_t+1)を示す制御条件データを推奨制御条件データとして出力する。
【0049】
以上の推奨制御条件出力部416によれば、将来の各時点(t+1),(t+2),…で何れか一の制御条件(C)を選択した複数の制御条件シリーズのうち、最も推奨される制御条件シリーズに含まれる直近の制御条件を示す推奨制御条件データが出力されるので、将来の各時点での複数の制御条件を考慮に入れて最も推奨される推奨制御条件データを取得することができる。また、このような推奨制御条件データを用いて対象機器20(T)の制御を行うことにより、将来の各時点において、設備2の状態を最も推奨される状態に移行させていくことが可能となる。
【0050】
[3.動作]
図3は、本実施形態に係る装置4の動作を示す。装置4は、ステップS1~S11の処理を行うことにより設備2を稼働させつつモデル415の学習を行う。
【0051】
まずステップS1において複数のエージェント41それぞれの制御部417が制御条件データを出力して対象機器20(T)を制御する。例えば各制御部417は、オペレータにより設定された制御条件を示す制御条件データで対象機器20(T)を制御してよい。後述のステップS11で推奨制御条件出力部416により推奨制御条件データが出力されている場合には、各制御部417は当該推奨制御条件データで対象機器20(T)を制御してよい。
【0052】
ステップS3において複数のエージェント41それぞれの状態取得部410は設備2の現在の状態を示す状態データを取得する。これにより対象機器20(T)が制御部417によって制御された後の状態データが取得される。ここで、複数のエージェント41の少なくとも2つにおける状態取得部410は、共通の状態データを取得してよい。例えば、これらの状態取得部410は少なくとも1つの共通のセンサ21から状態データを取得してよく、一例として、全ての状態取得部410が設備2内の全てのセンサ21から状態データを取得してよい。なお、少なくとも1つのエージェント41の状態取得部410が取得する状態データには、設備2における複数の機器20のうち対象機器20(T)ではない少なくとも1つの他の機器20の制御条件を示す制御条件データが状態パラメータとして含まれてよい。この場合、状態取得部410は、当該状態取得部410を含むエージェント41とは別のエージェント41の制御部417から制御条件データを取得してよい。なお、他の機器20の制御条件は、現在の制御条件でもよいし、過去の1または複数の時点での制御条件(一例として直近の1つの制御条件)でもよい。
【0053】
ステップS5において複数のエージェント41それぞれの制御条件取得部411はステップS1での対象機器20(T)の制御条件データを取得する。なお、ステップS5の処理は、ステップS1の前に行われてもよいし、ステップS1およびステップS3の間に行われてもよい。
【0054】
ステップS7において報酬値取得部40は、設備2の現在の操業状態を評価するための報酬値を取得する。ここで、報酬関数は、設備2で製造される製造物の品質、製造コスト、収量、不純物の混入割合、設備2の消費エネルギーの少なくとも1つに関するパラメータを有してよい。品質に関するパラメータは、製造物の品質が特定品質である場合に最大値となってよく、特定品質は必ずしも最高品質でなくてもよい。製造コストに関するパラメータは、原料の価格に応じて設定されてよい。報酬関数は偏った状態データ(例えばアラームが発生時の状態データ)を用いた学習を防止するための正則化項をさらに含んでよい。一例として、設備2が製造プラントである場合には、報酬関数は以下の式(1)のように設定されてよい。
【0055】
報酬値=100×収量測定値
-50×不純物の混入割合の測定値
-10000×アラームの発生数 …(1)
【0056】
ステップS9において複数のエージェント41それぞれの学習処理部412は、状態データおよび制御条件データを含む学習データと、報酬値とを用いてモデル415の学習処理を実行する。各エージェント41の学習処理部412は、当該エージェント41とは異なる他のエージェント41とは独立に対象機器20(T)に関してカーネルダイナミックポリシープログラミング法(Kernel Dynamic Policy Programming、KDPP)を用いて学習処理を行ってよい。これにより、結果として複数のエージェント41の全体により、それぞれのエージェント41の対象機器20(T)の全体に関してファクトリアルカーネルダイナミックポリシープログラミング法(Factorial KDPP)により学習処理が行われる。従って、一のエージェント41により設備2における全ての機器20を対象機器20(T)としてKDPP法による学習処理が行われる場合と比較して、対象機器20(T)の個数を低減して演算処理数を低減することができる。ここで、カーネルダイナミックプログラミング法による学習処理としては、例えば「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.」に記載の処理を用いることができる。なお、各学習処理部412は、KDPPに代えて、最急降下法、ニューラルネットワーク、DQN(Deep Q-Network)、ガウシアンプロセス、ディープラーニングなどによる学習処理を行ってもよい。また、学習処理部412は報酬値を用いずに学習処理を行ってもよく、この場合にはステップS7の処理は行われなくてもよい。各エージェント41が別々のPCで実現されている場合には、これらのPCはスタンドアロンの状態でステップS9の学習処理を行ってよい。これによって、各PCを通信等のネットワークに接続しなくてもよくなり、各PCでのネットワークに関する処理の負担を軽減することができる。
【0057】
ステップS11において複数のエージェント41それぞれの推奨制御条件出力部416は、現在の状態データをモデル415に供給して得られる推奨制御条件データを制御部417に出力し、ステップS1に処理を移行する。これにより、対象機器20(T)が推奨制御条件データで制御されて学習処理が繰り返し行われ、設備2の操業状態が最適化される。なお、ステップS1~S11の処理が繰り返し行われる場合に、ステップS1の周期は設備2の時定数に応じて定められてよく、一例として30秒であってよい。また、ステップS1~S11の処理が繰り返し行われる場合に、設備2内の機器20やセンサ21の数は、メンテナンスや増設、故障などによって増減してよい。設備2内の機器20の数が増減する場合には、エージェント41の数も増減してよい。
【0058】
以上の動作によれば、推奨制御条件データに従って対象機器20(T)が制御され、制御に応じた状態データが取得されるので、推奨制御条件データと、これに対応する状態データとを含む学習データを用いてさらにモデル415の学習処理が行われる。従って、推奨制御条件データで制御が行われる場合のモデル415の学習処理を順次、行って学習精度を高めることができる。
【0059】
また、少なくとも2つのエージェント41間で共通の状態データが学習処理に用いられるので、一のエージェント41の対象機器20(T)に対する制御結果が、他のエージェント41の対象機器20(T)の学習処理に間接的に反映される。従って、設備2内の機器20の一部ずつを対象機器20(T)とするエージェント41同士で間接的に協働し、それぞれの対象機器20(T)の制御条件を最適化するよう学習処理を行うことができる。また、一のエージェント41の対象機器20(T)と他のエージェント41の対象機器20(T)とが動作等において関連性を有する場合に、一のエージェント41の対象機器20(T)の制御結果が他のエージェント41の学習処理に間接的に反映されるため、他のエージェント41による推奨制御条件をより好適な制御条件にすることができる。
【0060】
また、対象機器20(T)ではない他の機器20の制御条件データが状態データに含まれて学習処理に用いられるので、他の機器20の制御条件データが状態データに含まれない場合と比較して、学習精度を向上させることができる。例えば、一のエージェント41の対象機器20(T)の状態データが、対象機器20(T)ではない他の機器20の制御によって影響を受ける場合に、一のエージェント41の学習処理に他の機器20の制御条件が間接的に反映されるため、一のエージェント41による推奨制御条件をより好適な制御条件にすることができる。
【0061】
[4.変形例]
図4は、変形例に係る装置4Aを示す。装置4Aは、各エージェント41により取得される状態データの状態パラメータを絞り込む絞込部42をさらに有してよい。
【0062】
絞込部42は、状態データに含まれる複数の状態パラメータの間の相関確率に基づいて、各エージェント41の状態取得部410による取得対象の複数の状態パラメータのうち、何れかの状態パラメータを取得対象から外してよい。複数の状態パラメータには、各センサ21による測定結果、判別結果、および、各機器20の制御条件の少なくとも1つが含まれてよい。絞込部42は、各エージェント41の状態取得部410による取得対象の複数の状態パラメータのうち、当該エージェント41の対象機器20(T)の制御条件との間で相関確率が基準確率よりも低い状態パラメータを、取得対象から外してよい。絞込部42は、各エージェント41の状態取得部410に対し、取得対象から外すべき状態パラメータの識別情報を供給することで、当該状態パラメータの取得を停止させてよい。
【0063】
以上の装置4Aによれば、各エージェント41に状態パラメータを絞って学習処理を行わせることができるため、学習を短時間で収束させることができる。また、学習を、相関確率が規定された複数の機器20に亘る広域最適となるよう収束させることができる。
【0064】
図5は、設備2の配管計装図の一部を示す。本図では一例として、設備2はパイプ200(1)~200(9)と、センサ21としての流量計S(1)~S(5)と、機器20としてのバルブV(1)~V(4)とを有する。パイプ200(1)は一端部においてパイプ200(2),200(3)の一端に結合されており、パイプ200(2),200(3)は他端においてパイプ200(4)の一端に結合されている。また、パイプ200(5)は一端部においてパイプ200(6),200(7)の一端に結合されており、パイプ200(6),200(7)は他端においてパイプ200(8)の一端に結合されている。パイプ200(4),200(8)の他端はパイプ200(9)の一端に結合されている。流量計S(1),S(2)はパイプ200(1),200(5)にそれぞれ設けられ、その流量を計測する。流量計S(3),S(4)はパイプ200(4),200(8)にそれぞれ設けられ、その流量を計測する。流量計S(5)はパイプ200(4),200(8),200(9)の結合部に設けられ、結合部の流量を計測する。バルブV(1)~V(4)はパイプ200(2),200(3),200(6),200(7)にそれぞれ設けられ、その流量を調整する。
【0065】
このような設備2においてパイプ200(8)の流量を変化させたい場合には、バルブV(3)またはバルブV(4)の開度を変更すればよく、バルブV(1),V(2)の開度はパイプ200(8)の流量に影響を与えない(あるいは、影響が小さい)。オペレータや、設備2の管理者などは、このように相関のない(または小さい)関係の状態パラメータを設備2の設計図などから推測することができる。絞込部42は、各エージェント41の状態取得部410に対し、当該エージェント41の対象機器20(T)の制御条件との間で相関確率が基準確率よりも低いとオペレータ等によって推測された状態パラメータの識別情報を供給することで、当該状態パラメータの取得を停止させてよい。
【0066】
なお、絞込部42は取得対象から外すべき状態パラメータの識別情報を状態取得部410に供給するのに代えて、設備2の複数の状態パラメータの間の関連モデルを学習処理部412に供給してよい。この場合、学習処理部412は関連モデルを用いてモデル415の学習処理を行い、状態パラメータ間の相関確率(ベイズ確率)を計算してよい。また、学習処理部412は、各エージェント41の状態取得部410に対し、当該エージェント41の対象機器20(T)の制御条件との間で相関確率が基準確率よりも低く計算された状態パラメータの識別情報を供給することで、当該状態パラメータの取得を停止させてよい。この場合には、オペレータによる推測に基づいて状態パラメータを取得対象から外す場合と比較して、より確実に学習を広域最適となるように収束させることができる。
【0067】
図6は、図5の設備2における状態パラメータの間の関連モデルを示す。この関連モデルでは、各条件パラメータをノードs(1)~s(5)、v(1)~v(4)として表し、関連するノード同士をエッジで繋げている。各エッジには、当該エッジにより結ばれるノード間の相関確率p1~p10が付されている。相関確率p1~p10の初期値は全て1であってよく、学習処理の結果に応じて変化してよい。ここで、ノードs(1)~s(5)は流量計S(1)~S(5)により計測される流量を示し、ノードv(1)~v(4)はバルブV(1)~V(4)の開度を示す。
【0068】
学習処理部412は、このような関連モデルを用いて状態パラメータ間の相関確率を計算してよい。例えば学習処理部412は、バルブV(1)~V(4)の何れのバルブ開度を変化させると、流量計S(1)~S(5)のうちの何れかの流量計Sで計測される流量がより大きく変動する可能性が高いか等を学習することで、状態パラメータ間の相関確率を計算してよい。一例として、センサS1の流量がセンサS5の流量に対してどれくらい影響を与えるかの相関確率pは、p=(p7*p3+p8*p4)*p1によって計算することができる。また、センサS3の流量がセンサS5の流量に対してどれくらい影響を与えるかの相関確率pは、p=p1によって計算することができる。
【0069】
[5.その他の変形例]
なお、上記の実施形態では、設備2がセンサ21を有することとして説明したが、センサ21を有しないこととしてもよい。この場合には、装置4の状態取得部410は設備2の状態を確認したオペレータから状態データ(例えば、機械式圧力計の場合には指針が指している圧力値)を取得してよい。
【0070】
また、装置4は報酬値取得部40を有することとして説明したが、報酬値取得部40を有しないこととしてもよい。この場合には、各エージェント41の学習処理部412が状態データを報酬関数に入力して報酬値を取得してもよい。
【0071】
また、各エージェント41は推奨制御条件出力部416および制御部417を有することとして説明したが、これらの少なくとも一方を有しないこととしてもよい。各エージェント41が推奨制御条件出力部416を有しない場合には、学習処理部412により学習処理の行われたモデル415が別の装置に接続されて設備2の操業に用いられてよい。各エージェント41が制御部417を有しない場合には、各エージェント41の推奨制御条件出力部416から出力される推奨制御条件データに従ってオペレータが当該エージェント41の対象機器20(T)を手動で制御してもよい。
【0072】
また、本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、およびコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサの少なくとも1つによって実装されてよい。専用回路は、デジタルおよびアナログの少なくとも一方のハードウェア回路を含んでよく、集積回路(IC)およびディスクリート回路の少なくとも一方を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0073】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM(登録商標))、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM(登録商標))ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0074】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたコードまたはオブジェクトコードのいずれかを含んでよい。
【0075】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0076】
図7は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、これに加えて、またはこれに代えて、コンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
【0077】
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD-ROMドライブ2226、およびICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入出力ユニットを含み、それらは入出力チップ2240を介して入出力コントローラ2220に接続されている。
【0078】
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
【0079】
通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ2226は、プログラムまたはデータをDVD-ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、これに加えて、またはこれに代えてプログラムおよびデータをICカードに書き込む。
【0080】
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、およびコンピュータ2200のハードウェアに依存するプログラムの少なくとも1つを格納する。入出力チップ2240はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ2220に接続してよい。
【0081】
プログラムが、DVD-ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0082】
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD-ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0083】
また、CPU2212は、ハードディスクドライブ2224、DVD-ROMドライブ2226(DVD-ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
【0084】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索,置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0085】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
【0086】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0087】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0088】
1 システム、2 設備、3 ネットワーク、4 装置、20 機器、21 センサ、40 報酬値取得部、41 エージェント、42 絞込部、200 パイプ、410 状態取得部、411 制御条件取得部、412 学習処理部、415 モデル、416 推奨制御条件出力部、417 制御部、4160 予測状態出力部、4161 予測報酬出力部、4162 制御条件シリーズ特定部、4163 推奨制御条件特定部、2200 コンピュータ、2201 DVD-ROM、2210 ホストコントローラ、2212 CPU、2214 RAM、2216 グラフィックコントローラ、2218 ディスプレイデバイス、2220 入出力コントローラ、2222 通信インターフェイス、2224 ハードディスクドライブ、2226 DVD-ROMドライブ、2230 ROM、2240 入出力チップ、2242 キーボード
図1
図2
図3
図4
図5
図6
図7