(57)【要約】【課題】制御対象に対する入力値を精度よく決定しやすくすること。【解決手段】制御対象１１０の状態方程式と出力方程式と即時コストの２次形式の方程式とにおける係数行列が未知であり、制御対象１１０の状態が直接観測可能ではない状況である場合がある。この場合に対し、強化学習装置１００は、価値関数の係数を、過去の時刻における入力と、現在の時刻および過去の時刻における出力と、過去の時刻における入力に応じたコストまたは報酬とに基づき推定する。価値関数は、過去の時刻における入力と、現在の時刻および過去の時刻における出力との二次形式により表現される。強化学習装置１００は、推定した係数を用いた価値関数に基づき、推定した後の時刻における入力値を決定する。【選択図】図１
2019053589.tif 000002
【特許請求の範囲】
【請求項１】
価値関数を用いた強化学習プログラムであって、
現在の時刻より過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力との二次形式により表現される前記価値関数の係数を、前記過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力と、前記過去の時刻における入力に応じたコストまたは報酬とに基づき推定し、
推定した前記係数を用いた前記価値関数に基づき、制御則を規定する係数を決定し、推定した後の時刻における入力値を決定する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【請求項２】
前記価値関数は、前記現在の時刻および前記過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力との二次形式により表現される、ことを特徴とする請求項１に記載の強化学習プログラム。
【請求項３】
前記決定する処理は、
前記価値関数に基づき、前記推定した後の時刻における出力を用いて、前記推定した後の時刻における入力値を決定する、ことを特徴とする請求項１または２に記載の強化学習プログラム。
【請求項４】
価値関数を用いた強化学習方法であって、
現在の時刻より過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力との二次形式により表現される前記価値関数の係数を、前記過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力と、前記過去の時刻における入力に応じたコストまたは報酬とに基づき推定し、
推定した前記係数を用いた前記価値関数に基づき、制御則を規定する係数を決定し、推定した後の時刻における入力値を決定する、
処理をコンピュータが実行することを特徴とする強化学習方法。
【請求項５】
価値関数を用いた強化学習装置であって、
現在の時刻より過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力との二次形式により表現される前記価値関数の係数を、前記過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力と、前記過去の時刻における入力に応じたコストまたは報酬とに基づき推定し、
推定した前記係数を用いた前記価値関数に基づき、制御則を規定する係数を決定し、推定した後の時刻における入力値を決定する、
制御部を有することを特徴とする強化学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強化学習プログラム、強化学習方法、および強化学習装置に関する。
【背景技術】
【０００２】
従来、制御対象（環境）に対する入力に応じた制御対象の即時コストまたは即時報酬に基づき、制御対象の累積コストまたは累積報酬を示す価値関数を最小化または最大化するような制御則を学習し、制御対象に対する入力値を決定する強化学習の技術がある。
【０００３】
先行技術としては、例えば、制御対象（環境）から得られる第１報酬に応じて決定される、学習結果としての第１価値関数の時間微分である第１価値勾配関数の値が、第２報酬の評価に際して活用され、第２報酬に基づいて行動方策が決定されるものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１３４９０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、制御対象の状態を直接観測することができず、かつ、制御対象に対する入力に応じて即時コストまたは即時報酬にどのような影響があるかが不明であるような場合がある。この場合、従来技術では、制御対象に対する入力値を精度よく決定することが難しい。
【０００６】
１つの側面では、本発明は、制御対象に対する入力値を精度よく決定しやすくすることができる強化学習プログラム、強化学習方法、および強化学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、現在の時刻より過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力との二次形式により表現される前記価値関数の係数を、前記過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力と、前記過去の時刻における入力に応じたコストまたは報酬とに基づき推定し、推定した前記係数を用いた前記価値関数に基づき、推定した後の時刻における入力値を決定する強化学習プログラム、強化学習方法、および強化学習装置が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、制御対象に対する入力値を精度よく決定しやすくすることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。
【図２】図２は、強化学習装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、強化学習装置１００の機能的構成例を示すブロック図である。
【図４】図４は、制御対象１１０の具体例を示す説明図（その１）である。
【図５】図５は、制御対象１１０の具体例を示す説明図（その２）である。
【図６】図６は、バッチ処理形式の強化学習処理手順の一例を示すフローチャートである。
【図７】図７は、逐次処理形式の強化学習処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる強化学習プログラム、強化学習方法、および強化学習装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる強化学習方法の一実施例）
図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。強化学習装置１００は、制御対象１１０に対する入力値を決定することにより、制御対象１１０を制御するコンピュータである。強化学習装置１００は、例えば、サーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、マイクロコントローラなどである。
【００１２】
制御対象１１０は、何らかの事象であり、例えば、現実に存在する物理系である。制御対象は環境（ｅｎｖｉｒｏｎｍｅｎｔ）とも呼ばれる。制御対象１１０は、具体的には、サーバルームや発電機などである。入力（ｉｎｐｕｔ）は、制御対象１１０に対する操作である。入力は、行動（ａｃｔｉｏｎ）とも呼ばれる。制御対象１１０に対する入力に応じて、制御対象１１０の状態（ｓｔａｔｅ）が変化し、制御対象１１０の出力（ｏｕｔｐｕｔ）が観測可能である。
【００１３】
ここで、制御対象１１０を制御する制御手法は、例えば、下記の第１の制御手法〜第５の制御手法などが考えられる。
【００１４】
具体的には、下記の非特許文献１を参考に、第１の制御手法が考えられる。第１の制御手法は、制御対象１１０の変化が離散時間線形時不変確定状態方程式であらわされ、制御対象１１０の即時コストが２次形式で表現され、制御対象１１０の状態が直接観測可能である状況を想定した強化学習によって、制御対象１１０を制御する制御手法である。
【００１５】
非特許文献１：Ｓ．  Ｊ．  Ｂｒａｄｔｋｅ，  Ｂ．  Ｅ．  Ｙｄｓｔｉｅ  ａｎｄ  Ａ．  Ｇ．  Ｂａｒｔｏ，  “Ａｄａｐｔｉｖｅ  ｌｉｎｅａｒ  ｑｕａｄｒａｔｉｃ  ｃｏｎｔｒｏｌ  ｕｓｉｎｇ  ｐｏｌｉｃｙ  ｉｔｅｒａｔｉｏｎ”，  Ｉｎ  Ｐｒｏｃ．  ｏｆ  ｔｈｅ  １９９４  Ａｍｅｒｉｃａｎ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｅｒｅｎｃｅ，  ｐｐ．  ３４７５−３４７９，  Ｂａｌｔｉｍｏｒｅ，  ＵＳＡ，  １９９４．
【００１６】
また、具体的には、第２の制御手法が考えられる。第２の制御手法は、制御対象１１０の状態方程式と、出力方程式と、即時コストの２次形式の方程式とにおける係数行列が既知である状況を想定した制御手法である。第２の制御手法は、制御対象１１０の出力に基づいて制御対象１１０の状態を推定することによって、制御対象１１０を制御する。
【００１７】
また、具体的には、下記の非特許文献２を参考に、第３の制御手法が考えられる。第３の制御手法は、制御対象１１０の状態方程式と、出力方程式と、即時コストの２次形式の方程式との係数行列が既知である状況を想定し、過去の時刻における制御対象１１０の入出力に基づいて、制御対象１１０を制御する制御手法である。
【００１８】
非特許文献２：美多，  Ｐａｎｇ，  劉，  新しいディジタル最適出力フィードバック制御とメカニカルシステムの制御への応用．  計測自動制御学会論文集，  Ｖｏｌ．２２，  Ｎｏ．１２，  ｐｐ．２０−２６，  １９８６．
【００１９】
また、具体的には、下記の非特許文献３を参考に、第４の制御手法が考えられる。第４の制御手法は、制御対象１１０の変化が離散時間線形時不変確定状態方程式であらわされ、制御対象１１０の即時コストが２次形式で表現され、制御対象１１０の状態が直接観測可能ではない状況を想定した強化学習によって、制御対象１１０を制御する制御手法である。第４の制御手法は、現在の時刻における入力値を、過去のｋ個の時刻における出力と、過去のｌ個の時刻における入力とに基づいて導出する。
【００２０】
非特許文献３：Ｓｔｅｖｅｎ  Ｊｏｓｅｐｈ  Ｂｒａｄｔｋｅ．  １９９５．  Ｉｎｃｒｅｍｅｎｔａｌ  Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ  ｆｏｒ  Ｏｎ−Ｌｉｎｅ  Ａｄａｐｔｉｖｅ  Ｏｐｔｉｍａｌ  Ｃｏｎｔｒｏｌ．  Ｐｈ．Ｄ．  Ｄｉｓｓｅｒｔａｔｉｏｎ．  Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｍａｓｓａｃｈｕｓｅｔｔｓ，  Ａｍｈｅｒｓｔ，  ＭＡ，  ＵＳＡ．  ＵＭＩ  Ｏｒｄｅｒ  Ｎｏ．  ＧＡＸ９５−１０４４６．
【００２１】
また、具体的には、下記の非特許文献４を参考に、第５の制御手法が考えられる。第５の制御手法は、制御対象１１０の変化が離散時間線形時不変確定状態方程式であらわされ、即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列が既知である状況を想定した強化学習によって、制御対象１１０を制御する制御手法である。第５の制御手法は、現在の時刻における入力値を、現在の時刻以前における出力と、過去の時刻における入力と、即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列とに基づいて導出する。
【００２２】
非特許文献４：Ｆ．  Ｌ．  Ｌｅｗｉｓ  ａｎｄ  Ｋ．  Ｇ．  Ｖａｍｖｏｕｄａｋｉｓ，  “Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ  ｆｏｒ  Ｐａｒｔｉａｌｌｙ  Ｏｂｓｅｒｖａｂｌｅ  Ｄｙｎａｍｉｃ  Ｐｒｏｃｅｓｓｅｓ：  Ａｄａｐｔｉｖｅ  Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｕｓｉｎｇ  Ｍｅａｓｕｒｅｄ  Ｏｕｔｐｕｔ  Ｄａｔａ”，  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｓｙｓｔｅｍｓ，  Ｍａｎ，  ａｎｄ  Ｃｙｂｅｒｎｅｔｉｃｓ，  Ｐａｒｔ  Ｂ  （Ｃｙｂｅｒｎｅｔｉｃｓ），  Ｖｏｌ．  ４１，  Ｎｏ．  １，  ｐｐ．１４−２５，  ２０１１．
【００２３】
ところで、制御対象１１０は、図１に示すように、制御対象１１０の状態方程式と、出力方程式と、即時コストの２次形式の方程式とにおける係数行列が未知であり、制御対象１１０の状態が直接観測可能ではない状況である場合がある。このため、制御対象１１０が図１に示すような状況である場合についても、制御対象１１０を制御することが望まれる。
【００２４】
しかしながら、上述した第１の制御手法〜第５の制御手法は、制御対象１１０が図１に示すような状況である場合について、制御則（ｃｏｎｔｒｏｌ  ｌａｗ）を効率よく学習し、制御対象１１０に対する入力値を精度よく決定することが難しい。制御則は、方策（ｐｏｌｉｃｙ）とも呼ばれる。
【００２５】
例えば、第１の制御手法は、制御対象１１０の状態が直接観測可能である状況であることを想定しており、図１に示すような状況に対しては適用することが難しい。第１の制御手法は、直接観測可能である制御対象１１０の出力を、制御対象１１０の状態の代わりとして扱うことにより、図１に示すような状況に適用したとしても、制御則を効率よく学習し、制御対象１１０に対する入力値を精度よく決定することができない。
【００２６】
また、例えば、第２の制御手法や第３の制御手法は、制御対象１１０の状態方程式と、出力方程式と、即時コストの２次形式の方程式とにおける係数行列が既知である状況を想定しており、図１に示すような状況に対しては適用することが難しい。
【００２７】
また、例えば、第４の制御手法は、現在の時刻における入力値を、過去のｋ個の時刻における出力と、過去のｌ個の時刻における入力とに基づいて導出する際、ｋとｌとに設定することが好ましい値を特定することが難しい。そして、第４の制御手法は、ｋとｌとに設定することが好ましい値よりも比較的大きい値を設定してしまうと、制御則を効率よく学習することができない。
【００２８】
また、第４の制御手法は、ｋとｌとに設定することが好ましい値よりも小さい値を設定してしまうと、制御則を効率よく学習し、制御対象１１０に対する入力値を精度よく決定することが難しい。また、第４の制御手法は、現在の時刻における入力値を決定する際、現在の時刻における出力を用いていないため、制御則を効率よく学習し、制御対象１１０に対する入力値を精度よく決定することが難しい。
【００２９】
また、例えば、第５の制御手法は、制御則の一部として即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列を用いるため、即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列が既知である状況でなければ、現在の時刻の入力値を決定することができない。このため、第５の制御手法は、図１に示すような状況に対しては適用することが難しい。
【００３０】
そこで、本実施の形態では、制御対象１１０の状態を直接観測することができず、制御対象１１０に対する入力に応じて即時コストまたは即時報酬にどのような影響があるかが不明である状況に対しても適用することができる強化学習方法について説明する。
【００３１】
図１の例では、制御対象１１０が図１に示すような状況である場合について、制御対象１１０の状態方程式と、出力方程式と、即時コストの２次形式の方程式とが規定され、問題設定が行われる。問題設定の具体例は、実施例に後述する。
【００３２】
強化学習装置１００は、この問題設定を、現在の時刻より過去の時刻における入力と、現在の時刻および現在の時刻より過去の時刻における出力とに関して完全観測である問題設定と等価な問題設定として扱い、下記の動作を行う。
【００３３】
強化学習装置１００は、価値関数の係数を、過去の時刻における入力と、現在の時刻および過去の時刻における出力と、過去の時刻における入力に応じたコストまたは報酬とに基づき推定する。価値関数は、過去の時刻における入力と、現在の時刻および過去の時刻における出力との二次形式により表現される。価値関数の係数を推定する具体例は、実施例に後述する。
【００３４】
強化学習装置１００は、推定した係数を用いた価値関数に基づき、推定した後の時刻における入力値を決定する。強化学習装置１００は、例えば、推定した係数を用いた価値関数に基づき、制御対象１１０の制御則の係数を特定し、その制御則に基づいて、推定した後の時刻における入力値を決定する。入力値を決定する具体例は、実施例に後述する。
【００３５】
これにより、強化学習装置１００は、制御対象１１０が図１に示すような状況である場合についても、強化学習によって、制御則を効率よく学習し、制御対象１１０に対する入力値を精度よく決定することができる。制御則を効率よく学習するとは、価値関数が効率よく最適化されるように、制御則を順次更新することである。
【００３６】
また、強化学習装置１００は、制御対象１１０が図１に示すような状況である場合についても強化学習を実現することができ、制御対象１１０として設定可能な事象の範囲を拡大することができる。強化学習装置１００は、例えば、制御対象１１０の状態方程式と、出力方程式と、即時コストの２次形式の方程式とにおける係数行列が未知であっても、強化学習を実現することができる。また、強化学習装置１００は、制御対象１１０の状態が直接観測することができなくても、強化学習を実現することができる。
【００３７】
ここで、上述した第４の制御手法は、ｋとｌとに好ましい値を設定することが難しいため、制御則を効率よく学習し、制御対象１１０に対する入力値を精度よく決定することが難しい。これに対し、強化学習装置１００は、ｋとｌとを用いないため、制御則を効率よく学習し、制御対象１１０に対する入力値を精度よく決定しやすくすることができる。
【００３８】
また、上述した第５の制御手法は、制御則の一部として即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列を用いるため、即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列が既知である状況を想定している。これに対し、強化学習装置１００は、制御対象の問題設定を、完全観測である問題設定と等価として扱うことができるため、即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列を用いなくてもよい。このため、強化学習装置１００は、即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列が未知である場合についても適用することができ、制御対象１１０として設定可能な事象の範囲を拡大することができる。
【００３９】
（強化学習装置１００のハードウェア構成例）
次に、図２を用いて、図１に示した強化学習装置１００のハードウェア構成例について説明する。
【００４０】
図２は、強化学習装置１００のハードウェア構成例を示すブロック図である。図２において、強化学習装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０３と、記録媒体Ｉ／Ｆ２０４と、記録媒体２０５とを有する。また、各構成部は、バス２００によってそれぞれ接続される。
【００４１】
ここで、ＣＰＵ２０１は、強化学習装置１００の全体の制御を司る。メモリ２０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されるプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させる。
【００４２】
ネットワークＩ／Ｆ２０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ２０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ２０３には、例えば、モデムやＬＡＮアダプタ、シリアル通信アダプタなどを採用することができる。
【００４３】
記録媒体Ｉ／Ｆ２０４は、ＣＰＵ２０１の制御に従って記録媒体２０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ２０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体２０５は、記録媒体Ｉ／Ｆ２０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体２０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体２０５は、強化学習装置１００から着脱可能であってもよい。
【００４４】
強化学習装置１００は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、タッチパネル、プリンタ、スキャナなどを有してもよい。また、強化学習装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を有していなくてもよい。
【００４５】
（強化学習装置１００の機能的構成例）
次に、図３を用いて、強化学習装置１００の機能的構成例について説明する。
【００４６】
図３は、強化学習装置１００の機能的構成例を示すブロック図である。強化学習装置１００は、記憶部３００と、観測部３０１と、推定部３０２と、決定部３０３と、出力部３０４とを含む。
【００４７】
記憶部３００は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域によって実現される。観測部３０１〜出力部３０４は、制御部となる機能である。観測部３０１〜出力部３０４は、具体的には、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、ネットワークＩ／Ｆ２０３により、その機能を実現する。各機能部の処理結果は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶される。
【００４８】
記憶部３００は、制御対象１１０の入力と、出力と、即時コストまたは即時報酬とを蓄積する。これにより、記憶部３００は、制御対象１１０の入力と、出力と、即時コストまたは即時報酬とを、推定部３０２や決定部３０３に参照させることができる。
【００４９】
観測部３０１は、制御対象１１０の出力と、即時コストまたは即時報酬とを観測し、記憶部３００に出力する。これにより、観測部３０１は、制御対象１１０の入力と、出力と、即時コストまたは即時報酬とを、記憶部３００に蓄積させることができる。
【００５０】
推定部３０２は、価値関数の係数を、現在の時刻より過去の時刻における入力と、現在の時刻および過去の時刻における出力と、過去の時刻における入力に応じた即時コストまたは即時報酬とに基づき推定する。価値関数は、制御対象１１０を評価する関数であり、制御対象１１０の損失であるコストを累積した累積コスト、または制御対象１１０の利益である報酬を累積した累積報酬などを示す関数である。これにより、推定部３０２は、価値関数の係数を推定し、推定した係数を用いた価値関数の推定関数を特定することができる。
【００５１】
価値関数は、例えば、過去の時刻における入力と、現在の時刻および過去の時刻における出力との二次形式により表現される。価値関数は、例えば、状態価値関数である。価値関数は、例えば、実施例において後述する式（１９）によって表現される。これにより、推定部３０２は、状態価値関数を用いることができる。
【００５２】
価値関数は、例えば、現在の時刻および過去の時刻における入力と、現在の時刻および過去の時刻における出力との二次形式により表現される。価値関数は、例えば、実施例において後述する式（２０）によって表現される。これにより、推定部３０２は、状態−行動価値関数を用いることができる。
【００５３】
推定部３０２は、過去の時刻における入力と現在の時刻および過去の時刻における出力とに関して完全観測である、価値関数を用いた制御問題について、価値関数の係数を推定する。推定部３０２は、例えば、実施例において後述するベクトルｚtについて完全観測である制御問題について、価値関数の係数を推定する。制御問題は、入力からコストまたは報酬への影響度合いを示す係数が未知であってもよい。推定部は、価値関数の係数の推定を複数回繰り返してもよい。
【００５４】
決定部３０３は、推定した係数を用いた価値関数に基づき、推定した後の時刻における入力値を決定する。決定部３０３は、例えば、推定した係数を用いた価値関数における、推定した係数と、入力値を算出する制御則における係数との関係に基づいて、制御則における係数を算出し、算出した係数を用いて入力値を決定する。これにより、決定部３０３は、精度よく入力値を決定することができる。
【００５５】
決定部３０３は、推定した係数を用いた価値関数に基づき、推定した後の時刻における出力を用いて、推定した後の時刻における入力値を決定する。決定部３０３は、推定した以降、過去の時刻における入力と現在の時刻および過去の時刻における出力を用いて現在の時刻における入力値を決定する。これにより、決定部３０３は、精度よく入力値を決定することができる。
【００５６】
出力部３０４は、決定した入力値を制御対象１１０に対して出力する。また、出力部３０４は、決定した入力値を記憶部３００に対して出力する。これにより、出力部３０４は、入力値を記憶部３００に記憶し、推定部３０２や決定部３０３に参照させることができる。
【００５７】
（強化学習の実施例）
次に、強化学習の実施例について説明する。実施例において、下記式（１）〜下記式（９）によって、制御対象１１０の状態方程式と、出力方程式と、即時コストの２次形式の方程式とが規定され、問題設定が行われる。実施例において、制御対象１１０の状態は、直接観測可能ではない。
【００５８】
【数１】
2019053589.tif 000003
【００５９】
上記式（１）は、制御対象１１０の状態方程式である。ｔは、単位時間の倍数で示される時刻である。ｔ＋１は、時刻ｔから単位時間経過した次の時刻である。ｘt+1は、次の時刻ｔ＋１における状態である。ｘtは、時刻ｔにおける状態である。ｕtは、時刻ｔにおける入力である。Ａ、Ｂは、係数行列である。上記式（１）は、次の時刻ｔ＋１における状態ｘt+1が、時刻ｔにおける状態ｘtと、時刻ｔにおける入力ｕtによって決定される関係があることを示す。係数行列Ａ，Ｂは、未知である。
【００６０】
【数２】
2019053589.tif 000004
【００６１】
上記式（２）は、制御対象１１０の出力方程式である。ｙtは、時刻ｔにおける出力である。Ｃは、係数行列である。上記式（２）は、時刻ｔにおける出力ｙtが、時刻ｔにおける状態ｘtによって決定される関係があることを示す。係数行列Ｃは、未知である。
【００６２】
【数３】
2019053589.tif 000005
【００６３】
上記式（３）は、状態ｘ0が、ｎ次元であることを示す。ｎは、既知である。
【００６４】
【数４】
2019053589.tif 000006
【００６５】
上記式（４）は、入力ｕtが、ｍ次元であることを示す。
【００６６】
【数５】
2019053589.tif 000007
【００６７】
上記式（５）は、係数行列Ａが、ｎ×ｎ次元(ｎ行ｎ列である)であることを示し、係数行列Ｂが、ｎ×ｍ次元（ｎ行ｍ列である）であることを示し、係数行列Ｃが、ｐ×ｎ次元（ｐ行ｎ列）であることを示す。（Ａ，Ｂ）は可安定（ｓｔａｂｉｌｉｚａｂｌｅ）である。
【００６８】
【数６】
2019053589.tif 000008
【００６９】
上記式（６）は、制御対象１１０の即時コストの方程式である。ｃtは、時刻ｔにおける入力ｕtに応じて単位時間後に発生する即時コストである。上付き文字Ｔは、転置を示す。上記式（６）は、即時コストｃtが、時刻ｔにおける出力ｙtと、時刻ｔにおける入力ｕtとの２次形式によって決定される関係があることを示す。係数行列Ｑ，Ｒは、未知である。
【００７０】
【数７】
2019053589.tif 000009
【００７１】
上記式（７）は、係数行列Ｑが、ｎ×ｎ次元(ｎ行ｎ列である)であることを示す。≧０は、半正定値対称行列を示す。
【００７２】
【数８】
2019053589.tif 000010
【００７３】
上記式（８）は、係数行列Ｒが、ｍ×ｍ次元（ｍ行ｍ列である）であることを示す。＞０は、正定値対称行列を示す。
【００７４】
【数９】
2019053589.tif 000011
【００７５】
上記式（９）は、（Ａ，Ｃ）が可観測であり、可観測性行列（ｏｂｓｅｒｖａｂｉｌｉｔｙ  ｍａｔｒｉｘ）のランクがｎであることを示す。
【００７６】
また、実施例において、状態方程式と、出力方程式と、即時コストの２次形式の方程式とにおける係数行列が既知である状況において好ましい制御則に基づき、下記式（１０）によって、時刻ｔにおける入力ｕtを決定するための制御則が規定される。
【００７７】
【数１０】
2019053589.tif 000012
【００７８】
Ｆyitは、時刻ｔにおける係数行列であって、出力ｙt-iに関する係数行列を示す。Ｆuitは、時刻ｔにおける係数行列であって、入力ｕt-iに関する係数行列を示す。上記式（１０）は、制御対象１１０の状態の次元が既知である状況を利用し、時刻ｔからｎ−１単位時間前までの出力および入力に基づいて、時刻ｔにおける入力を決定する方程式である。εtは、時刻ｔにおける探索項である。もし可観測指数が既知である場合は、それを利用してもよい。
【００７９】
ここで、即時コストｃtが、出力ｙtと入力ｕtとの２次形式であり、（Ｃ，Ａ）が、可観測であるという状況において、下記式（１１）が設定される。
【００８０】
【数１１】
2019053589.tif 000013
【００８１】
ｚtは、時刻ｔの１単位時間前からｎ−１単位時間前までの入力ｕt-1〜ｕt-(n-1)と、時刻ｔからｎ−１単位時間前までの出力ｙt〜ｙt-(n-1)とを集めたベクトルである。
【００８２】
上記式（１１）を設定すると、下記式（１２）が導出される。
【００８３】
【数１２】
2019053589.tif 000014
【００８４】
これにより、強化学習装置１００は、制御対象１１０を、直接観測可能であるベクトルｚtに関する完全観測である制御問題として扱うことができる。そして、強化学習装置１００は、上記式（１２）を利用し、ベクトルｚtと即時コストｃtに基づいて、下記式（１３）によって規定される係数行列Ｆtを更新する。
【００８５】
【数１３】
2019053589.tif 000015
【００８６】
Ｆtは、上記式（１０）における係数行列Ｆyit，Ｆuitを集めた係数行列である。Ｆtは、例えば、時刻ｔにおいて更新された後の係数行列を示す。強化学習装置１００は、以降の時刻ｔにおいて、更新した係数行列Ｆtに基づいて、上記式（１０）によって入力ｕtを決定する。
【００８７】
以下の説明では、係数行列Ｆtを、いつの時刻ｔにおいて更新された係数行列であるか区別せず、単に「係数行列Ｆ」と表記する場合がある。次に、上記式（１３）によって規定される係数行列Ｆを更新する具体例について説明する。
【００８８】
（係数行列Ｆを更新する具体例）
ここで、上記式（１）〜上記式（９）による問題設定が、ベクトルｚtに関して完全観測である問題設定と等価として扱うことができる性質を有することについて説明する。
【００８９】
まず、上記式（１）を上記式（２）に代入すると、時刻ｔ〜ｔ−ｎそれぞれの時刻の出力ｙt〜ｙt-nと、状態方程式と出力方程式とにおける係数行列Ａ，Ｂ，Ｃなどを用いた数式とを等号で接続した方程式が作成される。時刻ｔの出力ｙtは、例えば、係数行列Ａ，Ｂ，Ｃと、その時刻ｔより過去の入力ｕt-1〜ｕt-nと、時刻ｔ−ｎの状態ｘt-nとを用いた数式と等号で接続される。
【００９０】
また、時刻ｔ−１の出力ｙt-1は、例えば、係数行列Ａ，Ｂ，Ｃと、その時刻ｔ−１より過去の入力ｕt-2〜ｕt-nと、時刻ｔ−ｎの状態ｘt-nとを用いた数式と等号で接続される。また、時刻ｔ−２〜ｔ−（ｎ−１）のの出力ｙt-2〜ｙt-(n-1)は、同様に、係数行列Ａ，Ｂ，Ｃと、その時刻より過去の入力と、時刻ｔ−ｎの状態ｘt-nとを用いた数式と等号で接続される。また、時刻ｔ−ｎの出力ｙt-nは、例えば、係数行列Ｃと、時刻ｔ−ｎの状態ｘt-nとを用いた数式と等号で接続される。
【００９１】
時刻ｔ−２〜ｔ−（ｎ−１）に関する方程式をまとめると、出力ｙt-1〜ｙt-nを有するベクトルと、入力ｕt-2〜ｕt-nを有するベクトルと、状態ｘt-nとに関する方程式が作成される。ここで、（Ｃ，Ａ）が可観測であるため、状態ｘt-nにかかるＣ，ＣＡ，・・・，ＣＡn-1を有する係数行列に左逆行列が存在する。
【００９２】
この左逆行列を利用すると、ベクトルｚtを用いて、状態ｘt-nが、係数行列をかけたベクトルｚt-1によって表現される。これにより、時刻ｔの出力ｙtと、係数行列Ａ，Ｂ，Ｃと、その時刻ｔより過去の入力ｕt-1〜ｕt-nと、時刻ｔ−ｎの状態ｘt-nとを用いた数式とを接続した等式は、下記式（１４）のように変形される。
【００９３】
【数１４】
2019053589.tif 000016
【００９４】
Ａz、Ｂzは、係数行列である。上記式（１４）は、次の時刻ｔ＋１におけるベクトルｚt+1が、時刻ｔにおけるベクトルｚtと、時刻ｔにおける入力ｕtによって決定される関係があることを示す。係数行列Ａz、Ｂzは、未知である。上記式（１４）に対して、下記式（１５）を適用すると、下記式（１６）が導出される。
【００９５】
【数１５】
2019053589.tif 000017
【００９６】
【数１６】
2019053589.tif 000018
【００９７】
上記式（１６）に基づき、下記式（１７）および下記式（１８）が定義される。
【００９８】
【数１７】
2019053589.tif 000019
【００９９】
ｓは、非負の整数である。
【０１００】
【数１８】
2019053589.tif 000020
【０１０１】
φ+S（ｚ：Ｆ）は、係数行列Ｆを用いたフィードバック制御においてｚから変化し始めた系のｓ時間後の状態である。上記式（６）を参照し、上記式（１８）を用いると、状態価値関数として、下記式（１９）が定義される。
【０１０２】
【数１９】
2019053589.tif 000021
【０１０３】
γは、割引率である。γは、０以上１以下である。また、状態−行動価値関数として、下記式（２０）が定義される。
【０１０４】
【数２０】
2019053589.tif 000022
【０１０５】
これにより、上記式（１）〜上記式（９）による問題設定は、上記式（１４）と上記式（１９）または上記式（２０）とを用いた、ベクトルｚtに関して完全観測である問題設定と等価になる。そこで、強化学習装置１００は、上記式（１９）または上記式（２０）を用いて、係数行列Ｆを更新する。
【０１０６】
強化学習装置１００は、具体的には、上記式（２０）の関数Ｑを、ｕとｚとの２次形式で表現し、即時コストと等号で接続した方程式を作成する。強化学習装置１００は、観測した入力ｕt，ｕt-1，・・・，ｕt-n-1とベクトルｚt，ｚt-1，・・・，ｚt-n-1と即時コストｃt-1，ｃt-2，・・・，ｃt-n-2とを教師データに用いて、この方程式のｕとｚとにかかる係数行列を算出する。
【０１０７】
ここで、強化学習装置１００は、係数行列を算出する際、例えば、一括最小二乗法、逐次最小二乗法、一括ＬＳＴＤアルゴリズム、逐次ＬＳＴＤアルゴリズムなどを用いることができる。一括最小二乗法、逐次最小二乗法、一括ＬＳＴＤアルゴリズム、逐次ＬＳＴＤアルゴリズムなどについては、下記非特許文献５や下記非特許文献６を参照することができる。
【０１０８】
非特許文献５：Ｙ．  Ｚｈｕ  ａｎｄ  Ｘ．  Ｒ．  Ｌｉ，  “Ｒｅｃｕｒｓｉｖｅ  Ｌｅａｓｔ  Ｓｑｕａｒｅｓ  ｗｉｔｈ  Ｌｉｎｅａｒ  Ｃｏｎｓｔｒａｉｎｔｓ”，  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｓｙｓｔｅｍｓ，  Ｖｏｌ．  ７，  Ｎｏ．  ３，  ｐｐ．  ２８７−３１２，  ２００７．
【０１０９】
非特許文献６：Ｃ．  Ｄａｎｎ  ａｎｄ  Ｇ．  Ｎｅｕｍａｎｎ  ａｎｄ  Ｊ．  Ｐｅｔｅｒｓ，  “Ｐｏｌｉｃｙ  Ｅｖａｌｕａｔｉｏｎ  ｗｉｔｈ  Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅｓ：  Ａ  Ｓｕｒｖｅｙ  ａｎｄ  Ｃｏｍｐａｒｉｓｏｎ”，  Ｊｏｕｒｎａｌ  ｏｆ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  Ｒｅｓｅａｒｃｈ，  Ｖｏｌ．  １５，  ｐｐ．  ８０９−８８３，  ２０１４．
【０１１０】
強化学習装置１００は、算出した係数行列と、関数Ｑをｕで微分した結果をゼロとした方程式に基づいて係数行列Ｆを更新する。また、係数行列Ｆの更新については、上述した非特許文献１を参照することができる。
【０１１１】
そして、強化学習装置１００は、更新した係数行列Ｆを用いて、上記式（１０）に基づいて、現在の時刻における入力値を決定する。ここでは、強化学習装置１００が、即時コストを用いる場合について説明したが、これに限らない。例えば、強化学習装置１００が、即時報酬を用いる場合があってもよい。
【０１１２】
これにより、強化学習装置１００は、現在の時刻における入力値を決定する際、現在の時刻における出力を用いるため、制御対象１１０に対する入力値を精度よく決定することができ、累積コストを効率よく最小化することができる。このため、強化学習装置１００は、制御対象１１０の状態が好ましい状態になるまでにかかる時間の低減化を図ることができる。また、強化学習装置１００は、制御対象１１０の状態が、外部要因によって変化した場合でも、その変化から比較的短い時間で、制御対象１１０を効率よく制御することができる。
【０１１３】
（制御対象１１０の具体例）
次に、図４および図５を用いて、制御対象１１０の具体例について説明する。
【０１１４】
図４および図５は、制御対象１１０の具体例を示す説明図である。図４の例では、制御対象１１０は、熱源であるサーバ４０１と、ＣＲＡＣやＣｈｉｌｌｅｒなどの冷却器４０２とを含むサーバルーム４００である。
【０１１５】
入力は、冷却器４０２に対する設定温度や設定風量である。出力は、サーバルーム４００に設けられたセンサ装置からのセンサデータであり、例えば、温度などである。出力は、制御対象１１０以外から得られる制御対象１１０に関するデータであってもよく、例えば、気温や天気などであってもよい。状態は、例えば、出力として観測可能ではない温度を含む、サーバルーム４００における温度などである。即時コストは、例えば、サーバルーム４００の５分間の消費電力量である。価値関数は、例えば、サーバルーム４００の累積消費電力量である。
【０１１６】
ここで、図４の例では、冷却器４０２に対する設定温度や設定風量が、サーバルーム４００の消費電力に与える影響を解析することは難しい傾向があり、その影響が不明である場合がある。換言すれば、入力が即時コストに与える影響が不明である場合があり、即時コストの２次形式の方程式における入力にかかる係数行列が不明である場合がある。この場合であっても、強化学習装置１００は、制御対象１１０を制御することができる。
【０１１７】
ここで、第４の制御手法は、ｋとｌとに好ましい値を設定することが難しいため、図４の例において制御則を効率よく学習し、制御対象１１０に対する入力値を精度よく決定することが難しい。これに対し、強化学習装置１００は、ｋとｌとを用いないため、図４の例においても制御則を効率よく学習し、制御対象１１０に対する入力値を精度よく決定しやすくすることができる。
【０１１８】
また、例えば、第４の制御手法は、現在の時刻における入力値を決定する際、現在の時刻における出力を用いていないため、図４の例において制御則を効率よく学習し、制御対象１１０に対する入力値を精度よく決定することが難しい。これに対し、強化学習装置１００は、現在の時刻における入力値を決定する際、現在の時刻における出力を用いるため、図４の例においても制御対象１１０に対する入力値を精度よく決定することができる。
【０１１９】
第５の制御手法は、制御則の一部として即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列を用いるため、即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列が既知である状況を想定してしまっており、図４の例において制御則を学習することができない。これに対し、強化学習装置１００は、即時コストの２次形式の方程式において制御対象１１０の入力にかかる係数行列が未知であってもよいため、制御対象１１０として設定可能な事象の範囲を拡大することができる。
【０１２０】
図５の例では、制御対象１１０は、発電機５００である。入力は、発電機５００に対する指令値である。出力は、発電機５００に設けられたセンサ装置からのセンサデータである。状態は、例えば、発電機５００のタービンの回転量などである。即時報酬は、例えば、発電機５００の５分間の発電量である。価値関数は、例えば、発電機５００の累積発電量である。
【０１２１】
ここで、図５の例では、発電機５００に対する指令値が、発電機５００の発電量に与える影響が不明である場合がある。換言すれば、入力が即時報酬に与える影響が不明である場合があり、即時報酬の２次形式の方程式における入力にかかる係数行列が不明である場合がある。この場合であっても、強化学習装置１００は、制御対象１１０を制御することができる。また、制御対象１１０は、例えば、化学プラントや自律移動ロボット、産業用ロボットであってもよい。
【０１２２】
（強化学習処理手順の一例）
次に、図６および図７を用いて、強化学習処理手順の一例について説明する。
【０１２３】
図６は、バッチ処理形式の強化学習処理手順の一例を示すフローチャートである。図６の例では、強化学習装置１００が、価値関数として、状態行動価値関数を用いる場合について説明する。
【０１２４】
図６において、まず、強化学習装置１００は、係数行列Ｆを初期化し、入力ｕ0，ｕ1，・・・，ｕn-2を決定し、出力ｙ0，ｙ1，・・・，ｙn-2と、即時コストｃ0，ｃ1，・・・，ｃn-3とを観測する（ステップＳ６０１）。
【０１２５】
次に、強化学習装置１００は、前回の入力ｕt-1に応じた、出力ｙtと、即時コストｃt-1とを観測し、入力ｕt＝Ｆｚt＋εtを算出する（ステップＳ６０２）。そして、強化学習装置１００は、ステップＳ６０２をＮ回繰り返したか否かを判定する（ステップＳ６０３）。
【０１２６】
ここで、Ｎ回繰り返していない場合（ステップＳ６０３：Ｎｏ）、強化学習装置１００は、ステップＳ６０２の処理に戻る。一方で、Ｎ回繰り返している場合（ステップＳ６０３：Ｙｅｓ）、強化学習装置１００は、ステップＳ６０４の処理に移行する。
【０１２７】
強化学習装置１００は、入力ｕt，ｕt-1，・・・，ｕt-n-1と、ベクトルｚt，ｚt-1，・・・，ｚt-n-1と、即時コストｃt-1，ｃt-2，・・・，ｃt-n-2とに基づいて、価値関数の推定関数を算出する（ステップＳ６０４）。
【０１２８】
次に、強化学習装置１００は、価値関数の推定関数に基づいて、係数行列Ｆを更新する（ステップＳ６０５）。そして、強化学習装置１００は、ステップＳ６０２の処理に戻る。これにより、強化学習装置１００は、制御対象１１０を制御することができる。強化学習装置１００は、状態−行動価値関数ではなく、状態価値関数を用いる場合、上述した各処理において入力ｕtを用いなくてもよい。
【０１２９】
図７は、逐次処理形式の強化学習処理手順の一例を示すフローチャートである。図７の例では、強化学習装置１００が、価値関数として、状態−行動価値関数を用いる場合について説明する。
【０１３０】
図７において、まず、強化学習装置１００は、係数行列Ｆと価値関数の推定関数とを初期化し、入力ｕ0，ｕ1，・・・，ｕn-2を決定し、出力ｙ0，ｙ1，・・・，ｙn-2と、即時コストｃ0，ｃ1，・・・，ｃn-3とを観測する（ステップＳ７０１）。
【０１３１】
次に、強化学習装置１００は、前回の入力ｕt-1に応じた、出力ｙtと、即時コストｃt-1を観測し、入力ｕt＝Ｆｚt＋εtを算出する（ステップＳ７０２）。そして、強化学習装置１００は、入力ｕt，ｕt-1と、ベクトルｚt，ｚt-1と、即時コストｃt-1とに基づいて、価値関数の推定関数を更新する（ステップＳ７０３）。
【０１３２】
次に、強化学習装置１００は、ステップＳ７０３をＮ回繰り返したか否かを判定する（ステップＳ７０４）。ここで、Ｎ回繰り返していない場合（ステップＳ７０４：Ｎｏ）、強化学習装置１００は、ステップＳ７０２の処理に戻る。一方で、Ｎ回繰り返している場合（ステップＳ７０４：Ｙｅｓ）、強化学習装置１００は、ステップＳ７０５の処理に移行する。
【０１３３】
次に、強化学習装置１００は、価値関数の推定関数に基づいて、係数行列Ｆを更新する（ステップＳ７０５）。そして、強化学習装置１００は、ステップＳ７０２の処理に戻る。これにより、強化学習装置１００は、制御対象１１０を制御することができる。強化学習装置１００は、状態−行動価値関数ではなく、状態価値関数を用いる場合、上述した各処理において入力ｕtを用いなくてもよい。
【０１３４】
以上説明したように、強化学習装置１００によれば、価値関数の係数を、過去の時刻における入力と、現在の時刻および過去の時刻における出力と、過去の時刻における入力に応じたコストまたは報酬とに基づき推定することができる。強化学習装置１００によれば、推定した係数を用いた価値関数に基づき、推定した後の時刻における入力値を決定することができる。これにより、強化学習装置１００は、制御則を効率よく学習することができ、入力値を精度よく決定することができる。
【０１３５】
強化学習装置１００によれば、価値関数として、現在の時刻および過去の時刻における入力と、現在の時刻および過去の時刻における出力との二次形式により表現される関数を用いることができる。これにより、強化学習装置１００は、状態−行動価値関数を用いることができる。
【０１３６】
強化学習装置１００によれば、価値関数に基づき、推定した後の時刻における出力を用いて、推定した後の時刻における入力値を決定することができる。これにより、強化学習装置１００は、入力値を決定する精度の向上を図ることができる。
【０１３７】
強化学習装置１００によれば、過去の時刻における入力と現在の時刻および過去の時刻における出力とに関して完全観測である、価値関数を用いた制御問題について、価値関数の係数を推定することができる。これにより、強化学習装置１００は、入力からコストまたは報酬への影響度合いを示す係数が未知である場合についても、制御則を学習し、入力値を決定することができる。
【０１３８】
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション、マイクロコントローラ等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１３９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４０】
（付記１）価値関数を用いた強化学習プログラムであって、
現在の時刻より過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力との二次形式により表現される前記価値関数の係数を、前記過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力と、前記過去の時刻における入力に応じたコストまたは報酬とに基づき推定し、
推定した前記係数を用いた前記価値関数に基づき、制御則を規定する係数を決定し、推定した後の時刻における入力値を決定する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【０１４１】
（付記２）前記価値関数は、前記現在の時刻および前記過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力との二次形式により表現される、ことを特徴とする付記１に記載の強化学習プログラム。
【０１４２】
（付記３）前記決定する処理は、
前記価値関数に基づき、前記推定した後の時刻における出力を用いて、前記推定した後の時刻における入力値を決定する、ことを特徴とする付記１または２に記載の強化学習プログラム。
【０１４３】
（付記４）前記推定する処理は、
入力からコストまたは報酬への影響度合いを示す係数が未知であり、前記過去の時刻における入力と前記現在の時刻および前記過去の時刻における出力とに関して完全観測である、前記価値関数を用いた制御問題について、前記価値関数の係数を推定する、ことを特徴とする付記１〜３のいずれか一つに記載の強化学習プログラム。
【０１４４】
（付記５）前記価値関数に対応する制御対象の状態方程式および出力方程式における状態にかかる係数行列が可観測性条件を満たす、ことを特徴とする付記１〜４のいずれか一つに記載の強化学習プログラム。
【０１４５】
（付記６）価値関数を用いた強化学習方法であって、
現在の時刻より過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力との二次形式により表現される前記価値関数の係数を、前記過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力と、前記過去の時刻における入力に応じたコストまたは報酬とに基づき推定し、
推定した前記係数を用いた前記価値関数に基づき、制御則を規定する係数を決定し、推定した後の時刻における入力値を決定する、
処理をコンピュータが実行することを特徴とする強化学習方法。
【０１４６】
（付記７）価値関数を用いた強化学習装置であって、
現在の時刻より過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力との二次形式により表現される前記価値関数の係数を、前記過去の時刻における入力と、前記現在の時刻および前記過去の時刻における出力と、前記過去の時刻における入力に応じたコストまたは報酬とに基づき推定し、
推定した前記係数を用いた前記価値関数に基づき、制御則を規定する係数を決定し、推定した後の時刻における入力値を決定する、
制御部を有することを特徴とする強化学習装置。
【符号の説明】
【０１４７】
１００  強化学習装置
１１０  制御対象
２００  バス
２０１  ＣＰＵ
２０２  メモリ
２０３  ネットワークＩ／Ｆ
２０４  記録媒体Ｉ／Ｆ
２０５  記録媒体
２１０  ネットワーク
３００  記憶部
３０１  観測部
３０２  推定部
３０３  決定部
３０４  出力部
【図１】
2019053589.tif 000023
【図２】
2019053589.tif 000024
【図３】
2019053589.tif 000025
【図４】
2019053589.tif 000026
【図５】
2019053589.tif 000027
【図６】
2019053589.tif 000028
【図７】
2019053589.tif 000029