(57)【要約】【課題】強化学習における処理量の低減化を図ること。【解決手段】強化学習装置１００は、発電機に関する状態値が取りうる複数の領域のそれぞれの領域における発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行う。強化学習装置１００は、複数の領域のうち連続する２以上の領域を結合した領域における発電機に対する指令値ごとの有効性を示す有効性情報を生成する。強化学習装置１００は、結合した領域についての有効性情報、および、複数の領域のうち２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う。【選択図】図１
2020061909.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする強化学習プログラム。
【請求項２】
前記コンピュータに、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記２以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記２以上の領域のそれぞれの領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする請求項１に記載の強化学習プログラム。
【請求項３】
前記コンピュータに、
前記発電機が複数ある場合、前記発電機の状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、前記発電機の指令値の組み合わせごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機の状態値を参照し、前記特性関数に基づいて、前記複数の領域のうち連続する２以上の領域を結合した領域における、前記発電機の指令値の組み合わせごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする請求項１または２に記載の強化学習プログラム。
【請求項４】
前記発電機は、風力発電機であり、
前記発電機に関する状態値は、風速、および、出力電力である、ことを特徴とする請求項１〜３のいずれか一つに記載の強化学習プログラム。
【請求項５】
前記特性関数は、風速と前記発電機からの出力電力との関係を示し、
前記結合した領域についての有効性情報を生成する処理は、前記特性関数に基づいて、観測した風速に対応する出力電力を特定し、特定した前記出力電力に基づいて、前記結合した領域についての有効性情報を生成する、ことを特徴とする請求項４に記載の強化学習プログラム。
【請求項６】
前記発電機は、受風性能を変更可能であり、
前記指令値は、受風性能を制御する指令値であり、
前記特性関数は、風速と前記発電機からの出力電力との関係を示し、
前記結合した領域についての有効性情報を生成する処理は、前記発電機の受風性能ごとに異なる複数の前記特性関数のうち、観測した風速および出力電力に対応する前記特性関数に基づいて、前記結合した領域についての有効性情報を生成する、ことを特徴とする請求項４に記載の強化学習プログラム。
【請求項７】
前記発電機は、火力発電機であり、
前記発電機に関する状態値は、燃料使用量、および、出力電力である、ことを特徴とする請求項１〜３のいずれか一つに記載の強化学習プログラム。
【請求項８】
前記結合した領域についての有効性情報を生成する処理は、観測した需要電力が閾値以下である場合に、前記結合した領域についての有効性情報を生成する、ことを特徴とする請求項１〜７のいずれか一つに記載の強化学習プログラム。
【請求項９】
コンピュータが、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行することを特徴とする強化学習方法。
【請求項１０】
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
制御部を有することを特徴とする強化学習装置。
【請求項１１】
コンピュータに、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
前記複数の領域のうち連続する２以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報に基づいて、前記２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする強化学習プログラム。
【請求項１２】
コンピュータが、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
前記複数の領域のうち連続する２以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報に基づいて、前記２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行することを特徴とする強化学習方法。
【請求項１３】
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
前記複数の領域のうち連続する２以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報に基づいて、前記２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
制御部を有することを特徴とする強化学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強化学習プログラム、強化学習方法、および強化学習装置に関する。
【背景技術】
【０００２】
従来、自然エネルギーを利用する１以上の発電機を含む発電システムを、強化学習により制御することがある。強化学習では、例えば、発電機に関する状態値が取りうる領域ごとに、発電機に対する指令値の有効性を示す有効値を対応付けて表すテーブルが利用される。テーブルは、例えば、Ｑテーブルである。強化学習では、例えば、指令値についての有効値を推定する学習が繰り返し行われ、テーブルが更新される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１６−５１７１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、強化学習における処理量の増大化を招くことがある。例えば、発電機に関する状態値が取りうる領域の数が増加するほど、指令値についての有効値を推定する学習が行われる回数が増加してしまい、強化学習における処理量の増大化を招く。
【０００５】
１つの側面では、本発明は、強化学習における処理量の低減化を図ることを目的とする。
【課題を解決するための手段】
【０００６】
１つの実施態様によれば、発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う強化学習プログラム、強化学習方法、および強化学習装置が提案される。
【発明の効果】
【０００７】
一態様によれば、強化学習における処理量の低減化を図ることが可能になる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。
【図２】図２は、発電システム２００の一例を示す説明図である。
【図３】図３は、強化学習装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、強化学習装置１００の機能的構成例を示すブロック図である。
【図５】図５は、風力発電機を含む発電システム２００の具体的構成例を示す説明図である。
【図６】図６は、ストール制御の風力発電機の状態値が取りうる通常区間と粗分割区間を示す説明図である。
【図７】図７は、ピッチ制御の風力発電機の状態値が取りうる通常区間と粗分割区間を示す説明図である。
【図８】図８は、通常テーブル８０１と粗分割テーブル８０２とを実現する一例を示す説明図である。
【図９】図９は、通常テーブル８０１の記憶内容の一例を示す説明図である。
【図１０】図１０は、特性関数を作成する一例を示す説明図である。
【図１１】図１１は、利用するテーブルを粗分割テーブル８０２に切り替える一例を示す説明図である。
【図１２】図１２は、利用するテーブルを通常テーブル８０１に切り替える一例を示す説明図である。
【図１３】図１３は、有効値を更新する一例を示す説明図である。
【図１４】図１４は、火力発電機を含む発電システム２００の具体的構成例を示す説明図である。
【図１５】図１５は、火力発電機に関する通常テーブル８０１の記憶内容の一例を示す説明図である。
【図１６】図１６は、全体処理手順の一例を示すフローチャートである。
【図１７】図１７は、切替判定処理手順の一例を示すフローチャートである。
【図１８】図１８は、値設定処理手順の一例を示すフローチャートである。
【図１９】図１９は、ストール制御の風力発電機についての特性関数作成処理手順の一例を示すフローチャートである。
【図２０】図２０は、ピッチ制御の風力発電機についての特性関数作成処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、図面を参照して、本発明にかかる強化学習プログラム、強化学習方法、および強化学習装置の実施の形態を詳細に説明する。
【００１０】
（実施の形態にかかる強化学習方法の一実施例）
図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。強化学習装置１００は、１以上の発電機を含む発電システムに強化学習を適用し、１以上の発電機を含む発電システムを制御するコンピュータである。発電機は、例えば、風力発電機、または、火力発電機などである。
【００１１】
強化学習では、例えば、１以上の発電機に関する状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、１以上の発電機に対する指令値の組み合わせごとの有効性を示す有効値を対応付けて表すテーブルが利用される。テーブルは、例えば、Ｑテーブルである。強化学習では、例えば、発電機に関する状態値を観測し、発電機に対する指令値を決定し、決定した指令値を発電機に入力し、観測した状態値を含む領域における、入力した指令値の有効性を示す有効値を推定する学習が繰り返し行われ、テーブルが更新される。強化学習は、例えば、Ｑ学習やＳＡＲＳＡなどにより実現される。
【００１２】
ここで、強化学習における処理量の増大化を招いてしまう場合が考えられる。例えば、１以上の発電機に関する状態値の組み合わせが取りうる領域の数が増加するほど、学習が行われる回数が増加してしまい、強化学習における処理量の増大化を招く。具体的には、状態値を細かく分割して領域を設定すると、領域の数が増加してしまう。また、具体的には、発電機の数が増加すると、領域の数が増加してしまう。このため、強化学習における処理量の低減化を図ることが望まれる。
【００１３】
これに対し、領域の数を減少させ、強化学習における処理量の低減化を図ることが考えられる。例えば、状態値を粗く分割して領域を設定し、領域の数を減少させ、強化学習における処理量の低減化を図ることが考えられる。しかしながら、常時、粗く分割された領域を用いると、どのような状態値の場合にどのような指令値を出力することが好ましいかを詳細に検証することができず、発電システムに対して適切な制御を行うことができないことがある。適切な制御は、例えば、所定の閾値を超えない範囲で、発電システムの発電量の最大化を図る制御である。
【００１４】
したがって、領域の数を動的に変更することにより、強化学習における処理量の低減化を図ることが考えられる。例えば、何らかのタイミングで、２以上の領域を結合し、領域の数を減少させることが考えられる。しかしながら、２以上の領域を結合した領域における、１以上の発電機に対する指令値の組み合わせごとの有効性を示す有効値を、どのように設定することが好ましいかが分からなければ、発電システムに対して適切な制御を行うことが難しくなる。
【００１５】
そこで、本実施の形態では、強化学習において、１以上の発電機に関する状態値の組み合わせが取りうる領域の数を動的に変更可能にし、領域の数を動的に変更したことに応じて適切と判断される有効値を設定し直すことができる強化学習方法について説明する。かかる強化学習方法によれば、強化学習における処理量の低減化を図ることができる。
【００１６】
図１の例では、発電システムに含まれる発電機は１つである。発電機に関する状態値は、例えば、発電機からの出力電力、および、発電機に対する自然エネルギーの供給量に関する環境値などである。環境値は、例えば、風速や燃料使用量などである。発電機に対する指令値は、例えば、発電機の電源のＯＮとＯＦＦとを切り替える指令値である。発電機に対する指令値は、例えば、発電機における自然エネルギーの利用効率を変更する指令値である。
【００１７】
図１において、強化学習装置１００は、発電機に関する状態値が取りうる複数の領域のそれぞれの領域における発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行う。領域は、例えば、区間または区間の組み合わせである。有効性情報は、例えば、Ｑテーブルのレコードである。有効値は、例えば、Ｑ値である。強化学習装置１００は、例えば、区間Ａ１に有効値Ｇ１を対応付けた有効性情報と、区間Ａ２に有効値Ｇ２を対応付けた有効性情報と、区間Ａ３に有効値Ｇ３を対応付けた有効性情報とを含むＱテーブルを利用して学習を行う。強化学習装置１００は、学習を行った結果、Ｑテーブルを更新する。
【００１８】
強化学習装置１００は、複数の領域のうち連続する２以上の領域を結合した領域における発電機に対する指令値ごとの有効性を示す有効性情報を生成する。強化学習装置１００は、例えば、観測した発電機に関する状態値を参照し、発電機に関する状態値についての特性関数に基づいて、結合した領域についての有効性情報を生成する。強化学習装置１００は、具体的には、区間Ａ２と区間Ａ３とを結合した区間Ａａにおける、指令値の有効性を示す有効値Ｇａを算出し、区間Ａａに有効値Ｇａを対応付けた有効性情報を生成する。そして、強化学習装置１００は、区間Ａ２に有効値Ｇ２を対応付けた有効性情報と、区間Ａ３に有効値Ｇ３を対応付けた有効性情報とを、区間Ａａに有効値Ｇａを対応付けた有効性情報に置き換えて、Ｑテーブルを更新する。
【００１９】
強化学習装置１００は、結合した領域についての有効性情報、および、複数の領域のうち２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う。強化学習装置１００は、例えば、区間Ａ１に有効値Ｇ１を対応付けた有効性情報、および、区間Ａ２と区間Ａ３とを結合した区間Ａａに有効値Ｇａを対応付けた有効性情報を含むＱテーブルを利用して学習を行う。強化学習装置１００は、学習を行った結果、Ｑテーブルを更新する。
【００２０】
これにより、強化学習装置１００は、２以上の領域を結合し、有効性情報を対応付けておく領域の数を動的に減少させることができる。このため、強化学習装置１００は、学習を行って更新する対象である有効性情報の数を減少させ、強化学習にかかる処理量の低減化を図ることができる。また、強化学習装置１００は、有効性情報を生成する際、有効値を０で初期化したり、有効値をランダムに設定したりはせずに、特性関数に基づいて有効値を設定することができる。このため、強化学習装置１００は、生成する有効性情報が、発電機に対する指令値ごとの有効性を精度よく示すようにすることができ、発電システムに対して適切な制御を行いやすくすることができる。
【００２１】
ここでは、何らかのタイミングで、２以上の領域のそれぞれの領域についての有効性情報を、２以上の領域を結合した領域についての有効性情報に置き換えて、有効性情報を対応付けておく領域の数を動的に減少させる場合について説明したが、これに限らない。例えば、何らかのタイミングで、２以上の領域を結合した領域についての有効性情報を、２以上の領域のそれぞれの領域についての有効性情報に置き換えて、領域の数を動的に増加させる場合があってもよい。これにより、強化学習装置１００は、どのような状態値の場合にどのような指令値を出力することが好ましいかを細分化して実行することができる。２以上の領域を結合した領域についての有効性情報を、２以上の領域のそれぞれの領域についての有効性情報に置き換える場合については、具体的には、図１２を用いて後述する。
【００２２】
ここでは、発電システムに含まれる発電機が１つである場合について説明したが、これに限らない。例えば、発電システムに含まれる発電機が複数ある場合があってもよい。この場合、例えば、強化学習装置１００は、発電機の状態値の組み合わせが取りうる複数の領域のうち連続する２以上の領域を結合した領域についての有効性情報を生成する。そして、強化学習装置１００は、２以上の領域のそれぞれの領域についての有効性情報を、結合した領域についての有効性情報に置き換え、有効性情報を対応付けておく領域の数を動的に減少させる。これにより、強化学習装置１００は、強化学習にかかる処理量の低減化を図ることができる。発電システムに含まれる発電機が複数ある場合については、図１１および図１２を用いて後述する。
【００２３】
ここでは、発電システムに含まれる発電機の種類を特定せずに、強化学習装置１００について説明した。これに対し、例えば、発電システムに含まれる発電機が、風力発電機である場合があってもよい。発電システムに含まれる発電機が、風力発電機である場合については、具体的には、図１１および図１２を用いて後述する。また、例えば、発電システムに含まれる発電機が、火力発電機である場合があってもよい。発電システムに含まれる発電機が、火力発電機である場合については、具体的には、図１５を用いて後述する。また、例えば、発電システムが、風力発電機と火力発電機との両方を含む場合があってもよい。
【００２４】
ここでは、２以上の領域を結合した領域についての有効性情報を生成するタイミングを限定せずに、強化学習装置１００について説明した。これに対し、例えば、強化学習装置１００が、観測した需要電力が閾値以下である場合に、結合した領域についての有効性情報を生成する場合があってもよい。また、例えば、強化学習装置１００が、観測した需要電力が閾値を超える場合に、結合した領域についての有効性情報を生成する場合があってもよい。
【００２５】
（発電システム２００の一例）
次に、図２を用いて、図１に示した強化学習装置１００を適用した、発電システム２００の一例について説明する。
【００２６】
図２は、発電システム２００の一例を示す説明図である。図２において、発電システム２００は、強化学習装置１００と、１以上の発電機２０１とを含む。
【００２７】
発電システム２００において、強化学習装置１００と１以上の発電機２０１は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００２８】
発電機２０１は、例えば、風力エネルギーを利用し、風車を用いて発電を行う機械である。発電機２０１は、例えば、風車から伝達される風車トルクを用いて発電を行う。発電機２０１は、発電機２０１に関する状態値を観測する計測機が設けられる。計測機は、例えば、センサ装置を有する。センサ装置は、加速度センサ、地磁気センサ、光センサ、振動センサ、電力センサ、電圧センサ、および、電流センサなどの少なくともいずれかを有してもよい。発電機２０１は、例えば、火力エネルギーを利用し、タービンを用いて発電を行う機械であってもよい。
【００２９】
強化学習装置１００は、発電システム２００に強化学習を適用し、発電システム２００を制御する。強化学習装置１００は、例えば、発電システム２００に含まれる１以上の発電機２０１に対する指令値を制御する。強化学習装置１００は、具体的には、発電機２０１に設けられた計測機から、発電機２０１に関する状態値を取得する。強化学習装置１００は、取得した状態値と、有効性情報を含むテーブルとに基づいて、発電機２０１に対する指令値を決定して出力する。強化学習装置１００は、指令値を出力した結果に応じて、テーブルを更新する。強化学習装置１００は、例えば、サーバ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、マイコン、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）などである。
【００３０】
（強化学習装置１００のハードウェア構成例）
次に、図３を用いて、強化学習装置１００のハードウェア構成例について説明する。
【００３１】
図３は、強化学習装置１００のハードウェア構成例を示すブロック図である。図３において、強化学習装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、記録媒体Ｉ／Ｆ３０４と、記録媒体３０５とを有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００３２】
ここで、ＣＰＵ３０１は、強化学習装置１００の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００３３】
ネットワークＩ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。他のコンピュータは、例えば、発電機２０１である。そして、ネットワークＩ／Ｆ３０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３４】
記録媒体Ｉ／Ｆ３０４は、ＣＰＵ３０１の制御にしたがって記録媒体３０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ３０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体３０５は、記録媒体Ｉ／Ｆ３０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体３０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体３０５は、強化学習装置１００から着脱可能であってもよい。
【００３５】
強化学習装置１００は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、強化学習装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を複数有していてもよい。また、強化学習装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を有していなくてもよい。
【００３６】
（強化学習装置１００の機能的構成例）
次に、図４を用いて、強化学習装置１００の機能的構成例について説明する。
【００３７】
図４は、強化学習装置１００の機能的構成例を示すブロック図である。強化学習装置１００は、記憶部４００と、取得部４０１と、切替部４０２と、学習部４０３と、出力部４０４とを含む。
【００３８】
記憶部４００は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域によって実現される。以下では、記憶部４００が、強化学習装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部４００が、強化学習装置１００とは異なる装置に含まれ、記憶部４００の記憶内容が強化学習装置１００から参照可能である場合があってもよい。
【００３９】
取得部４０１〜出力部４０４は、制御部の一例として機能する。取得部４０１〜出力部４０４は、具体的には、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、ネットワークＩ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶される。
【００４０】
記憶部４００は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部４００は、発電システム２００に関する状態値を記憶する。発電システム２００に関する状態値は、例えば、発電システム２００に含まれる１以上の発電機２０１のそれぞれの発電機２０１に関する状態値、および、発電システム２００全体に関する状態値を含む。発電機２０１は、例えば、風力発電機または火力発電機などである。発電機２０１に関する状態値は、例えば、ストール制御の風力発電機に関する出力ワット値および風速と、ピッチ制御の風力発電機に関する出力ワット値および風速とである。発電機２０１に関する状態値は、例えば、火力発電機に関する出力ワット値および燃料使用量である。また、発電システム２００全体に関する状態値は、例えば、発電システム２００全体における需要電力である。
【００４１】
記憶部４００は、発電システム２００に含まれる１以上の発電機２０１のそれぞれの発電機２０１に対する指令値を記憶する。発電機２０１に対する指令値は、発電機２０１における自然エネルギーの利用効率を変更する指令値である。指令値は、例えば、発電機２０１の電源をＯＮとＯＦＦとで切り替えさせる指令値である。指令値は、例えば、風力発電機の受風性能を変更する指令値である。指令値は、例えば、ピッチ制御の風力発電機のピッチ角をどの程度変更するかを示す指令値である。ピッチ角をどの程度変更するかを示す指令値は、具体的には、−ΔΘと±０と＋ΔΘとである。指令値は、例えば、火力発電機の発電機に設けられた燃料供給孔の大きさをどの程度変更するかを示す指令値である。指令値は、例えば、火力発電機の燃料使用量をどの程度変更するかを示す指令値である。
【００４２】
記憶部４００は、１以上の発電機２０１に関する状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、１以上の発電機２０１に対する指令値の組み合わせごとの有効性を示す有効性情報を記憶する。状態値の組み合わせは、１つの状態値であってもよい。また、記憶部４００は、複数の領域のうち２以上の領域を結合した領域における、１以上の発電機２０１に対する指令値の組み合わせごとの有効性を示す有効性情報を記憶する。記憶部４００は、例えば、複数の領域のそれぞれの領域に、指令値の組み合わせごとの有効性を示す有効値を対応付けた有効性情報をレコードとして含むテーブルを記憶する。有効値は、例えば、発電機における報酬の増加に寄与する度合いを示す。報酬は、例えば、発電量である。また、記憶部４００は、例えば、複数の領域のそれぞれの領域についての有効性情報のうち、２以上の領域のそれぞれの領域についての有効性情報を、２以上の領域を結合した領域についての有効性情報に置き換えたテーブルを記憶する。
【００４３】
記憶部４００は、発電機２０１についての特性関数を記憶する。特性関数は、発電機２０１に関する状態値の変化を示す。特性関数は、例えば、風速と風力発電機からの出力電力との関係を示す。特性関数は、例えば、火力発電機の燃料使用量と火力発電機からの出力電力との関係を示す。記憶部４００は、例えば、特性関数を近似する近似曲線を記憶する。記憶部４００は、例えば、風力発電機の受風性能ごとに異なる特性関数を記憶する。記憶部４００は、具体的には、風力発電機のピッチ角ごとに異なる特性関数を記憶する。
【００４４】
記憶部４００は、例えば、強化学習アルゴリズム、および、行動選択アルゴリズムによる処理手順を記憶する。強化学習アルゴリズムは、例えば、Ｑ学習アルゴリズムである。強化学習アルゴリズムは、Ｑ学習アルゴリズム以外であってもよい。行動選択アルゴリズムは、例えば、ε−ｇｒｅｅｄｙアルゴリズムである。
【００４５】
取得部４０１は、各機能部の処理に用いられる各種情報を記憶部４００から取得し、各機能部に出力する。取得部４０１は、各機能部の処理に用いられる各種情報を、強化学習装置１００とは異なる装置から取得し、各機能部に出力してもよい。取得部４０１は、例えば、発電システム２００に関する状態値を取得する。取得部４０１は、発電機２０１に設けられた計測機から、発電機２０１に関する状態値を取得する。取得部４０１は、具体的には、電気会社のコンピュータから発電システム２００における需要電力を取得する。
【００４６】
取得部４０１は、例えば、特性関数を表す情報を取得してもよい。取得部４０１は、例えば、特性関数に関する閾値を取得し、特性関数を表す情報を生成してもよい。特性関数に関する閾値は、少なくとも定格風速と最大出力とである。特性関数に関する閾値は、さらに、カットイン風速とカットアウト風速とであってもよい。取得部４０１は、様々な風速における発電機２０１からの出力電力を取得し、特性関数を表す情報を生成してもよい。
【００４７】
切替部４０２は、強化学習における学習に利用する有効性情報を切り替える。切替部４０２は、例えば、複数の領域のそれぞれの領域についての有効性情報を、学習に利用する有効性情報に設定する。切替部４０２は、例えば、複数の領域のそれぞれの領域についての有効性情報のうち、２以上の領域のそれぞれの領域についての有効性情報を、２以上の領域を結合した領域についての有効性情報に置き換え、学習に利用する有効性情報に設定する。
【００４８】
具体的には、２以上の領域のそれぞれの領域についての有効性情報を、学習に利用する有効性情報に設定している場合がある。この場合、切替部４０２は、取得した発電機２０１に関する状態値を参照し、特性関数に基づいて、２以上の領域を結合した領域についての有効性情報を生成する。また、切替部４０２は、２以上の領域のそれぞれの領域についての有効性情報に基づいて、２以上の領域を結合した領域についての有効性情報を生成してもよい。そして、切替部４０２は、学習に利用する有効性情報のうち、２以上の領域のそれぞれの領域についての有効性情報を、生成した有効性情報に置き換える。
【００４９】
具体的には、２以上の領域を結合した領域についての有効性情報を、学習に利用する有効性情報に設定している場合がある。この場合、切替部４０２は、取得した発電機２０１に関する状態値を参照し、特性関数に基づいて、２以上の領域のそれぞれの領域についての有効性情報を生成する。また、切替部４０２は、２以上の領域を結合した領域についての有効性情報に基づいて、２以上の領域のそれぞれの領域についての有効性情報を生成してもよい。そして、切替部４０２は、学習に利用する有効性情報のうち、２以上の領域を結合した領域についての有効性情報を、生成した有効性情報に置き換える。
【００５０】
切替部４０２は、具体的には、特性関数に基づいて、取得した風速に対応する出力電力を特定し、特定した出力電力に基づいて、結合した領域についての有効性情報を生成する。また、切替部４０２は、具体的には、発電機２０１の受風性能ごとに異なる複数の特性関数のうち、取得した風速および出力電力に対応する特性関数に基づいて、結合した領域についての有効性情報を生成する。
【００５１】
切替部４０２は、具体的には、取得した需要電力が閾値以下である場合に、結合した領域についての有効性情報を生成する。切替部４０２は、より具体的には、取得した需要電力が閾値以下である場合に、出力電力についての複数の領域のうち、相対的に大きい出力電力についての２以上の領域を結合した領域についての有効性情報を生成する。
【００５２】
切替部４０２は、具体的には、取得した需要電力が閾値を超える場合に、結合した領域についての有効性情報を生成する。切替部４０２は、より具体的には、取得した需要電力が閾値を超える場合に、出力電力についての複数の領域のうち、相対的に小さい出力電力についての２以上の領域を結合した領域についての有効性情報を生成する。
【００５３】
学習部４０３は、切替部４０２が設定した有効性情報を利用して学習を行い、少なくともいずれかの有効性情報を更新する。学習部４０３は、例えば、複数の領域のそれぞれの領域についての有効性情報を利用して学習を行う。学習部４０３は、例えば、複数の領域のそれぞれの領域についての有効性情報のうち、２以上の領域のそれぞれの領域についての有効性情報を、２以上の領域を結合した領域についての有効性情報に置き換えて学習を行う。
【００５４】
出力部４０４は、各機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークＩ／Ｆ３０３による外部装置への送信、または、メモリ３０２や記録媒体３０５などの記憶領域への記憶である。これにより、出力部４０４は、各機能部の処理結果を利用者に通知可能にし、強化学習装置１００の管理や運用、例えば、強化学習装置１００の設定値の更新などを支援することができ、強化学習装置１００の利便性の向上を図ることができる。
【００５５】
（風力発電機を含む発電システム２００についての強化学習装置１００の動作例）
次に、図５〜図１３を用いて、風力発電機を含む発電システム２００についての強化学習装置１００の動作例について説明する。まず、図５の説明に移行し、風力発電機を含む発電システム２００の具体的構成例について説明する。
【００５６】
図５は、風力発電機を含む発電システム２００の具体的構成例を示す説明図である。図５の例では、発電システム２００は、強化学習装置１００と、ストール制御の風力発電機ｉ（ｉ＝１，・・・，ｎ）と、ピッチ制御の風力発電機ｉ（ｉ＝１，・・・，ｍ）とを含む。ストール制御の風力発電機ｉは、指令値ａｉ（ｉ＝１，・・・，ｎ）を強化学習装置１００から受信する。ピッチ制御の風力発電機ｉは、指令値ｂｉ（ｉ＝１，・・・，ｍ）を強化学習装置１００から受信する。
【００５７】
発電システム２００は、ストール制御の風力発電機ｉについての風速計ｓｉ（ｉ＝１，・・・，ｎ）と、ピッチ制御の風力発電機ｉについての風速計ｐｉ（ｉ＝１，・・・，ｍ）とを含む。風速計ｓｉは、風速値Ｆsi（ｔj）を、強化学習装置１００に送信する。ｔjは、時刻である。風速計ｐｉは、風速値Ｆpi（ｔj）を、強化学習装置１００に送信する。発電システム２００は、ストール制御の風力発電機ｉについての電力計と、ピッチ制御の風力発電機ｉについての電力計とを含む。ストール制御の風力発電機ｉについての電力計は、出力ワット値Ｐsi（ｔj）を、強化学習装置１００に送信する。ピッチ制御の風力発電機ｉについての電力計は、出力ワット値Ｐpi（ｔj）を、強化学習装置１００に送信する。
【００５８】
強化学習装置１００は、テーブル生成部５０１と、区間切替部５０２と、値設定部５０３と、行動決定部５０４と、状態計算部５０５と、報酬計算部５０６と、テーブル更新部５０７とを含む。強化学習装置１００は、発電システム２００全体に関する需要電力ワット値Ｐ’（ｔj）を超えない範囲で、ストール制御の風力発電機ｉについての出力ワット値Ｐsi（ｔj）と、ピッチ制御の風力発電機ｉについての出力ワット値Ｐpi（ｔj）との合計の増大化を図る。
【００５９】
テーブル生成部５０１は、図６および図７に後述する通常分割手法により分割された複数の通常区間についての有効性情報を記憶する通常テーブルを作成する。テーブル生成部５０１は、いずれの２以上の通常区間を結合すると、複数の通常区間が、図６および図７に後述する粗分割手法により分割された複数の粗分割区間に変換されるかを設定する。
【００６０】
区間切替部５０２は、風速値Ｆsi（ｔj）と、風速値Ｆpi（ｔj）と、出力ワット値Ｐsi（ｔj）と、出力ワット値Ｐpi（ｔj）と、需要電力ワット値Ｐ’（ｔj）とを受信する。区間切替部５０２は、受信した各種情報に基づいて、利用するテーブルを、通常テーブルと、複数の粗分割区間についての有効性情報を記憶する粗分割テーブルとで切り替える。区間切替部５０２は、閾値α＞需要電力ワット値Ｐ’（ｔj）であれば、粗分割テーブルを、利用するテーブルに設定する。区間切替部５０２は、閾値α≦需要電力ワット値Ｐ’（ｔj）であれば、通常テーブルを、利用するテーブルに設定する。
【００６１】
値設定部５０３は、切り替えた結果に基づいて、テーブルに有効値を設定する。値設定部５０３は、２以上の領域を結合した場合、結合した領域に対応するレコードに有効値を設定する。値設定部５０３は、２以上の領域を分離した場合、分離した領域ごとに対応するレコードに有効値を設定する。値設定部５０３は、有効値を設定したテーブルを出力する。
【００６２】
行動決定部５０４は、テーブルを利用して、ストール制御の風力発電機ｉに対する指令値ａｉを選択し、ストール制御の風力発電機ｉに送信し、ピッチ制御の風力発電機ｉに対する指令値ｂｉを選択し、ピッチ制御の風力発電機ｉに送信する。行動決定部５０４は、例えば、テーブルにおいて最も大きい有効値が対応付けられた、指令値ａｉと指令値ｂｉとの組み合わせを選択する。行動決定部５０４は、具体的には、ε−ｇｒｅｅｄｙアルゴリズムを用いて、εの確率で指令値をランダムに選択し、１−εの確率で現在の発電システム２００の状態において最も大きい有効値が対応付けられた指令値ａｉと指令値ｂｉとの組み合わせを選択する。
【００６３】
状態計算部５０５は、風速値Ｆsi（ｔj）と、風速値Ｆpi（ｔj）と、出力ワット値Ｐsi（ｔj）と、出力ワット値Ｐpi（ｔj）と、需要電力ワット値Ｐ’（ｔj）とに基づいて、発電システム２００の状態を特定する。状態計算部５０５は、特定した状態に対応するテーブルのレコードを示す状態結果を出力する。報酬計算部５０６は、出力ワット値Ｐsi（ｔj）と、出力ワット値Ｐpi（ｔj）と、需要電力ワット値Ｐ’（ｔj）とに基づいて、報酬値を算出する。テーブル更新部５０７は、状態結果が示すレコードにおける有効値を、算出した報酬値に基づいて更新する。
【００６４】
次に、図６〜図１３の説明に移行し、テーブル生成部５０１と、区間切替部５０２と、値設定部５０３と、行動決定部５０４と、状態計算部５０５と、報酬計算部５０６と、テーブル更新部５０７との、各部分の動作について具体的に説明する。まず、図６および図７の説明に移行し、テーブル生成部５０１において設定される粗分割区間について具体的に説明する。
【００６５】
図６は、ストール制御の風力発電機の状態値が取りうる通常区間と粗分割区間を示す説明図である。例えば、図６のグラフ６０１に示すように、均一に分割する通常分割手法により、出力電力および風速についての全体区間が複数の通常区間に分割される。例えば、出力電力の全体区間は通常区間１，２，・・・，ｎｐｓｉに分割される。風速の全体区間は通常区間１，２，・・・，ｎｆｓｉに分割される。そして、例えば、図６のグラフ６０２に示すように、出力電力が大きい方にある２つの領域が結合する対象に設定され、出力電力および風速についての全体区間が複数の粗分割区間に分割される。例えば、出力電力の全体区間は粗分割区間１，２，・・・，ｎｐｓｉ−１に分割される。風速の全体区間は粗分割区間１，２，・・・，ｎｆｓｉ−１に分割される。次に、図７の説明に移行する。
【００６６】
図７は、ピッチ制御の風力発電機の状態値が取りうる通常区間と粗分割区間を示す説明図である。例えば、図７のグラフ７０１に示すように、均一に分割する通常分割手法により、出力電力および風速についての全体区間が、複数の通常区間に分割される。例えば、出力電力の全体区間は通常区間１，２，・・・，ｎｐｐｉに分割される。風速の全体区間は通常区間１，２，・・・，ｎｆｐｉに分割される。そして、例えば、図７のグラフ７０２に示すように、出力電力が大きい方にある２つの領域が結合する対象に設定され、出力電力および風速についての全体区間が複数の粗分割区間に分割される。例えば、出力電力の全体区間は粗分割区間１，２，・・・，ｎｐｐｉ−１に分割される。風速の全体区間は粗分割区間１，２，・・・，ｎｆｐｉ−１に分割される。
【００６７】
次に、図８の説明に移行し、テーブル生成部５０１において作成される通常区間についての通常テーブル８０１と、通常テーブル８０１から切り替えられる粗分割区間についての粗分割テーブル８０２とを実現する一例について具体的に説明する。
【００６８】
図８は、通常テーブル８０１と粗分割テーブル８０２とを実現する一例を示す説明図である。図８において、強化学習装置１００は、通常テーブル８０１のレコードを、粗分割テーブル８０２のレコードとして流用することにより、通常テーブル８０１と粗分割テーブル８０２とを相互に変換可能に実現する。
【００６９】
強化学習装置１００は、例えば、通常テーブル８０１を作成する。強化学習装置１００は、通常テーブル８０１を粗分割テーブル８０２に変換する場合、結合する２以上の通常区間の一方の通常区間に対応するレコードを、結合した粗分割区間に対応するレコードとして流用する。そして、強化学習装置１００は、他方の通常区間のレコードに設定された有効性情報を削除する。強化学習装置１００は、例えば、通常区間ｎｐｓｉ−１と通常区間ｎｐｓｉとを結合する場合、通常区間ｎｐｓｉ−１に対応するレコードを粗分割区間ｎｐｓｉ−１に対応するレコードとして流用する。強化学習装置１００は、例えば、区間ｎｐｓｉに対応するレコードに設定された有効性情報を削除する。
【００７０】
また、強化学習装置１００は、粗分割テーブル８０２を通常テーブル８０１に変換する場合、結合した区間に対応するレコードを、結合した区間から分割される２以上の区間の一方の区間に対応するレコードとして流用する。そして、強化学習装置１００は、他方の区間のレコードに有効性情報を再び設定する。強化学習装置１００は、例えば、粗分割区間ｎｐｓｉ−１を、通常区間ｎｐｓｉ−１と通常区間ｎｐｓｉとに分割する場合、粗分割区間ｎｐｓｉ−１に対応するレコードを、通常区間ｎｐｓｉ−１に対応するレコードとして流用する。強化学習装置１００は、例えば、通常区間ｎｐｓｉに対応するレコードに有効性情報を再び設定する。
【００７１】
次に、図９を用いて、テーブル生成部５０１において作成される通常テーブル８０１の記憶内容の一例について説明する。通常テーブル８０１は、例えば、図３に示した強化学習装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。以下の通常テーブル８０１の説明は、強化学習手法としてＱ学習を利用する場合に対応し、異なる強化学習手法を利用する場合には記憶内容が異なってもよい。
【００７２】
図９は、通常テーブル８０１の記憶内容の一例を示す説明図である。図９に示すように、通常テーブル８０１は、状態値と指令値と有効値とのフィールドを有する。通常テーブル８０１は、各フィールドに情報を設定することにより、有効性情報をレコードとして記憶する。
【００７３】
状態値のフィールドには、発電システム２００に関する状態値が取りうる区間が設定される。発電システム２００に関する状態値は、風力発電機に関する状態値、および、発電システム２００全体に関する状態値を含む。図９の例では、風力発電機に関する状態値は、ストール制御の風力発電機に関する出力ワット値および風速値と、ピッチ制御の風力発電機に関する出力ワット値および風速値とである。また、発電システム２００全体に関する状態値は、発電システム２００全体における需要電力ワット値である。
【００７４】
指令値のフィールドには、風力発電機に対する指令値が設定される。図９の例では、風力発電機に対する指令値は、ストール制御の風力発電機の電源をＯＮとＯＦＦとで切り替えさせる指令値である。また、風力発電機に対する指令値は、ピッチ制御の風力発電機のピッチ角をどの程度変更するかを示す指令値である。ピッチ角をどの程度変更するかを示す指令値は、具体的には、−ΔΘと±０と＋ΔΘとである。有効値のフィールドには、それぞれの状態値がいずれかの区間に含まれる場合における、風力発電機ごとの指令値の組み合わせの有効性を示す有効値が設定される。
【００７５】
次に、図１０の説明に移行し、区間切替部５０２が、通常テーブル８０１を粗分割テーブル８０２に変換する場合、または、粗分割テーブル８０２を通常テーブル８０１に変換する場合に用いられる、風力発電機に関する特性関数を作成する一例について説明する。風力発電機に関する特性関数は、強化学習装置１００に予め入力されてもよい。
【００７６】
図１０は、特性関数を作成する一例を示す説明図である。図１０において、強化学習装置１００は、風力発電機に関する特性関数を作成する。強化学習装置１００は、例えば、様々な風速におけるストール制御の風力発電機からの出力ワット値を取得する。また、強化学習装置１００は、定格風速と最大出力とカットイン風速とカットアウト風速とを取得する。
【００７７】
次に、強化学習装置１００は、定格風速と最大出力とカットイン風速とカットアウト風速と様々な風速における出力ワット値とに基づいて、ストール制御の風力発電機についての特性関数が示す特性曲線を近似する近似曲線ｆi（ｔ）を求める。強化学習装置１００は、例えば、風速０からカットイン風速までは、ｙ＝０の形状で近似曲線ｆi（ｔ）の一部を求める。
【００７８】
強化学習装置１００は、例えば、カットイン風速から定格風速までは、様々な風速における出力ワット値に基づいて、ｙ＝ａ＊ｘ＾３の形状で近似曲線ｆi（ｔ）の一部を求める。強化学習装置１００は、例えば、定格風速以降では、様々な風速における出力ワット値に基づいて、ｙ＝ｂ＊ｘ＾２の形状で近似曲線ｆi（ｔ）の一部を求める。これにより、強化学習装置１００は、図１０のグラフ１０００に示すような近似曲線ｆi（ｔ）を求める。
【００７９】
また、強化学習装置１００は、例えば、ピッチ角Θ＝０，ΔΘ，２ΔΘ，・・・，ｋΔΘにおける、様々な風速におけるピッチ制御の風力発電機からの出力ワット値を取得する。また、強化学習装置１００は、定格風速と最大出力とカットイン風速とカットアウト風速とを取得する。
【００８０】
次に、強化学習装置１００は、定格風速と最大出力とカットイン風速とカットアウト風速と様々な風速における出力ワット値とに基づいて、ピッチ制御の風力発電機についての特性関数が示す特性曲線を近似する近似曲線ｆi（ｔ）を求める。強化学習装置１００は、例えば、風速０からカットイン風速までは、ｙ＝０の形状で近似曲線ｆi（ｔ）の一部を求める。
【００８１】
強化学習装置１００は、例えば、カットイン風速から定格風速までは、様々な風速における出力ワット値に基づいて、ｙ＝ａ＊ｘ＾３の形状で近似曲線ｆi（ｔ）の一部を求める。強化学習装置１００は、例えば、定格風速以降では、様々な風速における出力ワット値に基づいて、ｙ＝ｂ＊ｘ＾２の形状で近似曲線ｆi（ｔ）の一部を求める。これにより、強化学習装置１００は、ピッチ角Θ＝０，ΔΘ，２ΔΘ，・・・，ｋΔΘにおける、図１０のグラフ１０００に示すような近似曲線ｆi（ｔ）を求める。
【００８２】
次に、図１１の説明に移行し、区間切替部５０２が、予め作成された特定関数の近似曲線ｆi（ｔ）に基づいて、通常テーブル８０１を粗分割テーブル８０２に変換し、利用するテーブルを粗分割テーブル８０２に切り替える一例について説明する。
【００８３】
図１１は、利用するテーブルを粗分割テーブル８０２に切り替える一例を示す説明図である。図１１において、強化学習装置１００は、閾値α＞需要電力ワット値Ｐ’（ｔj）であるため、粗分割テーブル８０２を利用するテーブルに設定する。図１１の例では、通常区間ｎｐｓ１−１と通常区間ｎｐｓ１とを結合した粗分割区間ｎｐｓｉ−１に対応する、●１１０１で示すフィールドに有効値を設定する場合について説明する。
【００８４】
強化学習装置１００は、例えば、粗分割区間ｎｐｓ１−１に対応するレコードを特定する。強化学習装置１００は、特定したレコードに設定されたストール制御の風力発電機ｉに関する風速値Ｆs1，・・・，Ｆsnを取得する。また、強化学習装置１００は、特定したレコードに設定されたピッチ制御の風力発電機ｉからの出力ワット値Ｐp1，・・・，Ｐpmを取得する。また、強化学習装置１００は、特定したレコードに設定されたピッチ制御の風力発電機ｉに関する風速値Ｆp1，・・・，Ｆpmを取得する。また、強化学習装置１００は、特定したレコードに設定された発電システム２００全体に関する需要電力ワット値Ｐ’を取得する。
【００８５】
強化学習装置１００は、ストール制御の風力発電機ｉに対して、観測した風速Ｆsiと近似曲線ｆi（ｔ）とに基づいて、電源をＯＮにした時の予測出力電力Ｐ’si＝ｆi（Ｆsi）を算出する。また、強化学習装置１００は、ストール制御の風力発電機ｉに対して、電源をＯＦＦにした時の予測出力電力Ｐ’si＝０を決定する。
【００８６】
また、強化学習装置１００は、ピッチ制御の風力発電機ｉに対して、観測した風速Ｆpiと出力ワット値Ｐpiと近似曲線ｆi,Θ（ｔ）とに基づいて、ｆi,Θ（Ｆpi）≒Ｐpiになるピッチ角Θを決定する。次に、強化学習装置１００は、決定したピッチ角Θに対して−ΔΘ、±０、＋ΔΘをした場合における予測出力電力Ｐ’pi＝ｆi,Θ-ΔΘ（Ｆpi）、ｆi,Θ（Ｆpi）、ｆi,Θ+ΔΘ（Ｆpi）を算出する。
【００８７】
強化学習装置１００は、予測出力電力Ｐ’si＝ｆi（Ｆsi）と、予測出力電力Ｐ’pi＝ｆi,Θ-ΔΘ（Ｆpi）、ｆi,Θ（Ｆpi）、ｆi,Θ+ΔΘ（Ｆpi）とに基づいて、予測出力電力テーブル１１００を作成する。強化学習装置１００は、●１１０１で示すフィールドに対応する、ストール制御の風力発電機に対する指令値ａ１，・・・，ａｎと、ピッチ制御の風力発電機に対する指令値ｂ１，・・・，ｂｍとを取得する。そして、強化学習装置１００は、作成した予測出力電力テーブル１１００から、取得した指令値に対応する予測出力電力Ｐ’siと、予測出力電力Ｐ’piとを取得し、下記式（１）を用いて、発電システム２００全体における予測出力電力Ｐ〜を算出する。
【００８８】
【数１】
2020061909.tif 000003
【００８９】
そして、強化学習装置１００は、取得した需要電力ワット値Ｐ’と、算出した予測出力電力Ｐ〜との差分値Ｐ”に基づいて、有効値Ｑ＝ｒ（Ｐ”）を算出して、●１１０１で示すフィールドに設定する。ｒ（Ｐ”）は、下記式（２）〜下記式（５）により定義される。具体的には、Ｐ”を下記式（２）により定義し、δ＞０を設定するとき、Ｐ”＞δの場合には下記式（３）によりｒ（Ｐ”）を定義し、−δ≦Ｐ”≦δの場合には下記式（４）によりｒ（Ｐ”）を定義し、Ｐ”＜−δの場合には下記式（５）によりｒ（Ｐ”）を定義する。
【００９０】
【数２】
2020061909.tif 000004
【００９１】
【数３】
2020061909.tif 000005
【００９２】
【数４】
2020061909.tif 000006
【００９３】
【数５】
2020061909.tif 000007
【００９４】
強化学習装置１００は、他のフィールドにも同様に有効値を設定する。これにより、強化学習装置１００は、出力ワット値の合計が需要電力ワット値に近づくほど、有効値が大きくなるように、有効値を算出することができる。このため、強化学習装置１００は、有効値を参照して、発電システム２００を適切に制御しやすくすることができる。また、強化学習装置１００は、学習を行って更新する対象である有効性情報の数を減少させ、強化学習にかかる処理量の低減化を図ることができる。
【００９５】
次に、図１２の説明に移行し、区間切替部５０２が、予め作成された特定関数の近似曲線ｆi（ｔ）に基づいて、粗分割テーブル８０２を通常テーブル８０１に変換し、利用するテーブルを通常テーブル８０１に切り替える一例について説明する。
【００９６】
図１２は、利用するテーブルを通常テーブル８０１に切り替える一例を示す説明図である。図１２において、強化学習装置１００は、閾値α≦需要電力ワット値Ｐ’（ｔj）であるため、通常テーブル８０１を利用するテーブルに設定する。図１２の例では、粗分割区間ｎｐｓｉ−１から分割した通常区間ｎｐｓ１−１に対応する、●１２０１で示すフィールドに有効値を設定する場合について説明する。
【００９７】
強化学習装置１００は、例えば、粗分割区間ｎｐｓｉ−１に対応するレコードを特定する。次に、強化学習装置１００は、特定したレコードに設定されたストール制御の風力発電機ｉに関する風速値Ｆs1，・・・，Ｆsnを取得する。また、強化学習装置１００は、特定したレコードに設定されたピッチ制御の風力発電機ｉからの出力ワット値Ｐp1，・・・，Ｐpmを取得する。また、強化学習装置１００は、特定したレコードに設定されたピッチ制御の風力発電機ｉに関する風速値Ｆp1，・・・，Ｆpmを取得する。また、強化学習装置１００は、特定したレコードに設定された発電システム２００全体に関する需要電力ワット値Ｐ’を取得する。
【００９８】
強化学習装置１００は、ストール制御の風力発電機ｉに対して、観測した風速Ｆsiと近似曲線ｆi（ｔ）とに基づいて、電源をＯＮにした時の予測出力電力Ｐ’si＝ｆi（Ｆsi）を算出する。また、強化学習装置１００は、ストール制御の風力発電機ｉに対して、電源をＯＦＦにした時の予測出力電力Ｐ’si＝０を決定する。
【００９９】
また、強化学習装置１００は、ピッチ制御の風力発電機ｉに対して、観測した風速Ｆpiと出力ワット値Ｐpiと近似曲線ｆi,Θ（ｔ）とに基づいて、ｆi,Θ（Ｆpi）≒Ｐpiになるピッチ角Θを決定する。次に、強化学習装置１００は、決定したピッチ角Θに対して−ΔΘ、±０、＋ΔΘをした場合における予測出力電力Ｐ’pi＝ｆi,Θ-ΔΘ（Ｆpi）、ｆi,Θ（Ｆpi）、ｆi,Θ+ΔΘ（Ｆpi）を算出する。
【０１００】
強化学習装置１００は、予測出力電力Ｐ’si＝ｆi（Ｆsi）と、予測出力電力Ｐ’pi＝ｆi,Θ-ΔΘ（Ｆpi）、ｆi,Θ（Ｆpi）、ｆi,Θ+ΔΘ（Ｆpi）とに基づいて、予測出力電力テーブル１２００を作成する。強化学習装置１００は、●１２０１で示すフィールドに対応する、ストール制御の風力発電機に対する指令値ａ１，・・・，ａｎと、ピッチ制御の風力発電機に対する指令値ｂ１，・・・，ｂｍとを取得する。そして、強化学習装置１００は、作成した予測出力電力テーブル１２００から、取得した指令値に対応する予測出力電力Ｐ’siと、予測出力電力Ｐ’piとを取得し、上記式（１）を用いて、発電システム２００全体における予測出力電力Ｐ〜を算出する。
【０１０１】
そして、強化学習装置１００は、取得した需要電力ワット値Ｐ’と、算出した予測出力電力Ｐ〜との差分値Ｐ”に基づいて、有効値Ｑ＝ｒ（Ｐ”）を算出して、●１２０１で示すフィールドに設定する。ｒ（Ｐ”）は、具体的には、上記式（２）〜上記式（５）により定義される。
【０１０２】
強化学習装置１００は、通常区間ｎｐｓ１−１に対応する他のフィールド、および、通常区間ｎｐｓｉに対応するフィールドにも同様に有効値を設定する。これにより、強化学習装置１００は、出力ワット値の合計が需要電力ワット値に近づくほど、有効値が大きくなるように、有効値を算出することができる。このため、強化学習装置１００は、有効値を参照して、発電システム２００を適切に制御しやすくすることができる。また、強化学習装置１００は、学習を行って更新する対象である有効性情報の数を増加させ、どのような状態値の場合にどのような指令値を出力することが好ましいかを細分化し実行することができる。
【０１０３】
以上では、強化学習装置１００は、近似曲線ｆi（ｔ）や近似曲線ｆi,Θ（ｔ）に基づいて、有効値を算出した。ここで、現在の風速をＦsi，Ｆpiとして、次の時刻で観測される風速をＦsi＋ΔＦsi，Ｆpi＋ΔＦpiとする。この場合、次の時刻で観測される出力電力はｆi（Ｆsi＋ΔＦsi）、ｆi,Θ-ΔΘ（Ｆpi＋ΔＦpi）、ｆi,Θ（Ｆpi＋ΔＦpi）、ｆi,Θ+ΔΘ（Ｆpi＋ΔＦpi）となる。さらに、近似曲線は連続関数であるため、次の時刻で観測される出力電力はｆi（Ｆsi）＋ΔＰsi、ｆi,Θ-ΔΘ（Ｆpi）＋ΔＰpi、ｆi,Θ（Ｆpi）＋ΔＰpi、ｆi,Θ+ΔΘ（Ｆpi）＋ΔＰpiとなる。
【０１０４】
また、次の時刻での需要電力をＰ’＋ΔＰ’とすれば、次の時刻での需要電力と出力電力との差Ｐ”nと、現在求めた需要電力と出力電力の差Ｐ”について、下記式（６）が成立する。また、報酬関数は連続関数であるため、下記式（７）が成立する。
【０１０５】
【数６】
2020061909.tif 000008
【０１０６】
【数７】
2020061909.tif 000009
【０１０７】
ここで、ΔＦsi→０、ΔＦpi→０、ΔＰ→０であれば、Ｐ”n→Ｐ”、ｒ（Ｐ”n）→ｒ（Ｐ”）が成立する。したがって、風速が安定し、かつ、需要電力の変化が小さい場合には、Ｐ”n≒Ｐ”、ｒ（Ｐ”n）≒ｒ（Ｐ”）が成立する。このため、強化学習装置１００が、ε−ｇｒｅｅｄｙアルゴリズムにより、最も大きい有効値ｒ（Ｐ”）の指令値の組み合わせを選択すれば、下記式（８）により、出力電力の合計を需要電力に近づけることができると判断される。
【０１０８】
【数８】
2020061909.tif 000010
【０１０９】
このように、強化学習装置１００は、特性関数に基づいて有効値を算出することで、制御対象となる風力発電機に対し、実際の需用電力に応じた出力電力となるようにすることができる。このため、強化学習装置１００は、有効値を０で初期化したり、有効値をランダムに設定したりする場合に比べて、適切な指令値を選択しやすくすることができる。
【０１１０】
その後、強化学習装置１００は、一定時間ごとに、ε−ｇｒｅｅｄｙアルゴリズムを用いて、指令値ａｉと指令値ｂｉとの組み合わせを行動として選択して出力する。強化学習装置１００は、例えば、時刻ｔjにおいて、風速値Ｆsi（ｔj）と、風速値Ｆpi（ｔj）と、出力ワット値Ｐsi（ｔj）と、出力ワット値Ｐpi（ｔj）と、需要電力ワット値Ｐ’（ｔj）とを、状態値として取得する。
【０１１１】
強化学習装置１００は、風速値Ｆsi（ｔj）の属する区間Ｆsi〜（ｔj）と、風速値Ｆpi（ｔj）の属する区間Ｆpi〜（ｔj）とを特定する。強化学習装置１００は、出力ワット値Ｐsi（ｔj）の属する区間Ｐsi〜（ｔj）と、出力ワット値Ｐpi（ｔj）の属する区間Ｐpi〜（ｔj）とを特定する。強化学習装置１００は、需要電力ワット値Ｐ’（ｔj）の属する区間Ｐ’〜（ｔj）を特定する。
【０１１２】
そして、強化学習装置１００は、εの確率で、指令値ａｉと指令値ｂｉとの組み合わせをランダムに選択して出力する。強化学習装置１００は、１−εの確率で、利用するテーブルとして設定された通常テーブル８０１または粗分割テーブル８０２のうち、取得した状態値が属する区間の組み合わせに対応するレコードを特定する。強化学習装置１００は、特定したレコードにおいて、最も大きい有効値が対応付けられた指令値ａｉと指令値ｂｉとの組み合わせを選択して出力する。
【０１１３】
また、強化学習装置１００は、時刻ｔj-1で出力した指令値ａｉと指令値ｂｉとの組み合わせについて、時刻ｔjにおいて報酬値を算出する。強化学習装置１００は、例えば、下記式（９）〜下記式（１２）により、報酬値ｒ（ｔj）を算出する。具体的には、Ｐ”（ｔj）を下記式（９）により定義する。そして、Ｐ”（ｔj）＞δの場合には下記式（１０）によりｒ（ｔj）を定義し、−δ≦Ｐ”（ｔj）≦δの場合には下記式（１１）によりｒ（ｔj）を定義し、Ｐ”（ｔj）＜−δの場合には下記式（１２）によりｒ（ｔj）を定義する。
【０１１４】
【数９】
2020061909.tif 000011
【０１１５】
【数１０】
2020061909.tif 000012
【０１１６】
【数１１】
2020061909.tif 000013
【０１１７】
【数１２】
2020061909.tif 000014
【０１１８】
次に、図１３を用いて、情報処理装置が、指令値ａｉと指令値ｂｉとの組み合わせを出力したことに応じて算出した報酬値に基づいて、有効値を更新する場合について説明する。図１３の例では、情報処理装置は、例えば、時刻ｔj+1において、時刻ｔjにおいて出力した指令値ａｉと指令値ｂｉとの組み合わせについて算出した報酬値に基づいて、有効値を更新する場合について説明する。
【０１１９】
図１３は、有効値を更新する一例を示す説明図である。図１３において、強化学習装置１００は、時刻ｔjにおいて取得した状態値が属する区間の組み合わせに対応するレコードに対応付けられた、●１３０１で示すフィールドに設定された有効値Ｑを更新する。強化学習装置１００は、例えば、下記式（１３）および下記式（１４）を用いて、時刻ｔj+1において算出した報酬値に基づいて、有効値Ｑ’を算出し、●１３０１で示すフィールドに設定された有効値Ｑを更新する。
【０１２０】
強化学習装置１００は、時刻ｔj+1において取得した状態値が属する区間の組み合わせに対応するレコードが、粗分割区間に対応するレコード、または、結合されうる通常区間に対応するレコードであれば、下記式（１３）を用いて有効値Ｑ’を算出する。また、強化学習装置１００は、時刻ｔj+1において取得した状態値が属する区間の組み合わせに対応するレコードが、粗分割区間に対応するレコード、または、結合されうる通常区間に対応するレコードでなければ、下記式（１４）を用いて有効値Ｑ’を算出する。
【０１２１】
【数１３】
2020061909.tif 000015
【０１２２】
【数１４】
2020061909.tif 000016
【０１２３】
図１３の例では、強化学習装置１００は、時刻ｔj+1において取得した状態値が属する区間の組み合わせに対応するレコードが、粗分割区間に対応するレコード、または、結合されうる通常区間に対応するレコードではないと判定する。強化学習装置１００は、フィールド１３１１の状態値、フィールド１３１２の有効値をｍａｘ関数に代入した値、および、有効値Ｑに基づいて、上記式（１４）を用いて有効値Ｑ’を算出する。
【０１２４】
一方で、強化学習装置１００が、時刻ｔj+1において取得した状態値が属する区間の組み合わせに対応するレコードが、粗分割区間に対応するレコード、または、結合されうる通常区間に対応するレコードであると判定する場合がある。この場合、強化学習装置１００は、フィールド１３１０の状態値、フィールド１３２０の状態値、および、有効値Ｑに基づいて、上記式（１３）を用いて有効値Ｑ’を算出する。これにより、強化学習装置１００は、有効性情報を更新し、発電システム２００に対して適切な制御を行いやすくすることができる。
【０１２５】
（火力発電機を含む発電システム２００についての強化学習装置１００の動作例）
次に、図１４および図１５を用いて、火力発電機を含む発電システム２００についての強化学習装置１００の動作例について説明する。まず、図１４の説明に移行し、火力発電機を含む発電システム２００の具体的構成例について説明する。
【０１２６】
図１４は、火力発電機を含む発電システム２００の具体的構成例を示す説明図である。図１４の例では、発電システム２００は、強化学習装置１００と、燃料制御の火力発電機ｉ（ｉ＝１，・・・，ｍ）とを含む。燃料制御の火力発電機ｉは、指令値ｂｉ（ｉ＝１，・・・，ｍ）を強化学習装置１００から受信する。
【０１２７】
発電システム２００は、燃料制御の火力発電機ｉについての燃料計ｐｉ（ｉ＝１，・・・，ｍ）とを含む。燃料計ｐｉは、燃料使用量Ｆpi（ｔj）を、強化学習装置１００に送信する。発電システム２００は、燃料制御の火力発電機ｉについての電力計とを含む。燃料制御の火力発電機ｉについての電力計は、出力ワット値Ｐpiを、強化学習装置１００に送信する。
【０１２８】
強化学習装置１００は、テーブル生成部５０１と、区間切替部５０２と、値設定部５０３と、行動決定部５０４と、状態計算部５０５と、報酬計算部５０６と、テーブル更新部５０７とを含む。ここで、火力発電機を含む発電システム２００についての強化学習装置１００が有する各部分の動作は、風力発電機を含む発電システム２００についての強化学習装置１００が有する各部分の動作と同様であるため、説明を省略する。ここで、図１５の説明に移行し、火力発電機を含む発電システム２００における、通常テーブル８０１の記憶内容の一例について説明する。
【０１２９】
図１５は、火力発電機に関する通常テーブル８０１の記憶内容の一例を示す説明図である。図１５に示すように、通常テーブル８０１は、状態値と指令値と有効値とのフィールドを有する。通常テーブル８０１は、各フィールドに情報を設定することにより、有効性情報をレコードとして記憶する。
【０１３０】
状態値のフィールドには、発電システム２００に関する状態値が取りうる区間が設定される。発電システム２００に関する状態値は、火力発電機に関する状態値、および、発電システム２００全体に関する状態値を含む。図１５の例では、火力発電機に関する状態値は、燃料制御の火力発電機に関する出力ワット値および燃料使用量とである。また、発電システム２００全体に関する状態値は、発電システム２００全体における需要電力である。
【０１３１】
指令値のフィールドには、火力発電機に対する指令値が設定される。図１５の例では、火力発電機に対する指令値は、燃料制御の火力発電機の燃料使用量をどの程度変更するかを示す指令値である。燃料使用量をどの程度変更するかを示す指令値は、具体的には、−Ｘと±０と＋Ｘとである。有効値のフィールドには、それぞれの状態値がいずれかの区間に含まれる場合における、火力発電機ごとの指令値の組み合わせの有効性を示す有効値が設定される。
【０１３２】
（全体処理手順）
次に、図１６を用いて、強化学習装置１００が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０１３３】
図１６は、全体処理手順の一例を示すフローチャートである。図１６において、強化学習装置１００は、複数の通常区間についてのテーブルを作成し、粗分割区間になりうる２以上の通常区間を設定する（ステップＳ１６０１）。
【０１３４】
次に、強化学習装置１００は、図１７に後述する切替判定処理を実行し、利用するテーブルを設定する（ステップＳ１６０２）。そして、強化学習装置１００は、図１８に後述する値設定処理を実行し、設定したテーブルに対して有効値を設定する（ステップＳ１６０３）。
【０１３５】
次に、強化学習装置１００は、風力発電機からの出力ワット値と、風速値と、需要電力ワット値とに基づいて、風力発電機の状態を特定する（ステップＳ１６０４）。そして、強化学習装置１００は、風力発電機からの出力ワット値と需要電力ワット値とに基づいて、風力発電機からの報酬を算出する（ステップＳ１６０５）。
【０１３６】
次に、強化学習装置１００は、設定したテーブルを利用して、風力発電機に対する指令値を決定して出力する（ステップＳ１６０６）。そして、強化学習装置１００は、算出した報酬に基づいて、設定したテーブルに記憶された有効値を更新する（ステップＳ１６０７）。その後、強化学習装置１００は、ステップＳ１６０２の処理に戻る。
【０１３７】
（切替判定処理手順）
次に、図１７を用いて、強化学習装置１００が実行する、切替判定処理手順の一例について説明する。切替判定処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０１３８】
図１７は、切替判定処理手順の一例を示すフローチャートである。図１７において、強化学習装置１００は、閾値αを設定する（ステップＳ１７０１）。次に、強化学習装置１００は、需要電力ワット値Ｐ’（ｔj）に対し、α＞Ｐ’（ｔj）であるか否かを判定する（ステップＳ１７０２）。
【０１３９】
ここで、α＞Ｐ’（ｔj）である場合（ステップＳ１７０２：Ｙｅｓ）、強化学習装置１００は、ステップＳ１７０７の処理に移行する。一方で、α＞Ｐ’（ｔj）ではない場合（ステップＳ１７０２：Ｎｏ）、強化学習装置１００は、ステップＳ１７０３の処理に移行する。
【０１４０】
ステップＳ１７０３では、強化学習装置１００は、通常区間についての通常テーブル８０１を利用すると決定する（ステップＳ１７０３）。次に、強化学習装置１００は、直前まで通常区間についての通常テーブル８０１を利用していたか否かを判定する（ステップＳ１７０４）。
【０１４１】
ここで、通常区間についての通常テーブル８０１を利用している場合（ステップＳ１７０４：Ｙｅｓ）、強化学習装置１００は、ステップＳ１７０６の処理に移行する。一方で、通常区間についての通常テーブル８０１を利用していない場合（ステップＳ１７０４：Ｎｏ）、強化学習装置１００は、ステップＳ１７０５の処理に移行する。
【０１４２】
ステップＳ１７０５では、強化学習装置１００は、通常区間についての通常テーブル８０１を作成し、利用するテーブルに設定する（ステップＳ１７０５）。そして、強化学習装置１００は、切替判定処理を終了する。
【０１４３】
ステップＳ１７０６では、強化学習装置１００は、直前まで利用していたテーブルをそのまま、利用するテーブルに設定する（ステップＳ１７０６）。そして、強化学習装置１００は、切替判定処理を終了する。
【０１４４】
ステップＳ１７０７では、強化学習装置１００は、粗分割区間についての粗分割テーブル８０２を利用すると決定する（ステップＳ１７０７）。次に、強化学習装置１００は、直前まで粗分割区間についての粗分割テーブル８０２を利用していたか否かを判定する（ステップＳ１７０８）。
【０１４５】
ここで、粗分割区間についての粗分割テーブル８０２を利用している場合（ステップＳ１７０８：Ｙｅｓ）、強化学習装置１００は、ステップＳ１７０６の処理に移行する。一方で、粗分割区間についての粗分割テーブル８０２を利用していない場合（ステップＳ１７０８：Ｎｏ）、強化学習装置１００は、ステップＳ１７０９の処理に移行する。
【０１４６】
ステップＳ１７０９では、強化学習装置１００は、粗分割区間についての粗分割テーブル８０２を作成し、利用するテーブルに設定する（ステップＳ１７０９）。そして、強化学習装置１００は、切替判定処理を終了する。
【０１４７】
（値設定処理手順）
次に、図１８を用いて、強化学習装置１００が実行する、値設定処理手順の一例について説明する。値設定処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０１４８】
図１８は、値設定処理手順の一例を示すフローチャートである。図１８において、強化学習装置１００は、利用するテーブルから、粗分割区間を分割する通常区間、または、通常区間を結合する粗分割区間に対応するレコードを特定する（ステップＳ１８０１）。
【０１４９】
次に、強化学習装置１００は、特定したレコードに設定されたストール制御の風力発電機ｉ（ｉ＝１，・・・，ｎ）に関する風速値Ｆs1，・・・，Ｆsnを取得する（ステップＳ１８０２）。そして、強化学習装置１００は、特定したレコードに設定されたピッチ制御の風力発電機ｉ（ｉ＝１，・・・，ｍ）からの出力ワット値Ｐp1，・・・，Ｐpmを取得する（ステップＳ１８０３）。
【０１５０】
次に、強化学習装置１００は、特定したレコードに設定されたピッチ制御の風力発電機ｉ（ｉ＝１，・・・，ｍ）に関する風速値Ｆp1，・・・，Ｆpmを取得する（ステップＳ１８０４）。そして、強化学習装置１００は、特定したレコードに設定された発電システム２００全体に関する需要電力ワット値Ｐ’を取得する（ステップＳ１８０５）。
【０１５１】
次に、強化学習装置１００は、ストール制御の風力発電機ｉ（ｉ＝１，・・・，ｎ）に対して、観測した風速Ｆsiと近似曲線ｆi（ｔ）とに基づいて、電源をＯＮにした時の予測出力電力ｆi（Ｆsi）を算出する（ステップＳ１８０６）。そして、強化学習装置１００は、ピッチ制御の風力発電機ｉ（ｉ＝１，・・・，ｍ）に対して、観測した風速Ｆpiと出力ワット値Ｐpiと近似曲線ｆi,Θ（ｔ）とに基づいて、ｆi,Θ（Ｆpi）≒Ｐpiになるピッチ角Θを決定する（ステップＳ１８０７）。
【０１５２】
次に、強化学習装置１００は、決定したピッチ角Θに対して−ΔΘ、±０、＋ΔΘをした場合における予測出力電力ｆi,Θ-ΔΘ（Ｆpi）、ｆi,Θ（Ｆpi）、ｆi,Θ+ΔΘ（Ｆpi）を算出する（ステップＳ１８０８）。そして、強化学習装置１００は、予測出力電力ｆi（Ｆsi）と、予測出力電力ｆi,Θ-ΔΘ（Ｆpi）、ｆi,Θ（Ｆpi）、ｆi,Θ+ΔΘ（Ｆpi）とに基づいて、予測出力電力テーブルを作成する（ステップＳ１８０９）。
【０１５３】
次に、強化学習装置１００は、特定したレコードにあるフィールドごとに、ストール制御の風力発電機に対する指令値ａ１，・・・，ａｎと、ピッチ制御の風力発電機に対する指令値ｂ１，・・・，ｂｍとを取得する（ステップＳ１８１０）。そして、強化学習装置１００は、特定したレコードにあるフィールドごとに、取得した指令値と作成した予測出力電力テーブルとに基づいて、発電システム２００全体における予測出力電力Ｐ〜を算出する（ステップＳ１８１１）。
【０１５４】
次に、強化学習装置１００は、特定したレコードにあるフィールドごとに、需要電力ワット値Ｐ’と算出した予測出力電力Ｐ〜との差分値に基づいて、有効値を算出して設定する（ステップＳ１８１２）。そして、強化学習装置１００は、値設定処理を終了する。
【０１５５】
（特性関数作成処理手順）
次に、図１９および図２０を用いて、強化学習装置１００が実行する、特性関数作成処理手順の一例について説明する。特性関数作成処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０１５６】
図１９は、ストール制御の風力発電機についての特性関数作成処理手順の一例を示すフローチャートである。図１９において、強化学習装置１００は、様々な風速におけるストール制御の風力発電機からの出力ワット値を観測する（ステップＳ１９０１）。
【０１５７】
次に、強化学習装置１００は、様々な風速における出力ワット値に基づいて、ストール制御の風力発電機についての特性関数が示す特性曲線を近似する近似曲線ｆi（ｔ）を求める（ステップＳ１９０２）。そして、強化学習装置１００は、ストール制御の風力発電機についての特性関数作成処理を終了する。
【０１５８】
図２０は、ピッチ制御の風力発電機についての特性関数作成処理手順の一例を示すフローチャートである。図２０において、強化学習装置１００は、ピッチ制御の風力発電機における最大ピッチ角ＭΘを取得する（ステップＳ２００１）。
【０１５９】
次に、強化学習装置１００は、ピッチ制御の風力発電機に対してピッチ角Θ＝０を設定する（ステップＳ２００２）。そして、強化学習装置１００は、Θ＜ＭΘであるか否かを判定する（ステップＳ２００３）。
【０１６０】
ここで、Θ＜ＭΘである場合（ステップＳ２００３：Ｙｅｓ）、強化学習装置１００は、ステップＳ２００４の処理に移行する。一方で、Θ＜ＭΘではない場合（ステップＳ２００３：Ｎｏ）、強化学習装置１００は、ピッチ制御の風力発電機についての特性関数作成処理を終了する。
【０１６１】
ステップＳ２００４では、強化学習装置１００は、様々な風速におけるピッチ制御の風力発電機からの出力ワット値を観測する（ステップＳ２００４）。次に、強化学習装置１００は、様々な風速における出力ワット値に基づいて、ピッチ制御の風力発電機についての特性関数が示す特性曲線を近似する近似曲線ｆi,Θ（ｔ）を求める（ステップＳ２００５）。
【０１６２】
そして、強化学習装置１００は、ピッチ角Θ＝Θ＋ΔΘに設定する（ステップＳ２００６）。その後、強化学習装置１００は、ステップＳ２００３の処理に戻る。
【０１６３】
ここで、強化学習装置１００は、上述した各種フローチャートのうち一部ステップの処理の順序を入れ替えて実行してもよい。また、強化学習装置１００は、上述した各種フローチャートのうち一部ステップの処理を省略してもよい。
【０１６４】
以上説明したように、強化学習装置１００によれば、発電機２０１に関する状態値が取りうる複数の領域のそれぞれの領域における発電機２０１に対する指令値ごとの有効性を示す有効性情報を利用して学習を行うことができる。強化学習装置１００によれば、観測した発電機２０１に関する状態値を参照し、特性関数に基づいて、複数の領域のうち連続する２以上の領域を結合した領域における発電機２０１に対する指令値ごとの有効性を示す有効性情報を生成することができる。強化学習装置１００によれば、生成した結合した領域についての有効性情報、および、複数の領域のうち２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行うことができる。これにより、強化学習装置１００は、学習を行って更新する対象である有効性情報の数を減少させ、強化学習にかかる処理量の低減化を図ることができる。
【０１６５】
強化学習装置１００によれば、観測した発電機２０１に関する状態値を参照し、特性関数に基づいて、２以上の領域のそれぞれの領域における発電機２０１に対する指令値ごとの有効性を示す有効性情報を生成することができる。強化学習装置１００によれば、生成した２以上の領域のそれぞれの領域についての有効性情報、および、複数の領域のうち２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行うことができる。これにより、強化学習装置１００は、どのような状態値の場合にどのような指令値を出力することが好ましいかを細分化して実行することができる。
【０１６６】
強化学習装置１００によれば、発電機２０１の状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、発電機２０１の指令値の組み合わせごとの有効性を示す有効性情報を利用して学習を行うことができる。強化学習装置１００によれば、観測した発電機２０１の状態値を参照し、特性関数に基づいて、複数の領域のうち連続する２以上の領域を結合した領域における、発電機２０１の指令値の組み合わせごとの有効性を示す有効性情報を生成することができる。強化学習装置１００によれば、生成した結合した領域についての有効性情報、および、複数の領域のうち２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行うことができる。これにより、強化学習装置１００は、発電機２０１が複数ある場合に適用することができる。
【０１６７】
強化学習装置１００によれば、風力発電機についての有効性情報を生成することができる。これにより、強化学習装置１００は、風力発電機を含む発電システム２００に適用することができる。
【０１６８】
強化学習装置１００によれば、特性関数に基づいて、観測した風速に対応する出力電力を特定し、特定した出力電力に基づいて、結合した領域についての有効性情報を生成することができる。これにより、強化学習装置１００は、ストール制御の風力発電機についての有効性情報を生成することができる。
【０１６９】
強化学習装置１００によれば、発電機２０１の受風性能ごとに異なる複数の特性関数のうち、観測した風速および出力電力に対応する特性関数に基づいて、結合した領域についての有効性情報を生成することができる。これにより、強化学習装置１００は、ピッチ制御の風力発電機についての有効性情報を生成することができる。
【０１７０】
強化学習装置１００によれば、火力発電機についての有効性情報を生成することができる。これにより、強化学習装置１００は、火力発電機を含む発電システム２００に適用することができる。
【０１７１】
強化学習装置１００によれば、観測した需要電力が閾値以下である場合に、結合した領域についての有効性情報を生成することができる。これにより、強化学習装置１００は、比較的大きな出力電力の領域については詳細に検証しなくてもよい場合に、学習を行って更新する対象である有効性情報の数を減少させることができる。ここで、強化学習装置１００は、比較的大きな出力電力の領域について結合すれば、発電システムに対する制御に与える悪影響を抑制することができる。
【０１７２】
強化学習装置１００によれば、観測した需要電力が閾値を超える場合に、結合した領域についての有効性情報を生成することができる。これにより、強化学習装置１００は、比較的小さな出力電力の領域については詳細に検証しなくてもよい場合に、学習を行って更新する対象である有効性情報の数を減少させることができる。ここで、強化学習装置１００は、比較的小さな出力電力の領域について結合すれば、発電システムに対する制御に与える悪影響を抑制することができる。
【０１７３】
強化学習装置１００によれば、２以上の領域のそれぞれの領域についての有効性情報に基づいて、２以上の領域を結合した領域についての有効性情報を生成することができる。これにより、強化学習装置１００は、特性関数が不明であっても、学習を行って更新する対象である有効性情報の数を減少させ、強化学習にかかる処理量の低減化を図ることができる。
【０１７４】
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１７５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１７６】
（付記１）コンピュータに、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする強化学習プログラム。
【０１７７】
（付記２）前記コンピュータに、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記２以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記２以上の領域のそれぞれの領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする付記１に記載の強化学習プログラム。
【０１７８】
（付記３）前記コンピュータに、
前記発電機が複数ある場合、前記発電機の状態値の組み合わせが取りうる複数の領域のそれぞれの領域における、前記発電機の指令値の組み合わせごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機の状態値を参照し、前記特性関数に基づいて、前記複数の領域のうち連続する２以上の領域を結合した領域における、前記発電機の指令値の組み合わせごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする付記１または２に記載の強化学習プログラム。
【０１７９】
（付記４）前記発電機は、風力発電機であり、
前記発電機に関する状態値は、風速、および、出力電力である、ことを特徴とする付記１〜３のいずれか一つに記載の強化学習プログラム。
【０１８０】
（付記５）前記特性関数は、風速と前記発電機からの出力電力との関係を示し、
前記結合した領域についての有効性情報を生成する処理は、前記特性関数に基づいて、観測した風速に対応する出力電力を特定し、特定した前記出力電力に基づいて、前記結合した領域についての有効性情報を生成する、ことを特徴とする付記４に記載の強化学習プログラム。
【０１８１】
（付記６）前記発電機は、受風性能を変更可能であり、
前記指令値は、受風性能を制御する指令値であり、
前記特性関数は、風速と前記発電機からの出力電力との関係を示し、
前記結合した領域についての有効性情報を生成する処理は、前記発電機の受風性能ごとに異なる複数の前記特性関数のうち、観測した風速および出力電力に対応する前記特性関数に基づいて、前記結合した領域についての有効性情報を生成する、ことを特徴とする付記４に記載の強化学習プログラム。
【０１８２】
（付記７）前記発電機は、火力発電機であり、
前記発電機に関する状態値は、燃料使用量、および、出力電力である、ことを特徴とする付記１〜３のいずれか一つに記載の強化学習プログラム。
【０１８３】
（付記８）前記結合した領域についての有効性情報を生成する処理は、観測した需要電力が閾値以下である場合に、前記結合した領域についての有効性情報を生成する、ことを特徴とする付記１〜７のいずれか一つに記載の強化学習プログラム。
【０１８４】
（付記９）前記結合した領域についての有効性情報を生成する処理は、観測した需要電力が閾値を超える場合に、前記結合した領域についての有効性情報を生成する、ことを特徴とする付記１〜７のいずれか一つに記載の強化学習プログラム。
【０１８５】
（付記１０）コンピュータが、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行することを特徴とする強化学習方法。
【０１８６】
（付記１１）発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
観測した前記発電機に関する状態値を参照し、前記発電機に関する状態値についての特性関数に基づいて、前記複数の領域のうち連続する２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
制御部を有することを特徴とする強化学習装置。
【０１８７】
（付記１２）コンピュータに、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
前記複数の領域のうち連続する２以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報に基づいて、前記２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行させることを特徴とする強化学習プログラム。
【０１８８】
（付記１３）コンピュータが、
発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
前記複数の領域のうち連続する２以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報に基づいて、前記２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
処理を実行することを特徴とする強化学習方法。
【０１８９】
（付記１４）発電機に関する状態値が取りうる複数の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を利用して学習を行い、
前記複数の領域のうち連続する２以上の領域のそれぞれの領域における前記発電機に対する指令値ごとの有効性を示す有効性情報に基づいて、前記２以上の領域を結合した領域における前記発電機に対する指令値ごとの有効性を示す有効性情報を生成し、
生成した前記結合した領域についての有効性情報、および、前記複数の領域のうち前記２以上の領域以外のそれぞれの領域についての有効性情報を利用して学習を行う、
制御部を有することを特徴とする強化学習装置。
【符号の説明】
【０１９０】
１００  強化学習装置
２００  発電システム
２０１  発電機
２１０  ネットワーク
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  ネットワークＩ／Ｆ
３０４  記録媒体Ｉ／Ｆ
３０５  記録媒体
４００  記憶部
４０１  取得部
４０２  切替部
４０３  学習部
４０４  出力部
５０１  テーブル生成部
５０２  区間切替部
５０３  値設定部
５０４  行動決定部
５０５  状態計算部
５０６  報酬計算部
５０７  テーブル更新部
６０１，６０２，７０１，７０２，１０００  グラフ
８０１  通常テーブル
８０２  粗分割テーブル
１１００，１２００  予測出力電力テーブル
１３１０〜１３１２，１３２０  フィールド
【図１】
2020061909.tif 000017
【図２】
2020061909.tif 000018
【図３】
2020061909.tif 000019
【図４】
2020061909.tif 000020
【図５】
2020061909.tif 000021
【図６】
2020061909.tif 000022
【図７】
2020061909.tif 000023
【図８】
2020061909.tif 000024
【図９】
2020061909.tif 000025
【図１０】
2020061909.tif 000026
【図１１】
2020061909.tif 000027
【図１２】
2020061909.tif 000028
【図１３】
2020061909.tif 000029
【図１４】
2020061909.tif 000030
【図１５】
2020061909.tif 000031
【図１６】
2020061909.tif 000032
【図１７】
2020061909.tif 000033
【図１８】
2020061909.tif 000034
【図１９】
2020061909.tif 000035
【図２０】
2020061909.tif 000036