(57)【要約】【課題】制約条件を充足する確率の向上を図ること。【解決手段】情報処理装置１００は、強化学習器１０１と固定制御器１０２とを有する。強化学習器１０１は、第１の時点において制御対象１１０の状態が制約条件を充足する場合、第１の時点の次の第２の時点における制御対象１１０の状態が所定確率で制約条件を充足することを保証することができる。固定制御器１０２は、制約条件を充足しない制御対象１１０の状態から、所定時間以内で、制約条件を充足する制御対象１１０の状態に遷移させることができる。情報処理装置１００は、目標確率と、固定制御器１０２に関する所定時間とに基づいて、強化学習器１０１のパラメータを決定する。情報処理装置１００は、いずれかの時点における制御対象１１０の状態が、制約条件を充足するか否かに基づいて、強化学習器１０１および固定制御器１０２のいずれか一方により、制御対象１１０への制御入力を決定する。【選択図】図１
2020144483.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の状態に関する制約条件を充足する目標確率と、前記制約条件を充足しない前記制御対象の状態から所定時間以内で前記制約条件を充足する前記制御対象の状態に遷移可能にする制御器に関する前記所定時間とに基づいて、前記制御対象の状態が前記制約条件を充足する時点の次の時点における前記制御対象の状態が所定確率で前記制約条件を充足することを保証可能にする強化学習器のパラメータを決定し、
いずれかの時点における前記制御対象の状態が、前記制約条件を充足するか否かに基づいて、前記強化学習器および前記制御器のいずれか一方により、前記制御対象への制御入力を決定する、
処理をコンピュータが実行することを特徴とする強化学習方法。
【請求項２】
前記強化学習器のパラメータを決定する処理は、
前記所定確率が、前記所定時間と前記目標確率とに基づき算出される、前記目標確率よりも高い確率になるように、前記強化学習器のパラメータを決定する、ことを特徴とする請求項１に記載の強化学習方法。
【請求項３】
前記制御対象は、風力発電設備であり、
前記強化学習器は、前記風力発電設備の発電機トルクを制御入力とし、前記風力発電設備の発電量と前記風力発電設備のタービンの回転量と前記風力発電設備のタービンの回転速度と前記風力発電設備に対する風向と前記風力発電設備に対する風速との少なくともいずれかを状態とし、前記風力発電設備の発電量を報酬とし、前記制御対象を制御する方策を学習する強化学習を実施する、ことを特徴とする請求項１または２に記載の強化学習方法。
【請求項４】
制御対象の状態に関する制約条件を充足する目標確率と、前記制約条件を充足しない前記制御対象の状態から所定時間以内で前記制約条件を充足する前記制御対象の状態に遷移可能にする制御器に関する前記所定時間とに基づいて、前記制御対象の状態が前記制約条件を充足する時点の次の時点における前記制御対象の状態が所定確率で前記制約条件を充足することを保証可能にする強化学習器のパラメータを決定し、
いずれかの時点における前記制御対象の状態が、前記制約条件を充足するか否かに基づいて、前記強化学習器および前記制御器のいずれか一方により、前記制御対象への制御入力を決定する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【請求項５】
制御対象の状態に関する制約条件を充足する目標確率と、前記制約条件を充足しない前記制御対象の状態から所定時間以内で前記制約条件を充足する前記制御対象の状態に遷移可能にする制御器に関する前記所定時間とに基づいて、前記制御対象の状態が前記制約条件を充足する時点の次の時点における前記制御対象の状態が所定確率で前記制約条件を充足することを保証可能にする強化学習器のパラメータを決定し、
いずれかの時点における前記制御対象の状態が、前記制約条件を充足するか否かに基づいて、前記強化学習器および前記制御器のいずれか一方により、前記制御対象への制御入力を決定する、
ことを特徴とする強化学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強化学習方法、強化学習プログラム、および強化学習システムに関する。
【背景技術】
【０００２】
従来、制御対象への制御入力に応じた制御対象からの即時コストまたは即時報酬を参照して、制御対象からの累積コストまたは累積報酬に基づいて制御対象への制御入力の価値を規定する価値関数を最適化するような方策を学習していく強化学習の技術がある。価値関数は、状態行動価値関数（Ｑ関数）または状態価値関数（Ｖ関数）などである。
【０００３】
先行技術としては、例えば、プラントの運用コストを評価したコスト評価値が最適となるようにプラントに与える制御信号の生成方法を自律学習するものがある。また、例えば、操作信号を計算する際に用いる制御パラメータの変化量とプラントの状態変化量とを対応付けた知識情報に基づいて、制御パラメータの探索範囲を決定する技術がある。また、例えば、プラントの第１の計測信号の目標値との誤差である第１の誤差よりも、プラントの第２の計測信号の目標値との誤差である第２の誤差が大きい場合に操作信号の補正信号を生成する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−５３５０５号公報
【特許文献２】特開２０１７−１５７１１２号公報
【特許文献３】特開２００９−１２８９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、強化学習により方策を学習していく最中に、制御対象の状態が、制御対象の状態に関する制約条件に違反する確率が増大してしまうことがある。これは、従来技術においては、現在の制御対象の状態が制約条件を満たしていない場合に、次の時点の制御対象の状態が制約条件を充足する確率を保証できないためである。このため、現在の制御対象の状態に関わらず、次の時点の制御対象の状態が、制御対象の状態に関する制約条件を充足する確率を、一定以上に大きくすることを保証することができない。また、制御対象の状態が、制御対象の状態に関する制約条件に違反すると、制御対象に悪影響を及ぼすことがある。
【０００６】
１つの側面では、本発明は、制約条件を充足する確率の向上を図ることを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、制御対象の状態に関する制約条件を充足する目標確率と、前記制約条件を充足しない前記制御対象の状態から所定時間以内で前記制約条件を充足する前記制御対象の状態に遷移可能にする制御器に関する前記所定時間とに基づいて、前記制御対象の状態が前記制約条件を充足する時点の次の時点における前記制御対象の状態が所定確率で前記制約条件を充足することを保証可能にする強化学習器のパラメータを決定し、いずれかの時点における前記制御対象の状態が、前記制約条件を充足するか否かに基づいて、前記強化学習器および前記制御器のいずれか一方により、前記制御対象への制御入力を決定する強化学習方法、強化学習プログラム、および強化学習システムが提案される。
【発明の効果】
【０００８】
一様態によれば、現在の制御対象の状態に関わらず、次の時点の制御対象の状態が制約条件を充足する確率が一定以上に大きくすることを保証することができる。さらに、一態様によれば、制約条件を充足する確率の向上を図ることが可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。
【図２】図２は、実施の形態にかかる強化学習方法の別の実施例を示す説明図である。
【図３】図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、情報処理装置１００の機能的構成例を示すブロック図である。
【図５】図５は、情報処理装置１００の動作例１を示す説明図（その１）である。
【図６】図６は、情報処理装置１００の動作例１を示す説明図（その２）である。
【図７】図７は、情報処理装置１００の動作例１を示す説明図（その３）である。
【図８】図８は、動作例１における情報処理装置１００により得られた効果を示す説明図である。
【図９】図９は、制御対象１１０の具体例を示す説明図（その１）である。
【図１０】図１０は、制御対象１１０の具体例を示す説明図（その２）である。
【図１１】図１１は、制御対象１１０の具体例を示す説明図（その３）である。
【図１２】図１２は、動作例１における全体処理手順の一例を示すフローチャートである。
【図１３】図１３は、動作例１における決定処理手順の一例を示すフローチャートである。
【図１４】図１４は、情報処理装置１００の動作例２を示す説明図（その１）である。
【図１５】図１５は、情報処理装置１００の動作例２を示す説明図（その２）である。
【図１６】図１６は、動作例２における全体処理手順の一例を示すフローチャートである。
【図１７】図１７は、動作例２における決定処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる強化学習方法、強化学習プログラム、および強化学習システムの実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる強化学習方法の一実施例）
図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。情報処理装置１００は、強化学習により制御対象１１０を制御するためのコンピュータである。情報処理装置１００は、例えば、サーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、または、マイクロコントローラなどである。
【００１２】
制御対象１１０は、何らかの事象であり、例えば、現実に存在する物理系である。制御対象１１０は、環境（ｅｎｖｉｒｏｎｍｅｎｔ）とも呼ばれる。制御対象１１０は、例えば、シミュレータ上に存在してもよい。制御対象１１０は、具体的には、自動車、自律移動ロボット、産業用ロボット、ドローン、ヘリコプター、サーバルーム、発電設備、化学プラント、または、ゲームなどである。
【００１３】
強化学習は、制御対象１１０を制御する方策を学習していく手法である。方策は、制御対象１１０への制御入力を決定するための制御則である。制御入力は、行動（ａｃｔｉｏｎ）とも呼ばれる。強化学習は、例えば、制御対象１１０への制御入力を決定し、制御対象１１０の状態と、決定した制御入力と、決定した制御入力に応じて観測した制御対象１１０からの即時コストまたは即時報酬を参照して、価値関数を最適化するような方策を学習していく。
【００１４】
価値関数は、制御対象１１０からの累積コストまたは累積報酬に基づいて、制御対象１１０への制御入力についての価値を規定する関数である。価値関数は、例えば、状態行動価値関数（Ｑ関数）、または、状態価値関数（Ｖ関数）などである。価値関数は、例えば、状態基底関数を用いて表現される。最適化は、累積コストに基づく価値関数に関しては最小化に対応し、累積報酬に基づく価値関数に関しては最大化に対応する。強化学習は、例えば、制御対象１１０の性質が不明でも実現可能である。強化学習は、具体的には、Ｑ学習、ＳＡＲＳＡ、または、ａｃｔｏｒ−ｃｒｉｔｉｃなどを利用する。
【００１５】
ここで、制御対象１１０の状態に対する制約条件が存在する場合、制約条件を充足させつつ制御対象１１０を制御可能である方策を学習することが望まれる他に、強化学習により方策を学習していく最中にも、制約条件を充足させておくことが望まれる。また、強化学習により方策を学習していく最中に、制御対象１１０の状態が制約条件を違反する確率をどの程度まで抑制可能であるかを、強化学習を開始する前に評価可能にすることが望まれる場合がある。違反とは、制約条件を充足しないことである。
【００１６】
例えば、強化学習を、シミュレータ上ではなく、実在する制御対象１１０に適用しようとする場合、制約条件を違反すると、実在する制御対象１１０に悪影響を及ぼすことがある。具体的には、制御対象１１０がサーバルームであり、サーバルームの温度を一定以下にする制約条件が存在する場合、制約条件を違反すると、サーバルームにあるサーバが故障しやすくなることがある。また、具体的には、制御対象１１０が風車であり、風車の回転速度を一定以下にする制約条件が存在する場合、制約条件を違反すると、風車が破損しやすくなることがある。
【００１７】
このように、実在する制御対象１１０は、悪影響を受けることがある。このため、強化学習により方策を学習していく最中に、制約条件を充足させることが望まれる。また、このため、強化学習により方策を学習していく最中に、制御対象１１０の状態が制約条件を違反する確率をどの程度まで抑制可能であるかを、強化学習を開始する前に評価可能にすることが望まれる。そして、実在する制御対象１１０が受ける悪影響の大きさを、許容範囲に収められるかを予め評価可能にすることが望まれる。
【００１８】
しかしながら、従来の強化学習では、方策を学習していく最中に、制御対象１１０への制御入力を決定するにあたり、制御対象１１０の状態が制約条件を充足するか否かを考慮していない。このため、方策を学習していく最中に、制御対象１１０の状態が制約条件を違反する確率が増大してしまう。また、学習された方策が、制約条件を充足するように制御対象１１０を制御可能にする方策ではないことがある。従来の強化学習については、例えば、下記非特許文献１が参照される。
【００１９】
非特許文献１：Ｄｏｙａ，  Ｋｅｎｊｉ．  “Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  ｌｅａｒｎｉｎｇ  ｉｎ  ｃｏｎｔｉｎｕｏｕｓ  ｔｉｍｅ  ａｎｄ  ｓｐａｃｅ．”  Ｎｅｕｒａｌ  ｃｏｍｐｕｔａｔｉｏｎ  １２．１  （２０００）：  ２１９−２４５．
【００２０】
これに対し、上記従来の強化学習において、制約条件を違反した場合にペナルティを与えるようにする改良手法が考えられる。この改良手法では、制約条件を充足するように制御対象１１０を制御可能にする方策を学習可能であるが、強化学習により方策を学習していく最中には、制約条件を充足させることはできない。
【００２１】
一方で、強化学習により方策を学習していく最中に、制約条件を充足させることができても、学習効率の低下を招くことは好ましくない。例えば、強化学習により方策を学習していく最中に、制御入力を決定する範囲を比較的狭い範囲に固定することが考えられるが、学習効率の低下を招くことがあり、学習効率の観点から好ましくない。
【００２２】
また、仮に、いずれかの時点における制御対象１１０の状態が制約条件を充足すれば、次の時点における制御対象１１０の状態が、所定確率で制約条件を充足することを保証可能である強化学習器が存在する場合が考えられる。この場合、強化学習器は、制御対象１１０の状態が制約条件を充足しなくなった以降の状況を考慮しないため、強化学習により方策を学習していく最中に、制約条件を充足する確率を一定以上に大きくすることを保証することが難しいことがある。具体的には、連続型の強化学習により方策を学習していく最中に、制約条件を充足する確率を一定以上に大きくすることを保証することが難しい。連続型は、制約条件を違反しても、制御対象１１０の状態を初期化せずに、方策の学習を続行する形式である。
【００２３】
また、予備実験により制御対象１１０について正確なモデリングを実施し、制御対象１１０の正確なモデルを用いて、制御入力を決定する範囲を調整することにより、制約条件を違反する確率の低減化を図る手法が考えられる。この手法は、正確なモデリングを実施することが困難な場合には適用することができない。また、この手法は、制御対象１１０の正確なモデルが複雑なモデルである場合、強化学習にかかる計算負担の増大化を招く。この手法については、例えば、下記非特許文献２が参照される。
【００２４】
非特許文献２：Ｓｕｍｍｅｒｓ，  Ｔｙｌｅｒ，  ｅｔ  ａｌ．  “Ｓｔｏｃｈａｓｔｉｃ  ｏｐｔｉｍａｌ  ｐｏｗｅｒ  ｆｌｏｗ  ｂａｓｅｄ  ｏｎ  ｃｏｎｄｉｔｉｏｎａｌ  ｖａｌｕｅ  ａｔ  ｒｉｓｋ  ａｎｄ  ｄｉｓｔｒｉｂｕｔｉｏｎａｌ  ｒｏｂｕｓｔｎｅｓｓ．”  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  Ｐｏｗｅｒ  ＆  Ｅｎｅｒｇｙ  Ｓｙｓｔｅｍｓ  ７２  （２０１５）：  １１６−１２５．
【００２５】
そこで、本実施の形態では、強化学習器１０１と固定制御器１０２とを使い分けて制御対象１１０への制御入力を決定することができる強化学習方法について説明する。この強化学習方法によれば、強化学習により方策を学習していく最中に、制御対象１１０の状態が制約条件を充足する確率の向上を図ることができる。
【００２６】
図１に示すように、情報処理装置１００は、強化学習器１０１と固定制御器１０２とを有する。強化学習器１０１は、第１の時点において制御対象１１０の状態が制約条件を充足する場合、第１の時点の次の第２の時点における制御対象１１０の状態が所定確率で制約条件を充足することを保証することができる。固定制御器１０２は、制約条件を充足しない制御対象１１０の状態から、所定時間以内で、制約条件を充足する制御対象１１０の状態に遷移させることができる。
【００２７】
情報処理装置１００は、制御対象１１０の状態に関する制約条件を充足する目標確率と、固定制御器１０２に関する所定時間とに基づいて、強化学習器１０１のパラメータを決定する。情報処理装置１００は、例えば、所定確率が、所定時間と目標確率とに基づき算出される目標確率よりも高い確率になるように、強化学習器１０１のパラメータを決定する。パラメータは、所定確率として強化学習器１０１に指定される下限値である。
【００２８】
そして、情報処理装置１００は、制御対象１１０への制御入力を出力し、制御対象１１０の状態および制御対象１１０からの即時報酬を観測し、方策を更新する一連の処理を繰り返すことにより、強化学習を実施する。強化学習は、例えば、連続型である。情報処理装置１００は、例えば、強化学習を実施する際、いずれかの時点における制御対象１１０の状態が、制約条件を充足するか否かに基づいて、強化学習器１０１および固定制御器１０２のいずれか一方により、制御対象１１０への制御入力を決定する。
【００２９】
図１の例では、情報処理装置１００は、具体的には、強化学習器１０１および固定制御器１０２のそれぞれに制御対象１１０への制御入力を決定させる。そして、情報処理装置１００は、具体的には、切替手段１０３により、強化学習器１０１および固定制御器１０２のいずれかが決定した制御入力を、実際に出力する制御対象１１０への制御入力として決定する。
【００３０】
これにより、情報処理装置１００は、強化学習器１０１と固定制御器１０２とを使い分けて制御対象１１０への制御入力を決定することができる。ここで、情報処理装置１００は、制御対象１１０の状態が制約条件を違反した場合、固定制御器１０２を利用して、制御入力を決定することを繰り返し、制御対象１１０の状態を、制約条件を違反する状態から、制約条件を充足する状態に戻すことができる。このため、情報処理装置１００は、制約条件を違反し続けることを防止することができる。
【００３１】
また、情報処理装置１００は、制御対象１１０の状態を、制約条件を違反した状態から制約条件を充足する状態に戻す際に、所定時間がかかることにより、強化学習で制約条件を充足する確率の低下を招くことを考慮することができる。このため、情報処理装置１００は、強化学習器１０１の利用時には、制御対象１１０の状態が制約条件を充足する確率が、予め設定された目標確率以上に大きくなることを保証するように、強化学習器１０１のパラメータを設定することができる。
【００３２】
これらのことから、情報処理装置１００は、強化学習全体で、制約条件を充足する確率の増大化を図ることができる。情報処理装置１００は、例えば、強化学習全体で、制約条件を充足する確率を、目標確率以上に大きくすることを保証することができる。
【００３３】
ここで、制約条件は、１または複数設定される。制約条件が１つ設定される場合に、情報処理装置１００が制御対象１１０への制御入力を決定する一例については、具体的には、図５〜図７を用いて後述する動作例１において、詳細に説明する。一方で、制約条件が複数設定される場合に、情報処理装置１００が制御対象１１０への制御入力を決定する一例については、具体的には、図１４および図１５を用いて後述する動作例２において、詳細に説明する。
【００３４】
ここでは、情報処理装置１００が、強化学習器１０１と固定制御器１０２とを有する場合について説明したが、これに限らない。例えば、情報処理装置１００以外に、強化学習器１０１と固定制御器１０２とを有する装置が存在する場合があってもよい。この場合、情報処理装置１００は、強化学習器１０１と固定制御器１０２とを有する装置と連携して、制御対象１１０への制御入力を決定する。
【００３５】
また、ここでは、情報処理装置１００が、強化学習器１０１のパラメータを決定する場合について説明したが、これに限らない。例えば、情報処理装置１００以外に、強化学習器１０１のパラメータを決定する装置が存在する場合があってもよい。この場合、情報処理装置１００は、強化学習器１０１のパラメータを決定する装置から、強化学習器１０１のパラメータを取得することになる。
【００３６】
ここでは、強化学習器１０１と固定制御器１０２との後段に、切替手段１０３が存在する場合について説明したが、これに限らない。図２に示すように、強化学習器１０１と固定制御器１０２との前段に、切替手段１０３が存在する場合があってもよい。ここで、図２の説明に移行し、強化学習器１０１と固定制御器１０２との前段に、切替手段１０３が存在する場合について説明する。
【００３７】
（実施の形態にかかる強化学習方法の別の実施例）
図２は、実施の形態にかかる強化学習方法の別の実施例を示す説明図である。図２に示すように、情報処理装置１００は、強化学習器１０１と固定制御器１０２とを有する。
【００３８】
情報処理装置１００は、制御対象１１０の状態に関する制約条件を充足する目標確率と、固定制御器１０２に関する所定時間とに基づいて、強化学習器１０１のパラメータを決定する。情報処理装置１００は、例えば、所定確率が、所定時間と目標確率とに基づき算出される目標確率よりも高い確率になるように、強化学習器１０１のパラメータを決定する。
【００３９】
そして、情報処理装置１００は、制御対象１１０への制御入力を出力し、制御対象１１０の状態および制御対象１１０からの即時報酬を観測し、方策を更新する一連の処理を繰り返すことにより、強化学習を実施する。強化学習は、例えば、連続型である。情報処理装置１００は、例えば、強化学習を実施する際、いずれかの時点における制御対象１１０の状態が、制約条件を充足するか否かに基づいて、強化学習器１０１および固定制御器１０２のいずれか一方により、制御対象１１０への制御入力を決定する。
【００４０】
図２の例では、情報処理装置１００は、具体的には、切替手段１０３により、強化学習器１０１および固定制御器１０２のいずれかに、制御対象１１０への制御入力を決定させる。情報処理装置１００は、より具体的には、切替手段１０３により、強化学習器１０１および固定制御器１０２のいずれかに、制御対象１１０への制御入力を決定するために用いる制御対象１１０の状態などの情報を送信し、制御対象１１０への制御入力を決定させる。そして、情報処理装置１００は、具体的には、強化学習器１０１および固定制御器１０２のいずれかに決定された制御入力を、実際に出力する制御対象１１０への制御入力として決定する。
【００４１】
これにより、情報処理装置１００は、強化学習器１０１と固定制御器１０２とを使い分けて制御対象１１０への制御入力を決定することができる。ここで、情報処理装置１００は、制御対象１１０の状態が制約条件を違反した場合、固定制御器１０２を利用して、制御入力を決定することを繰り返し、制御対象１１０の状態を、制約条件を違反する状態から、制約条件を充足する状態に戻すことができる。このため、情報処理装置１００は、制約条件を違反し続けることを防止することができる。
【００４２】
また、情報処理装置１００は、制御対象１１０の状態を、制約条件を違反した状態から制約条件を充足する状態に戻す際に、所定時間がかかることにより、強化学習で制約条件を充足する確率の低下を招くことを考慮することができる。このため、情報処理装置１００は、強化学習器１０１の利用時には、制御対象１１０の状態が制約条件を充足する確率が、予め設定された目標確率以上に大きくなることを保証するように、強化学習器１０１のパラメータを設定することができる。
【００４３】
これらのことから、情報処理装置１００は、強化学習全体で、制約条件を充足する確率の増大化を図ることができる。情報処理装置１００は、例えば、強化学習全体で、制約条件を充足する確率を、目標確率以上に大きくすることを保証することができる。また、情報処理装置１００は、強化学習器１０１および固定制御器１０２の一方に、制御対象１１０への制御入力を決定させた場合、他方は制御対象１１０への制御入力を決定せずに済むようにすることができ、処理負担の低減化を図ることができる。
【００４４】
（情報処理装置１００のハードウェア構成例）
次に、図３を用いて、図１または図２に示した情報処理装置１００のハードウェア構成例について説明する。
【００４５】
図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。図３において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、記録媒体Ｉ／Ｆ３０４と、記録媒体３０５とを有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４６】
ここで、ＣＰＵ３０１は、情報処理装置１００の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００４７】
ネットワークＩ／Ｆ３０３は、通信回線を通じてネットワーク３１０に接続され、ネットワーク３１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ３０３は、ネットワーク３１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ３０３は、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどである。
【００４８】
記録媒体Ｉ／Ｆ３０４は、ＣＰＵ３０１の制御に従って記録媒体３０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ３０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体３０５は、記録媒体Ｉ／Ｆ３０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体３０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体３０５は、情報処理装置１００から着脱可能であってもよい。
【００４９】
情報処理装置１００は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を複数有していてもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を有していなくてもよい。
【００５０】
（情報処理装置１００の機能的構成例）
次に、図４を用いて、情報処理装置１００の機能的構成例について説明する。
【００５１】
図４は、情報処理装置１００の機能的構成例を示すブロック図である。情報処理装置１００は、記憶部４００と、取得部４０１と、算出部４０２と、第１決定部４０３と、第２決定部４０４と、切替部４０５と、学習部４０６と、出力部４０７とを含む。
【００５２】
記憶部４００は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域によって実現される。以下では、記憶部４００が、情報処理装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部４００が、情報処理装置１００とは異なる装置に含まれ、記憶部４００の記憶内容が情報処理装置１００から参照可能である場合があってもよい。
【００５３】
取得部４０１〜出力部４０７は、制御部の一例として機能する。取得部４０１〜出力部４０７は、具体的には、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、ネットワークＩ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶される。
【００５４】
記憶部４００は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部４００は、制御対象１１０の状態と、制御対象１１０への制御入力と、制御対象１１０からの即時コストまたは即時報酬とを蓄積する。これにより、記憶部４００は、各機能部が、制御対象１１０の状態と、制御対象１１０への制御入力と、制御対象１１０からの即時コストまたは即時報酬とを参照可能にすることができる。
【００５５】
制御対象１１０は、例えば、発電設備である場合がある。発電設備は、例えば、風力発電設備である場合がある。この場合、制御入力は、例えば、発電設備の発電機トルクである。状態は、例えば、発電設備の発電量と、発電設備のタービンの回転量と、発電設備のタービンの回転速度と、発電設備に対する風向と、発電設備に対する風速となどの少なくともいずれかである。報酬は、例えば、発電設備の発電量である。発電設備は、例えば、火力発電設備、太陽光発電設備、または、原子力発電設備などである場合があってもよい。
【００５６】
制御対象１１０は、例えば、産業用ロボットである場合がある。この場合、制御入力は、例えば、産業用ロボットのモータートルクである。状態は、例えば、産業用ロボットの撮影した画像と、産業用ロボットの関節位置と、産業用ロボットの関節角度と、産業用ロボットの関節角速度となどの少なくともいずれかである。報酬は、例えば、産業用ロボットによる製品の生産量である。生産量は、例えば、組み立て数である。組み立て数は、例えば、産業用ロボットが組み立てた製品の数である。
【００５７】
制御対象１１０は、例えば、空調設備である場合がある。空調設備は、例えば、サーバルームにある。この場合、制御入力は、例えば、空調設備の設定温度と、空調設備の設定風量との少なくともいずれかである。状態は、例えば、空調設備がある部屋の内部の実際の温度と、空調設備がある部屋の外部の実際の温度と、気候との少なくともいずれかである。コストは、例えば、空調設備の消費電力量である。
【００５８】
記憶部４００は、モデル情報を記憶する。モデル情報は、制御対象１１０の状態と制御対象１１０への制御入力との関係を規定する。モデル情報は、例えば、第１の時点における制御対象１１０の状態を示す変数および第１の時点における制御対象１１０への制御入力を示す変数を用いて、第１の時点の次の第２の時点における制御対象１１０の状態についての関数を線形近似して表す。第２の時点は、例えば、第１の時点の単位時間後の時点である。
【００５９】
記憶部４００は、価値関数を記憶する。価値関数は、例えば、制御対象１１０からの累積コストまたは累積報酬に基づいて制御対象１１０への制御入力の価値を規定する。価値関数は、例えば、状態基底関数を用いて表現される。価値関数は、状態行動価値関数（Ｑ関数）または状態価値関数（Ｖ関数）などである。記憶部４００は、例えば、価値関数のパラメータを記憶する。これにより、記憶部４００は、各機能部が価値関数を参照可能にすることができる。
【００６０】
記憶部４００は、制御対象１１０を制御する方策を記憶する。方策は、例えば、制御対象１１０への制御入力を決定するための制御則である。記憶部４００は、例えば、方策のパラメータωを記憶する。これにより、記憶部４００は、方策により制御対象１１０への制御入力を決定可能にすることができる。記憶部４００は、制御対象１１０の状態に関する制約条件を１または複数記憶する。これにより、記憶部４００は、各機能部が制約条件を参照可能にすることができる。
【００６１】
記憶部４００は、強化学習器１０１を記憶する。強化学習器１０１は、制御対象１１０を制御するための制御器である。強化学習器１０１は、第１の時点において制御対象１１０の状態が制約条件を充足する場合、第１の時点の次の第２の時点における制御対象１１０の状態が所定確率で制約条件を充足することを保証する。強化学習器１０１は、制約条件が複数あれば、第１の時点において制御対象１１０の状態が複数の制約条件を同時に充足する場合、第１の時点の次の第２の時点における制御対象１１０の状態が所定確率で複数の制約条件を同時に充足することを保証してもよい。記憶部４００は、例えば、強化学習器１０１のパラメータを記憶する。これにより、記憶部４００は、第１決定部４０３が強化学習器１０１を参照可能にすることができる。
【００６２】
記憶部４００は、固定制御器１０２を記憶する。固定制御器１０２は、制御対象１１０を制御するための制御器である。固定制御器１０２は、制約条件を充足しない制御対象１１０の状態から、所定時間以内で、制約条件を充足する制御対象１１０の状態に遷移させることができる。これにより、記憶部４００は、第２決定部４０４が固定制御器１０２を参照可能にすることができる。
【００６３】
記憶部４００は、固定制御器１０２に関する所定時間を記憶する。所定時間は、例えば、制御入力を決定するステップの数により規定される。ステップは、例えば、強化学習における、制御入力を決定して即時報酬または即時コストを観測する処理単位に対応する。これにより、記憶部４００は、第１決定部４０３が、固定制御器１０２に関する所定時間を参照可能にすることができる。以下の説明では、記憶部４００が即時報酬を蓄積する場合を一例として説明する。
【００６４】
取得部４０１は、各機能部の処理に用いられる各種情報を取得する。取得部４０１は、取得した各種情報を、記憶部４００に記憶し、または、各機能部に出力する。また、取得部４０１は、記憶部４００に記憶しておいた各種情報を、各機能部に出力してもよい。取得部４０１は、例えば、ユーザの操作入力に基づき、各種情報を取得する。取得部４０１は、例えば、情報処理装置１００とは異なる装置から、各種情報を受信してもよい。
【００６５】
取得部４０１は、制御対象１１０の状態と、制御対象１１０への制御入力に応じた制御対象１１０からの即時報酬とを取得する。取得部４０１は、例えば、制御対象１１０の状態と、制御対象１１０への制御入力に応じた制御対象１１０からの即時報酬とを取得し、記憶部４００に出力する。これにより、取得部４０１は、制御対象１１０の状態と、制御対象１１０への制御入力に応じた制御対象１１０からの即時報酬とを記憶部４００に蓄積させることができる。また、取得部４０１は、算出部４０２および第１決定部４０３と、第２決定部４０４とに、制御対象１１０への制御入力を決定する際に用いられる情報を、取得させることができる。
【００６６】
算出部４０２は、時点ごとに、モデル情報を参照して、将来の時点における制御対象１１０の状態の予測値を算出する。時点は、単位時間間隔である。将来の時点は、現在の時点の単位時間後の時点である。算出部４０２は、例えば、モデル情報と、将来の時点における制御対象１１０の状態の予測値に含まれる誤差の上限とに基づいて、将来の時点における制御対象１１０の状態の予測値を求める。誤差の上限は、ユーザにより予め設定される。これにより、算出部４０２は、制御対象１１０の状態に関する制約条件に対する、現在の時点における制御対象１１０の状態についての危険度を算出可能にすることができる。
【００６７】
算出部４０２は、時点ごとに、将来の時点における制御対象１１０の状態の予測値に基づいて、制御対象１１０の状態に関する制約条件に対する、現在の時点における制御対象１１０の状態についての危険度を算出する。危険度は、例えば、現在の時点における制御対象１１０の状態が、将来の時点における制御対象１１０の状態が、制約条件に違反してしまう状況を、どの程度招きやすい状態であるのかを示す。
【００６８】
算出部４０２は、将来の時点における制御対象１１０の状態の予測値に基づいて、制御対象１１０の状態に関する複数の制約条件のそれぞれの制約条件に対する、現在の時点における制御対象１１０の状態についての危険度を算出する。これにより、算出部４０２は、制御対象１１０への制御入力を決定する範囲を定めるための指標となる危険度を、第１決定部４０３が参照可能にすることができる。
【００６９】
第１決定部４０３は、強化学習器１０１のパラメータを設定する。パラメータは、制約条件の充足に関する確率的な評価指標である。評価指標は、強化学習器１０１が制約条件を充足することを保証可能である所定確率に特定する指標である。評価指標は、具体的には、強化学習器１０１の利用中における、制御対象１１０の状態が制約条件を充足する確率の下限値ηである。評価指標は、具体的には、制約条件が複数あれば、強化学習器１０１の利用中における、制御対象１１０の状態が複数の制約条件を同時に充足する確率の下限値ηである。評価指標は、例えば、０〜１であり、具体的には、確率の下限値が９０％であれば、０．９である。
【００７０】
評価指標は、例えば、目標確率に基づき決定される。目標確率は、ユーザにより設定された、強化学習中に、制御対象１１０の状態が制約条件を充足する確率の下限値ρである。目標確率は、制約条件が複数あれば、強化学習中に、制御対象１１０の状態が複数の制約条件を同時に充足する確率の下限値ρである。目標確率は、例えば、０〜１であり、具体的には、確率の下限値が９０％であれば、０．９である。ηは、ρより大きいことが好ましい。
【００７１】
第１決定部４０３は、目標確率と、固定制御器１０２に関する所定時間とに基づいて、強化学習器１０１のパラメータを設定する。第１決定部４０３は、例えば、強化学習器１０１が制約条件を充足することを保証する所定確率が、所定時間と目標確率とに基づき算出される、目標確率よりも高い確率になるように、強化学習器１０１のパラメータを設定する。第１決定部４０３は、具体的には、制約条件の充足に関する確率的な評価指標を、所定時間と目標確率とに基づき算出される、目標確率よりも高い確率に設定する。これにより、第１決定部４０３は、制御対象１１０の状態を、制約条件を違反した状態から制約条件を充足する状態に戻す際に、強化学習で制約条件を充足する確率の低下を招くことを考慮して、強化学習器１０１のパラメータを設定することができる。
【００７２】
第１決定部４０３は、時点ごとに、強化学習器１０１を利用して、現在の時点における制御対象１１０への制御入力を決定する。第１決定部４０３は、例えば、算出した危険度に応じて定まる範囲の中から、現在の時点における制御対象１１０への制御入力を決定する。範囲は、例えば、算出した危険度が小さいほど、広くなるように定まる。これにより、第１決定部４０３は、算出した危険度が大きいほど、制御対象１１０への制御入力を決定する範囲を狭め、将来の時点における制御対象１１０の状態が制約条件に違反してしまう確率の増大化を抑制することができる。
【００７３】
第１決定部４０３は、例えば、制約条件が１つであれば、算出した危険度が閾値以上である場合、制御対象１１０への制御入力を所定値に決定する。制御対象１１０は、第１の時点における制御対象１１０の状態が制約条件を充足し、かつ、第１の時点における制御対象１１０への制御入力が０であれば、第２の時点における制御対象１１０の状態が制約条件を充足することが保証される性質を有することがある。第２の時点は、第１の時点の次の時点である。第２の時点は、例えば、第１の時点の単位時間後の時点である。このため、第１決定部４０３は、所定値として０を用いることが好ましい。これにより、第１決定部４０３は、将来の時点における制御対象１１０の状態が制約条件に違反することを防止することができる。
【００７４】
第１決定部４０３は、例えば、制約条件が１つであれば、算出した危険度が閾値未満である場合、制約条件の充足に関する確率的な評価指標の下で、現在の時点における制御対象１１０への制御入力を確率的に決定する。確率的に決定するとは、設定された制御入力が取りうる範囲内から、確率分布に従って、ランダムに制御入力を決定することである。確率分布は、例えば、ガウス分布である。ガウス分布は、例えば、分散共分散行列と制御入力の平均値とにより規定される。
【００７５】
第１決定部４０３は、具体的には、算出した危険度が閾値未満である場合、現在の時点における制御対象１１０への制御入力が取りうる平均値を算出し、評価指標の下で分散共分散行列を算出する。そして、第１決定部４０３は、具体的には、算出した平均値と分散共分散行列とを用いて、現在の時点における制御対象１１０への制御入力を確率的に決定する。第１決定部４０３は、より具体的には、図５〜図７を用いて動作例１に後述するように、現在の時点における制御対象１１０への制御入力を確率的に決定する。これにより、第１決定部４０３は、強化学習器１０１の利用中における、将来の時点における制御対象１１０の状態が制約条件を充足する確率を、評価指標に基づく確率以上にすることができる。
【００７６】
第１決定部４０３は、例えば、制約条件が複数であれば、複数の制約条件のいずれかの制約条件に対して算出した危険度が閾値以上である場合、制御対象１１０への制御入力を所定値に決定する。第１決定部４０３は、所定値として０を用いることが好ましい。これにより、第１決定部４０３は、将来の時点における制御対象１１０の状態が制約条件に違反することを防止することができる。
【００７７】
第１決定部４０３は、例えば、制約条件が複数であれば、それぞれの制約条件に対して算出した危険度が閾値未満である場合、複数の制約条件を同時に充足する確率的な評価指標の下で、現在の時点における制御対象１１０への制御入力を確率的に決定する。第１決定部４０３は、具体的には、制約条件が複数であれば、図１６および図１７を用いて動作例２に後述するように、現在の時点における制御対象１１０への制御入力を確率的に決定する。これにより、第１決定部４０３は、強化学習器１０１の利用中における、将来の時点における制御対象１１０の状態が制約条件を充足する確率を、評価指標に基づく確率以上にすることができる。
【００７８】
第２決定部４０４は、固定制御器１０２を利用して、現在の時点における制御対象１１０への制御入力を決定する。これにより、第２決定部４０４は、制約条件を違反する状態から、所定時間内に、制約条件を充足する状態に遷移させるための制御入力を決定することができる。第２決定部４０４は、例えば、制約条件を違反する状態から、所定数のステップ内に、制約条件を充足する状態に遷移させるための制御入力を決定することができる。このため、第２決定部４０４は、制約条件を違反し続けることを防止することができる。
【００７９】
切替部４０５は、いずれかの時点における制御対象１１０の状態が、制約条件を充足するか否かに基づいて、強化学習器１０１および固定制御器１０２のいずれか一方により、制御対象１１０への制御入力を決定する。切替部４０５は、例えば、制約条件を充足する場合、第１決定部４０３が強化学習器１０１を用いて決定した制御入力を、実際の制御対象１１０への制御入力に決定する。一方で、切替部４０５は、例えば、制約条件を充足しない場合、第２決定部４０４が固定制御器１０２を用いて決定した制御入力を、実際の制御対象１１０への制御入力に決定する。
【００８０】
これにより、切替部４０５は、強化学習器１０１と固定制御器１０２とを使い分けて制御対象１１０への制御入力を決定することができる。そして、切替部４０５は、強化学習全体で、制約条件を充足する確率の増大化を図ることができる。切替部４０５は、例えば、強化学習全体で、制約条件を充足する確率を、目標確率以上に大きくすることを保証することができる。
【００８１】
切替部４０５は、制約条件が複数あれば、いずれかの時点における制御対象１１０の状態が、複数の制約条件を同時に充足するか否かに基づいて、強化学習器１０１および固定制御器１０２のいずれか一方により、制御対象１１０への制御入力を決定する。切替部４０５は、例えば、複数の制約条件を同時に充足する場合、第１決定部４０３が強化学習器１０１を用いて決定した制御入力を、実際の制御対象１１０への制御入力に決定する。一方で、切替部４０５は、例えば、いずれかの制約条件を充足しない場合、第２決定部４０４が固定制御器１０２を用いて決定した制御入力を、実際の制御対象１１０への制御入力に決定する。
【００８２】
これにより、切替部４０５は、強化学習器１０１と固定制御器１０２とを使い分けて制御対象１１０への制御入力を決定することができる。そして、切替部４０５は、強化学習全体で、制約条件を充足する確率の増大化を図ることができる。切替部４０５は、例えば、強化学習全体で、制約条件を充足する確率を、目標確率以上に大きくすることを保証することができる。
【００８３】
学習部４０６は、方策を学習する。学習部４０６は、第１決定部４０３または第２決定部４０４が決定した制御対象１１０への制御入力と、取得部４０１が取得した制御対象１１０の状態および制御対象１１０からの即時報酬とに基づいて、方策を更新する。学習部４０６は、例えば、方策のパラメータを更新する。これにより、学習部４０６は、制約条件を充足するように制御対象１１０を制御可能である方策を学習することができる。
【００８４】
出力部４０７は、第１決定部４０３または第２決定部４０４が決定した制御対象１１０への制御入力を出力する。制御入力は、例えば、制御対象１１０に対する指令値である。出力部４０７は、例えば、制御対象１１０への指令値を、制御対象１１０に出力する。これにより、出力部４０７は、制御対象１１０を制御することができる。
【００８５】
出力部４０７は、いずれかの機能部の処理結果を出力してもよい。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークＩ／Ｆ３０３による外部装置への送信、または、メモリ３０２や記録媒体３０５などの記憶領域への記憶である。これにより、出力部４０７は、いずれかの機能部の処理結果をユーザに通知可能にすることができる。
【００８６】
ここでは、図１と同様に、算出部４０２および第１決定部４０３と第２決定部４０４との後段に、切替部４０５が存在する場合について説明したが、これに限らない。例えば、図２と同様に、算出部４０２および第１決定部４０３と第２決定部４０４との前段、かつ、取得部４０１の後段に、切替部４０５が存在する場合があってもよい。この場合、切替部４０５は、取得部４０１が取得した制御対象１１０への制御入力を決定する際に用いられる情報を、算出部４０２および第１決定部４０３と、第２決定部４０４とのいずれかに取得させ、制御入力を決定させる。
【００８７】
（情報処理装置１００の動作例１）
次に、図５〜図７を用いて、情報処理装置１００の動作例１について説明する。
【００８８】
図５〜図７は、情報処理装置１００の動作例１を示す説明図である。動作例１は、情報処理装置１００が、連続型の強化学習により方策を学習していく最中に、制御対象１１０の状態が制約条件を充足する確率が一定以上に大きくなることを保証する場合に対応する。
【００８９】
以下の説明では、まず、情報処理装置１００の動作の流れについて説明する。そして、数式を用いて、情報処理装置１００の動作のうち、強化学習器１０１を利用して行う動作の一例について説明し、実例を用いて、情報処理装置１００の動作の具体例について説明する。
【００９０】
＜情報処理装置１００の動作の流れ＞
動作例１において制御目標は、累積コストを最小化する制御入力を決定するための方策を学習することである。また、制御目的は、方策を学習する強化学習中の、すべての時刻ｋ≧１において、状態に関する制約条件｛ｆi｝iを充足する確率を、下限値ρ∈（０，１）以上とすることを保証することであり、下記式（１）および下記式（２）により規定される。制約条件｛ｆi｝iは、線形でなくてもよい。Ｐｒ（・）は、（・）内の条件が成立する確率を示す。
【００９１】
【数１】
2020144483.tif 000003
【００９２】
【数２】
2020144483.tif 000004
【００９３】
また、状態ｘk＝ｘ∈Ｘである場合、時刻ｋにも状態ｘにも依存しない定数τが存在し、τステップ以内に状態をＸ内に移動させる制御入力列の算出方法が既知であることが仮定される。以下の説明では、制御入力列の算出方法が既知である仮定を「仮定１」と表記する場合がある。換言すれば、ｕk+jback（ｘ）∈Ｘ（ｊ≦τ）となるようなｕkback（ｘ），ｕk+1back（ｘ）・・・，ｕk+jback（ｘ）が存在することが仮定される。これによれば、固定制御器１０２が存在することが仮定される。
【００９４】
また、強化学習および制御対象１１０に関しては、下記３つの特性が仮定される。１つ目の特性は、強化学習が、確率的に制御入力を決定する方策を利用可能であり、制御入力を決定する際に用いられる確率密度関数の分散共分散行列を、いずれのタイミングにも変更可能である性質である。２つ目の特性は、制御対象１１０が、制御入力に対して線形であり、制約条件が、状態に対して線形であるため、第１の時点において取りうる制御入力の分散が、第１の時点の次の第２の時点において取りうる制御対象１１０の状態に対して保存される性質である。３つ目の特性は、制御入力が０であれば、制約条件を充足する状態から制約条件を充足しない状態へと遷移することがない性質である。これによれば、強化学習器１０１が存在することが仮定される。
【００９５】
情報処理装置１００は、現在の状態が制約条件を充足すれば強化学習器１０１を利用し、現在の状態が制約条件を充足しなければ固定制御器１０２を利用して、連続型の強化学習を実施する。上述したように、強化学習器１０１は、制約充足率を下限値η以上とすることを保証し、固定制御器１０２は、τステップ以内に状態をＸ内に移動させることを保証する。この場合、強化学習器１０１および固定制御器１０２を組み合わせると、制約充足率を下限値ητ以上にすることを保証することができる。制約充足率を下限値ητ以上にすることの保証は、例えば、下記命題に基づき証明される。
【００９６】
τを１以上の自然数とする。また、確率過程｛Ｘk｝が、｛１，２，・・・，τ＋１｝を状態空間とし、下記式（３）が示す遷移確率行列を有する離散時間マルコフ連鎖であるとする。これに対し、初期状態Ｘ0が下記式（４）を満たすならば、すべてのｋ＝０，１，・・・に対して、下記式（５）が成立するという命題が存在する。
【００９７】
【数３】
2020144483.tif 000005
【００９８】
【数４】
2020144483.tif 000006
【００９９】
【数５】
2020144483.tif 000007
【０１００】
従って、情報処理装置１００は、制約条件を充足する場合、強化学習器１０１に関する下限値ηを、目標確率ρのτ乗根に設定して、強化学習器１０１を用いて制御入力を決定する。情報処理装置１００は、制約条件を充足しない場合、固定制御器を用いて制御入力を決定する。これにより、情報処理装置１００は、強化学習中に、制約充足率が目標確率ρ以上となることを保証することができる。
【０１０１】
＜情報処理装置１００が強化学習器１０１を利用して行う動作の一例＞
動作例１において、下記式（６）〜下記式（１９）によって、制御対象１１０と、即時コストと、制約条件と、制御目的とが規定され、問題設定が行われる。また、下記式（２０）〜下記式（２５）によって、動作例１において仮定される、強化学習および制御対象１１０に関する特性が規定される。
【０１０２】
【数６】
2020144483.tif 000008
【０１０３】
上記式（６）は、制御対象１１０の真のモデルを規定する。制御対象１１０の真のモデルは、既知でなくてもよい。制御対象１１０は、制御入力に関してアフィンな離散時間非線形システムである。ｋは、単位時間の倍数で示される時刻である。ｋ＋１は、時刻ｋから単位時間経過した次の時刻である。ｘk+1は、次の時刻ｋ＋１における状態である。ｘkは、時刻ｋにおける状態である。ｕkは、時刻ｋにおける制御入力である。上記式（６）は、次の時刻ｋ＋１における状態ｘk+1が、時刻ｋにおける状態ｘkと、時刻ｋにおける入力ｕkによって決定される関係があることを示す。関数ｆおよび関数ｇは、未知である。状態は、連続値である。制御入力は、連続値である。
【０１０４】
【数７】
2020144483.tif 000009
【０１０５】
【数８】
2020144483.tif 000010
【０１０６】
上記式（７）は、関数ｆが、ｎ次元の配列をｎ次元の配列に変換する関数であることを示す。ｎは、既知である。上記式（８）は、関数ｇが、ｎ次元の配列をｎ×ｍ次元の行列に変換する関数であることを示す。中抜き文字のＲは、実数空間を示す。中抜き文字のＲの上付文字は次元数を示す。
【０１０７】
【数９】
2020144483.tif 000011
【０１０８】
【数１０】
2020144483.tif 000012
【０１０９】
上記式（９）は、状態ｘkが、ｎ次元であることを示す。ｎは、既知である。状態ｘkは、直接観測可能である。上記式（１０）は、制御入力ｕkが、ｍ次元であることを示す。
【０１１０】
【数１１】
2020144483.tif 000013
【０１１１】
上記式（１１）は、制御対象１１０の即時コストの方程式である。ｃk+1は、時刻ｋにおける入力ｕkに応じて単位時間後に発生する即時コストである。ｃ（・）は、即時コストを求める関数である。上記式（１１）は、即時コストｃk+1が、時刻ｋにおける状態ｘkと、時刻ｋにおける入力ｕkとによって決定される関係があることを示す。
【０１１２】
【数１２】
2020144483.tif 000014
【０１１３】
上記式（１２）は、関数ｃ（・）が、ｎ次元の配列とｍ次元の配列とに基づき正の値を求める関数であることを示す。
【０１１４】
【数１３】
2020144483.tif 000015
【０１１５】
上記式（１３）は、制約条件を規定する。ｘは、状態である。配列ｈは、ユーザにより設定される。上付き文字Ｔは、転置を示す。変数ｄは、ユーザにより設定される。制約条件は、既知であり、状態ｘに関して線形である。動作例１では、制約条件は１つである。
【０１１６】
【数１４】
2020144483.tif 000016
【０１１７】
【数１５】
2020144483.tif 000017
【０１１８】
上記式（１４）は、配列ｈが、ｎ次元であることを示す。上記式（１５）は、変数ｄが、実数であることを示す。
【０１１９】
【数１６】
2020144483.tif 000018
【０１２０】
上記式（１６）は、制約条件を充足する状態ｘの集合Ｘを示す。以下の説明では、Ｘの内点を、Ｘintと表記する場合がある。ｆ（ｘ*）＝ｘ*となるｘ*∈Ｘint、および、ｃ（ｘ*，０）＝０となるｘ*∈Ｘintが存在する。
【０１２１】
【数１７】
2020144483.tif 000019
【０１２２】
【数１８】
2020144483.tif 000020
【０１２３】
上記式（１７）は、累積コストＪを示す方程式であり、強化学習の制御目的を規定する。強化学習の制御目的は、累積コストＪの最小化であり、累積コストＪの最小化を図る制御入力を決定する方策の学習である。方策の学習は、方策を与えるパラメータωの更新である。γは、割引因子（ｄｉｓｃｏｕｎｔ  ｒａｔｅ）である。上記式（１８）は、γが０〜１の値であることを示す。
【０１２４】
【数１９】
2020144483.tif 000021
【０１２５】
上記式（１９）は、強化学習の制御目的として、制約条件に関して、強化学習器１０１の利用中、すべての時刻ｋ≧１における制約充足率を、下限値η∈（０．５，１）以上とすることを保証することを規定する。Ｐｒ（・）は、（・）内の条件が成立する確率を示す。
【０１２６】
【数２０】
2020144483.tif 000022
【０１２７】
上記式（２０）は、制御対象１１０の線形近似モデルを規定する。線形近似モデルは、例えば、線形ノミナルモデルである。制御対象１１０の線形近似モデルは、既知であることが仮定される。以下の説明では、制御対象１１０の線形近似モデルが既知である仮定を「仮定２」と表記する場合がある。Ａ，Ｂは、係数行列である。
【０１２８】
【数２１】
2020144483.tif 000023
【０１２９】
【数２２】
2020144483.tif 000024
【０１３０】
上記式（２１）は、係数行列Ａが、ｎ×ｎ次元である（ｎ行ｎ列である）ことを示す。上記式（２２）は、係数行列Ｂが、ｎ×ｍ次元である（ｎ行ｍ列である）ことを示す。
【０１３１】
【数２３】
2020144483.tif 000025
【０１３２】
【数２４】
2020144483.tif 000026
【０１３３】
上記式（２３）は、制御対象１１０の真のモデルに対する、制御対象１１０の線形近似モデルのモデル化誤差を示す誤差関数を規定する。ｅiは、誤差である。ｉ＝１，２，・・・，ｎである。上記式（２３）に関し、上記式（２４）を満たす、ｂａｒ｛ｅi｝＜∞が存在し、既知であることが仮定される。ｂａｒ｛｝は、文字の上部にバーを付したことを示す。以下の説明では、上記式（２４）を満たす、ｂａｒ｛ｅi｝＜∞が存在し、既知である仮定を「仮定３」と表記する場合がある。仮定３は、誤差ｅiに、既知の上界が存在することを示す。
【０１３４】
ｘ∈Ｘであればｆ（ｘ）∈Ｘであることが仮定される。以下の説明では、ｘ∈Ｘであればｆ（ｘ）∈Ｘである仮定を「仮定４」と表記する場合がある。図５に示すように、仮定４は、いずれかの時刻において、状態ｘが制約条件を充足し、かつ、制御入力が０であれば、次の時刻において、遷移後の状態ｘも制約条件を充足することを示す。
【０１３５】
具体的には、実数空間５００において、現時点が状態５０１である際に、制御入力を０とすれば、状態５０２のような集合Ｘの内点に遷移することはあるが、状態５０３のような集合Ｘの外点に遷移することはない。従って、強化学習器１０１の利用中、制御入力が０であれば、遷移後の状態についての制約充足率が、下限値η以上に大きくなることを保証可能である。
【０１３６】
【数２５】
2020144483.tif 000027
【０１３７】
制御対象１１０の線形近似モデルの係数行列と、制約条件とに関して上記式（２５）が成立することが仮定される。以下の説明では、制御対象１１０の線形近似モデルの係数行列と、制約条件とに関して上記式（２５）が成立する仮定を「仮定５」と表記する場合がある。
【０１３８】
上記問題設定では、制御対象１１０が、制御入力に対して線形であり、制約条件が、状態に対して線形である。このため、いずれかの時刻において取りうる制御入力の分散度合いは、次の時刻において取りうる状態の分散度合いに相関することになる。従って、図６に示すように、いずれかの時刻において取りうる制御入力の分散度合いを調整すれば、次の時刻において取りうる状態の分散度合いを制御可能であり、次の時刻における状態についての制約充足率を、下限値η以上に大きくすることが保証可能である。具体的には、例えば、グラフ６００に示すように、状態ｘの確率密度を、強化学習器１０１を利用中の制約充足率が９９％になるように、制御可能である。
【０１３９】
上記問題設定および上記仮定２〜仮定５の下で、情報処理装置１００の動作のうち、情報処理装置１００が強化学習器１０１を利用して行う動作の一例について説明する。上記問題設定によれば、下記式（２６）が成立する。
【０１４０】
【数２６】
2020144483.tif 000028
【０１４１】
ここで、情報処理装置１００は、ステップ１として、方策を与えるパラメータωと、状態基底関数φ（・）を用いて、現時刻の状態に対する、現時刻に出力する制御入力の平均値μkを、下記式（２７）により算出する。μkは、ｍ次元である。
【０１４２】
【数２７】
2020144483.tif 000029
【０１４３】
情報処理装置１００は、ステップ２として、制御対象１１０の線形近似モデルを示すモデル情報と、現時刻の状態とに基づいて、次の時刻の誤差を含む状態の予測値を、下記式（２８）により算出する。そして、情報処理装置１００は、次の時刻の誤差を含む状態の予測値に基づいて、現時刻の状態についての危険度を、下記式（２９）により算出する。ここで、ε＝［ε1，・・・，εn］Tである。εは、ｎ次元である。εi＝ｂａｒ｛ｅi｝  ｏｒ  −ｂａｒ｛ｅi｝である。また、ε全体の集合をＥと表記する。
【０１４４】
【数２８】
2020144483.tif 000030
【０１４５】
【数２９】
2020144483.tif 000031
【０１４６】
情報処理装置１００は、ステップ３として、ステップ２において算出した危険度に関して下記式（３０）が成立する場合、ステップ４の処理に移行し、下記式（３０）が成立しない場合、ステップ５の処理に移行する。
【０１４７】
【数３０】
2020144483.tif 000032
【０１４８】
情報処理装置１００は、ステップ４として、制御入力ｕk＝０に決定し、ステップ７の処理に移行する。
【０１４９】
情報処理装置１００は、ステップ５として、ステップ２において算出した危険度と、制約充足率の下限値ηとに基づいて、分散共分散行列を下記式（３１）および下記式（３２）により算出する。Ｉmは、ｍ×ｍ次元の単位行列である。Φ-1（・）は、逆正規累積分布関数である。
【０１５０】
【数３１】
2020144483.tif 000033
【０１５１】
【数３２】
2020144483.tif 000034
【０１５２】
情報処理装置１００は、ステップ６として、ステップ１において算出したμkと、ステップ５において算出したΣkとを、それぞれ、平均値および分散共分散行列として設定し、ガウス型確率密度関数を生成する。情報処理装置１００は、ガウス型確率密度関数を用いて、制御入力ｕkを、下記式（３３）により確率的に決定する。
【０１５３】
【数３３】
2020144483.tif 000035
【０１５４】
情報処理装置１００は、ステップ７として、ステップ４またはステップ６において決定した、制御入力ｕkを、制御対象１１０に印加する。これにより、情報処理装置１００は、強化学習器１０１の利用中、制御入力を決定する範囲を危険度に応じて自動調整することができる。制御入力を決定する範囲は、例えば、探索範囲と呼ばれる。このため、情報処理装置１００は、強化学習器１０１の利用中、制御対象１１０の状態が制約条件を充足する確率が、予め設定された下限値η以上に大きくなることを保証することができる。
【０１５５】
ここでは、制御対象１１０が単体で仮定４を充足する場合について説明したが、これに限らない。例えば、予め、仮定４を充足するための制御器を設計し、制御対象１１０に組み合わせることにより、制御対象１１０が仮定４を充足するようにする場合があってもよい。これによれば、情報処理装置１００が適用可能な制御対象１１０の数の増大化を図ることができる。
【０１５６】
ここでは、制御対象１１０の真のモデルが未知である場合について説明したが、これに限らない。例えば、制御対象１１０の真のモデルが既知である場合があってもよい。この場合、情報処理装置１００は、線形近似モデルを用いずに済み、真のモデルを用いて、状態の予測値や危険度の算出を行うことができ、強化学習器１０１の利用中、制約充足率を下限値η以上にする精度を向上させることができる。
【０１５７】
ここでは、誤差の正確な上限が既知である場合について説明したが、これに限らない。例えば、誤差の正確な上限が既知でないが、誤差の正確な上限よりも大きい上限が既知である場合があってもよい。この場合でも、情報処理装置１００は、強化学習器１０１の利用中、制約充足率を下限値η以上にするように、強化学習を実施することができる。
【０１５８】
＜実例を用いた情報処理装置１００の動作の具体例＞
次に、制御問題の実例を用いて、情報処理装置１００の動作の具体例について説明する。ここで、下記式（３４）および下記式（３５）で規定される２変数関数を一例として、情報処理装置１００の動作の具体例について説明する。下記式（３４）は、ｆ（０）＝０を満たす。
【０１５９】
【数３４】
2020144483.tif 000036
【０１６０】
【数３５】
2020144483.tif 000037
【０１６１】
またδｆi／δｘjを、ｉｊ成分とする行列δｆ／δｘ（ｘ）は、下記式（３６）で規定される。従って、行列δｆ／δｘ（ｘ）のフロベニウスノルム｜｜δｆ／δｘ（ｘ）｜｜Fは、下記式（３７）で規定される。
【０１６２】
【数３６】
2020144483.tif 000038
【０１６３】
【数３７】
2020144483.tif 000039
【０１６４】
さらに、｜ｓｉｎ（ｘ1）｜≦１および｜ｃｏｓ（ｘ2）｜≦１より、任意のｘに関して下記式（３８）が成立する。ｘは、２次元である。これにより、関数ｆは、２次元の実数空間の全域で縮小写像である。
【０１６５】
【数３８】
2020144483.tif 000040
【０１６６】
ここで、時刻ｋにおける状態をｘk＝［ｘ1k，ｘ2k］Tとし、同じ時刻ｋの制御入力をｕkとすると、制御対象１１０の真のモデルは、関数ｆを用いた下記式（３９）により、離散時間非線形システムとして規定される。ｇ＝［１，１］Tである。状態ｘkは、２次元である。制御入力ｕkは、実数である。
【０１６７】
【数３９】
2020144483.tif 000041
【０１６８】
また、制御対象１１０の線形近似モデルは、下記式（４０）および下記式（４１）により規定される。ｆとｇとは、未知である。ＡとＢとは既知である。
【０１６９】
【数４０】
2020144483.tif 000042
【０１７０】
【数４１】
2020144483.tif 000043
【０１７１】
誤差関数ｅiの上限は、下記式（４２）および下記式（４３）により規定される。ここで、ｂａｒ｛ｅ1｝＝０．４とし、ｂａｒ｛ｅ2｝＝０．４とし、既知であるとする。換言すれば、上記仮定３が成立する。
【０１７２】
【数４２】
2020144483.tif 000044
【０１７３】
【数４３】
2020144483.tif 000045
【０１７４】
また、状態に対する制約条件は、ｘ1≦１０とする。換言すれば、ｈT＝［１，０］とｄ＝１０とを用いて、制約条件を充足する状態の集合Ｘは、下記式（４４）により規定される。
【数４４】
2020144483.tif 000046
【０１７５】
関数ｆが、２次元の実数空間の全域で縮小写像であり、原点が不動点であることと、Ｘの形状とから、上記仮定４が成立する。初期状態は、ｘ0＝［５，５］Tであるとする。また、ｈTＢ≠０であるため、上記線形近似モデルの係数行列および上記制約条件は、仮定５を充足する。また、即時コストは、下記式（４５）により規定される。Ｑ＝１．０×１０5Ｉ2とし、Ｒ＝１とする。
【０１７６】
【数４５】
2020144483.tif 000047
【０１７７】
情報処理装置１００は、上記制御入力の決定手法を、ｏｎｅ−ｓｔｅｐ  ａｃｔｏｒ−ｃｒｉｔｉｃに組み込んだ強化学習器１０１および固定制御器１０２を利用して、連続型の強化学習を実施する。情報処理装置１００は、具体的には、Ｔ＝１００ｓｔｅｐとし、即時コストの累積コストＪの最小化を図る制御入力を決定するための方策を学習する。ｓｔｅｐは、単位時間の倍数で示される各時刻における、制御入力を決定して即時コストを観測する処理単位に対応する。
【０１７８】
θを下記式（４６）により規定し、ωを下記式（４７）により規定したため、価値関数の推定値ｂａｒ｛Ｖ（ｘ；θ）｝、および、制御入力ｕの平均値μ（ｘ；ω）は、下記式（４８）および下記式（４９）により規定される。重みθは、Ｎθ次元である。ωは、Ｎω次元である。
【０１７９】
【数４６】
2020144483.tif 000048
【０１８０】
【数４７】
2020144483.tif 000049
【０１８１】
【数４８】
2020144483.tif 000050
【０１８２】
【数４９】
2020144483.tif 000051
【０１８３】
φi（・）は、２次元の配列を１次元の配列に変換する。φi（・）は、下記式（５０）により規定される、ガウス型放射基底関数である。また、ｃiおよびｓi2＞０は、それぞれ、各基底関数の中心点および分散である。ｃiは、２次元である。
【０１８４】
【数５０】
2020144483.tif 000052
【０１８５】
情報処理装置１００は、上記式（５０）に従って、各時刻の状態ｘkおよびパラメータωを用いて算出した平均値μ（ｘk；ω）を適用し、各時刻の制御入力を決定したとする。そして、情報処理装置１００は、重みθおよびパラメータωを、各時刻の即時コストｃk+1を用いて、下記式（５１）〜下記式（５３）により更新したとする。
【０１８６】
【数５１】
2020144483.tif 000053
【０１８７】
【数５２】
2020144483.tif 000054
【０１８８】
【数５３】
2020144483.tif 000055
【０１８９】
α∈［０，１）およびβ∈［０，１）は、学習率であり、Π（・）は、μkを平均値としΣkを分散共分散行列としたガウス型確率密度関数である。情報処理装置１００は、固定制御器１０２として、制約条件を充足しない状態から、２回以内で制約条件を充足する状態ｘsafe＝［５，−５］∈Ｘに遷移可能にする下記式（５４）を利用する。
【０１９０】
【数５４】
2020144483.tif 000056
【０１９１】
強化学習中の制約充足率の下限値ρは、下記式（５５）により規定され、ρ＝０．９７となる。このため、強化学習器１０１の利用中の制約充足率の下限値ηは、下記式（５６）により規定され、η＝０．９８５となり、下記式（５７）の不等式が成立する。
【０１９２】
【数５５】
2020144483.tif 000057
【０１９３】
【数５６】
2020144483.tif 000058
【０１９４】
【数５７】
2020144483.tif 000059
【０１９５】
これにより、情報処理装置１００は、制約条件を充足しない場合、固定制御器１０２により、制約条件を充足する状態に復帰することができる。そして、情報処理装置１００は、制約条件を充足する状態に復帰される際に制約充足率の低下を招くことを考慮して、強化学習器１０１の利用中は、制約充足率が予め設定された下限値ρより大きい下限値η以上に大きくすることができる。このため、情報処理装置１００は、強化学習中のすべての時点において、制約充足率が予め設定された下限値ρ以上に大きくなることを保証することができる。次に、図７の説明に移行する。
【０１９６】
図７の例では、η＝０．９７とする。図７に示すように、実数空間５００において、情報処理装置１００は、現時点が状態７０１である際には、確率η＝０．９８５で状態７０２のような集合Ｘの内点に遷移させ、確率１−η＝０．０１５で状態７０３のような集合Ｘの外点に遷移させることになる。また、実数空間５００において、情報処理装置１００は、状態７０３のような集合Ｘの外点に遷移した場合、τステップ以内で、状態７０６のような集合Ｘの内点に復帰させることになる。このように、情報処理装置１００は、状態７０３のような集合Ｘの外点に遷移したことによる、強化学習中の制約充足率の低下を考慮して、強化学習器１０１の利用中の制約充足率を確率η以上にすることができる。
【０１９７】
一方で、実数空間５００において、情報処理装置１００は、現時点が状態７０４である際には、制御入力を０とするため、状態７０５のような集合Ｘの内点に遷移させることになり、制約条件を必ず充足することを保証することができる。これらのことから、情報処理装置１００は、強化学習中のすべての時点において、制約条件を確率ρ以上で充足することを保証することができる。次に、図９を用いて、動作例１における上記実例において、情報処理装置１００により得られた効果について説明する。
【０１９８】
図８は、動作例１における情報処理装置１００により得られた効果を示す説明図である。図８において、情報処理装置１００による強化学習と、強化学習器１０１のみを用いた強化学習とを比較する。強化学習器１０１のみを用いた強化学習においては、制約充足率の下限値ηは、下記式（５８）に示すように、η＝０．９７とした。
【０１９９】
【数５８】
2020144483.tif 000060
【０２００】
図８のグラフ８００は、強化学習を複数回実施した際の、複数の強化学習における同じ時刻のｓｔｅｐの制約充足率の平均値を示す。横軸は、ｓｔｅｐである。縦軸は、制約充足率の平均値である。グラフ８００に示すように、情報処理装置１００による強化学習は、強化学習中のすべての時点において、制約充足率が予め設定された下限値ρ以上に大きくなることを保証することができる。一方で、強化学習器１０１のみを用いた強化学習は、制約充足率を、予め設定された下限値ρ以上に大きくすることができない。
【０２０１】
このように、情報処理装置１００は、強化学習により方策を学習していく最中に、制約充足率が予め設定された下限値ρ以上に大きくなることを保証することができ、かつ、学習効率の低減化を抑制することができる。
【０２０２】
ここでは、制約条件が１つ設定される場合について説明したが、これに限らない。例えば、制約条件が複数設定される場合があってもよい。複数の制約条件がそれぞれ独立であれば、情報処理装置１００は、動作例１と同様に、それぞれの制約条件についての制約充足率を下限値η以上にすることを保証する強化学習器１０１を利用するようにする。これにより、情報処理装置１００は、強化学習中に複数の制約条件を同時に充足する確率を、下限値ρ以上にすることができる。以下の説明では、複数の制約条件を同時に充足する確率を「同時充足率」と表記する場合がある。
【０２０３】
（強化学習を適用する制御対象１１０の具体例）
次に、図９〜図１１を用いて、強化学習を適用する制御対象１１０の具体例について説明する。
【０２０４】
図９〜図１１は、制御対象１１０の具体例を示す説明図である。図９の例では、制御対象１１０は、熱源であるサーバ９０１と、ＣＲＡＣやＣｈｉｌｌｅｒなどの冷却器９０２とを含むサーバルーム９００である。制御入力は、冷却器９０２に対する設定温度や設定風量である。状態は、サーバルーム９００に設けられたセンサ装置からのセンサデータなどであり、例えば、温度などである。状態は、制御対象１１０以外から得られる制御対象１１０に関するデータであってもよく、例えば、気温や天気などであってもよい。即時コストは、例えば、サーバルーム９００の単位時間ごとの消費電力量である。単位時間は、例えば、５分である。目標は、サーバルーム９００の累積消費電力量の最小化である。状態価値関数は、例えば、サーバルーム９００の累積消費電力量についての制御入力の価値を表す。
【０２０５】
図１０の例では、制御対象１１０は、発電設備１０００である。発電設備１０００は、例えば、風力発電設備である。制御入力は、発電設備１０００に対する指令値である。指令値は、例えば、発電設備１０００にある発電機の発電機トルクである。状態は、発電設備１０００に設けられたセンサ装置からのセンサデータであり、例えば、発電設備１０００の発電量や発電設備１０００のタービンの回転量または回転速度などである。状態は、発電設備１０００に対する風向や風速などであってもよい。即時報酬は、例えば、発電設備１０００の単位時間ごとの発電量である。単位時間は、例えば、５分である。目標は、例えば、発電設備１０００の累積発電量の最大化である。状態価値関数は、例えば、発電設備１０００の累積発電量についての制御入力の価値を表す。これに対し、固定制御器１０２は、例えば、制約条件として回転速度を上限以下にすることが示されていれば、発電機トルクを一定以上にしたり、ブレーキをかけたりすることにより回転速度を低下させる制御器であってもよい。
【０２０６】
図１１の例では、制御対象１１０は、産業用ロボット１１００である。産業用ロボット１１００は、例えば、ロボットアームである。制御入力は、産業用ロボット１１００に対する指令値である。指令値は、例えば、産業用ロボット１１００のモータートルクなどである。状態は、産業用ロボット１１００に設けられたセンサ装置からのセンサデータであり、例えば、産業用ロボット１１００の撮影した画像、産業用ロボット１１００の関節位置や関節角度や関節角速度などである。即時報酬は、例えば、産業用ロボット１１００の単位時間ごとの組み立て数などである。目標は、産業用ロボット１１００の生産性の最大化である。状態価値関数は、例えば、産業用ロボット１１００の累積組み立て数についての制御入力の価値を表す。
【０２０７】
また、制御対象１１０は、上述した具体例のシミュレータであってもよい。また、制御対象１１０は、風力発電以外の発電設備であってもよい。また、制御対象１１０は、例えば、化学プラントや自律移動ロボットなどであってもよい。また、制御対象１１０は、自動車などの乗り物であってもよい。また、制御対象１１０は、例えば、ドローンやヘリコプターなどの飛行物体であってもよい。また、制御対象１１０は、例えば、ゲームであってもよい。
【０２０８】
（動作例１における全体処理手順）
次に、図１２を用いて、情報処理装置１００が実行する、動作例１における全体処理手順の一例について説明する。全体処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０２０９】
図１２は、動作例１における全体処理手順の一例を示すフローチャートである。図１２において、情報処理装置１００は、方策を与えるパラメータを初期化する（ステップＳ１２０１）。
【０２１０】
次に、情報処理装置１００は、現時刻における制御対象１１０の状態を観測する（ステップＳ１２０２）。そして、情報処理装置１００は、現時刻＞初期時刻であるか否かを判定する（ステップＳ１２０３）。ここで、現時刻＞初期時刻ではない場合（ステップＳ１２０３：Ｎｏ）、情報処理装置１００は、ステップＳ１２０８の処理に移行する。一方で、現時刻＞初期時刻である場合（ステップＳ１２０３：Ｙｅｓ）、情報処理装置１００は、ステップＳ１２０４の処理に移行する。
【０２１１】
ステップＳ１２０４では、情報処理装置１００は、制御対象１１０からの即時報酬を取得する（ステップＳ１２０４）。次に、情報処理装置１００は、方策を与えるパラメータを更新する（ステップＳ１２０５）。そして、情報処理装置１００は、現時刻における制御対象１１０の状態が制約条件を満たすか否かを判定する（ステップＳ１２０６）。ここで、制約条件を満たす場合（ステップＳ１２０６：Ｙｅｓ）、情報処理装置１００は、ステップＳ１２０８の処理に移行する。一方で、制約条件を満たさない場合（ステップＳ１２０６：Ｎｏ）、情報処理装置１００は、ステップＳ１２０７の処理に移行する。
【０２１２】
ステップＳ１２０７では、情報処理装置１００は、固定制御器により、現時点における制御対象１１０への制御入力を決定する（ステップＳ１２０７）。そして、情報処理装置１００は、ステップＳ１２０９の処理に移行する。
【０２１３】
ステップＳ１２０８では、情報処理装置１００は、図１３に後述する決定処理を実行し、現時点における制御対象１１０への制御入力を決定する（ステップＳ１２０８）。そして、情報処理装置１００は、ステップＳ１２０９の処理に移行する。
【０２１４】
ステップＳ１２０９では、情報処理装置１００は、決定した制御入力を、制御対象１１０に印加する（ステップＳ１２０９）。次に、情報処理装置１００は、次の時刻まで待機する（ステップＳ１２１０）。そして、情報処理装置１００は、ステップＳ１２０２の処理に戻る。
【０２１５】
（動作例１における決定処理手順）
次に、図１３を用いて、情報処理装置１００が実行する、動作例１における決定処理手順の一例について説明する。決定処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０２１６】
図１３は、動作例１における決定処理手順の一例を示すフローチャートである。図１３において、情報処理装置１００は、方策を与えるパラメータを参照して、現時点における制御対象１１０への制御入力の平均値を算出する（ステップＳ１３０１）。
【０２１７】
次に、情報処理装置１００は、制御対象１１０の線形近似モデルを参照して、次の時刻における制御対象１１０の状態の予測値を算出し、制約条件に対する、現時点における制御対象１１０の状態についての危険度を算出する（ステップＳ１３０２）。
【０２１８】
そして、情報処理装置１００は、算出した危険度が閾値未満であるか否かを判定する（ステップＳ１３０３）。ここで、閾値以上である場合（ステップＳ１３０３：Ｎｏ）、情報処理装置１００は、ステップＳ１３０６の処理に移行する。一方で、閾値未満である場合（ステップＳ１３０３：Ｙｅｓ）、情報処理装置１００は、ステップＳ１３０４の処理に移行する。
【０２１９】
ステップＳ１３０４では、情報処理装置１００は、強化学習器１０１のパラメータとして設定された制約充足率の下限値ηを参照して、分散共分散行列を算出する（ステップＳ１３０４）。次に、情報処理装置１００は、算出した平均値および分散共分散行列に基づく確率分布に従って、現時点における制御対象１１０への制御入力を確率的に決定する（ステップＳ１３０５）。そして、情報処理装置１００は、決定処理を終了する。
【０２２０】
ステップＳ１３０６では、情報処理装置１００は、制御入力を０に決定する（ステップＳ１３０６）。そして、情報処理装置１００は、決定処理を終了する。
【０２２１】
（情報処理装置１００の動作例２）
次に、図１４および図１５を用いて、情報処理装置１００の動作例２について説明する。
【０２２２】
図１４および図１５は、情報処理装置１００の動作例２を示す説明図である。上述した動作例１は、制約条件が１つ設定される場合に対応する。これに対し、動作例２は、制約条件が複数設定される場合に対応する。以下の説明では、まず、情報処理装置１００の動作の流れについて説明する。そして、数式を用いて、情報処理装置１００の動作のうち、強化学習器１０１を利用して行う動作の一例について説明する。
【０２２３】
＜情報処理装置１００の動作の流れ＞
動作例１において制御目標は、累積コストを最小化する制御入力を決定するための方策を学習することである。また、制御目的は、方策を学習する強化学習中の、すべての時刻ｋ≧１において、状態に関する制約条件｛ｆi｝iを充足する確率を、下限値ρ∈（０，１）以上とすることを保証することであり、上記式（１）および上記式（２）により規定される。制約条件｛ｆi｝iは、線形でなくてもよい。制約条件｛ｆi｝iは、複数存在する。Ｐｒ（・）は、（・）内の条件が成立する確率を示す。
【０２２４】
また、状態ｘk＝ｘ∈Ｘである場合、時刻ｋにも状態ｘにも依存しない定数τが存在し、τステップ以内に状態をＸ内に移動させる制御入力列の算出方法が既知であることが仮定される。以下の説明では、制御入力列の算出方法が既知である仮定を「仮定１」と表記する場合がある。換言すれば、ｕk+jback（ｘ）∈Ｘ（ｊ≦τ）となるようなｕkback（ｘ），ｕk+1back（ｘ）・・・，ｕk+jback（ｘ）が存在することが仮定される。これによれば、固定制御器１０２が存在することが仮定される。
【０２２５】
また、強化学習および制御対象１１０に関しては、下記４つの特性が仮定される。１つ目の特性は、強化学習が、確率的に制御入力を決定する方策を利用可能であり、制御入力を決定する際に用いられる確率密度関数の分散共分散行列を、いずれのタイミングにも変更可能である性質である。２つ目の特性は、制御対象１１０が、制御入力に対して線形であり、制約条件が、状態に対して線形であるため、第１の時点において取りうる制御入力の分散が、第１の時点の次の第２の時点において取りうる制御対象１１０の状態に対して保存される性質である。３つ目の特性は、制御入力が０であれば、制約条件を充足する状態から制約条件を充足しない状態へと遷移することがない性質である。４つ目の特性は、複数の事象が少なくとも１つ発生する確率は、それぞれの事象が発生する確率の和以下である性質である。これによれば、強化学習器１０１が存在することが仮定される。
【０２２６】
情報処理装置１００は、同時充足率をη以上にするため、各制約条件に関する制約充足率の下限値η’を設定し、強化学習器１０１を利用することになる。各制約条件に関する制約充足率の下限値η’は、下記式（５９）により算出される。ｎcは、制約条件数である。
【０２２７】
【数５９】
2020144483.tif 000061
【０２２８】
情報処理装置１００は、現在の状態が制約条件を充足すれば強化学習器１０１を利用し、現在の状態が制約条件を充足しなければ固定制御器１０２を利用して、連続型の強化学習を実施する。上述したように、強化学習器１０１は、同時充足率を下限値η以上とすることを保証し、固定制御器１０２は、τステップ以内に状態をＸ内に移動させることを保証する。この場合、強化学習器１０１および固定制御器１０２を組み合わせると、制約充足率を下限値ητ以上にすることを保証することができる。
【０２２９】
従って、情報処理装置１００は、制約条件を充足する場合、強化学習器１０１に関する同時充足率の下限値ηを、目標確率ρのτ乗根に設定して、強化学習器１０１を用いて制御入力を決定する。情報処理装置１００は、制約条件を充足しない場合、固定制御器を用いて制御入力を決定する。これにより、情報処理装置１００は、強化学習中に、制約充足率が目標確率ρ以上となることを保証することができる。
【０２３０】
＜情報処理装置１００が強化学習器１０１を利用して行う動作の一例＞
動作例２において、上記式（６）〜上記式（１２）、上記式（１７）、上記式（１８）、および、下記式（６０）〜下記式（６４）によって、制御対象１１０と、即時コストと、制約条件と、制御目的とが規定され、問題設定が行われる。また、上記式（２０）〜上記式（２４）、下記式（６５）および下記式（６６）によって、動作例２において仮定される、強化学習および制御対象１１０に関する特性が規定される。
【０２３１】
以下の説明では、上記式（６）〜上記式（１２）、上記式（１７）、および、上記式（１８）は、動作例１と同様であるため、説明を省略する。また、上記式（２０）〜上記式（２４）は、動作例１と同様であるため、説明を省略する。
【０２３２】
【数６０】
2020144483.tif 000062
【０２３３】
【数６１】
2020144483.tif 000063
【０２３４】
【数６２】
2020144483.tif 000064
【０２３５】
上記式（６０）は、複数の制約条件を規定する。ｘは、状態である。行列Ｈは、ユーザにより設定される。配列ｄは、ユーザにより設定される。制約条件は、既知であり、状態ｘに関して線形である。動作例２では、制約条件は複数である。上記式（６１）は、行列Ｈが、ｎ次元であることを示す。上記式（６２）は、配列ｄが、実数であることを示す。
【０２３６】
【数６３】
2020144483.tif 000065
【０２３７】
上記式（６３）は、複数の制約条件を同時に充足する状態ｘの集合Ｘを示す。以下の説明では、Ｘの内点を、Ｘintと表記する場合がある。ｆ（ｘ*）＝ｘ*となるｘ*∈Ｘint、および、ｃ（ｘ*，０）＝０となるｘ*∈Ｘintが存在する。
【０２３８】
【数６４】
2020144483.tif 000066
【０２３９】
上記式（６４）は、強化学習の制御目的として、複数の制約条件に関して、すべての時刻ｋ≧１における同時充足率を、下限値η∈（０．５，１）以上とすることを保証することを規定する。Ｐｒ（・）は、（・）内の条件が成立する確率を示す。
【０２４０】
また、ｘ∈Ｘであればｆ（ｘ）∈Ｘであることが仮定される。以下の説明では、ｘ∈Ｘであればｆ（ｘ）∈Ｘである仮定を「仮定４」と表記する場合がある。図１４に示すように、仮定４は、いずれかの時刻において、状態ｘが複数の制約条件を同時に充足し、かつ、制御入力が０であれば、次の時刻において、遷移後の状態ｘも複数の制約条件を同時に充足することを示す。具体的には、実数空間１４００において、現時点が状態１４０１である際に、制御入力を０とすれば、状態１４０２のような集合Ｘの内点に遷移することはあるが、状態１４０３のような集合Ｘの外点に遷移することはない。従って、制御入力が０であれば、遷移後の状態についての同時充足率を、下限値以上に大きくすることが保証可能である。
【０２４１】
【数６５】
2020144483.tif 000067
【０２４２】
【数６６】
2020144483.tif 000068
【０２４３】
制御対象１１０の線形近似モデルの係数行列と、制約条件とに関して上記式（６５）および上記式（６６）が成立することが仮定される。以下の説明では、制御対象１１０の線形近似モデルの係数行列と、制約条件とに関して上記式（６５）および上記式（６６）が成立する仮定を「仮定５」と表記する場合がある。
【０２４４】
上記問題設定では、制御対象１１０が、制御入力に対して線形であり、制約条件が、状態に対して線形である。このため、いずれかの時刻における制御入力の分散度合いは、次の時刻の制御対象１１０の状態の分散度合いに相関することになる。従って、いずれかの時刻における制御入力の分散度合いを調整すれば、次の時刻における状態の分散度合いを制御可能であり、次の時刻における状態についての制約充足率を、下限値以上に大きくすることが保証可能である。
【０２４５】
上記問題設定および上記仮定２〜仮定５の下で、情報処理装置１００の動作の一例について説明する。上記問題設定によれば、上記式（２６）が成立する。ここで、情報処理装置１００は、ステップ１として、方策を与えるパラメータωと、状態基底関数φ（・）を用いて、現時刻の状態に対する、現時刻に出力する制御入力の平均値μkを、上記式（２７）により算出する。μkは、ｍ次元である。
【０２４６】
情報処理装置１００は、ステップ２として、制御対象１１０の線形近似モデルを示すモデル情報と、現時刻の状態とに基づいて、次の時刻の誤差を含む状態の予測値を、上記式（２８）により算出する。そして、情報処理装置１００は、次の時刻の誤差を含む状態の予測値に基づいて、制約条件ごとに現時刻の状態についての危険度を、下記式（６７）により算出する。ここで、ε＝［ε1，・・・，εn］Tである。εは、ｎ次元である。εi＝ｂａｒ｛ｅi｝  ｏｒ  −ｂａｒ｛ｅi｝である。また、ε全体の集合をＥと表記する。
【０２４７】
【数６７】
2020144483.tif 000069
【０２４８】
情報処理装置１００は、ステップ３として、ステップ２において算出した危険度に関して下記式（６８）が成立する場合、ステップ４の処理に移行し、下記式（６８）が成立しない場合、ステップ５の処理に移行する。
【０２４９】
【数６８】
2020144483.tif 000070
【０２５０】
情報処理装置１００は、ステップ４として、制御入力ｕk＝０に決定し、ステップ７の処理に移行する。情報処理装置１００は、ステップ５として、ステップ２において算出した危険度と、各制約条件の制約充足率の下限値η’とに基づいて、分散共分散行列を上記式（３１）、上記式（５６）および下記式（６９）により算出する。Ｉmは、ｍ×ｍ次元の単位行列である。Φ-1（・）は、逆正規累積分布関数である。
【０２５１】
【数６９】
2020144483.tif 000071
【０２５２】
情報処理装置１００は、ステップ６として、ステップ１において算出したμkと、ステップ５において算出したΣkとを、それぞれ、平均値および分散共分散行列として設定し、ガウス型確率密度関数を生成する。情報処理装置１００は、ガウス型確率密度関数を用いて、制御入力ｕkを、上記式（３３）により確率的に決定する。
【０２５３】
情報処理装置１００は、ステップ７として、ステップ４またはステップ６において決定した、制御入力ｕkを、制御対象１１０に印加する。これにより、情報処理装置１００は、制御入力を決定する範囲を危険度に応じて自動調整することができる。このため、情報処理装置１００は、強化学習器１０１を利用中に、同時充足率が、予め設定された下限値η以上に大きくなることを保証することができる。
【０２５４】
結果として、情報処理装置１００は、強化学習器１０１および固定制御器１０２を利用して、強化学習中に、同時充足率を確率ρ以上に大きくすることを保証することができる。次に、図１５の説明に移行し、情報処理装置１００が、強化学習器１０１および固定制御器１０２を利用して、強化学習中に、同時充足率を確率ρ以上に大きくすることを保証することについて説明する。
【０２５５】
図１５の例では、η＝０．９７とする。図１５に示すように、実数空間１４００において、情報処理装置１００は、現時点の状態が状態１５０１である際には、確率η＝０．９８５で状態１５０２のような集合Ｘの内点に遷移させることになる。また、実数空間１４００において、情報処理装置１００は、現時点の状態が状態１５０１である際には、確率１−η＝０．０１５で状態１５０３のような集合Ｘの外点に遷移させることになる。また、実数空間１４００において、情報処理装置１００は、状態１５０３のような集合Ｘの外点に遷移した場合、τステップ以内で、状態１５０６のような集合Ｘの内点に復帰させることになる。このように、情報処理装置１００は、状態１５０３のような集合Ｘの外点に遷移したことによる、強化学習中の同時充足率の低下を考慮して、強化学習器１０１の利用中の同時充足率を確率η以上にすることができる。
【０２５６】
一方で、実数空間１４００において、情報処理装置１００は、現時点が状態１５０４である際には、制御入力を０とするため、状態１５０５のような集合Ｘの内点に遷移することになり、制約条件を必ず充足することを保証することができる。これらのことから、情報処理装置１００は、強化学習中のすべての時点において、同時充足率を確率ρ以上に大きくすることを保証することができる。
【０２５７】
（動作例２における全体処理手順）
次に、図２０を用いて、情報処理装置１００が実行する、動作例２における全体処理手順の一例について説明する。全体処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０２５８】
図１６は、動作例２における全体処理手順の一例を示すフローチャートである。図１６において、情報処理装置１００は、方策を与えるパラメータを初期化する（ステップＳ１６０１）。次に、情報処理装置１００は、現時刻における制御対象１１０の状態を観測する（ステップＳ１６０２）。
【０２５９】
そして、情報処理装置１００は、現時刻＞初期時刻であるか否かを判定する（ステップＳ１６０３）。ここで、現時刻＞初期時刻ではない場合（ステップＳ１６０３：Ｎｏ）、情報処理装置１００は、ステップＳ１６０８の処理に移行する。一方で、現時刻＞初期時刻である場合（ステップＳ１６０３：Ｙｅｓ）、情報処理装置１００は、ステップＳ１６０４の処理に移行する。
【０２６０】
ステップＳ１６０４では、情報処理装置１００は、制御対象１１０からの即時報酬を取得する（ステップＳ１６０４）。次に、情報処理装置１００は、方策を与えるパラメータを更新する（ステップＳ１６０５）。そして、情報処理装置１００は、現時刻における制御対象１１０の状態がすべての制約条件を満たすか否かを判定する（ステップＳ１６０６）。
【０２６１】
ここで、いずれかの制約条件を満たさない場合（ステップＳ１６０６：Ｎｏ）、情報処理装置１００は、ステップＳ１６０７の処理に移行する。一方で、すべての制約条件を満たす場合（ステップＳ１６０６：Ｙｅｓ）、情報処理装置１００は、ステップＳ１６０８の処理に移行する。
【０２６２】
ステップＳ１６０７では、情報処理装置１００は、固定制御器により、現時点における制御対象１１０への制御入力を決定する（ステップＳ１６０７）。そして、情報処理装置１００は、ステップＳ１６０９の処理に移行する。
【０２６３】
ステップＳ１６０８では、情報処理装置１００は、図１７に後述する決定処理を実行し、現時点における制御対象１１０への制御入力を決定する（ステップＳ１６０８）。そして、情報処理装置１００は、ステップＳ１６０９の処理に移行する。
【０２６４】
ステップＳ１６０９では、情報処理装置１００は、決定した制御入力を、制御対象１１０に印加する（ステップＳ１６０９）。次に、情報処理装置１００は、次の時刻まで待機する（ステップＳ１６１０）。そして、情報処理装置１００は、ステップＳ１６０２の処理に戻る。
【０２６５】
（動作例２における決定処理手順）
次に、図１７を用いて、情報処理装置１００が実行する、動作例２における決定処理手順の一例について説明する。決定処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０２６６】
図１７は、動作例２における決定処理手順の一例を示すフローチャートである。図１７において、情報処理装置１００は、方策を与えるパラメータを参照して、現時点における制御対象１１０への制御入力の平均値を算出する（ステップＳ１７０１）。
【０２６７】
次に、情報処理装置１００は、制御対象１１０の線形近似モデルを参照して、次の時刻における制御対象１１０の状態の予測値を算出し、複数の制約条件のそれぞれの制約条件に対する、現時点における制御対象１１０の状態についての危険度を算出する（ステップＳ１７０２）。
【０２６８】
そして、情報処理装置１００は、算出した複数の危険度のすべてが閾値未満であるか否かを判定する（ステップＳ１７０３）。ここで、いずれかの危険度が閾値以上である場合（ステップＳ１７０３：Ｎｏ）、情報処理装置１００は、ステップＳ１７０７の処理に移行する。一方で、すべての危険度が閾値未満である場合（ステップＳ１７０３：Ｙｅｓ）、情報処理装置１００は、ステップＳ１７０４の処理に移行する。
【０２６９】
ステップＳ１７０４では、情報処理装置１００は、強化学習器１０１のパラメータとして設定された同時充足率の下限値ηを参照して、それぞれの制約条件に関する危険度に基づいて、それぞれの制約条件に関する標準偏差を算出する（ステップＳ１７０４）。そして、情報処理装置１００は、算出した標準偏差の最小値に基づいて、分散共分散行列を算出する（ステップＳ１７０５）。
【０２７０】
次に、情報処理装置１００は、算出した平均値および分散共分散行列に基づく確率分布に従って、現時点における制御対象１１０への制御入力を確率的に決定する（ステップＳ１７０６）。そして、情報処理装置１００は、決定処理を終了する。
【０２７１】
ステップＳ１７０７では、情報処理装置１００は、制御入力を０に決定する（ステップＳ１７０７）。そして、情報処理装置１００は、決定処理を終了する。
【０２７２】
以上説明したように、情報処理装置１００によれば、目標確率と、固定制御器１０２に関する所定時間とに基づいて、強化学習器１０１のパラメータを決定することができる。情報処理装置１００によれば、いずれかの時点における制御対象１１０の状態が、制約条件を充足するか否かに基づいて、強化学習器１０１および固定制御器１０２のいずれか一方により、制御対象１１０への制御入力を決定することができる。これにより、情報処理装置１００は、強化学習器１０１と固定制御器１０２とを使い分けて制御対象１１０への制御入力を決定することができ、強化学習全体で、制約条件を充足する確率の増大化を図ることができる。
【０２７３】
情報処理装置１００によれば、所定確率が、所定時間と目標確率とに基づき算出される目標確率よりも高い確率になるように、強化学習器のパラメータを決定することができる。これにより、情報処理装置１００は、制約条件を充足する確率を一定以上に大きくすることを保証しやすくすることができる。
【０２７４】
情報処理装置１００によれば、制御対象１１０を、風力発電設備とし、制御対象１１０を制御する方策を学習する強化学習を実施することができる。これにより、情報処理装置１００は、強化学習により、風力発電設備を制御する方策を学習していく最中に、制約条件を充足する確率を一定以上に大きくすることを保証しやすくすることができる。
【０２７５】
情報処理装置１００によれば、所定時間を、制御入力を決定するステップの数により規定し、所定確率を、目標確率に対するステップの数分の累乗根に決定することができる。これにより、情報処理装置１００は、制約条件を充足する確率を一定以上に大きくすることを保証するように所定確率を設定することができる。
【０２７６】
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２７７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２７８】
（付記１）制御対象の状態に関する制約条件を充足する目標確率と、前記制約条件を充足しない前記制御対象の状態から所定時間以内で前記制約条件を充足する前記制御対象の状態に遷移可能にする制御器に関する前記所定時間とに基づいて、前記制御対象の状態が前記制約条件を充足する時点の次の時点における前記制御対象の状態が所定確率で前記制約条件を充足することを保証可能にする強化学習器のパラメータを決定し、
いずれかの時点における前記制御対象の状態が、前記制約条件を充足するか否かに基づいて、前記強化学習器および前記制御器のいずれか一方により、前記制御対象への制御入力を決定する、
処理をコンピュータが実行することを特徴とする強化学習方法。
【０２７９】
（付記２）前記強化学習器のパラメータを決定する処理は、
前記所定確率が、前記所定時間と前記目標確率とに基づき算出される、前記目標確率よりも高い確率になるように、前記強化学習器のパラメータを決定する、ことを特徴とする付記１に記載の強化学習方法。
【０２８０】
（付記３）前記強化学習器は、
前記所定確率で前記制約条件を充足するように制御入力の探索範囲を自動で調整することを特徴とする付記１または２に記載の強化学習方法。
【０２８１】
（付記４）前記制御対象は、風力発電設備であり、
前記強化学習器は、前記風力発電設備の発電機トルクを制御入力とし、前記風力発電設備の発電量と前記風力発電設備のタービンの回転量と前記風力発電設備のタービンの回転速度と前記風力発電設備に対する風向と前記風力発電設備に対する風速との少なくともいずれかを状態とし、前記風力発電設備の発電量を報酬とし、前記制御対象を制御する方策を学習する強化学習を実施する、ことを特徴とする付記１〜３のいずれか一つに記載の強化学習方法。
【０２８２】
（付記５）前記所定時間は、制御入力を決定するステップの数により規定され、
前記強化学習器のパラメータを決定する処理は、
前記所定確率を、前記目標確率に対する前記ステップの数分の累乗根に決定する、ことを特徴とする付記１〜４のいずれか一つに記載の強化学習方法。
【０２８３】
（付記６）制御対象の状態に関する制約条件を充足する目標確率と、前記制約条件を充足しない前記制御対象の状態から所定時間以内で前記制約条件を充足する前記制御対象の状態に遷移可能にする制御器に関する前記所定時間とに基づいて、前記制御対象の状態が前記制約条件を充足する時点の次の時点における前記制御対象の状態が所定確率で前記制約条件を充足することを保証可能にする強化学習器のパラメータを決定し、
いずれかの時点における前記制御対象の状態が、前記制約条件を充足するか否かに基づいて、前記強化学習器および前記制御器のいずれか一方により、前記制御対象への制御入力を決定する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【０２８４】
（付記７）制御対象の状態に関する制約条件を充足する目標確率と、前記制約条件を充足しない前記制御対象の状態から所定時間以内で前記制約条件を充足する前記制御対象の状態に遷移可能にする制御器に関する前記所定時間とに基づいて、前記制御対象の状態が前記制約条件を充足する時点の次の時点における前記制御対象の状態が所定確率で前記制約条件を充足することを保証可能にする強化学習器のパラメータを決定し、
いずれかの時点における前記制御対象の状態が、前記制約条件を充足するか否かに基づいて、前記強化学習器および前記制御器のいずれか一方により、前記制御対象への制御入力を決定する、
ことを特徴とする強化学習システム。
【符号の説明】
【０２８５】
１００  情報処理装置
１０１  強化学習器
１０２  固定制御器
１０３  切替手段
１１０  制御対象
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  ネットワークＩ／Ｆ
３０４  記録媒体Ｉ／Ｆ
３０５  記録媒体
３１０  ネットワーク
４００  記憶部
４０１  取得部
４０２  算出部
４０３  第１決定部
４０４  第２決定部
４０５  切替部
４０６  学習部
４０７  出力部
５００，１４００  実数空間
５０１〜５０３，７０１〜７０６，１４０１〜１４０３，１５０１〜１５０６  状態
６００，８００  グラフ
９００  サーバルーム
９０１  サーバ
９０２  冷却器
１０００  発電設備
１１００  産業用ロボット
【図１】
2020144483.tif 000072
【図２】
2020144483.tif 000073
【図３】
2020144483.tif 000074
【図４】
2020144483.tif 000075
【図５】
2020144483.tif 000076
【図６】
2020144483.tif 000077
【図７】
2020144483.tif 000078
【図８】
2020144483.tif 000079
【図９】
2020144483.tif 000080
【図１０】
2020144483.tif 000081
【図１１】
2020144483.tif 000082
【図１２】
2020144483.tif 000083
【図１３】
2020144483.tif 000084
【図１４】
2020144483.tif 000085
【図１５】
2020144483.tif 000086
【図１６】
2020144483.tif 000087
【図１７】
2020144483.tif 000088