(57)【要約】【課題】不適切な行動を回避しながら最適な行動を探索する際にかかる処理量の低減化を図ること。【解決手段】情報処理装置は、基本制御器により得られる貪欲行動を基準に、環境についての行動範囲限界より小さい行動範囲における第１の強化学習を実施する。情報処理装置は、第１の強化学習により学習された第１の強化学習器を含み、第１の強化学習により生成された第１の制御器により得られる貪欲行動を基準に、行動範囲限界より小さい行動範囲における第２の強化学習を実施する。情報処理装置は、第２の強化学習を実施した際、第１の制御器に含まれる第１の強化学習器に、学習した第２の強化学習器をマージすることにより、第２の制御器を生成する。情報処理装置は、第２の強化学習により生成された第２の制御器により得られる貪欲行動を基準に、行動範囲限界より小さい行動範囲における第３の強化学習を実施する。【選択図】図１
2020095586.tif 000002
【特許請求の範囲】
【請求項１】
環境の状態に対する行動を規定した基本制御器により得られる行動を基準に、前記環境についての行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第１の強化学習を実施し、
前記第１の強化学習により学習された第１の強化学習器を含む第１の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第２の強化学習を実施し、
前記第１の強化学習器と、前記第２の強化学習により学習された第２の強化学習器とをマージした新たな強化学習器を含む第２の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第３の強化学習を実施する、
処理をコンピュータが実行することを特徴とする強化学習方法。
【請求項２】
直前にマージされた強化学習器と、直前に実施された第３の強化学習により学習された第３の強化学習器とをマージした新たな強化学習器を含む第３の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲において、多項式で表現した状態行動価値関数を用いた第３の強化学習を実施する、
処理を前記コンピュータが繰り返し実行する、ことを特徴とする請求項１に記載の強化学習方法。
【請求項３】
前記第２の強化学習を実施する処理は、
前記基本制御器と、前記第１の強化学習により学習された第１の強化学習器とをマージした新たな強化学習器を含む第１の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における前記第２の強化学習を実施し、
前記第３の強化学習を実施する処理は、
直前にマージされた強化学習器と、前記第２の強化学習により学習された第２の強化学習器とをマージした新たな強化学習器を含む第２の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における前記第３の強化学習を実施する、ことを特徴とする請求項１または２に記載の強化学習方法。
【請求項４】
環境の状態に対する行動を規定した基本制御器により得られる行動を基準に、前記環境についての行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第１の強化学習を実施し、
前記第１の強化学習により学習された第１の強化学習器を含む第１の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第２の強化学習を実施し、
前記第１の強化学習器と、前記第２の強化学習により学習された第２の強化学習器とをマージした新たな強化学習器を含む第２の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第３の強化学習を実施する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強化学習方法、および強化学習プログラムに関する。
【背景技術】
【０００２】
従来、強化学習では、環境に対して探索行動を行い、探索行動に対応する報酬を観測し、観測結果に基づき環境に対する行動として最適であると判断される貪欲行動を決定するための制御器を更新する処理が繰り返し実施され、環境が制御される。探索行動は、例えば、ランダムな行動、または、現状では最適であると判断した貪欲行動などである。
【０００３】
先行技術としては、例えば、所定の入力情報に基づいて制御対象の操作量に関連する出力を決定する通常制御用制御モジュールにおける制御パラメータを最適化するものがある。また、例えば、未記憶の入力信号に対応して出力される時系列の信号を所定期間蓄え、解析し、未記憶の入力信号に対応した出力を決定する技術がある。また、例えば、パラメータセットとコストとの関係を表すコスト関数から、実閉体上の限量子消去法についての問題を生成し、項置換による限量子消去法についての処理を実施する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２５０６０３号公報
【特許文献２】特開平６−４４２０５号公報
【特許文献３】特開２０１３−４７８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、環境に対する探索行動をランダムな行動にした場合、環境に悪影響を与えるような不適切な行動が行われてしまう場合がある。これに対し、現状の貪欲行動を基準とした行動範囲において、さらに適切に貪欲行動を決定するための補正量を規定した強化学習器を学習する処理を繰り返すことにより、不適切な行動を回避することが考えられる。しかしながら、処理を繰り返す都度、貪欲行動を決定する際に用いる強化学習器の数が増大していき、貪欲行動を決定する際にかかる処理量が増大してしまう。
【０００６】
１つの側面では、本発明は、不適切な行動を回避しながら最適な行動を探索する際にかかる処理量の低減化を図ることを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、環境の状態に対する行動を規定した基本制御器により得られる行動を基準に、前記環境についての行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第１の強化学習を実施し、前記第１の強化学習により学習された第１の強化学習器を含む第１の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第２の強化学習を実施し、前記第１の強化学習器と、前記第２の強化学習により学習された第２の強化学習器とをマージした新たな強化学習器を含む第２の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第３の強化学習を実施する強化学習方法、および強化学習プログラムが提案される。
【発明の効果】
【０００８】
一態様によれば、不適切な行動を回避しながら最適な行動を探索する際にかかる処理量の低減化を図ることが可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。
【図２】図２は、情報処理装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、履歴テーブル３００の記憶内容の一例を示す説明図である。
【図４】図４は、情報処理装置１００の機能的構成例を示すブロック図である。
【図５】図５は、強化学習を繰り返す動作の流れを示す説明図である。
【図６】図６は、探索行動を決定する行動範囲の変化を示す説明図である。
【図７】図７は、ｍj＝Ｍであり、かつ、行動の制約がない場合における、ｊ番目の強化学習の詳細を示す説明図である。
【図８】図８は、ｍj＜Ｍであり、かつ、行動の制約がない場合における、ｊ番目の強化学習の詳細を示す説明図である。
【図９】図９は、ｍj＜Ｍであり、かつ、行動の制約がある場合における、ｊ番目の強化学習の詳細を示す説明図である。
【図１０】図１０は、行動を纏めて補正する場合における、ｊ番目の強化学習の詳細を示す説明図である。
【図１１】図１１は、マージの具体例を示す説明図である。
【図１２】図１２は、基本制御器Ｃ0を含むマージの具体例を示す説明図である。
【図１３】図１３は、具体的な環境１１０の制御例を示す説明図である。
【図１４】図１４は、強化学習を繰り返した結果を示す説明図（その１）である。
【図１５】図１５は、強化学習を繰り返した結果を示す説明図（その２）である。
【図１６】図１６は、強化学習ごとの処理量の変化を示す説明図である。
【図１７】図１７は、環境１１０の具体例を示す説明図（その１）である。
【図１８】図１８は、環境１１０の具体例を示す説明図（その２）である。
【図１９】図１９は、環境１１０の具体例を示す説明図（その３）である。
【図２０】図２０は、強化学習処理手順の一例を示すフローチャートである。
【図２１】図２１は、行動決定処理手順の一例を示すフローチャートである。
【図２２】図２２は、行動決定処理手順の別の例を示すフローチャートである。
【図２３】図２３は、マージ処理手順の一例を示すフローチャートである。
【図２４】図２４は、マージ処理手順の別の例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる強化学習方法、および強化学習プログラムの実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる強化学習方法の一実施例）
図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。情報処理装置１００は、強化学習を用いて、環境１１０に対する行動を決定することにより、環境１１０を制御するためのコンピュータである。情報処理装置１００は、例えば、サーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。
【００１２】
環境１１０は、制御対象となる何らかの事象であり、例えば、現実に存在する物理系である。環境１１０は、具体的には、自動車、自律移動ロボット、ドローン、ヘリコプター、サーバルーム、発電機、化学プラント、または、ゲームなどである。行動（ａｃｔｉｏｎ）は、環境１１０に対する操作である。行動は、入力（ｉｎｐｕｔ）とも呼ばれる。行動は、連続量である。環境１１０に対する行動に応じて環境１１０の状態（ｓｔａｔｅ）が変化する。環境１１０の状態は、観測可能である。
【００１３】
従来の強化学習では、環境１１０に対して探索行動を行い、探索行動に対応する報酬を観測し、観測結果に基づき環境１１０に対する行動として最適と判断される貪欲行動を決定するための制御器を更新する処理が繰り返し実施され、環境１１０が制御される。探索行動は、ランダムな行動、または、現状では最適であると判断した貪欲行動などである。
【００１４】
制御器は、貪欲行動を決定するための制御則である。貪欲行動は、環境１１０に対する行動として、現状で最適であると判断される行動である。貪欲行動は、例えば、環境１１０における割引累積報酬または平均報酬を最大化すると判断される行動である。貪欲行動は、真に最適である最適行動と一致するとは限らない。最適行動は、人間が知れない場合がある。
【００１５】
ここで、環境１１０に対する探索行動を、ランダムな行動にした場合、環境１１０に悪影響を与えるような不適切な行動が行われてしまう場合がある。
【００１６】
例えば、環境１１０がサーバルームであり、環境１１０に対する行動がサーバルームにおける空調設備の設定温度である場合が考えられる。この場合、空調設備の設定温度がランダムに変更され、サーバルームのサーバを故障させたり誤動作させたりするような高温にされてしまうことがある。一方で、空調設備の設定温度が、消費電力が著しく大きくなるような低温にされてしまうことがある。
【００１７】
また、例えば、環境１１０が無人飛行体であり、環境１１０に対する行動が無人飛行体の駆動系に対する設定値である場合が考えられる。この場合、駆動系の設定値がランダムに変更され、安定して飛行することが難しい設定値にされ、無人飛行体が落下してしまうことがある。
【００１８】
また、例えば、環境１１０が風車であり、環境１１０に対する行動が風車に接続された発電機の負荷トルクである場合が考えられる。この場合、負荷トルクがランダムに変更され、発電量が著しく低下するような負荷トルクにされてしまうことがある。
【００１９】
従って、強化学習を用いて、環境１１０を制御するにあたり、不適切な行動を回避しながら、貪欲行動を決定するための制御器を更新していくことが好ましい。
【００２０】
これに対し、現状の制御器により得られる貪欲行動を基準とした行動範囲において強化学習を実施し、強化学習器を学習し、現状の制御器と学習した強化学習器とを組み合わせて新たな制御器を生成する処理を繰り返す手法が考えられる。強化学習器は、さらに適切に貪欲行動を決定するための、行動の補正量を規定する。この手法によれば、不適切な行動を回避しながら、制御器を更新していくことができる。
【００２１】
しかしながら、この手法では、処理を繰り返す都度、制御器に含まれ、貪欲行動を決定する際に用いられる強化学習器の数が増大していくため、貪欲行動を決定する際にかかる処理量が増大してしまうという問題がある。
【００２２】
そこで、本実施の形態では、現状の制御器により得られる貪欲行動を基準とした行動範囲において強化学習を実施する都度、強化学習により学習された強化学習器を、現状の制御器に含まれる強化学習器とマージしていく強化学習方法について説明する。ここでの強化学習は、行動を複数回試行して強化学習器を１つ学習し、新たな制御器を生成するまでの一連の処理である。
【００２３】
図１において、情報処理装置１００は、強化学習１２０を繰り返し実施する。強化学習１２０は、最新の制御器１２１と学習中の強化学習器１２２とにより環境１１０への行動を決定し、行動に対応する報酬から強化学習器１２２を学習し、制御器１２１に学習した強化学習器１２２を組み合わせて新たな制御器を生成する一連の処理である。制御器１２１は、環境１１０の状態に対して、現状最適と判断される貪欲行動を決定するための制御則である。
【００２４】
強化学習器１２２は、強化学習１２０ごとに新たに生成され、利用され、学習される。強化学習器１２２は、制御器１２１により得られる貪欲行動を基準とした行動範囲内で、状態行動価値関数を利用し、制御器１２１により得られる貪欲行動に対する補正量となる行動を決定するための制御則である。
【００２５】
状態行動価値関数は、環境１１０の状態に対し、強化学習器１２２により得られる行動の価値を示す値を算出する関数である。行動の価値は、環境１１０における割引累積報酬または平均報酬の最大化を図るため、環境１１０における割引累積報酬または平均報酬が大きくなるほど、高くなるように設定される。状態行動価値関数は、多項式を用いて表現される。多項式は、状態および行動を表す変数が用いられる。
【００２６】
強化学習器１２２は、学習中では、制御器１２１により得られる貪欲行動をどのように補正することが好ましいかを探索するために利用され、制御器１２１により得られる貪欲行動に対する補正量となる探索行動を決定する。探索行動は、ランダムな行動、または、状態行動価値関数の値を最大化する貪欲行動である。探索行動の決定は、例えば、ε貪欲法やボルツマン選択などが利用される。また、貪欲行動は、例えば、状態行動価値関数が多項式で表現されるため、実閉体上の限量子消去（Ｑｕａｎｔｉｆｉｅｒ  Ｅｌｉｍｉｎａｔｉｏｎ）を用いて求められる。以下の説明では、実閉体上の限量子消去を単に「限量子消去」と表記する場合がある。
【００２７】
限量子消去は、限量子を用いて記述された一階述語論理式を、限量子を用いない等価な論理式に変換することである。限量子は、全称限量子（∀）と存在限量子（∃）とである。全称限量子（∀）は、変数を対象とし、変数がすべての実数値でも論理式が成立すると修飾する記号である。存在限量子（∃）は、変数を対象とし、論理式が成立する変数の実数値が１つ以上存在すると修飾する記号である。
【００２８】
強化学習器１２２は、強化学習１２０により、探索行動に対応する報酬に基づいて、制御器１２１により得られる貪欲行動をさらに適切な行動に補正する補正量となる貪欲行動を決定するように学習される。具体的には、強化学習器１２２に用いられる状態行動価値関数を表現する係数が、強化学習１２０により、制御器１２１により得られる貪欲行動をさらに適切な行動に補正する補正量となる貪欲行動を決定するように学習される。係数の学習は、例えば、Ｑ学習やＳＡＲＳＡなどが利用される。強化学習器１２２は、学習済みになると、常に貪欲行動を決定するように固定される。
【００２９】
ここで、情報処理装置１００は、制御器１２１に含まれる強化学習器がある場合、制御器１２１に含まれる強化学習器に、学習した強化学習器１２２をマージし、新たな強化学習器を生成することにより、制御器１２１に学習した強化学習器１２２を組み合わせる。マージは、例えば、状態行動価値関数が多項式で表現されるため、限量子消去を用いて実現される。
【００３０】
これによれば、情報処理装置１００は、イメージ図１３０に示すように、強化学習１２０を実施する際、最新の制御器１２１により得られる貪欲行動を基準にした行動範囲内で、強化学習器１２２により探索行動を決定することができる。このため、情報処理装置１００は、最新の制御器１２１により得られる貪欲行動から一定以上離れた行動が行われることを防止し、環境１１０に悪影響を与えるような不適切な行動が行われることを回避することができる。
【００３１】
また、情報処理装置１００は、イメージ図１３０に示すように、強化学習１２０を繰り返す都度、最新の制御器１２１よりも、さらに価値の高い貪欲行動を決定可能である新たな制御器を生成していくことができる。そして、情報処理装置１００は、強化学習１２０を繰り返した結果、割引累積報酬または平均報酬の増大化が図られるように、行動の価値が極大になる貪欲行動を決定可能であり、環境１１０を適切に制御可能である制御器を生成することができる。
【００３２】
また、情報処理装置１００は、強化学習１２０の都度、制御器１２１に含まれる強化学習器に、学習した強化学習器１２２をマージできる。このため、情報処理装置１００は、強化学習１２０を繰り返しても、制御器１２１に含まれる強化学習器の数を、一定以下に維持することができる。結果として、情報処理装置１００は、制御器１２１により貪欲行動を決定する際、演算すべき強化学習器の数が一定以下になり、制御器１２１により貪欲行動を決定する際にかかる処理量の増大化を抑制することができる。
【００３３】
次に、上述した強化学習１２０の具体的な内容について説明する。情報処理装置１００は、具体的には、例えば、下記（１−１）〜下記（１−３）に示すように、第１の強化学習、第２の強化学習、第３の強化学習を、順々に実施する。第１の強化学習は、１番目に実施される強化学習１２０に対応し、第２の強化学習は、２番目に実施される強化学習１２０に対応し、第３の強化学習は、３番目以降に実施される強化学習１２０に対応する。
【００３４】
（１−１）情報処理装置１００は、最新の制御器として、基本制御器を利用する。基本制御器は、環境１１０の状態に対する貪欲行動を決定するための制御則である。基本制御器は、例えば、利用者によって設定される。そして、情報処理装置１００は、基本制御器により得られる貪欲行動を基準に、環境１１０についての行動範囲限界より小さい行動範囲における第１の強化学習を実施する。行動範囲限界は、基本制御器により得られた貪欲行動からどの程度離れた行動を行うことを許容するかを示し、基本制御器により得られた貪欲行動から一定以上離れた不適切な行動が行われることを防止するための条件である。行動範囲限界は、例えば、利用者によって設定される。
【００３５】
第１の強化学習は、第１の強化学習器を生成し、第１の強化学習器を利用し、行動を複数回試行し、基本制御器よりも、さらに適切と判断される貪欲行動を決定することができる第１の制御器を新たに生成する一連の処理である。第１の強化学習は、第１の強化学習器を学習し、基本制御器と組み合わせて、第１の制御器を新たに生成する。
【００３６】
第１の強化学習器は、基本制御器により得られる貪欲行動を基準とした行動範囲内で、状態行動価値関数を利用し、基本制御器により得られる貪欲行動に対する補正量となる行動を決定するための制御則である。第１の強化学習器は、学習中では、基本制御器により得られる貪欲行動をどのように補正することが好ましいかを探索するために利用され、基本制御器により得られる貪欲行動に対する補正量となる探索行動を様々に決定する。第１の強化学習器は、学習済みになり固定されると、常に、状態行動価値関数の値を最大化する貪欲行動を決定する。
【００３７】
情報処理装置１００は、例えば、一定時間ごとに、第１の強化学習器を利用し、基本制御器により最適と判断される貪欲行動を基準に、行動範囲限界より小さい行動範囲における行動の補正量となる探索行動を決定する。情報処理装置１００は、基本制御器により最適と判断される貪欲行動を、第１の強化学習器が決定した探索行動で補正し、環境１１０に対する行動を決定し、決定した行動を行う。情報処理装置１００は、探索行動に対応する報酬を観測する。情報処理装置１００は、観測結果に基づいて、第１の強化学習器を学習し、第１の強化学習器を学習済みとして固定し、基本制御器と固定した第１の強化学習器とを組み合わせて、第１の制御器を新たに生成する。第１の制御器は、基本制御器と、固定した第１の強化学習器とを含む。
【００３８】
（１−２）情報処理装置１００は、第１の制御器により得られる貪欲行動を基準に、行動範囲限界より小さい行動範囲における第２の強化学習を実施する。第２の強化学習は、第２の強化学習器を生成し、第２の強化学習器を利用し、行動を複数回試行して学習し、第１の制御器よりも、さらに適切と判断される貪欲行動を決定することができる第２の制御器を新たに生成する一連の処理である。第２の強化学習は、第２の強化学習器を学習し、第１の制御器と組み合わせて、第２の制御器を新たに生成する。
【００３９】
第２の強化学習器は、第１の制御器により得られる貪欲行動を基準とした行動範囲内で、状態行動価値関数を利用し、第１の制御器により得られる貪欲行動に対する補正量となる行動を決定するための制御則である。第２の強化学習器は、学習中では、第１の制御器により得られる貪欲行動をどのように補正することが好ましいかを探索するために利用され、第１の制御器により得られる貪欲行動に対する補正量となる探索行動を様々に決定する。第２の強化学習器は、学習済みになり固定されると、常に、第２の強化学習器の状態行動価値関数の値を最大化する貪欲行動を決定する。
【００４０】
情報処理装置１００は、例えば、一定時間ごとに、第２の強化学習器を利用し、第１の制御器により最適と判断される貪欲行動を基準に、行動範囲限界より小さい行動範囲における行動の補正量となる探索行動を決定する。情報処理装置１００は、第１の制御器により最適と判断される貪欲行動を、決定した探索行動で補正し、環境１１０に対する行動を決定し、決定した行動を行う。情報処理装置１００は、探索行動に対応する報酬を観測する。情報処理装置１００は、観測結果に基づいて、第２の強化学習器を学習し、第２の強化学習器を学習済みとして固定する。情報処理装置１００は、第１の制御器に含まれる第１の強化学習器に、学習した第２の強化学習器をマージすることにより、第２の制御器を新たに生成する。第２の制御器は、基本制御器と、第１の強化学習器と第２の強化学習器とをマージした新たな強化学習器とを含む。
【００４１】
（１−３）情報処理装置１００は、第２の制御器により得られる貪欲行動を基準に、行動範囲限界より小さい行動範囲における第３の強化学習を実施する。第３の強化学習は、第３の強化学習器を生成し、第３の強化学習器を利用し、行動を複数回試行し、第２の制御器よりも、さらに適切と判断される貪欲行動を決定することができる第３の制御器を新たに生成する一連の処理である。第３の強化学習は、第３の強化学習器を学習し、第２の制御器と組み合わせて、第３の制御器を新たに生成する。
【００４２】
第３の強化学習器は、第２の制御器により得られる貪欲行動を基準とした行動範囲内で、状態行動価値関数を利用し、第２の制御器により得られる貪欲行動に対する補正量となる行動を決定するための制御則である。第３の強化学習器は、学習中では、第２の制御器により得られる貪欲行動をどのように補正することが好ましいかを探索するために利用され、第２の制御器により得られる貪欲行動に対する補正量となる探索行動を様々に決定する。第３の強化学習器は、学習済みになり固定されると、常に、第３の強化学習器の状態行動価値関数の値を最大化する貪欲行動を決定する。
【００４３】
情報処理装置１００は、例えば、一定時間ごとに、第３の強化学習器を利用し、第２の制御器により最適と判断される貪欲行動を基準に、行動範囲限界より小さい行動範囲における行動の補正量となる探索行動を決定する。情報処理装置１００は、第２の制御器により最適と判断される貪欲行動を、決定した探索行動で補正し、環境１１０に対する行動を決定し、決定した行動を行う。情報処理装置１００は、探索行動に対応する報酬を観測する。情報処理装置１００は、観測結果に基づいて、第３の強化学習器を学習し、第３の強化学習器を学習済みとして固定する。情報処理装置１００は、第２の制御器に含まれる第１の強化学習器と第２の強化学習器とをマージした強化学習器に、さらに、学習した第３の強化学習器をマージすることにより、第３の制御器を新たに生成する。第３の制御器は、基本制御器と、第１の強化学習器と第２の強化学習器と第３の強化学習器とをマージした新たな強化学習器とを含む。
【００４４】
これにより、情報処理装置１００は、強化学習を実施する際、最新の制御器により最適と判断される貪欲行動を基準にした行動範囲内で、強化学習器により探索行動を決定することができる。このため、情報処理装置１００は、最新の制御器により最適と判断される貪欲行動から一定以上離れた行動が行われることを防止し、環境１１０に悪影響を与えるような不適切な行動が行われることを防止することができる。
【００４５】
そして、情報処理装置１００は、強化学習を繰り返す都度、不適切な行動を回避しながら、最新の制御器よりも、さらに適切であると判断される貪欲行動を決定することができる新たな制御器を生成していくことができる。結果として、情報処理装置１００は、割引累積報酬または平均報酬の増大化が図られるように、行動の価値が極大になる貪欲行動を決定可能であり、環境１１０を適切に制御可能である、適切な制御器を生成することができる。
【００４６】
また、情報処理装置１００は、強化学習の都度、最新の制御器に含まれる強化学習器に、学習した強化学習器をマージすることができる。このため、情報処理装置１００は、強化学習を繰り返しても、最新の制御器に含まれる強化学習器の数を、一定以下に維持することができる。結果として、情報処理装置１００は、最新の制御器により貪欲行動を決定する際、演算すべき強化学習器の数が一定以下になり、最新の制御器により貪欲行動を決定する際にかかる処理量の増大化を抑制することができる。
【００４７】
例えば、第１の強化学習器と第２の強化学習器とをマージしない場合、第３の強化学習を実施する際、第１の強化学習器と第２の強化学習器とが別々に処理されることになるため、貪欲行動を決定する際にかかる処理量の増大化を招く。これに対し、情報処理装置１００は、第３の強化学習を実施する際、第２の制御器に含まれる、第１の強化学習器と第２の強化学習器とをマージした１つの強化学習器を処理すれば、貪欲行動を決定することができる。このため、情報処理装置１００は、第２の制御器により貪欲行動を決定する際にかかる処理量の低減化を図ることができる。
【００４８】
ここでは、情報処理装置１００が、第３の強化学習を１回実施する場合について説明したが、これに限らない。例えば、情報処理装置１００が、直前に実施された第３の強化学習により生成された第３の制御器により得られる貪欲行動を基準に、行動範囲限界より小さい行動範囲における第３の強化学習を実施することを繰り返す場合があってもよい。この場合、情報処理装置１００が、第３の強化学習を実施する都度、前回実施した第３の強化学習により生成された第３の制御器に含まれる強化学習器に、今回実施した第３の強化学習により学習された第３の強化学習器をマージし、新たな第３の制御器を生成する。
【００４９】
これにより、情報処理装置１００は、強化学習を実施する際、最新の制御器により最適と判断される貪欲行動を基準にした行動範囲内で、強化学習器により探索行動を決定することができる。このため、情報処理装置１００は、最新の制御器により最適と判断される貪欲行動から一定以上離れた行動が行われることを防止し、環境１１０に悪影響を与えるような不適切な行動が行われることを防止することができる。
【００５０】
そして、情報処理装置１００は、強化学習を繰り返す都度、不適切な行動を回避しながら、最新の制御器よりも、さらに適切であると判断される貪欲行動を決定することができる新たな制御器を生成していくことができる。結果として、情報処理装置１００は、割引累積報酬または平均報酬の増大化が図られるように、行動の価値が極大になる貪欲行動を決定可能であり、環境１１０を適切に制御可能である、適切な制御器を生成することができる。
【００５１】
また、情報処理装置１００は、強化学習の都度、最新の制御器に含まれる強化学習器に、学習した強化学習器をマージすることができる。このため、情報処理装置１００は、強化学習を繰り返しても、最新の制御器に含まれる強化学習器の数を、一定以下に維持することができる。結果として、情報処理装置１００は、最新の制御器により貪欲行動を決定する際、演算すべき強化学習器の数が一定以下になり、最新の制御器により貪欲行動を決定する際にかかる処理量の増大化を抑制することができる。
【００５２】
例えば、過去に学習した強化学習器をマージしない場合、いずれかの第３の強化学習を実施する際、過去に学習した強化学習器のすべてが、別々に処理されることになるため、貪欲行動を決定する際にかかる処理量の増大化を招く。これに対し、情報処理装置１００は、いずれかの第３の強化学習を実施する際、過去に学習した強化学習器のすべてをマージした１つの強化学習器を処理すれば、貪欲行動を決定することができる。このため、情報処理装置１００は、貪欲行動を決定する際にかかる処理量の低減化を図ることができる。
【００５３】
ここでは、情報処理装置１００が、強化学習を実施する都度、大きさが固定された行動範囲限界を利用する場合について説明したが、これに限らない。例えば、情報処理装置１００が、強化学習を実施する都度、大きさが可変である行動範囲限界を利用する場合があってもよい。
【００５４】
（情報処理装置１００のハードウェア構成例）
次に、図２を用いて、情報処理装置１００のハードウェア構成例について説明する。
【００５５】
図２は、情報処理装置１００のハードウェア構成例を示すブロック図である。図２において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０３と、記録媒体Ｉ／Ｆ２０４と、記録媒体２０５とを有する。また、各構成部は、バス２００によってそれぞれ接続される。
【００５６】
ここで、ＣＰＵ２０１は、情報処理装置１００の全体の制御を司る。メモリ２０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されるプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させる。メモリ２０２は、図３に後述する履歴テーブル３００を記憶してもよい。
【００５７】
ネットワークＩ／Ｆ２０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ２０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ２０３には、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどを採用することができる。
【００５８】
記録媒体Ｉ／Ｆ２０４は、ＣＰＵ２０１の制御に従って記録媒体２０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ２０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体２０５は、記録媒体Ｉ／Ｆ２０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体２０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体２０５は、情報処理装置１００から着脱可能であってもよい。記録媒体２０５は、図３に後述する履歴テーブル３００を記憶してもよい。
【００５９】
情報処理装置１００は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を複数有していてもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を有していなくてもよい。
【００６０】
（履歴テーブル３００の記憶内容）
次に、図３を用いて、履歴テーブル３００の記憶内容について説明する。履歴テーブル３００は、例えば、図２に示した情報処理装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００６１】
図３は、履歴テーブル３００の記憶内容の一例を示す説明図である。図３に示すように、履歴テーブル３００は、時点のフィールドに対応付けて、状態と、探索行動と、行動と、報酬とのフィールドを有する。履歴テーブル３００は、時点ごとに各フィールドに情報を設定することにより、履歴情報が記憶される。
【００６２】
時点のフィールドには、所定時間ごとの時点が設定される。状態のフィールドには、時点における環境１１０の状態が設定される。探索行動のフィールドには、時点における環境１１０に対する探索行動が設定される。行動のフィールドには、時点における環境１１０に対する行動が設定される。報酬のフィールドには、時点における環境１１０に対する行動に対応する報酬が設定される。
【００６３】
（情報処理装置１００の機能的構成例）
次に、図４を用いて、情報処理装置１００の機能的構成例について説明する。
【００６４】
図４は、情報処理装置１００の機能的構成例を示すブロック図である。情報処理装置１００は、記憶部４００と、設定部４１１と、状態取得部４１２と、行動決定部４１３と、報酬取得部４１４と、更新部４１５と、出力部４１６とを含む。
【００６５】
記憶部４００は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域によって実現される。以下では、記憶部４００が、情報処理装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部４００が、情報処理装置１００とは異なる装置に含まれ、記憶部４００の記憶内容が情報処理装置１００から参照可能である場合があってもよい。
【００６６】
設定部４１１〜出力部４１６は、制御部４１０の一例として機能する。設定部４１１〜出力部４１６は、具体的には、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、ネットワークＩ／Ｆ２０３により、その機能を実現する。各機能部の処理結果は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶される。
【００６７】
記憶部４００は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部４００は、環境１１０に対する行動と、探索行動と、環境１１０の状態と、環境１１０からの報酬とを蓄積する。行動は、連続量である実数値である。探索行動は、貪欲行動に対する補正量となる行動である。探索行動は、ランダムな行動、または、状態行動価値関数に基づいて、その値を最大化する貪欲行動以外も含む行動である。探索行動は、環境１１０に対する行動を決定するために利用される。記憶部４００は、例えば、時点ごとに、環境１１０に対する行動と、探索行動と、環境１１０の状態と、環境１１０からの報酬とを、図３に示した履歴テーブル３００を用いて記憶する。
【００６８】
記憶部４００は、基本制御器を記憶する。基本制御器は、環境１１０の状態に対し、初期状態で最適であると判断される貪欲行動を決定するための制御則である。基本制御器は、例えば、利用者によって設定される。基本制御器は、例えば、ＰＩ制御器、または、一定の行動を出力する固定制御器などである。記憶部４００は、新たに生成される制御器を記憶する。制御器は、環境１１０の状態に対し、現状で最適であると判断される貪欲行動を決定するための制御則である。記憶部４００は、環境１１０についての行動範囲限界を記憶する。行動範囲限界は、制御器により得られる貪欲行動からどの程度離れた行動を行うことを許容するかを示し、貪欲行動から一定以上離れた不適切な行動が行われることを防止するための条件である。行動範囲限界は、例えば、利用者によって設定される。記憶部４００は、新たに生成され、強化学習に利用される強化学習器を記憶する。強化学習器は、制御器により得られる貪欲行動を基準とした、行動範囲限界より小さい行動範囲内で、状態行動価値関数を利用し、制御器により得られる貪欲行動に対する補正量となる行動を決定するための制御則である。
【００６９】
記憶部４００は、強化学習器に利用される状態行動価値関数を記憶する。状態行動価値関数は、環境１１０の状態に対し、強化学習器により得られる行動の価値を示す値を算出する関数である。行動の価値は、環境１１０における割引累積報酬または平均報酬の最大化を図るため、環境１１０における割引累積報酬または平均報酬が大きくなるほど、高くなるように設定される。行動の価値は、具体的には、環境１１０に対する行動が、報酬にどの程度寄与するかを示すＱ値である。状態行動価値関数は、多項式を用いて表現される。多項式は、状態および行動を表す変数が用いられる。記憶部４００は、例えば、状態行動価値関数を表現する多項式、および、多項式にかけられる係数を記憶する。これにより、記憶部４００は、各種情報を、各処理部が参照可能にすることができる。
【００７０】
（制御部４１０全体による各種処理についての説明）
以下の説明では、制御部４１０全体による各種処理について説明した後、制御部４１０の一例として機能する設定部４１１〜出力部４１６のそれぞれの機能部による各種処理について説明する。まず、制御部４１０全体による各種処理について説明する。
【００７１】
以下の説明では、ｉは、説明の都合上割り振った強化学習の番号を表す記号であり、何番目に実施された強化学習であるかを表す。ｊ≧ｉ≧１である。ｊは、最新の強化学習の番号である。ｊは、例えば、今回実施しようとする強化学習の番号、または、実施中の強化学習の番号である。ｊ≧１である。
【００７２】
ＲＬiは、ｉ番目の強化学習器を表す記号である。ＲＬiは、ｉ番目の強化学習により学習済みになり固定された後であることを明示する場合、上付文字ｆｉｘを付して表す。ＲＬ*iは、ＲＬ1〜ＲＬiをマージした結果に相当する強化学習器を表す記号である。ＲＬ*iは、ｉ≧２では、ＲＬ*i-1とＲＬiとをマージすれば得られる。
【００７３】
Ｃiは、ｉ番目の強化学習により生成された制御器を表す記号である。Ｃ0は、基本制御器を表す記号である。Ｃ*iは、Ｃ0が論理式で表現されておりＲＬ1〜ＲＬiとマージ可能な場合、Ｃ0とＲＬ1〜ＲＬiとをマージした結果に相当する強化学習器を表す記号である。Ｃ*iは、ｉ≧２では、Ｃ*i-1とＲＬiとをマージすれば得られる。
【００７４】
制御部４１０は、最新の制御器として、基本制御器を利用する。制御部４１０は、第１の強化学習に利用する第１の強化学習器を生成する。制御部４１０は、第１の強化学習器を利用し、基本制御器により得られる貪欲行動を基準に、行動範囲限界より小さい行動範囲における第１の強化学習を実施する。
【００７５】
制御部４１０は、例えば、一定時間ごとに、第１の強化学習器を利用し、基本制御器により最適と判断される貪欲行動を基準に、行動範囲限界より小さい行動範囲における行動の補正量となる探索行動を決定する。制御部４１０は、基本制御器により最適と判断される貪欲行動を、決定した探索行動で補正し、環境１１０に対する行動を行う。制御部４１０は、探索行動に対応する報酬を観測する。制御部４１０は、観測結果に基づいて、第１の強化学習器を学習し、第１の強化学習器を学習済みとして固定し、基本制御器と固定した第１の強化学習器とを組み合わせて、第１の制御器を新たに生成する。
【００７６】
制御部４１０は、具体的には、図５に後述する１番目の強化学習を実施する。制御部４１０は、一定時間ごとに、１番目の強化学習器ＲＬ1を用いて、基本制御器Ｃ0により得られる貪欲行動を基準とし、摂動分の行動範囲から探索行動を決定する。制御部４１０は、探索行動を決定する都度、決定した探索行動に基づき環境１１０に対する行動を行い、探索行動に対応する報酬を観測する。摂動分の行動範囲は、行動範囲限界より小さい。探索行動の決定は、例えば、ε貪欲法やボルツマン選択などを用いる。制御部４１０は、行動を複数回行った結果観測された探索行動ごとの報酬に基づき、１番目の強化学習器ＲＬ1を学習し、１番目の強化学習器ＲＬ1を学習済みとして固定する。強化学習器ＲＬ1の学習は、例えば、Ｑ学習やＳＡＲＳＡなどを用いる。制御部４１０は、基本制御器Ｃ0と、固定した１番目の強化学習器ＲＬ1fixとを含む、１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1fixを生成する。
【００７７】
これにより、制御部４１０は、第１の強化学習において、基本制御器により得られる行動から一定以上離れていない行動を行うことができ、不適切な行動を回避することができる。そして、制御部４１０は、不適切な行動を回避しながら、基本制御器よりも、適切な貪欲行動を決定可能であり、環境１１０を適切に制御可能である第１の制御器を生成することができる。
【００７８】
制御部４１０は、第１の制御器により得られる貪欲行動を基準に、行動範囲限界より小さい行動範囲における第２の強化学習を実施する。制御部４１０は、例えば、一定時間ごとに、第２の強化学習器を利用し、第１の制御器により最適と判断される貪欲行動を基準に、行動範囲限界より小さい行動範囲における行動の補正量となる探索行動を決定する。制御部４１０は、第１の制御器により最適と判断される貪欲行動を、決定した探索行動で補正し、環境１１０に対する行動を決定し、決定した行動を行う。制御部４１０は、探索行動に対応する報酬を観測する。制御部４１０は、観測結果に基づいて、第２の強化学習器を学習し、第２の強化学習器を学習済みとして固定する。制御部４１０は、第１の制御器に含まれる第１の強化学習器に、学習した第２の強化学習器をマージすることにより、第２の制御器を新たに生成する。第２の制御器は、基本制御器と、第１の強化学習器と第２の強化学習器とをマージした新たな強化学習器とを含む。マージは、多項式を用いた一階述語論理式に対して限量子消去を用いて実施される。
【００７９】
制御部４１０は、具体的には、図５に後述する２番目の強化学習を実施する。制御部４１０は、一定時間ごとに、２番目の強化学習器ＲＬ2を用いて、直前に生成された１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1fixにより得られる貪欲行動を基準とし、摂動分の行動範囲から探索行動を決定する。制御部４１０は、探索行動を決定する都度、決定した探索行動に基づき環境１１０に対する行動を行い、探索行動に対応する報酬を観測する。制御部４１０は、行動を複数回行った結果観測された探索行動ごとの報酬に基づき、２番目の強化学習器ＲＬ2を学習し、２番目の強化学習器ＲＬ2を学習済みとして固定する。制御部４１０は、直前に生成された１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1fixに含まれる第１の強化学習器ＲＬ1fixに、固定した２番目の強化学習器ＲＬ2fixをマージする。結果として、制御部４１０は、基本制御器Ｃ0と、１番目の強化学習器ＲＬ1fixと２番目の強化学習器ＲＬ2fixとをマージした結果に相当する強化学習器ＲＬ*2とを含む、２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2を生成する。
【００８０】
これにより、制御部４１０は、第２の強化学習において、第１の制御器により得られる行動から一定以上離れていない行動を行うことができ、不適切な行動を回避することができる。そして、制御部４１０は、不適切な行動を回避しながら、第１の強化学習により生成された第１の制御器よりも、適切な貪欲行動を決定可能であり、環境１１０を適切に制御可能である第２の制御器を生成することができる。また、制御部４１０は、第２の制御器に含まれる強化学習器の数の低減化を図ることができ、第２の制御器により貪欲行動を決定する際にかかる処理量の低減化を図ることができる。
【００８１】
制御部４１０は、第２の制御器により得られる貪欲行動を基準に、行動範囲限界より小さい行動範囲における第３の強化学習を実施する。制御部４１０は、例えば、一定時間ごとに、第３の強化学習器を利用し、第２の制御器により最適と判断される貪欲行動を基準に、行動範囲限界より小さい行動範囲における行動の補正量となる探索行動を決定する。制御部４１０は、第２の制御器により最適と判断される貪欲行動を、決定した探索行動で補正し、環境１１０に対する行動を決定し、決定した行動を行う。制御部４１０は、探索行動に対応する報酬を観測する。制御部４１０は、観測結果に基づいて、第３の強化学習器を学習し、第３の強化学習器を学習済みとして固定する。制御部４１０は、第２の制御器に含まれる第１の強化学習器と第２の強化学習器とをマージした強化学習器に、さらに、学習した第３の強化学習器をマージすることにより、第３の制御器を新たに生成する。第３の制御器は、基本制御器と、第１の強化学習器と第２の強化学習器と第３の強化学習器とをマージした新たな強化学習器とを含む。
【００８２】
制御部４１０は、具体的には、図５に後述する３番目の強化学習を実施する。制御部４１０は、一定時間ごとに、３番目の強化学習器ＲＬ3を用いて、直前に生成された２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2により得られる貪欲行動を基準とし、摂動分の行動範囲から探索行動を決定する。制御部４１０は、探索行動を決定する都度、決定した探索行動に基づき環境１１０に対する行動を行い、探索行動に対応する報酬を観測する。制御部４１０は、行動を複数回行った結果観測された探索行動ごとの報酬に基づき、３番目の強化学習器ＲＬ3を学習し、３番目の強化学習器ＲＬ3を学習済みとして固定する。制御部４１０は、直前に生成された２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2に含まれるマージ済みの強化学習器ＲＬ*2に、さらに、固定した３番目の強化学習器ＲＬ3fixをマージする。結果として、制御部４１０は、基本制御器Ｃ0と、１番目の強化学習器ＲＬ1fixと２番目の強化学習器ＲＬ2fixと３番目の強化学習器ＲＬ3fixとをマージした結果に相当する強化学習器ＲＬ*3とを含む、３番目の制御器Ｃ3＝Ｃ0＋ＲＬ*3を生成する。
【００８３】
これにより、制御部４１０は、第３の強化学習において、第２の制御器により得られる行動から一定以上離れていない行動を行うことができ、不適切な行動を回避することができる。そして、制御部４１０は、不適切な行動を回避しながら、第２の強化学習により生成された第２の制御器よりも、適切な貪欲行動を決定可能であり、環境１１０を適切に制御可能である第３の制御器を生成することができる。また、制御部４１０は、第３の制御器に含まれる強化学習器の数の低減化を図ることができ、第３の制御器により貪欲行動を決定する際にかかる処理量の低減化を図ることができる。
【００８４】
制御部４１０は、直前に実施された第３の強化学習により生成された第３の制御器により得られる貪欲行動を基準に、行動範囲限界より小さい行動範囲における第３の強化学習を実施することを繰り返してもよい。２度目以降の第３の強化学習は、新たな第３の強化学習器を利用し、行動を複数回試行し、直前に生成された第３の制御器よりも、さらに適切と判断される貪欲行動を決定することができる新たな第３の制御器を生成する一連の処理である。２度目以降の第３の強化学習は、第３の強化学習器を学習し、直前に生成された第３の制御器と組み合わせて、新たな第３の制御器を生成する。
【００８５】
ここでは、第３の強化学習器は、直前に生成された第３の制御器により得られる貪欲行動を基準とした行動範囲内で、状態行動価値関数を利用し、直前に生成された第３の制御器により得られる貪欲行動に対する補正量となる行動を決定するための制御則である。第３の強化学習器は、学習中では、直前に生成された第３の制御器により得られる貪欲行動をどのように補正することが好ましいかを探索するために利用され、直前に生成された第３の制御器により得られる貪欲行動に対する補正量となる探索行動を決定する。第３の強化学習器は、学習済みになり固定されると、常に、状態行動価値関数の値を最大化する貪欲行動を決定する。
【００８６】
制御部４１０は、例えば、一定時間ごとに、新たな第３の強化学習器を利用し、直前に生成された第３の制御器により最適と判断される貪欲行動を基準に、行動範囲限界より小さい行動範囲における行動の補正量となる探索行動を決定する。制御部４１０は、直前に生成された第３の制御器により最適と判断される貪欲行動を、決定した探索行動で補正し、環境１１０に対する行動を決定し、決定した行動を行う。制御部４１０は、探索行動に対応する報酬を観測する。制御部４１０は、観測結果に基づいて、第３の強化学習器を学習し、第３の強化学習器を学習済みとして固定する。制御部４１０は、直前に生成された第３の制御器に含まれる過去に学習された強化学習器をマージした強化学習器に、さらに、学習した第３の強化学習器をマージすることにより、第３の制御器を新たに生成する。第３の制御器は、基本制御器と、過去に学習された強化学習器と学習した第３の強化学習器とをマージした強化学習器とを含む。
【００８７】
制御部４１０は、具体的には、図５に後述する４番目以降の強化学習を実施する。制御部４１０は、一定時間ごとに、ｊ番目の強化学習器ＲＬjを用いて、直前に生成されたｊ−１番目の制御器Ｃj-1＝Ｃ0＋ＲＬ*j-1により得られる貪欲行動を基準とし、摂動分の行動範囲から探索行動を決定する。制御部４１０は、探索行動を決定する都度、決定した探索行動に基づき環境１１０に対する行動を行い、探索行動に対応する報酬を観測する。制御部４１０は、行動を複数回行った結果観測された探索行動ごとの報酬に基づき、ｊ番目の強化学習器ＲＬjを学習し、ｊ番目の強化学習器ＲＬjを学習済みとして固定する。制御部４１０は、直前に生成されたｊ−１番目の制御器Ｃj-1＝Ｃ0＋ＲＬ*j-1に含まれるマージ済みの強化学習器ＲＬ*j-1に、さらに、固定したｊ番目の強化学習器ＲＬjfixをマージする。結果として、制御部４１０は、基本制御器Ｃ0と、１番目の強化学習器ＲＬ1fixからｊ番目の強化学習器ＲＬjfixまでをマージした結果に相当する強化学習器ＲＬ*jとを含む、ｊ番目の制御器Ｃj＝Ｃ0＋ＲＬ*jを生成する。
【００８８】
これにより、制御部４１０は、２度目以降の第３の強化学習において、直前に学習された第３の制御器により得られる行動から一定以上離れていない行動を行うことができ、不適切な行動を回避することができる。そして、制御部４１０は、不適切な行動を回避しながら、直前に学習された第３の制御器よりも、適切な貪欲行動を決定可能であり、環境１１０を適切に制御可能である第３の制御器を新たに生成することができる。また、制御部４１０は、新たに生成した第３の制御器に含まれる強化学習器の数の低減化を図ることができ、新たに生成した第３の制御器により貪欲行動を決定する際にかかる処理量の低減化を図ることができる。
【００８９】
ここでは、制御部４１０が、基本制御器と強化学習器とをマージしない場合について説明したが、これに限らない。例えば、制御部４１０が、基本制御器と強化学習器とをマージする場合があってもよい。具体的には、基本制御器が、論理式で表現される場合、制御部４１０は、基本制御器と強化学習器とをマージしてもよい。以下の説明では、基本制御器と強化学習器とをマージする場合について説明する。
【００９０】
この場合、制御部４１０は、例えば、第１の強化学習を実施した際に、基本制御器に、学習済みとして固定した第１の強化学習器をマージすることにより、第１の制御器を生成する。第１の制御器は、基本制御器と第１の強化学習器とをマージした新たな強化学習器を含む。制御部４１０は、具体的には、１番目の強化学習器ＲＬ1を学習済みとして固定すると、基本制御器Ｃ0と固定した１番目の強化学習器ＲＬ1fixとをマージする。結果として、制御部４１０は、基本制御器Ｃ0と１番目の強化学習器ＲＬ1fixとをマージした新たな強化学習器Ｃ*1を含む、１番目の制御器Ｃ1＝Ｃ*1を生成する。
【００９１】
これにより、制御部４１０は、第１の強化学習において、基本制御器により得られる行動から一定以上離れていない行動を行うことができ、不適切な行動を回避することができる。そして、制御部４１０は、不適切な行動を回避しながら、基本制御器よりも、適切な貪欲行動を決定可能であり、環境１１０を適切に制御可能である第１の制御器を生成することができる。また、制御部４１０は、基本制御器と第１の強化学習器とをマージするため、第１の制御器により貪欲行動を決定する際にかかる処理量の低減化を図ることができる。
【００９２】
また、制御部４１０は、例えば、第２の強化学習を実施した際に、第１の制御器に、学習済みとして固定した第２の強化学習器をマージすることにより、第２の制御器を生成する。第２の制御器は、基本制御器と第１の強化学習器と第２の強化学習器とをマージした新たな強化学習器を含む。制御部４１０は、具体的には、２番目の強化学習器ＲＬ2を学習済みとして固定すると、１番目の制御器Ｃ1＝Ｃ*1と固定した２番目の強化学習器ＲＬ2fixとをマージする。結果として、制御部４１０は、１番目の制御器Ｃ1＝Ｃ*1と固定した２番目の強化学習器ＲＬ2fixとをマージした新たな強化学習器Ｃ*2を含む、２番目の制御器Ｃ2＝Ｃ*2を生成する。
【００９３】
これにより、制御部４１０は、第２の強化学習において、第１の制御器により得られる行動から一定以上離れていない行動を行うことができ、不適切な行動を回避することができる。そして、制御部４１０は、不適切な行動を回避しながら、第１の強化学習により生成された第１の制御器よりも、適切な貪欲行動を決定可能であり、環境１１０を適切に制御可能である第２の制御器を生成することができる。また、制御部４１０は、第２の制御器に含まれる強化学習器の数の低減化を図ることができ、第２の制御器により貪欲行動を決定する際にかかる処理量の低減化を図ることができる。
【００９４】
また、制御部４１０は、例えば、１度目の第３の強化学習を実施した際に、第２の制御器に、学習済みとして固定した第３の強化学習器をマージすることにより、第３の制御器を生成する。第３の制御器は、基本制御器と第１の強化学習器と第２の強化学習器と第３の強化学習器とをマージした新たな強化学習器を含む。制御部４１０は、具体的には、３番目の強化学習器ＲＬ3を学習済みとして固定すると、２番目の制御器Ｃ2＝Ｃ*2と固定した３番目の強化学習器ＲＬ3fixとをマージする。結果として、制御部４１０は、２番目の制御器Ｃ2＝Ｃ*2と固定した３番目の強化学習器ＲＬ3fixとをマージした新たな強化学習器Ｃ*3を含む、３番目の制御器Ｃ3＝Ｃ*3を生成する。
【００９５】
これにより、制御部４１０は、第３の強化学習において、第２の制御器により得られる行動から一定以上離れていない行動を行うことができ、不適切な行動を回避することができる。そして、制御部４１０は、不適切な行動を回避しながら、第２の強化学習により生成された第２の制御器よりも、適切な貪欲行動を決定可能であり、環境１１０を適切に制御可能である第３の制御器を生成することができる。また、制御部４１０は、第３の制御器に含まれる強化学習器の数の低減化を図ることができ、第３の制御器により貪欲行動を決定する際にかかる処理量の低減化を図ることができる。
【００９６】
また、制御部４１０は、例えば、２度目以降の第３の強化学習を実施した際に、直前に生成された第３の制御器に、今回実施した第３の強化学習により学習済みとして固定した第３の強化学習器をマージすることにより、新たな第３の制御器を生成する。ここでは、第３の制御器は、基本制御器と過去に学習された各種強化学習器とをマージした新たな強化学習器を含む。制御部４１０は、具体的には、ｊ番目の強化学習器ＲＬjを学習済みとして固定すると、ｊ−１番目の制御器Ｃj-1＝Ｃ*j-1と固定したｊ番目の強化学習器ＲＬjfixとをマージする。結果として、制御部４１０は、ｊ−１番目の制御器Ｃj-1＝Ｃ*j-1と固定したｊ番目の強化学習器ＲＬjfixとをマージした新たな強化学習器Ｃ*jを含む、ｊ番目の制御器Ｃj＝Ｃ*jを生成する。
【００９７】
これにより、制御部４１０は、２度目以降の第３の強化学習において、直前に学習された第３の制御器により得られる行動から一定以上離れていない行動を行うことができ、不適切な行動を回避することができる。そして、制御部４１０は、不適切な行動を回避しながら、直前に学習された第３の制御器よりも、適切な貪欲行動を決定可能であり、環境１１０を適切に制御可能である第３の制御器を新たに生成することができる。また、制御部４１０は、新たに生成した第３の制御器に含まれる強化学習器の数の低減化を図ることができ、新たに生成した第３の制御器により貪欲行動を決定する際にかかる処理量の低減化を図ることができる。
【００９８】
（設定部４１１〜出力部４１６のそれぞれの機能部による各種処理についての説明）
次に、制御部４１０の一例として機能し、第１の強化学習、第２の強化学習、および、第３の強化学習を実現する設定部４１１〜出力部４１６のそれぞれの機能部による各種処理について説明する。
【００９９】
以下の説明では、環境１１０の状態は、下記式（１）により定義される。ｖｅｃ｛ｓ｝は、環境１１０の状態を表す記号である。ｖｅｃ｛ｓ｝は、時点Ｔにおける環境１１０の状態であることを明示する場合、下付文字Ｔを付して表される。ベクトルは、文中では便宜上、ｖｅｃ｛｝を用いて表される。ベクトルは、図中および式中では、上部に→を付して表される。中抜き文字のＲは、実数空間を表す記号である。Ｒの上付文字は次元数である。ｖｅｃ｛ｓ｝は、ｎ次元である。ｓ1，・・・，ｓnは、ｖｅｃ｛ｓ｝の要素である。
【０１００】
【数１】
2020095586.tif 000003
【０１０１】
また、以下の説明では、強化学習器により得られる行動は、下記式（２）により定義される。ｖｅｃ｛ａ｝は、強化学習器により得られる行動を表す記号である。ｖｅｃ｛ａ｝は、ｍ次元である。ａ1，・・・，ａmは、ｖｅｃ｛ａ｝の要素である。ｖｅｃ｛ａ｝は、ｉ番目の強化学習器ＲＬiにより得られた行動であることを明示する場合、下付文字ｉを付して表される。ｖｅｃ｛ａ｝は、時点Ｔにおける行動であることを明示する場合、下付文字Ｔを付して表される。ｖｅｃ｛ａi｝は、ｍi次元である。ａ1，・・・，ａmiは、ｖｅｃ｛ａi｝の要素である。
【０１０２】
【数２】
2020095586.tif 000004
【０１０３】
また、以下の説明では、ｉ番目の強化学習器ＲＬiにより得られた行動ｖｅｃ｛ａi｝に基づいて決定される環境１１０に対する行動は、下記式（３）により定義される。ｖｅｃ｛α｝は、環境１１０に対する行動を表す記号である。ｖｅｃ｛α｝は、時点Ｔにおける環境１１０に対する行動であることを明示する場合、下付文字Ｔを付して表される。ｖｅｃ｛α｝は、Ｍ次元である。ｍi≦Ｍである。α1，・・・，αMは、ｖｅｃ｛α｝の要素である。
【０１０４】
【数３】
2020095586.tif 000005
【０１０５】
ｍi＜Ｍである場合、行動ｖｅｃ｛α｝を決定するために、ｉ番目の強化学習器ＲＬiにより得られた行動ｖｅｃ｛ａi｝を、関数を用いてＭ次元に拡張することになる。ｍi＜Ｍである場合に用いられる関数は、ψiとして表される。Ｍ次元に拡張した行動は、ｖｅｃ｛ａ′i｝として表される。ｖｅｃ｛ａ′i｝は、ψi（ｖｅｃ｛ａi｝）である。ｖｅｃ｛ａ′i｝は、Ｍ次元である。ｍi＝Ｍである場合、ｖｅｃ｛ａ′i｝＝ｖｅｃ｛ａi｝を用いても良い。
【０１０６】
また、以下の説明では、環境１１０からの報酬は、下記式（４）により定義される。ｒは、スカラー値である。ｒは、時点Ｔにおける環境１１０からの報酬であることを明示する場合、下付文字Ｔを付して表される。
【０１０７】
【数４】
2020095586.tif 000006
【０１０８】
また、以下の説明では、基本制御器Ｃ0により得られる貪欲行動は、ｖｅｃ｛ａ′0｝として表される。また、以下の説明では、貪欲行動ｖｅｃ｛ａ′0｝を、行動ｖｅｃ｛ａ1｝〜行動ｖｅｃ｛ａi｝により補正して得られる行動は、ｖｅｃ｛ａ″0｝として表される。
【０１０９】
また、行動ｖｅｃ｛α｝に制約がある場合、行動ｖｅｃ｛α｝を決定するために、行動ｖｅｃ｛ａ″i｝、または、行動ｖｅｃ｛ｂ″i｝を、関数を用いて補正することになる。制約は、例えば、上限値の制約、下限値の制約、上下限値の制約、または、行動範囲の制約などである。制約がある場合に用いられる関数は、ξiとして表される。ｖｅｃ｛ｂ″i｝は、ｉ＝１である場合、ξ1（ｖｅｃ｛ａ0｝＋ｖｅｃ｛ａ′1｝）である。ｖｅｃ｛ｂ″i｝は、ｉ≧２である場合、ξi（ｖｅｃ｛ｂ″i-1｝＋ｖｅｃ｛ａ′i｝）である。ｖｅｃ｛ｂ″i｝は、Ｍ次元である。行動ｖｅｃ｛ａ″i｝を補正した行動は、ｖｅｃ｛ａ′′′i｝として表される。ｖｅｃ｛ａ′′′i｝は、Ｍ次元である。ａ′′′は、ａのトリプルダッシュを示す。
【０１１０】
また、以下の説明では、強化学習器により利用される状態行動価値関数は、下記式（５）により定義される。Ｑ（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）は、状態行動価値関数を表す記号である。時点Ｔにおける状態ｖｅｃ｛ｓT｝、行動ｖｅｃ｛ａT｝に対する状態行動価値関数の値は、Ｑ（ｖｅｃ｛ｓT｝，ｖｅｃ｛ａT｝）で求められる。ωkは、状態行動価値関数を表現する係数である。φk（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）は、特徴量を表す記号である。
【０１１１】
【数５】
2020095586.tif 000007
【０１１２】
φk（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）は、下記式（６）により定義される。ζk（ｖｅｃ｛ｓ｝）は、多項式を表す記号である。
【０１１３】
【数６】
2020095586.tif 000008
【０１１４】
ζk（ｖｅｃ｛ｓ｝）は、下記式（７）により定義される。
【０１１５】
【数７】
2020095586.tif 000009
【０１１６】
ａ＾ｖｅｃ｛ｅ｝は、下記式（８）により定義される。
【０１１７】
【数８】
2020095586.tif 000010
【０１１８】
また、以下の説明では、最新の制御器は、Ｃとして表される。最新の制御器Ｃは、最初は基本制御器Ｃ0が設定され、その後、ｊ番目の強化学習が実施された際に、ｊ番目の制御器Ｃjに更新される。
【０１１９】
設定部４１１は、各処理部が用いる変数などを設定する。設定部４１１は、例えば、Ｔを０で初期化する。設定部４１１は、例えば、ｊを１で初期化する。設定部４１１は、ｊ番目の強化学習が終わると、ｊ←ｊ＋１に更新する。設定部４１１は、例えば、Ｃ←Ｃ0で初期化する。設定部４１１は、ｊ番目の強化学習が実施される際、ｊ番目の強化学習により利用および学習される強化学習器ＲＬjを設定する。設定部４１１は、ｊ番目の強化学習が終わると、Ｃ←Ｃjに更新する。これにより、設定部４１１は、変数を各処理部に利用させることができる。
【０１２０】
状態取得部４１２は、ｊ番目の強化学習の際、所定時間ごとに環境１１０の状態ｖｅｃ｛ｓ｝を取得し、取得した状態ｖｅｃ｛ｓ｝を記憶部４００に記憶する。状態取得部４１２は、例えば、所定時間ごとに、現在の時点Ｔにおける環境１１０の状態ｖｅｃ｛ｓT｝を観測し、時点Ｔに対応付けて履歴テーブル３００に記憶する。これにより、状態取得部４１２は、行動決定部４１３や更新部４１５に、環境１１０の状態ｖｅｃ｛ｓT｝を参照させることができる。
【０１２１】
行動決定部４１３は、ｊ番目の強化学習の際、ｊ番目の強化学習器ＲＬjにより探索行動ｖｅｃ｛ａj｝を決定し、探索行動ｖｅｃ｛ａj｝に基づき実際に行う環境１１０に対する行動ｖｅｃ｛α｝を決定する。そして、行動決定部４１３は、探索行動ｖｅｃ｛ａj｝と、環境１１０に対する行動ｖｅｃ｛α｝とを、記憶部４００に記憶する。
【０１２２】
例えば、ｍj＝Ｍであり、かつ、行動ｖｅｃ｛α｝の制約がない場合がある。この場合、行動決定部４１３は、具体的には、Ｃ（ｖｅｃ｛ｓT｝）＝Ｃ0（ｖｅｃ｛ｓT｝）＋ＲＬ*j-1（ｖｅｃ｛ｓT｝）を決定する。これによれば、行動決定部４１３は、実質、ｖｅｃ｛ａ′0｝＋ｖｅｃ｛ａ′1｝＋・・・＋ｖｅｃ｛ａ′j-1｝を決定することができる。次に、行動決定部４１３は、ＲＬj（ｖｅｃ｛ｓT｝）＝ｖｅｃ｛ａj｝＝ｖｅｃ｛ａ′j｝を決定する。そして、行動決定部４１３は、ｖｅｃ｛α｝＝ｖｅｃ｛ａ″j｝＝Ｃ（ｖｅｃ｛ｓT｝）＋ＲＬj（ｖｅｃ｛ｓT｝）を決定する。これによれば、行動決定部４１３は、実質、ｖｅｃ｛α｝＝ｖｅｃ｛ａ″j｝＝ｖｅｃ｛ａ′0｝＋ｖｅｃ｛ａ′1｝＋・・・＋ｖｅｃ｛ａ′j-1｝＋ｖｅｃ｛ａ′j｝を決定することができる。
【０１２３】
その後、行動決定部４１３は、環境１１０に対する行動ｖｅｃ｛α｝と、探索行動ＲＬj（ｖｅｃ｛ｓT｝）＝ｖｅｃ｛ａj｝＝ｖｅｃ｛ａ′j｝とを、履歴テーブル３００に記憶する。ｍj＝Ｍであり、かつ、行動ｖｅｃ｛α｝の制約がない場合については、より具体的には、例えば、図７を用いて後述する。
【０１２４】
これにより、行動決定部４１３は、環境１１０に対して好ましい行動を決定し、環境１１０を効率よく制御可能にすることができる。また、行動決定部４１３は、環境１１０に対する行動ｖｅｃ｛α｝を決定する際、強化学習器ＲＬ*j-1を演算すればよく、強化学習器ＲＬ1〜ＲＬj-1を１つずつ演算せずに済むため、処理量の低減化を図ることができる。
【０１２５】
また、例えば、ｍj＜Ｍであり、かつ、行動ｖｅｃ｛α｝の制約がない場合がある。この場合、行動決定部４１３は、具体的には、Ｃ（ｖｅｃ｛ｓT｝）＝Ｃ0（ｖｅｃ｛ｓT｝）＋ＲＬ*j-1（ｖｅｃ｛ｓT｝）を決定する。これによれば、行動決定部４１３は、実質、ｖｅｃ｛ａ′0｝＋ｖｅｃ｛ａ′1｝＋・・・＋ｖｅｃ｛ａ′j-1｝＝ｖｅｃ｛ａ′0｝＋ψ1（ｖｅｃ｛ａ1｝）＋・・・＋ψj-1（ｖｅｃ｛ａj-1｝）を決定することができる。次に、行動決定部４１３は、ψj（ＲＬj（ｖｅｃ｛ｓT｝））＝ψj（ｖｅｃ｛ａj｝）＝ｖｅｃ｛ａ′j｝を決定する。そして、行動決定部４１３は、ｖｅｃ｛α｝＝ｖｅｃ｛ａ″j｝＝Ｃ（ｖｅｃ｛ｓT｝）＋ψj（ＲＬj（ｖｅｃ｛ｓT｝））を決定する。これによれば、行動決定部４１３は、実質、ｖｅｃ｛α｝＝ｖｅｃ｛ａ″j｝＝ｖｅｃ｛ａ′0｝＋ｖｅｃ｛ａ′1｝＋・・・＋ｖｅｃ｛ａ′j-1｝＋ｖｅｃ｛ａ′j｝＝ｖｅｃ｛ａ′0｝＋ψ1（ｖｅｃ｛ａ1｝）＋・・・＋ψj-1（ｖｅｃ｛ａj-1｝）＋ψj（ｖｅｃ｛ａj｝）を決定することができる。
【０１２６】
その後、行動決定部４１３は、環境１１０に対する行動ｖｅｃ｛α｝と、探索行動ＲＬj（ｖｅｃ｛ｓT｝）＝ｖｅｃ｛ａj｝とを、履歴テーブル３００に記憶する。ｍj＜Ｍであり、かつ、行動ｖｅｃ｛α｝の制約がない場合については、より具体的には、例えば、図８を用いて後述する。
【０１２７】
これにより、行動決定部４１３は、環境１１０に対して好ましい行動を決定し、環境１１０を効率よく制御可能にすることができる。また、行動決定部４１３は、環境１１０に対する行動ｖｅｃ｛α｝を決定する際、強化学習器ＲＬ*j-1を演算すればよく、強化学習器ＲＬ1〜ＲＬj-1を１つずつ演算せずに済むため、処理量の低減化を図ることができる。
【０１２８】
また、例えば、ｍj＜Ｍであり、かつ、行動ｖｅｃ｛α｝の制約がある場合がある。この場合、行動決定部４１３は、具体的には、Ｃ（ｖｅｃ｛ｓT｝）＝Ｃ*j-1（ｖｅｃ｛ｓT｝）＝ｖｅｃ｛ｂ″j-1｝を決定する。これによれば、行動決定部４１３は、実質、ξj-1（・・・ξ1（ｖｅｃ｛ａ′0｝＋ｖｅｃ｛ａ′1｝）・・・＋ｖｅｃ｛ａ′j-1｝）を決定することができる。次に、行動決定部４１３は、ψj（ＲＬj（ｖｅｃ｛ｓT｝））＝ψj（ｖｅｃ｛ａj｝）＝ｖｅｃ｛ａ′j｝を決定する。そして、行動決定部４１３は、ｖｅｃ｛α｝＝ｖｅｃ｛ｂ″j｝＝ξj（Ｃ（ｖｅｃ｛ｓT｝）＋ψj（ＲＬj（ｖｅｃ｛ｓT｝）））を決定する。これによれば、行動決定部４１３は、実質、ｖｅｃ｛α｝＝ｖｅｃ｛ｂ″j｝＝ξj（ξj-1（・・・ξ1（ｖｅｃ｛ａ′0｝＋ｖｅｃ｛ａ′1｝）・・・）＋ｖｅｃ｛ａ′j-1｝）＋ｖｅｃ｛ａ′j｝）を決定することができる。ここでは、基本制御器Ｃ0は、論理式で表現されている。
【０１２９】
その後、行動決定部４１３は、環境１１０に対する行動ｖｅｃ｛α｝と、探索行動ＲＬj（ｖｅｃ｛ｓT｝）＝ｖｅｃ｛ａj｝とを、履歴テーブル３００に記憶する。ｍj＜Ｍであり、かつ、行動ｖｅｃ｛α｝の制約がある場合については、より具体的には、例えば、図９を用いて後述する。
【０１３０】
これにより、行動決定部４１３は、環境１１０に対して好ましい行動を決定し、環境１１０を効率よく制御可能にすることができる。また、行動決定部４１３は、ｍj個の行動を変更すればよく、処理量の低減化を図ることができる。また、行動決定部４１３は、環境１１０に対する行動ｖｅｃ｛α｝を決定する際、強化学習器Ｃ*j-1を演算すればよく、基本制御器Ｃ0および強化学習器ＲＬ1〜ＲＬj-1を１つずつ演算せずに済むため、処理量の低減化を図ることができる。
【０１３１】
ここでは、行動決定部４１３が、基本制御器Ｃ0により得られる行動を、強化学習器ＲＬ1〜ＲＬjにより得られる行動を用いて補正する都度、ξ1〜ξjで補正する場合について説明したが、これに限らない。例えば、行動決定部４１３が、基本制御器Ｃ0により得られる行動に、強化学習器ＲＬ1〜ＲＬjにより得られる行動を加算した後、纏めてξjで補正する場合があってもよい。これによれば、基本制御器Ｃ0が論理式で表現されない場合も、行動決定部４１３は、行動を決定することができる。
【０１３２】
この場合、行動決定部４１３は、具体的には、Ｃ（ｖｅｃ｛ｓT｝）＝Ｃ0（ｖｅｃ｛ｓT｝）＋ＲＬ*j-1（ｖｅｃ｛ｓT｝）を決定する。これによれば、行動決定部４１３は、実質、ｖｅｃ｛ａ′0｝＋ｖｅｃ｛ａ′1｝＋・・・＋ｖｅｃ｛ａ′j-1｝＝ｖｅｃ｛ａ′0｝＋ψ1（ｖｅｃ｛ａ1｝）＋・・・＋ψj-1（ｖｅｃ｛ａj-1｝）を決定することができる。次に、行動決定部４１３は、ψj（ＲＬj（ｖｅｃ｛ｓT｝））＝ψj（ｖｅｃ｛ａj｝）＝ｖｅｃ｛ａ′j｝を決定する。そして、行動決定部４１３は、ｖｅｃ｛α｝＝ξj（ｖｅｃ｛ａ″j｝）＝ξj（Ｃ（ｖｅｃ｛ｓT｝）＋ψj（ＲＬj（ｖｅｃ｛ｓT｝）））を決定する。これによれば、行動決定部４１３は、実質、ｖｅｃ｛α｝＝ξj（ｖｅｃ｛ａ″j｝）＝ξj（ｖｅｃ｛ａ′0｝＋ｖｅｃ｛ａ′1｝＋・・・＋ｖｅｃ｛ａ′j-1｝＋ｖｅｃ｛ａ′j｝）＝ξj（ｖｅｃ｛ａ′0｝＋ψ1（ｖｅｃ｛ａ1｝）＋・・・＋ψj-1（ｖｅｃ｛ａj-1｝）＋ψj（ｖｅｃ｛ａj｝））を決定することができる。
【０１３３】
その後、行動決定部４１３は、環境１１０に対する行動ｖｅｃ｛α｝と、探索行動ＲＬj（ｖｅｃ｛ｓT｝）＝ｖｅｃ｛ａj｝とを、履歴テーブル３００に記憶する。基本制御器Ｃ0により得られる行動に、強化学習器ＲＬ1〜ＲＬjにより得られる行動を加算した後、纏めてξjで補正する場合については、より具体的には、例えば、図１０を用いて後述する。
【０１３４】
これにより、行動決定部４１３は、環境１１０に対して好ましい行動を決定し、環境１１０を効率よく制御可能にすることができる。また、行動決定部４１３は、ｍj個の行動を変更すればよく、処理量の低減化を図ることができる。また、行動決定部４１３は、環境１１０に対する行動ｖｅｃ｛α｝を決定する際、強化学習器ＲＬ*j-1を演算すればよく、強化学習器ＲＬ1〜ＲＬj-1を１つずつ演算せずに済むため、処理量の低減化を図ることができる。
【０１３５】
報酬取得部４１４は、ｊ番目の強化学習の際、行動ｖｅｃ｛α｝が行われる都度、行われた行動ｖｅｃ｛α｝に対応する報酬ｒを取得し、取得した報酬ｒを記憶部４００に記憶する。報酬は、コストにマイナスをかけた値であってもよい。報酬取得部４１４は、例えば、行動ｖｅｃ｛αT｝が行われる都度、行動ｖｅｃ｛αT｝が行われてから所定時間後の時点Ｔ＋１に、環境１１０からの報酬ｒT+1を取得し、履歴テーブル３００に記憶する。これにより、報酬取得部４１４は、報酬を更新部４１５に参照させることができる。
【０１３６】
更新部４１５は、ｊ番目の強化学習の際、取得した状態ｖｅｃ｛ｓ｝、探索行動ｖｅｃ｛ａ｝、および報酬ｒに基づいて、強化学習器ＲＬjを学習し、強化学習器ＲＬjを学習済みとして固定する。更新部４１５は、現状で最新の制御器Ｃ＝Ｃj-1に、固定した強化学習器ＲＬjを組み合わせることにより、新たな制御器Ｃjを生成する。
【０１３７】
更新部４１５は、例えば、下記式（９）または下記式（１０）によりδTを算出する。γは、割引率である。ｖｅｃ｛ｂ｝は、状態ｖｅｃ｛ｓT+1｝においてＱ値を最大化することができる行動である。
【０１３８】
【数９】
2020095586.tif 000011
【０１３９】
【数１０】
2020095586.tif 000012
次に、更新部４１５は、算出したδTに基づいて、下記式（１１）により強化学習器ＲＬjに用いられる状態行動価値関数を表現する係数配列ωを更新し、強化学習器ＲＬjを常に貪欲行動を出力するように固定する。
【０１４０】
【数１１】
2020095586.tif 000013
【０１４１】
そして、更新部４１５は、固定した強化学習器ＲＬjを、現状で最新の制御器Ｃ＝Ｃj-1に追加し、新たな制御器Ｃjを生成する。この際、更新部４１５は、ｊ＝１である場合、現状で最新の制御器Ｃ＝Ｃ0であるため、新たな制御器Ｃ1＝Ｃ0＋ＲＬ1を生成する。また、更新部４１５は、ｊ＝２である場合、現状で最新の制御器Ｃ＝Ｃ1＝Ｃ0＋ＲＬ1であるため、ＲＬ1とＲＬ2とをマージしてＲＬ*2を生成し、新たな制御器Ｃ2＝Ｃ0＋ＲＬ*2を生成する。また、更新部４１５は、ｊ≧３である場合、現状で最新の制御器Ｃ＝Ｃj-1＝Ｃ0＋ＲＬ*j-1であるため、ＲＬ*j-1とＲＬjとをマージしてＲＬ*jを生成し、新たな制御器Ｃj＝Ｃ0＋ＲＬ*jを生成する。
【０１４２】
この際、更新部４１５は、具体的には、下記式（１２）〜下記式（１４）により、限量子消去を用いてマージを実現する。Ａjは、ｊ番目の強化学習器が探索行動を決定する行動範囲を表す記号である。ここでは、ｖｅｃ｛ａ｝∈Ａjは、論理式で表現される。ｖｅｃ｛ａ｝∈Ａjを表現した論理式は、文中では便宜上、論理式［Ａj（ｖｅｃ｛ａ｝）］として表される。ｖｅｃ｛ａ｝∈Ａjを表現した論理式は、図中および式中では、Ａj（ｖｅｃ｛ａ｝）の上部にバーを付して表される。
【０１４３】
また、１番目の強化学習器ＲＬ1からｉ番目の強化学習器ＲＬiまでをマージした結果に相当する強化学習器ＲＬ*iは、論理式で表現される。強化学習器ＲＬ*iを表現した論理式は、文中では便宜上、論理式［Ｐ″i（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］として表される。強化学習器ＲＬ*iを表現した論理式は、図中および式中では、Ｐ″i（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）の上部にバーを付して表される。また、関数ψiは、論理式で表現される。関数ψiを表現した論理式は、文中では便宜上、論理式［ψi（ｖｅｃ｛ａ｝，ｖｅｃ｛ａ′｝）］として表される。関数ψiを表現した論理式は、図中および式中では、ψi（ｖｅｃ｛ａ｝，ｖｅｃ｛ａ′｝）の上部にバーを付して表される。関数ＱＥは実閉体上の限量子消去を行う関数である。∃ｖｅｃ｛ａ｝は、∃ａ1，・・・，∃ａmを表す。∀ｖｅｃ｛ａ｝は、∀ａ1，・・・，∀ａmを表す。
【０１４４】
【数１２】
2020095586.tif 000014
【０１４５】
【数１３】
2020095586.tif 000015
【０１４６】
【数１４】
2020095586.tif 000016
【０１４７】
また、更新部４１５は、ｊ＝１である場合、基本制御器Ｃ0が論理式で表現可能であれば、現状で最新の制御器Ｃ＝Ｃ0に、１番目の強化学習器ＲＬ1をマージし、新たな制御器Ｃ1＝Ｃ*1を生成してもよい。また、更新部４１５は、ｊ≧２である場合、現状で最新の制御器Ｃ＝Ｃj-1＝Ｃ*j-1に、固定したｊ番目の強化学習器ＲＬjをマージし、新たな制御器Ｃj＝Ｃ*jを生成してもよい。
【０１４８】
この際、更新部４１５は、具体的には、下記式（１５）〜下記式（１８）により、限量子消去を用いてマージを実現する。ここでは、基本制御器Ｃ0と、１番目の強化学習器ＲＬ1からｉ番目の強化学習器ＲＬiまでをマージした結果に相当する新たな制御器Ｃ*iは、論理式で表現される。新たな制御器Ｃ*iを表現した論理式は、文中では便宜上、論理式［Ｃi（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ′′′｝）］として表される。新たな制御器Ｃ*iを表現した論理式は、図中および式中では、Ｃi（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ′′′｝）の上部にバーを付して表される。また、関数ξiは、論理式で表現される。関数ξiを表現した論理式は、文中では便宜上、論理式［ξi（ｖｅｃ｛ａ″｝，ｖｅｃ｛ａ′′′｝）］として表される。関数ξiを表現した論理式は、図中および式中では、ξi（ｖｅｃ｛ａ″｝，ｖｅｃ｛ａ′′′｝）の上部にバーを付して表される。
【０１４９】
【数１５】
2020095586.tif 000017
【０１５０】
【数１６】
2020095586.tif 000018
【０１５１】
【数１７】
2020095586.tif 000019
【０１５２】
【数１８】
2020095586.tif 000020
【０１５３】
これにより、更新部４１５は、ｊ番目の強化学習の際、現状で最新の制御器Ｃよりも精度のよい新たな制御器Ｃjを生成し、設定部４１１に最新の制御器Ｃとして設定させることができる。このように、設定部４１１〜更新部４１５は、上述した第１の強化学習、第２の強化学習、および、第３の強化学習を実現することができる。
【０１５４】
出力部４１６は、行動決定部４１３が決定した行動ｖｅｃ｛α｝を出力する。これにより、出力部４１６は、環境１１０を制御することができる。また、出力部４１６は、いずれかの処理部の処理結果を出力してもよい。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークＩ／Ｆ２０３による外部装置への送信、または、メモリ２０２や記録媒体２０５などの記憶領域への記憶である。これにより、出力部４１６は、いずれかの機能部の処理結果を利用者に通知可能にし、情報処理装置１００の利便性の向上を図ることができる。
【０１５５】
（情報処理装置１００の動作例）
次に、図５〜図１６を用いて、情報処理装置１００の動作例について説明する。以下の説明では、まず、動作例における環境１１０に対する問題設定について説明する。次に、図５および図６を用いて、情報処理装置１００が強化学習を繰り返す動作の流れについて説明する。そして、図７〜図１２を用いて、ｊ番目の強化学習の詳細について説明する。最後に、図１３〜図１６を用いて、情報処理装置１００により得られる効果について説明する。
【０１５６】
（動作例における環境１１０に対する問題設定）
まず、動作例における環境１１０に対する問題設定について説明する。環境１１０に対し、例えば、環境１１０における割引累積報酬または平均報酬の最大化を目的とした、割引累積報酬または平均報酬の最大化問題が設定される。また、例えば、コストにマイナスをかけた値を報酬として扱えば、環境１１０に対し、最大化問題として、実質的にコストの最小化問題が設定可能である。
【０１５７】
以下の説明では、環境１１０となる部屋にある空調設備の設定温度を行動とし、目標とする室温と実際に測定される室温との誤差の二乗和をコストとし、コストにマイナスをかけた値を報酬とした、割引累積報酬または平均報酬の最大化問題について説明する。状態は、例えば、環境１１０となる部屋の外気温である。この最大化問題を表現する各種変数および各種関数は、ここまでの説明で用いた各種変数および各種関数と同様である。
【０１５８】
（強化学習を繰り返す動作の流れ）
次に、図５を用いて、上述した最大化問題に関し、情報処理装置１００が強化学習を繰り返す動作の流れについて説明する。
【０１５９】
図５は、強化学習を繰り返す動作の流れを示す説明図である。図５の表５００は、情報処理装置１００が、１日分の外気温データに基づいて強化学習を繰り返した場合の模式図を表す。
【０１６０】
図５に示すように、情報処理装置１００は、１番目の強化学習では、１番目の強化学習器ＲＬ1を利用し、基本制御器Ｃ0による貪欲行動を基準とし、摂動分の行動範囲５０１から、摂動となる探索行動を決定する。次に、情報処理装置１００は、基本制御器Ｃ0による貪欲行動を、決定した探索行動で補正して環境１１０に対する行動を決定し、環境１１０に対する行動を行う。そして、情報処理装置１００は、基本制御器Ｃ0よりも、適切な貪欲行動を決定可能である１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1を生成する。
【０１６１】
これにより、情報処理装置１００は、基本制御器Ｃ0による貪欲行動を基準とし、摂動分の行動範囲５０１の外にある行動を、環境１１０に対する行動として決定することを防止することができる。結果として、情報処理装置１００は、環境１１０に悪影響を与えるような不適切な行動を回避しながら、１番目の強化学習を実施することができる。
【０１６２】
ここで、仮に、基本制御器Ｃ0による貪欲行動を基準とし、無制限な範囲、または、相対的に広大な行動範囲５１０などから、摂動となる探索行動を決定する場合が考えられる。この場合、行動の価値が低く、環境１１０に悪影響を与えるような不適切な行動が行われやすくなる。例えば、行動５１１が不適切な行動であれば、行動範囲５１０から探索行動を決定する場合、行動５１１が行われる可能性が生じる。一方で、情報処理装置１００は、１番目の強化学習で、行動５１１を回避することができる。
【０１６３】
情報処理装置１００は、２番目の強化学習では、２番目の強化学習器ＲＬ2を利用し、１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1による貪欲行動を基準とし、摂動分の行動範囲５０２から、摂動となる探索行動を決定する。次に、情報処理装置１００は、１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1による貪欲行動を、決定した探索行動で補正して環境１１０に対する行動を決定し、環境１１０に対する行動を行う。そして、情報処理装置１００は、１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1に含まれる１番目の強化学習器ＲＬ1に、２番目の強化学習器ＲＬ2をマージすることにより、２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2を生成する。
【０１６４】
情報処理装置１００は、３番目の強化学習では、３番目の強化学習器ＲＬ3を利用し、２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2による貪欲行動を基準とし、摂動分の行動範囲５０３から、摂動となる探索行動を決定する。次に、情報処理装置１００は、２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2による貪欲行動を、決定した探索行動で補正して環境１１０に対する行動を決定し、環境１１０に対する行動を行う。そして、情報処理装置１００は、２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2に含まれる強化学習器ＲＬ*2に、３番目の強化学習器ＲＬ3をマージすることにより、３番目の制御器Ｃ3＝Ｃ0＋ＲＬ*3を生成する。
【０１６５】
情報処理装置１００は、４番目の強化学習では、４番目の強化学習器ＲＬ4を利用し、３番目の制御器Ｃ3＝Ｃ0＋ＲＬ*3による貪欲行動を基準とし、摂動分の行動範囲５０４から、摂動となる探索行動を決定する。次に、情報処理装置１００は、３番目の制御器Ｃ3＝Ｃ0＋ＲＬ*3による貪欲行動を、決定した探索行動で補正して環境１１０に対する行動を決定し、環境１１０に対する行動を行う。そして、情報処理装置１００は、３番目の制御器Ｃ3＝Ｃ0＋ＲＬ*3に含まれる強化学習器ＲＬ*3に、４番目の強化学習器ＲＬ4をマージすることにより、４番目の制御器Ｃ4＝Ｃ0＋ＲＬ*4を生成する。
【０１６６】
情報処理装置１００は、５番目の強化学習では、５番目の強化学習器ＲＬ5を利用し、４番目の制御器Ｃ4＝Ｃ0＋ＲＬ*4による貪欲行動を基準とし、摂動分の行動範囲５０５から、摂動となる探索行動を決定する。次に、情報処理装置１００は、４番目の制御器Ｃ4＝Ｃ0＋ＲＬ*4による貪欲行動を、決定した探索行動で補正して環境１１０に対する行動を決定し、環境１１０に対する行動を行う。そして、情報処理装置１００は、４番目の制御器Ｃ4＝Ｃ0＋ＲＬ*4に含まれる強化学習器ＲＬ*4に、５番目の強化学習器ＲＬ5をマージすることにより、５番目の制御器Ｃ5＝Ｃ0＋ＲＬ*5を生成する。
【０１６７】
情報処理装置１００は、同様に、６番目以降の強化学習を繰り返す。情報処理装置１００は、例えば、ｊ番目の強化学習では、行動範囲５０６から、摂動となる探索行動を決定し、貪欲行動を探索行動で補正して環境１１０に対する行動を決定する。
【０１６８】
これにより、情報処理装置１００は、ｉ番目の強化学習で、最新の制御器Ｃi-1による貪欲行動を基準とし、摂動分の行動範囲の外にある行動を、環境１１０に対する行動として決定することを防止することができる。結果として、情報処理装置１００は、環境１１０に悪影響を与えるような不適切な行動を回避しながら、ｉ番目の強化学習を実施することができる。
【０１６９】
ここで、仮に、ｉ≧２のｉ番目の強化学習を実施する都度、ｉ−１番目の制御器Ｃi-1に、ｉ番目の強化学習器ＲＬiをマージせずに追加していく場合が考えられる。この場合、ｊ番目の強化学習で、ｊ番目の制御器Ｃjを用いて貪欲行動を決定するためには、下記式（１９）を解くことになる。
【０１７０】
【数１９】
2020095586.tif 000021
【０１７１】
上記式（１９）に示すように、マージを行わないと、ｊ番目の制御器Ｃjを用いて貪欲行動を決定するためには、１番目の強化学習器ＲＬ1からｊ番目の強化学習器ＲＬjまでを１つ１つ演算することになり、処理量の増大化を招く。一方で、情報処理装置１００は、ｉ≧２のｉ番目の強化学習を実施する都度、ｉ−１番目の制御器Ｃi-1に、ｉ番目の強化学習器ＲＬiを、マージにより追加していくことができる。このため、情報処理装置１００は、ｊ番目の制御器Ｃjを用いて貪欲行動を決定する際、強化学習器ＲＬ*jを演算すればよく、処理量の増大化を抑制することができる。
【０１７２】
（探索行動を決定する行動範囲の変化）
次に、図６を用いて、情報処理装置１００が強化学習を繰り返した場合に、探索行動を決定する行動範囲がどのように変化していくのかについて具体的に説明する。
【０１７３】
図６は、探索行動を決定する行動範囲の変化を示す説明図である。図６の各表６００〜６２０は、それぞれ、環境１１０の状態に対する貪欲行動の一例を表す。ここでは、基本制御器Ｃ0は、設定温度を一定に制御するため、状態に対する貪欲行動が直線状になる固定制御器である。
【０１７４】
情報処理装置１００は、例えば、１番目の強化学習では、表６００に示すように、基本制御器Ｃ0により得られる貪欲行動を基準とし、摂動分の行動範囲から、摂動となる探索行動を決定し、強化学習器ＲＬ1を学習する。そして、情報処理装置１００は、基本制御器Ｃ0と強化学習器ＲＬ1とを組み合わせて、１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1を生成する。これにより、情報処理装置１００は、直線状ではなく、より柔軟に、環境１１０の各状態に対する貪欲行動を表すことが可能な１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1を生成することができる。１番目の制御器Ｃ0＋ＲＬ1は、表６１０に示すように、状態に対する貪欲行動を、曲線状に表すことができ、環境１１０の各状態に対し、適切な貪欲行動を表すことができる。
【０１７５】
情報処理装置１００は、例えば、２番目の強化学習では、表６１０に示すように、１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1が決定する行動を基準とし、摂動分の行動範囲から、摂動となる探索行動を決定し、強化学習器ＲＬ2を学習する。そして、情報処理装置１００は、１番目の制御器Ｃ1＝Ｃ0＋ＲＬ1と強化学習器ＲＬ2とを組み合わせて、２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2を生成する。これにより、情報処理装置１００は、さらに柔軟に、環境１１０の各状態に対する貪欲行動を表すことが可能な２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2を生成することができる。２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2は、表６２０に示すように、状態に対する貪欲行動を、曲線状に表すことができ、環境１１０の各状態に対し、適切な貪欲行動を表すことができる。
【０１７６】
情報処理装置１００は、例えば、３番目の強化学習では、表６２０に示すように、２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2が決定する行動を基準とし、摂動分の行動範囲から、摂動となる探索行動を決定し、強化学習器ＲＬ3を学習する。そして、情報処理装置１００は、２番目の制御器Ｃ2＝Ｃ0＋ＲＬ*2と強化学習器ＲＬ3とを組み合わせて、３番目の制御器Ｃ3＝Ｃ0＋ＲＬ*3を生成する。これにより、情報処理装置１００は、さらに柔軟に、環境１１０の各状態に対する貪欲行動を表すことが可能な３番目の制御器Ｃ3＝Ｃ0＋ＲＬ*3を生成することができる。３番目の制御器Ｃ3＝Ｃ0＋ＲＬ*3は、状態に対する貪欲行動を曲線状に表すことができ、環境１１０の各状態に対し、適切な貪欲行動を表すことができる。
【０１７７】
このように、情報処理装置１００は、環境１１０の各状態に対して取りうる探索行動を決定する行動範囲を徐々に動かしながら、強化学習を繰り返すことができる。そして、情報処理装置１００は、各状態に対して適切な行動が決定可能になるように制御器を生成することができ、不適切な行動を回避しながら、環境１１０を精度よく制御することができる。
【０１７８】
（ｊ番目の強化学習の詳細）
次に、図７〜図１２を用いて、ｊ番目の強化学習の詳細について説明する。図７〜図１２の例では、設定温度を変更可能な空調設備が２０台あるような環境１１０である場合を例とする。このため、Ｍは、２０である。
【０１７９】
図７は、ｍj＝Ｍであり、かつ、行動の制約がない場合における、ｊ番目の強化学習の詳細を示す説明図である。ｍj＝Ｍである場合は、例えば、ｊ番目の強化学習器ＲＬjにより、最新の制御器Ｃにより得られるＭ次元の貪欲行動ｖｅｃ｛ａ″j-1｝のすべての要素に、摂動となる探索行動ｖｅｃ｛ａj｝＝ｖｅｃ｛ａ′j｝を加えることが可能な場合である。
【０１８０】
この場合、探索行動ｖｅｃ｛ａj｝の行動範囲の一例は、論理式で表現すると、例えば、下記式（２０）のように表現される。具体的には、探索行動ｖｅｃ｛ａj｝の要素ａxは、−１０〜１０までの行動範囲に含まれる。
【０１８１】
【数２０】
2020095586.tif 000022
【０１８２】
また、この場合、探索行動ｖｅｃ｛ａj｝＝ｖｅｃ｛ａ′j｝であるため、ｖｅｃ｛ａj｝をｖｅｃ｛ａ′j｝に変換するための関数ψjは、論理式で表現すると、下記式（２１）のように表現される。このため、実質的には、関数ψjは利用されない。
【０１８３】
【数２１】
2020095586.tif 000023
【０１８４】
図７に示すように、ｊ番目の強化学習では、貪欲行動ｖｅｃ｛ａ0｝と、ｊ＞ｉ≧１の貪欲行動ｖｅｃ｛ａi｝と、探索行動ｖｅｃ｛ａj｝との和を、環境１１０に対する行動ｖｅｃ｛α｝とすればよい。貪欲行動ｖｅｃ｛ａ0｝は、環境１１０の状態ｖｅｃ｛ｓT｝に基づき、基本制御器Ｃ0により得られる。ｊ＞ｉ≧１の貪欲行動ｖｅｃ｛ａi｝は、環境１１０の状態ｖｅｃ｛ｓT｝に基づき、ｉ番目の強化学習器ＲＬiにより得られる。探索行動ｖｅｃ｛ａj｝は、ｊ番目の強化学習器ＲＬjにより得られる。
【０１８５】
ここで、上述したように、マージを行わないと、ｊ番目の強化学習で、ｊ−１≧ｉ≧１の貪欲行動ｖｅｃ｛ａi｝を１つ１つ演算することになり、処理量の増大化を招く。従って、情報処理装置１００は、１番目の強化学習器ＲＬ1からｊ−１番目の強化学習器ＲＬj-1までをマージすることが好ましい。マージの具体例については、図１１を用いて後述する。
【０１８６】
図８は、ｍj＜Ｍであり、かつ、行動の制約がない場合における、ｊ番目の強化学習の詳細を示す説明図である。ｍj＜Ｍである場合は、例えば、ｊ番目の強化学習器ＲＬjにより、最新の制御器Ｃにより得られるＭ次元の貪欲行動ｖｅｃ｛ａ″j-1｝の一部の要素を、摂動となる探索行動ｖｅｃ｛ａj｝を用いて補正しようとする場合である。
【０１８７】
この場合、探索行動ｖｅｃ｛ａj｝の行動範囲の一例は、論理式で表現すると、例えば、下記式（２２）のように表現される。具体的には、探索行動ｖｅｃ｛ａj｝の要素ａxは、−２０〜２０までの行動範囲に含まれる。ａxは、ａ1，ａ2，ａ3である。
【０１８８】
【数２２】
2020095586.tif 000024
【０１８９】
また、この場合、探索行動ｖｅｃ｛ａj｝を、Ｍ次元に拡張し、ｖｅｃ｛ａ′j｝に変換するための関数ψjは、論理式で表現すると、下記式（２３）のように表現される。
【０１９０】
【数２３】
2020095586.tif 000025
【０１９１】
上記式（２２）および上記式（２３）は、具体的には、２０台の空調設備の中からランダムに選択した３台の空調設備に関して、探索行動ｖｅｃ｛ａj｝を決定することを意味する。また、未選択の空調設備に関しては、探索行動ｖｅｃ｛ａj｝が決定されない。
【０１９２】
これによれば、情報処理装置１００は、探索行動ｖｅｃ｛ａj｝として、ｊ番目の強化学習器ＲＬjにより決定すべき要素ａxの数の低減化を図ることができ、ｊ番目の強化学習における学習回数の増大化を抑制することができる。このため、情報処理装置１００は、ｊ番目の強化学習にかかる処理量の低減化を図ることができる。
【０１９３】
図８に示すように、ｊ番目の強化学習では、貪欲行動ｖｅｃ｛ａ0｝と、ｊ≧ｉ≧１の行動ｖｅｃ｛ａ′i｝との和を、環境１１０に対する行動ｖｅｃ｛α｝とすればよい。貪欲行動ｖｅｃ｛ａ0｝は、環境１１０の状態ｖｅｃ｛ｓT｝に基づき、基本制御器Ｃ0により得られる。ｊ＞ｉ≧１の行動ｖｅｃ｛ａ′i｝は、貪欲行動ｖｅｃ｛ａi｝をψiで補正して得られる。ｊ＞ｉ≧１の貪欲行動ｖｅｃ｛ａi｝は、環境１１０の状態ｖｅｃ｛ｓT｝に基づき、ｉ番目の強化学習器ＲＬiにより得られる。行動ｖｅｃ｛ａ′j｝は、探索行動ｖｅｃ｛ａj｝をψjで補正して得られる。探索行動ｖｅｃ｛ａj｝は、ｊ番目の強化学習器ＲＬjにより得られる。
【０１９４】
ここで、上述したように、マージを行わないと、ｊ番目の強化学習で、ｊ−１≧ｉ≧１の貪欲行動ｖｅｃ｛ａi｝を１つ１つ演算することになり、処理量の増大化を招く。従って、情報処理装置１００は、１番目の強化学習器ＲＬ1からｊ−１番目の強化学習器ＲＬj-1までをマージすることが好ましい。マージの具体例については、図１１を用いて後述する。
【０１９５】
ここでは、情報処理装置１００が、最新の制御器Ｃにより得られるＭ次元の貪欲行動ｖｅｃ｛ａ″j-1｝の一部の要素を、摂動となる探索行動ｖｅｃ｛ａj｝を用いて補正しようとする場合について説明したが、これに限らない。
【０１９６】
例えば、情報処理装置１００が、探索行動ｖｅｃ｛ａj｝の要素ａxをグループ化し、グループごとに要素ａxを同じ値に決定する場合があってもよい。この場合、探索行動ｖｅｃ｛ａj｝の行動範囲の一例は、論理式で表現すると、下記式（２４）のように表現される。具体的には、探索行動ｖｅｃ｛ａj｝の要素ａxは、−１０〜１０までの行動範囲に含まれる。ａxは、ａ1，ａ2，ａ3である。
【０１９７】
【数２４】
2020095586.tif 000026
【０１９８】
また、この場合、探索行動ｖｅｃ｛ａj｝を、Ｍ次元に拡張し、ｖｅｃ｛ａ′j｝に変換するための関数ψjは、論理式で表現すると、下記式（２５）のように表現される。
【０１９９】
【数２５】
2020095586.tif 000027
【０２００】
上記式（２４）および上記式（２５）は、具体的には、２０台の空調設備をランダムに３グループに分類し、３グループに関して、探索行動ｖｅｃ｛ａj｝を決定することを意味する。これによれば、情報処理装置１００は、探索行動ｖｅｃ｛ａj｝として、ｊ番目の強化学習器ＲＬjにより決定すべき要素ａxの数の低減化を図ることができ、ｊ番目の強化学習における学習回数の増大化を抑制することができる。このため、情報処理装置１００は、ｊ番目の強化学習にかかる処理量の低減化を図ることができる。
【０２０１】
図９は、ｍj＜Ｍであり、かつ、行動の制約がある場合における、ｊ番目の強化学習の詳細を示す説明図である。この場合、説明の簡略化のため要素ａ1を例に挙げると、行動の制約の一例は、下記式（２６）により表される。ａ1+は、要素ａ1の上限を示す。ａ1-は、要素ａ1の下限を示す。
【０２０２】
【数２６】
2020095586.tif 000028
【０２０３】
このため、要素ａ1を補正するための関数ξiは、下記式（２７）により表される。また、要素ａ1を補正するための関数ξiは、論理式で表現すると、例えば、下記式（２８）のように表現される。
【０２０４】
【数２７】
2020095586.tif 000029
【０２０５】
【数２８】
2020095586.tif 000030
【０２０６】
上記式（２７）および上記式（２８）は、具体的には、要素ａ1が、ａ+を超えると、要素ａ′1が、ａ+に設定されることを意味する。また、要素ａ1が、ａ-を下回ると、要素ａ′1が、ａ-に設定されることを意味する。
【０２０７】
図９に示すように、ｊ番目の強化学習では、下記式（２９）が示すＣj（ｖｅｃ｛ｓT｝）を、環境１１０に対する行動ｖｅｃ｛α｝とすればよい。また、下記式（２９）は、下記式（３０）として表現することができる。
【０２０８】
【数２９】
2020095586.tif 000031
【０２０９】
【数３０】
2020095586.tif 000032
【０２１０】
貪欲行動ｖｅｃ｛ａ0｝は、環境１１０の状態ｖｅｃ｛ｓT｝に基づき、基本制御器Ｃ0により得られる。ｊ＞ｉ≧１の行動ｖｅｃ｛ａ′i｝は、貪欲行動ｖｅｃ｛ａi｝をψiで補正して得られる。ｊ＞ｉ≧１の貪欲行動ｖｅｃ｛ａi｝は、環境１１０の状態ｖｅｃ｛ｓT｝に基づき、ｉ番目の強化学習器ＲＬiにより得られる。行動ｖｅｃ｛ａ′j｝は、探索行動ｖｅｃ｛ａj｝をψjで補正して得られる。探索行動ｖｅｃ｛ａj｝は、ｊ番目の強化学習器ＲＬjにより得られる。行動ｖｅｃ｛ｂ″1｝は、ξ1（ｖｅｃ｛ａ0｝＋ｖｅｃ｛ａ′1｝）である。ｖｅｃ｛ｂ″i｝は、ｉ≧２である場合、ξi（ｖｅｃ｛ｂ″i-1｝＋ｖｅｃ｛ａ′i｝）である。
【０２１１】
ここで、上述したように、マージを行わないと、ｊ番目の強化学習で、ｊ−１≧ｉ≧０の貪欲行動ｖｅｃ｛ａi｝を１つ１つ演算することになり、処理量の増大化を招く。従って、情報処理装置１００は、基本制御器Ｃ0と、１番目の強化学習器ＲＬ1からｊ−１番目の強化学習器ＲＬj-1までとをマージすることが好ましい。基本制御器Ｃ0を含むマージの具体例については、図１２を用いて後述する。
【０２１２】
ここでは、情報処理装置１００が、貪欲行動ｖｅｃ｛ａ0｝を、ｊ＞ｉ≧１の行動ｖｅｃ｛ａ′i｝を用いて補正する都度、さらにξ1〜ξjにより制約に合わせて補正する場合について説明したが、これに限らない。例えば、情報処理装置１００が、貪欲行動ｖｅｃ｛ａ0｝を、ｊ＞ｉ≧１の行動ｖｅｃ｛ａ′i｝を用いて補正した後、纏めてξjで補正する場合があってもよい。この場合について図１０を用いて説明する。
【０２１３】
図１０は、行動を纏めて補正する場合における、ｊ番目の強化学習の詳細を示す説明図である。図１０に示すように、ｊ番目の強化学習では、上記式（１９）が示すＣj（ｖｅｃ｛ｓT｝）を、環境１１０に対する行動ｖｅｃ｛α｝とすればよい。
【０２１４】
貪欲行動ｖｅｃ｛ａ0｝は、環境１１０の状態ｖｅｃ｛ｓT｝に基づき、基本制御器Ｃ0により得られる。ｊ＞ｉ≧１の行動ｖｅｃ｛ａ′i｝は、貪欲行動ｖｅｃ｛ａi｝をψiで補正して得られる。ｊ＞ｉ≧１の貪欲行動ｖｅｃ｛ａi｝は、環境１１０の状態ｖｅｃ｛ｓT｝に基づき、ｉ番目の強化学習器ＲＬiにより得られる。行動ｖｅｃ｛ａ′j｝は、探索行動ｖｅｃ｛ａj｝をψjで補正して得られる。探索行動ｖｅｃ｛ａj｝は、ｊ番目の強化学習器ＲＬjにより得られる。行動ｖｅｃ｛ａ″i｝は、ｖｅｃ｛ａ′0｝＋・・・＋ｖｅｃ｛ａ′i｝である。
【０２１５】
ここで、上述したように、マージを行わないと、ｊ番目の強化学習で、ｊ−１≧ｉ≧１の貪欲行動ｖｅｃ｛ａi｝を１つ１つ演算することになり、処理量の増大化を招く。従って、情報処理装置１００は、１番目の強化学習器ＲＬ1からｊ−１番目の強化学習器ＲＬj-1までをマージすることが好ましい。マージの具体例については、図１１を用いて後述する。ここで、図１１の説明に移行する。
【０２１６】
図１１は、マージの具体例を示す説明図である。図１１の例では、具体的には、図７で説明したマージと、図８で説明したマージと、図１０で説明したマージとのうち、図１０で説明したマージを代表例として説明する。
【０２１７】
図１０では、上記式（１９）により、ｊ番目の制御器Ｃj（ｖｅｃ｛ｓT｝）が表現される。ここで、上記式（１９）に含まれ、下記式（３１）〜下記式（３３）に示す部分式は、一階述語論理式で記述可能である。
【０２１８】
【数３１】
2020095586.tif 000033
【０２１９】
【数３２】
2020095586.tif 000034
【０２２０】
【数３３】
2020095586.tif 000035
【０２２１】
上記式（３１）〜上記式（３３）は、具体的には、一階述語論理式で表現すると、下記式（３４）〜下記式（３６）により表される。
【０２２２】
【数３４】
2020095586.tif 000036
【０２２３】
【数３５】
2020095586.tif 000037
【０２２４】
【数３６】
2020095586.tif 000038
【０２２５】
ここで、∃ｖｅｃ｛ａ｝は、∃ａ1，・・・，∃ａmを表す。ｖｅｃ｛ａ′j｝＝ａ′j1，・・・，ａ′jmとすれば、ｖｅｃ｛ａ″i｝＝ｖｅｃ｛ａ′0｝＋・・・＋ｖｅｃ｛ａ′i｝＝ａ′11＋・・・＋ａ′j1∧・・・∧ａ′1M＋・・・＋ａ′jMである。
【０２２６】
このように、上記式（３４）〜上記式（３６）は、一階述語論理式で表現されるため、限量子消去を適用可能になる。このため、情報処理装置１００は、限量子消去を適用し、ｊ番目の強化学習では、１番目の強化学習器ＲＬ1からｊ番目の強化学習器ＲＬjまでがマージされた強化学習器ＲＬ*jを、論理式として生成することができる。
【０２２７】
また、情報処理装置１００は、図１１に示すように、ｊ番目の強化学習では、１番目の強化学習器ＲＬ1からｊ−１番目の強化学習器ＲＬj-1までがマージされた強化学習器ＲＬ*j-1を利用することができる。情報処理装置１００は、例えば、基本制御器Ｃ0と、強化学習器ＲＬ*j-1と、強化学習器ＲＬjとを演算すればよく、１番目の強化学習器ＲＬ1からｊ−１番目の強化学習器ＲＬj-1までを１つ１つ演算しなくてよいため、処理量の低減化を図ることができる。情報処理装置１００は、より具体的には、図２３に後述するマージ処理を実行すれば、マージを実現することができる。
【０２２８】
図１２は、基本制御器Ｃ0を含むマージの具体例を示す説明図である。図１２の例では、具体的には、図９で説明したマージについて説明する。図９では、上記式（３０）により、ｊ番目の制御器Ｃj（ｖｅｃ｛ｓT｝）が表現される。
【０２２９】
ここで、上記式（３１）〜上記式（３３）は、具体的には、一階述語論理式で表現され、上記式（３４）〜上記式（３６）により表される。また、前回のｊ−１番目の強化学習で、ｊ−１番目の制御器Ｃj-1は、論理式［Ｃj-1（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］として表される。
【０２３０】
このため、情報処理装置１００は、下記式（３７）に対し、限量子消去を適用し、ｊ番目の強化学習で、ｊ−１番目の制御器Ｃj-1に、ｊ番目の強化学習器ＲＬjがマージされた、新たなｊ番目の制御器Ｃjを、論理式として生成することができる。
【０２３１】
【数３７】
2020095586.tif 000039
【０２３２】
また、情報処理装置１００は、ｊ番目の強化学習では、ｊ−１番目の制御器Ｃj-1を表す論理式［Ｃj-1（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］を利用することができる。情報処理装置１００は、例えば、ｊ−１番目の制御器Ｃj-1と、強化学習器ＲＬjとを演算すればよく、基本制御器Ｃ0と、１番目の強化学習器ＲＬ1からｊ−１番目の強化学習器ＲＬj-1までとを演算しなくてよいため、処理量の低減化を図ることができる。情報処理装置１００は、具体的には、図２４に後述するマージ処理を実行すれば、マージを実現することができる。
【０２３３】
（情報処理装置１００により得られる効果）
次に、図１３〜図１６を用いて、情報処理装置１００により得られる効果について説明する。まず、図１３を用いて、情報処理装置１００による具体的な環境１１０の制御例について説明する。
【０２３４】
図１３は、具体的な環境１１０の制御例を示す説明図である。図１３の例では、環境１１０は、各部屋に空調機が存在する３部屋の室温である。目的は、各部屋の現在の室温と、目標とする温度の誤差の二乗和を最小化することである。
【０２３５】
基本制御器Ｃ0は、ＰＩ制御器が用いられる。サンプリング時間は、１分であり、一日あたり１４４０ステップである。学習繰り返し数（エピソード数）は、１５００であり、３００エピソードごとに新たな強化学習器ＲＬjを追加する。ｊ≧１である。強化学習器ＲＬjは、−０．０２５と０と０．０２５との３つの行動のいずれかを、摂動となる探索行動ｖｅｃ｛ａj｝の各要素として出力する。
【０２３６】
情報処理装置１００は、図１３のグラフ１３００に示すように、１日分の外気温データに基づいて強化学習を繰り返す。情報処理装置１００は、例えば、１番目の強化学習では、基本制御器Ｃ0により得られる貪欲行動ｖｅｃ｛ａ0｝の各要素を、−０．０２５〜０．０２５の行動範囲１３０１で変化させ、強化学習器ＲＬ1を学習し、１番目の制御器Ｃ1を生成する。
【０２３７】
情報処理装置１００は、例えば、２番目の強化学習では、１番目の制御器Ｃ1により得られる貪欲行動ｖｅｃ｛ａ1｝の各要素を、−０．０２５〜０．０２５の行動範囲１３０２で変化させ、強化学習器ＲＬ2を学習し、２番目の制御器Ｃ2を生成する。これにより、情報処理装置１００は、基本制御器Ｃ0により得られた最初の貪欲行動ｖｅｃ｛ａ0｝から、最大で−０．０５〜０．０５離れた行動を試行することができる。
【０２３８】
情報処理装置１００は、３番目の強化学習では、２番目の制御器Ｃ2により得られる貪欲行動ｖｅｃ｛ａ2｝の各要素を、−０．０２５〜０．０２５の行動範囲１３０３で変化させ、強化学習器ＲＬ3を学習し、３番目の制御器Ｃ3を生成する。これにより、情報処理装置１００は、基本制御器Ｃ0により得られた最初の貪欲行動ｖｅｃ｛ａ0｝から、最大で−０．０７５〜０．０７５離れた行動を試行することができる。
【０２３９】
情報処理装置１００は、同様に、４番目以降の強化学習を実施する。情報処理装置１００は、ｊ番目の強化学習では、ｊ−１番目の制御器Ｃj-1により得られる貪欲行動ｖｅｃ｛ａj-1｝の各要素を、−０．０２５〜０．０２５の行動範囲１３０４で変化させ、強化学習器ＲＬjを学習し、ｊ番目の制御器Ｃjを生成する。このように、情報処理装置１００は、強化学習ＲＬjごとに探索する行動範囲Ａjが比較的狭くても、強化学習ＲＬjを繰り返すことで、基本制御器Ｃ0により得られた最初の貪欲行動ｖｅｃ｛ａ0｝から大きく離れた行動を試行することができる。
【０２４０】
従って、情報処理装置１００は、強化学習ＲＬjごとに探索する行動範囲Ａjが比較的狭くても、最終的に、行動の価値が極大になる貪欲行動を決定可能であり、環境１１０を適切に制御可能であるｊ番目の制御器Ｃjを生成することができる。また、情報処理装置１００は、強化学習ＲＬjごとに探索する行動範囲Ａjが比較的狭いため、強化学習ＲＬjごとの行動試行回数の低減化を図り、処理量の低減化を図ることができる。
【０２４１】
次に、図１４および図１５を用いて、図１３の制御例において、情報処理装置１００が、強化学習を繰り返した結果について説明する。
【０２４２】
図１４および図１５は、強化学習を繰り返した結果を示す説明図である。図１４のグラフ１４００は、基本制御器で環境１１０を制御した場合、基本制御器とＱ学習とで環境１１０を制御した場合、および、情報処理装置１００が行動範囲限界に基づく探索により環境１１０を制御した場合の、室温と設定温度の誤差の二乗和の変化を表す。図１４では、１エピソード＝４００ステップである。
【０２４３】
図１４に示すように、基本制御器で環境１１０を制御した場合、二乗誤差を低減することが難しい。一方で、基本制御器とＱ学習とで環境１１０を制御した場合、学習の前半では、二乗誤差が大きくなってしまうことがあり、環境１１０に悪影響を与えてしまうことがある。これに対し、情報処理装置１００は、二乗誤差が大きくなるような環境１１０に悪影響を与えてしまう行動を回避しながら、二乗誤差を低減していくことができる。
【０２４４】
図１５のグラフ１５００は、基本制御器で環境１１０を制御した場合、基本制御器とＱ学習とで環境１１０を制御した場合、および、情報処理装置１００が行動範囲限界に基づく探索により環境１１０を制御した場合の、室温と設定温度の誤差の二乗和の変化を表す。図１５では、１エピソード＝５００ステップである。
【０２４５】
図１５に示すように、基本制御器で環境１１０を制御した場合、二乗誤差を低減することが難しい。一方で、基本制御器とＱ学習とで環境１１０を制御した場合、二乗誤差が大きくなってしまうことがあり、環境１１０に悪影響を与えてしまうことがある。これに対し、情報処理装置１００は、二乗誤差が大きくなるような環境１１０に悪影響を与えてしまう行動を回避しながら、二乗誤差を低減していくことができる。
【０２４６】
次に、図１６を用いて、強化学習ごとの処理量の変化について説明する。
【０２４７】
図１６は、強化学習ごとの処理量の変化を示す説明図である。図１６に示すように、強化学習器をマージしない場合、強化学習が繰り返されるほど、最新の制御器に含まれる強化学習器の数の増大化を招く。このため、強化学習が繰り返されるほど、最新の制御器により貪欲行動を決定する際にかかる処理量や計算時間は、強化学習器の数に比例して増大してしまう。
【０２４８】
これに対し、情報処理装置１００は、強化学習器をマージすることができる。このため、情報処理装置１００は、強化学習を繰り返しても、最新の制御器に含まれる強化学習の数が一定以下になるようにすることができる。結果として、強化学習が繰り返されても、最新の制御器により貪欲行動を決定する際にかかる処理量や計算時間は、一定以下に抑制される。
【０２４９】
（環境１１０の具体例）
次に、図１７〜図１９を用いて、環境１１０の具体例について説明する。
【０２５０】
図１７〜図１９は、環境１１０の具体例を示す説明図である。図１７の例では、環境１１０は、自律移動体１７００であり、具体的には、自律移動体１７００の移動機構１７０１である。自律移動体１７００は、具体的には、ドローン、ヘリコプター、自律移動ロボット、自動車などである。行動は、移動機構１７０１に対する指令値である。行動は、例えば、移動方向や移動距離などに関する指令値である。
【０２５１】
行動は、例えば、自律移動体１７００がヘリコプターであれば、回転翼の速度や回転翼の回転面の傾きなどである。行動は、例えば、自律移動体１７００が自動車であれば、アクセルやブレーキの強さ、ハンドルの向きなどである。状態は、自律移動体１７００に設けられたセンサ装置からのセンサデータであり、例えば、自律移動体１７００の位置などである。報酬は、コストにマイナスをかけた値である。コストは、例えば、自律移動体１７００の目標の動作と、自律移動体１７００の実際の動作との誤差などである。
【０２５２】
ここで、情報処理装置１００は、自律移動体１７００の目標の動作と、自律移動体１７００の実際の動作との誤差が大きくなるような指令値を、探索行動になる指令値に決定することを防止することができる。このため、情報処理装置１００は、自律移動体１７００に悪影響を与えるような不適切な行動を行うことを防止することができる。
【０２５３】
情報処理装置１００は、例えば、自律移動体１７００がヘリコプターであれば、バランスを崩して落下し、ヘリコプターが破損することを防止することができる。情報処理装置１００は、例えば、自律移動体１７００が自律移動ロボットであれば、バランスを崩して転倒したり、障害物に衝突したりして、自律移動ロボットが破損することを防止することができる。
【０２５４】
図１８の例では、環境１１０は、熱源であるサーバ１８０１と、ＣＲＡＣやＣｈｉｌｌｅｒなどの冷却器１８０２とを含むサーバルーム１８００である。行動は、冷却器１８０２に対する設定温度や設定風量である。状態は、サーバルーム１８００に設けられたセンサ装置からのセンサデータなどであり、例えば、温度などである。状態は、環境１１０以外から得られる環境１１０に関するデータであってもよく、例えば、気温や天気などであってもよい。報酬は、コストにマイナスをかけた値である。コストは、例えば、目標とする室温と現在の室温との誤差の二乗和である。
【０２５５】
ここで、情報処理装置１００は、サーバルーム１８００の温度を、サーバルーム１８００のサーバを誤作動または故障させるような高温にしてしまうような行動を、探索行動に決定することを防止することができる。また、情報処理装置１００は、サーバルーム１８００の２４時間分の消費電力量が著しく大きくなるような行動を、探索行動に決定することを防止することができる。このため、情報処理装置１００は、サーバルーム１８００に悪影響を与えるような不適切な行動を行うことを防止することができる。
【０２５６】
図１９の例では、環境１１０は、発電機１９００である。行動は、発電機１９００に対する指令値である。状態は、発電機１９００に設けられたセンサ装置からのセンサデータであり、例えば、発電機１９００の発電量や発電機１９００のタービンの回転量などである。報酬は、例えば、発電機１９００の５分間の発電量である。
【０２５７】
ここで、情報処理装置１００は、発電機１９００のタービンの回転が、発電機１９００のタービンが故障しやすくなるような高速回転になるような指令値を、探索行動になる指令値に決定することを防止することができる。また、情報処理装置１００は、発電機１９００の２４時間分の発電量が小さくなるような指令値を、探索行動になる指令値に決定することを防止することができる。このため、情報処理装置１００は、発電機１９００に悪影響を与えるような不適切な行動を行うことを防止することができる。
【０２５８】
また、環境１１０は、上述した具体例のシミュレータであってもよい。また、環境１１０は、製品を製造するロボットアームなどであってもよい。また、環境１１０は、例えば、化学プラントなどであってもよい。また、環境１１０は、例えば、ゲームであってもよい。ゲームは、例えば、行動が順序尺度であり、行動が名義尺度ではない種類のゲームである。
【０２５９】
（強化学習処理手順）
次に、図２０を用いて、情報処理装置１００が実行する、強化学習処理手順の一例について説明する。強化学習処理は、例えば、図２に示したＣＰＵ２０１と、メモリ２０２や記録媒体２０５などの記憶領域と、ネットワークＩ／Ｆ２０３とによって実現される。
【０２６０】
図２０は、強化学習処理手順の一例を示すフローチャートである。図２０において、情報処理装置１００は、変数Ｔを０に設定する（ステップＳ２００１）。また、情報処理装置１００は、変数ｊを１に設定する（ステップＳ２００２）。
【０２６１】
次に、情報処理装置１００は、状態ｖｅｃ｛ｓT｝を観測し、履歴テーブル３００を用いて記憶する（ステップＳ２００３）。そして、情報処理装置１００は、状態ｖｅｃ｛ｓT｝に基づいて、図２１に後述する行動決定処理、または、図２２に後述する行動決定処理を実行することにより、行動ｖｅｃ｛αT｝を決定し、履歴テーブル３００を用いて記憶する（ステップＳ２００４）。
【０２６２】
次に、情報処理装置１００は、単位時間の経過を待ち、ＴをＴ＋１に設定する（ステップＳ２００５）。そして、情報処理装置１００は、行動ｖｅｃ｛αT-1｝に対応する報酬ｒTを取得し、履歴テーブル３００を用いて記憶する（ステップＳ２００６）。
【０２６３】
次に、情報処理装置１００は、状態ｖｅｃ｛ｓT｝を観測し、履歴テーブル３００を用いて記憶する（ステップＳ２００７）。そして、情報処理装置１００は、状態ｖｅｃ｛ｓT｝に基づいて、図２１に後述する行動決定処理、または、図２２に後述する行動決定処理を実行することにより、行動ｖｅｃ｛αT｝を決定し、履歴テーブル３００を用いて記憶する（ステップＳ２００８）。
【０２６４】
次に、情報処理装置１００は、履歴テーブル３００を参照して、状態ｖｅｃ｛ｓT-1｝、行動ｖｅｃ｛αT-1｝、報酬ｖｅｃ｛ｒT｝、状態ｖｅｃ｛ｓT｝、行動ｖｅｃ｛αT｝に基づいて、ｊ番目の強化学習器に用いる行動価値関数を学習する（ステップＳ２００９）。
【０２６５】
そして、情報処理装置１００は、強化学習器をマージするか否かを判定する（ステップＳ２０１０）。ここで、マージする場合（ステップＳ２０１０：Ｙｅｓ）、情報処理装置１００は、ステップＳ２０１１の処理に移行する。一方で、マージしない場合（ステップＳ２０１０：Ｎｏ）、情報処理装置１００は、ステップＳ２０１２の処理に移行する。
【０２６６】
ステップＳ２０１１では、情報処理装置１００は、図２３に後述するマージ処理、または、図２４に後述するマージ処理を実行することにより、強化学習器をマージする（ステップＳ２０１１）。そして、情報処理装置１００は、ｊをインクリメントし、ステップＳ２０１２の処理に移行する。
【０２６７】
ステップＳ２０１２では、情報処理装置１００は、環境１１０の制御を終了するか否かを判定する（ステップＳ２０１２）。ここで、環境１１０の制御を続行する場合（ステップＳ２０１２：Ｎｏ）、情報処理装置１００は、ステップＳ２００５の処理に戻る。
【０２６８】
一方で、環境１１０の制御を終了する場合（ステップＳ２０１２：Ｙｅｓ）、情報処理装置１００は、強化学習処理を終了する。これにより、情報処理装置１００は、不適切な行動を回避しながら、現状の制御器によって得られる貪欲行動よりも適切であると判断される貪欲行動を決定可能である新たな制御器を生成する処理を繰り返すことができる。
【０２６９】
図２０の例では、情報処理装置１００が、バッチ処理形式で強化学習処理を実行する場合について説明したが、これに限らない。例えば、情報処理装置１００が、逐次処理形式で強化学習処理を実行する場合があってもよい。
【０２７０】
（行動決定処理手順）
次に、図２１を用いて、情報処理装置１００が実行する、行動決定処理手順の一例について説明する。行動決定処理は、例えば、図２に示したＣＰＵ２０１と、メモリ２０２や記録媒体２０５などの記憶領域と、ネットワークＩ／Ｆ２０３とによって実現される。
【０２７１】
図２１は、行動決定処理手順の一例を示すフローチャートである。図２１において、情報処理装置１００は、基本制御器Ｃ0に状態ｖｅｃ｛ｓT｝を代入し、貪欲行動ｖｅｃ｛ｂT｝を決定する（ステップＳ２１０１）。次に、情報処理装置１００は、下記式（３８）により貪欲行動ｖｅｃ｛ｃT｝を決定する（ステップＳ２１０２）。
【０２７２】
【数３８】
2020095586.tif 000040
【０２７３】
そして、情報処理装置１００は、０〜１の値を取る乱数を発生させ、変数ｒに設定する（ステップＳ２１０３）。
【０２７４】
次に、情報処理装置１００は、ｒ＜εであるか否かを判定する（ステップＳ２１０４）。ここで、ｒ＜εである場合（ステップＳ２１０４：Ｙｅｓ）、情報処理装置１００は、ステップＳ２１０５の処理に移行する。一方で、ｒ＜εではない場合（ステップＳ２１０４：Ｎｏ）、情報処理装置１００は、ステップＳ２１０６の処理に移行する。
【０２７５】
ステップＳ２１０５では、情報処理装置１００は、行動空間Ａjからランダムに探索行動ｖｅｃ｛ｄT｝を決定する（ステップＳ２１０５）。そして、情報処理装置１００は、ステップＳ２１０７の処理に移行する。
【０２７６】
ステップＳ２１０６では、情報処理装置１００は、下記式（３９）により探索行動ｖｅｃ｛ｄT｝を決定する（ステップＳ２１０６）。
【０２７７】
【数３９】
2020095586.tif 000041
【０２７８】
そして、情報処理装置１００は、ステップＳ２１０７の処理に移行する。
【０２７９】
ステップＳ２１０７では、情報処理装置１００は、行動ｖｅｃ｛αT｝＝ξj（貪欲行動ｖｅｃ｛ｂT｝＋貪欲行動ｖｅｃ｛ｃT｝＋ψj（探索行動ｖｅｃ｛ｄT｝））を決定する（ステップＳ２１０７）。そして、情報処理装置１００は、行動決定処理を終了する。これにより、情報処理装置１００は、環境１１０に対する行動を決定することができる。
【０２８０】
（行動決定処理手順）
次に、図２２を用いて、情報処理装置１００が実行する、行動決定処理手順の別の例について説明する。行動決定処理は、例えば、図２に示したＣＰＵ２０１と、メモリ２０２や記録媒体２０５などの記憶領域と、ネットワークＩ／Ｆ２０３とによって実現される。
【０２８１】
図２２は、行動決定処理手順の別の例を示すフローチャートである。図２２において、情報処理装置１００は、下記式（４０）により貪欲行動ｖｅｃ｛ｃT｝を決定する（ステップＳ２２０１）。
【０２８２】
【数４０】
2020095586.tif 000042
【０２８３】
そして、情報処理装置１００は、０〜１の値を取る乱数を発生させ、変数ｒに設定する（ステップＳ２２０２）。
【０２８４】
次に、情報処理装置１００は、ｒ＜εであるか否かを判定する（ステップＳ２２０３）。ここで、ｒ＜εである場合（ステップＳ２２０３：Ｙｅｓ）、情報処理装置１００は、ステップＳ２２０４の処理に移行する。一方で、ｒ＜εではない場合（ステップＳ２２０３：Ｎｏ）、情報処理装置１００は、ステップＳ２２０５の処理に移行する。
【０２８５】
ステップＳ２２０４では、情報処理装置１００は、行動空間Ａjからランダムに探索行動ｖｅｃ｛ｄT｝を決定する（ステップＳ２２０４）。そして、情報処理装置１００は、ステップＳ２２０６の処理に移行する。
【０２８６】
ステップＳ２２０５では、情報処理装置１００は、下記式（４１）により探索行動ｖｅｃ｛ｄT｝を決定する（ステップＳ２２０５）。
【０２８７】
【数４１】
2020095586.tif 000043
【０２８８】
そして、情報処理装置１００は、ステップＳ２２０６の処理に移行する。
【０２８９】
ステップＳ２２０６では、情報処理装置１００は、行動ｖｅｃ｛αT｝＝ξj（貪欲行動ｖｅｃ｛ｃT｝＋ψj（探索行動ｖｅｃ｛ｄT｝））を決定する（ステップＳ２２０６）。そして、情報処理装置１００は、行動決定処理を終了する。これにより、情報処理装置１００は、環境１１０に対する行動を決定することができる。
【０２９０】
（マージ処理手順）
次に、図２３を用いて、情報処理装置１００が実行する、マージ処理手順の一例について説明する。マージ処理は、例えば、図２に示したＣＰＵ２０１と、メモリ２０２や記録媒体２０５などの記憶領域と、ネットワークＩ／Ｆ２０３とによって実現される。
【０２９１】
図２３は、マージ処理手順の一例を示すフローチャートである。図２３において、情報処理装置１００は、上記式（１２）により、論理式［Ｐj（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］を生成する（ステップＳ２３０１）。
【０２９２】
次に、情報処理装置１００は、上記式（１３）により、論理式［Ｐ′j（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］を生成する（ステップＳ２３０２）。そして、情報処理装置１００は、上記式（１４）により、論理式［Ｐ″j（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］を生成する（ステップＳ２３０３）。これにより、情報処理装置１００は、複数の強化学習器をマージした結果を、論理式［Ｐ″j（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］として表現することができる。
【０２９３】
（マージ処理手順）
次に、図２４を用いて、情報処理装置１００が実行する、マージ処理手順の別の例について説明する。マージ処理は、例えば、図２に示したＣＰＵ２０１と、メモリ２０２や記録媒体２０５などの記憶領域と、ネットワークＩ／Ｆ２０３とによって実現される。
【０２９４】
図２４は、マージ処理手順の別の例を示すフローチャートである。図２４において、情報処理装置１００は、上記式（１５）により、論理式［Ｐj（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］を生成する（ステップＳ２４０１）。
【０２９５】
次に、情報処理装置１００は、上記式（１６）により、論理式［Ｐ′j（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］を生成する（ステップＳ２４０２）。そして、情報処理装置１００は、上記式（１７）により、論理式［Ｐ″j（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］を生成する（ステップＳ２４０３）。
【０２９６】
その後、情報処理装置１００は、上記式（１８）により、論理式［Ｃj（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］を生成する（ステップＳ２４０４）。これにより、情報処理装置１００は、基本制御器と複数の強化学習器をマージした結果を、論理式［Ｃj（ｖｅｃ｛ｓ｝，ｖｅｃ｛ａ｝）］として表現することができる。
【０２９７】
ここで、情報処理装置１００は、図２０〜図２４の各フローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。また、情報処理装置１００は、図２０〜図２４の各フローチャートの一部ステップの処理を省略してもよい。
【０２９８】
以上説明したように、情報処理装置１００によれば、基本制御器により得られる行動を基準に、行動範囲限界より小さい行動範囲における第１の強化学習を実施することができる。情報処理装置１００によれば、第１の強化学習により学習された第１の強化学習器を含む第１の制御器により得られる行動を基準に、行動範囲限界より小さい行動範囲における第２の強化学習を実施することができる。情報処理装置１００によれば、第１の強化学習器と、第２の強化学習により学習された第２の強化学習器とをマージした強化学習器を含む第２の制御器により得られる行動を基準に、行動範囲限界より小さい行動範囲における第３の強化学習を実施することができる。これにより、情報処理装置１００は、最新の制御器により最適と判断される貪欲行動から一定以上離れた行動が行われることを防止し、環境１１０に悪影響を与えるような不適切な行動が行われることを防止することができる。また、情報処理装置１００は、第２の強化学習により生成された第２の制御器に含まれる強化学習器の数を低減し、処理量の増大化を抑制することができる。
【０２９９】
情報処理装置１００によれば、第３の強化学習で、直前にマージされた強化学習器と、第３の強化学習により学習された第３の強化学習器とをマージした強化学習器を含む第３の制御器を生成することができる。情報処理装置１００によれば、直前の第３の強化学習により生成された第３の制御器により得られる行動を基準に、行動範囲限界より小さい行動範囲において第３の強化学習を実施する、処理を繰り返すことができる。これにより、情報処理装置１００は、第３の強化学習を繰り返しても、最新の制御器に含まれる強化学習器の数を、一定以下に維持することができ、処理量の増大化を抑制することができる。
【０３００】
情報処理装置１００によれば、基本制御器と、第１の強化学習により学習された第１の強化学習器とをマージし、第１の制御器を生成することができる。情報処理装置１００によれば、直前にマージされた強化学習器と、第２の強化学習により学習された第２の強化学習器とをマージし、第２の制御器を生成することができる。これにより、情報処理装置１００は、基本制御器もマージ対象とすることができる。
【０３０１】
情報処理装置１００によれば、マージを、多項式を用いた論理式に対して限量子消去を用いて実現することができる。これにより、情報処理装置１００は、強化学習器が多項式で表現された状態行動価値関数を用いる場合、強化学習器同士のマージを実現することができる。
【０３０２】
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
【０３０３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０３０４】
（付記１）環境の状態に対する行動を規定した基本制御器により得られる行動を基準に、前記環境についての行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第１の強化学習を実施し、
前記第１の強化学習により学習された第１の強化学習器を含む第１の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第２の強化学習を実施し、
前記第１の強化学習器と、前記第２の強化学習により学習された第２の強化学習器とをマージした新たな強化学習器を含む第２の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第３の強化学習を実施する、
処理をコンピュータが実行することを特徴とする強化学習方法。
【０３０５】
（付記２）直前にマージされた強化学習器と、直前に実施された第３の強化学習により学習された第３の強化学習器とをマージした新たな強化学習器を含む第３の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲において、多項式で表現した状態行動価値関数を用いた第３の強化学習を実施する、
処理を前記コンピュータが繰り返し実行する、ことを特徴とする付記１に記載の強化学習方法。
【０３０６】
（付記３）前記第２の強化学習を実施する処理は、
前記基本制御器と、前記第１の強化学習により学習された第１の強化学習器とをマージした新たな強化学習器を含む第１の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における前記第２の強化学習を実施し、
前記第３の強化学習を実施する処理は、
直前にマージされた強化学習器と、前記第２の強化学習により学習された第２の強化学習器とをマージした新たな強化学習器を含む第２の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における前記第３の強化学習を実施する、ことを特徴とする付記１または２に記載の強化学習方法。
【０３０７】
（付記４）前記マージは、前記多項式を用いた論理式に対して限量子消去を用いて実施される、ことを特徴とする付記１〜３のいずれか一つに記載の強化学習方法。
【０３０８】
（付記５）環境の状態に対する行動を規定した基本制御器により得られる行動を基準に、前記環境についての行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第１の強化学習を実施し、
前記第１の強化学習により学習された第１の強化学習器を含む第１の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第２の強化学習を実施し、
前記第１の強化学習器と、前記第２の強化学習により学習された第２の強化学習器とをマージした新たな強化学習器を含む第２の制御器により得られる行動を基準に、前記行動範囲限界より小さい行動範囲における、多項式で表現した状態行動価値関数を用いた第３の強化学習を実施する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【符号の説明】
【０３０９】
１００  情報処理装置
１１０  環境
１２０  強化学習
１２１  制御器
１２２  強化学習器
１３０  イメージ図
２００  バス
２０１  ＣＰＵ
２０２  メモリ
２０３  ネットワークＩ／Ｆ
２０４  記録媒体Ｉ／Ｆ
２０５  記録媒体
２１０  ネットワーク
３００  履歴テーブル
４００  記憶部
４１０  制御部
４１１  設定部
４１２  状態取得部
４１３  行動決定部
４１４  報酬取得部
４１５  更新部
４１６  出力部
５００，６００，６１０，６２０  表
５０１〜５０６，５１０  行動範囲
５１１  行動
１７００  自律移動体
１７０１  移動機構
１８００  サーバルーム
１８０１  サーバ
１８０２  冷却器
１９００  発電機
【図１】
2020095586.tif 000044
【図２】
2020095586.tif 000045
【図３】
2020095586.tif 000046
【図４】
2020095586.tif 000047
【図５】
2020095586.tif 000048
【図６】
2020095586.tif 000049
【図７】
2020095586.tif 000050
【図８】
2020095586.tif 000051
【図９】
2020095586.tif 000052
【図１０】
2020095586.tif 000053
【図１１】
2020095586.tif 000054
【図１２】
2020095586.tif 000055
【図１３】
2020095586.tif 000056
【図１４】
2020095586.tif 000057
【図１５】
2020095586.tif 000058
【図１６】
2020095586.tif 000059
【図１７】
2020095586.tif 000060
【図１８】
2020095586.tif 000061
【図１９】
2020095586.tif 000062
【図２０】
2020095586.tif 000063
【図２１】
2020095586.tif 000064
【図２２】
2020095586.tif 000065
【図２３】
2020095586.tif 000066
【図２４】
2020095586.tif 000067