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