(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】方策作成装置、制御装置、方策作成方法、及び、プログラム
(51)【国際特許分類】
G06N 5/025 20230101AFI20240925BHJP
G06N 5/04 20230101ALI20240925BHJP
【FI】
G06N5/025
G06N5/04
(21)【出願番号】P 2022541325
(86)(22)【出願日】2020-08-03
(86)【国際出願番号】 JP2020029605
(87)【国際公開番号】W WO2022029821
(87)【国際公開日】2022-02-10
【審査請求日】2023-01-25
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】高橋 友紀子
(72)【発明者】
【氏名】岡嶋 譲
【審査官】坂庭 剛史
(56)【参考文献】
【文献】国際公開第2020/137019(WO,A1)
【文献】特開2003-233503(JP,A)
【文献】特開平11-015807(JP,A)
【文献】特開2019-074907(JP,A)
【文献】特表2015-502616(JP,A)
【文献】田中友紀子、平岡拓也、鶴岡慶雅,決定木とCross-Entropy法を用いた解釈可能な制御方策の学習,2019年度人工知能学会全国大会(第33回)[online],日本,一般社団法人人工知能学会,2019年06月01日,pp.1-4(3Rin2-08)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 5/025
G06N 5/04
(57)【特許請求の範囲】
【請求項1】
対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルール
であって、予め定められたルール作成基準に従うルールパラメータの集合で表されるルールを複数含むルールセットを
、前記ルール作成基準に従って前記ルールパラメータの値を算出することで前記ルールにおける前記条件及び前記動作の少なくとも1つを決定することによって作成するルール作成手段と、
前記ルールパラメータに応じて、前記ルールセットにおける複数の前記ルールの順序を決定するための順序パラメータを算出する順序パラメータ算出手段と、
前記順序パラメータに応じて、複数の前記ルールセットにおける前記ルールの順序を決定する順序決定手段と、
決定した前記順序に従い前記条件が成り立つか否かを判定し、前記条件が成り立つ場合の前記動作を決定する動作決定手段と
を有する方策作成装置。
【請求項2】
前記ルールは、所定のルール作成基準に従うルールパラメータの集合で表され、
前記ルール作成手段は、前記ルール作成基準に従って前記ルールパラメータの値を算出することで、前記ルールにおける前記条件及び前記動作の少なくとも1つを決定する
請求項1に記載の方策作成装置。
【請求項3】
前記ルール作成手段は、前記条件と前記動作とがランダムに組み合わされた前記ルールを作成する
請求項2に記載の方策作成装置。
【請求項4】
決定された前記動作の質を決定する動作評価手段
をさらに有し、
前記順序パラメータ算出手段は、前記動作の質が増大するよう、前記順序パラメータを算出するためのモデルを更新する
請求項
1に記載の方策作成装置。
【請求項5】
前記順序決定手段は、順序付けされた前記ルールセットに対応する方策を複数作成し、
決定された前記動作の質を決定し、決定された前記動作の質に基づいて、複数の前記方策それぞれについて前記方策の質を決定する方策評価手段と、
作成された複数の前記方策の中から、決定された前記質が高い方策を選択する方策選択手段と
をさらに有する請求項1から
4のいずれか1項に記載の方策作成装置。
【請求項6】
請求項1から
5のいずれか1項に記載の方策作成装置と、
前記方策作成装置によって決定された前記動作に従って前記対象に関する制御を行う制御部と
を備える制御装置。
【請求項7】
情報処理装置によって、対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルール
であって、予め定められたルール作成基準に従うルールパラメータの集合で表されるルールを複数含むルールセットを
、前記ルール作成基準に従って前記ルールパラメータの値を算出することで前記ルールにおける前記条件及び前記動作の少なくとも1つを決定することによって作成し、
前記ルールパラメータに応じて、前記ルールセットにおける複数の前記ルールの順序を決定するための順序パラメータを算出し、
前記順序パラメータに応じて、複数の前記ルールセットにおける前記ルールの順序を決定し、
決定した前記順序に従い前記条件が成り立つか否かを判定し、前記条件が成り立つ場合の前記動作を決定する
方策作成方法。
【請求項8】
対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルール
であって、予め定められたルール作成基準に従うルールパラメータの集合で表されるルールを複数含むルールセットを
、前記ルール作成基準に従って前記ルールパラメータの値を算出することで前記ルールにおける前記条件及び前記動作の少なくとも1つを決定することによって作成する機能と、
前記ルールパラメータに応じて、前記ルールセットにおける複数の前記ルールの順序を決定するための順序パラメータを算出する機能と、
前記順序パラメータに応じて、複数の前記ルールセットにおける前記ルールの順序を決定する機能と、
決定した前記順序に従い前記条件が成り立つか否かを判定し、前記条件が成り立つ場合の前記動作を決定する機能と
をコンピュータに実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、方策を作成する方策作成装置、制御装置、方策作成方法、及び、プログラムに関する。
【背景技術】
【0002】
加工プラント等における作業員は、素材から製品を作成するまでの作業手順を熟知することによって、質の高い製品を加工することができる。たとえば、その作業手順において、作業員は、素材を、加工機械を使って加工する。良い製品を加工するための作業手順は、作業員ごとにノウハウとして蓄えられている。しかし、その作業手順を熟知している作業員から他の作業員にノウハウを伝授するためには、熟練した作業員が、加工機械等の使い方や、材料の量、材料を加工機械に投入するタイミング等を他の作業員に伝授する必要がある。このため、ノウハウを伝授するためには、長い時間と、多くの作業を要する。
【0003】
そのノウハウを機械学習によって学習する方法として、非特許文献1に例示されているように強化学習法が用いられることがある。この場合、強化学習法においては、そのノウハウを表す方策を、モデルという形で表す。非特許文献1においては、そのモデルをニューラルネットワークによって表している。
【先行技術文献】
【非特許文献】
【0004】
【文献】Richard S. Sutton and Andrew G. Barto, Reinforcement Learning: An Introduction., The MIT Press, 2017
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ノウハウがどのように表現されたのかをユーザが理解することは困難である。この理由は、非特許文献1に例示されている強化学習法においては、ノウハウを表す方策をニューラルネットワークによって表しており、さらに、ニューラルネットワークによって作成されるモデルをユーザが解読することが難しいからである。
【0006】
本開示の目的の1つは、このような課題を解決するためになされたものであり、質が高く、かつ、視認性が高い方策を作成することが可能な方策作成装置、制御装置、方策作成方法、及び、プログラムを提供することにある。
【課題を解決するための手段】
【0007】
本開示にかかる方策作成装置は、対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルールを複数含むルールセットを作成するルール作成手段と、複数の前記ルールセットにおける前記ルールの順序を決定する順序決定手段と、決定した前記順序に従い前記条件が成り立つか否かを判定し、前記条件が成り立つ場合の前記動作を決定する動作決定手段とを有する。
【0008】
また、本開示にかかる方策作成方法は、情報処理装置によって、対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルールを複数含むルールセットを作成し、複数の前記ルールセットにおける前記ルールの順序を決定し、決定した前記順序に従い前記条件が成り立つか否かを判定し、前記条件が成り立つ場合の前記動作を決定する。
【0009】
また、本開示にかかるプログラムは、対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルールを複数含むルールセットを作成する機能と、複数の前記ルールセットにおける前記ルールの順序を決定する機能と、決定した前記順序に従い前記条件が成り立つか否かを判定し、前記条件が成り立つ場合の前記動作を決定する機能とをコンピュータに実現させる。
【発明の効果】
【0010】
本開示によれば、質が高く、かつ、視認性が高い方策を作成することが可能な方策作成装置、制御装置、方策作成方法、及び、プログラムを提供できる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施形態に係る方策作成装置の構成を示すブロック図である。
【
図2】第1の実施形態に係る方策作成装置によって実行される方策作成方法を示すフローチャートである。
【
図3】第1の実施形態に係る方策作成装置によって実行される方策作成方法を示すフローチャートである。
【
図4】第1の実施形態に係る方策作成装置によって実行される方策作成方法を示すフローチャートである。
【
図5】第1の実施形態に係る方策に従い動作を決定する処理を概念的に表す図である。
【
図6】第1の実施形態に係る対象の一例を概念的に表す図である。
【
図7】第1の実施の形態にかかるルール作成部によって作成されるルールセットを例示する図である。
【
図8】第2の実施形態にかかる順序パラメータ算出部によって算出される確率的決定リストを生成する処理の例を説明する図である。
【
図9】第2の実施形態にかかる、順序パラメータの更新を説明する図である。
【
図10】第2の実施形態にかかる順序決定部による決定リストを生成する処理を説明する図である。
【
図11】第3の実施形態にかかる方策作成装置の構成を示す図である。
【
図12】第3の実施形態にかかる方策作成装置によって実行される方策作成方法を示すフローチャートである。
【
図13】各実施形態に係る方策作成装置を実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。
【発明を実施するための形態】
【0012】
(第1の実施形態)
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0013】
図1は、第1の実施形態に係る方策作成装置100の構成を示すブロック図である。また、
図2~
図4は、第1の実施形態に係る方策作成装置100によって実行される方策作成方法を示すフローチャートである。なお、
図2~
図4に示したフローチャートについては、後述する。
【0014】
図1を参照しながら、第1の実施形態に係る方策作成装置100が有する構成について詳細に説明する。方策作成装置100は、例えばコンピュータである。第1の実施形態に係る方策作成装置100は、ルール作成部102と、順序パラメータ算出部104と、順序決定部106と、動作決定部108と、方策評価部110と、方策選択部120とを有する。方策評価部110は、動作評価部112と、総合評価部114とを有する。方策作成装置100は、さらに、基準更新部122と、方策評価情報記憶部126とを有していてもよい。
【0015】
ルール作成部102は、ルール作成手段としての機能を有する。順序パラメータ算出部104は、順序パラメータ算出手段としての機能を有する。順序決定部106は、順序決定手段としての機能を有する。動作決定部108は、動作決定手段としての機能を有する。方策評価部110は、方策評価手段としての機能を有する。動作評価部112は、動作評価手段としての機能を有する。総合評価部114は、総合評価手段としての機能を有する。方策選択部120は、方策選択手段としての機能を有する。基準更新部122は、基準更新手段としての機能を有する。方策評価情報記憶部126は、方策評価情報記憶手段としての機能を有する。
【0016】
方策作成装置100は、たとえば、制御装置50において処理を実行する。制御装置50は、方策作成装置100と、制御部52とを有する。方策作成装置100は、ルール作成部102、順序パラメータ算出部104、及び順序決定部106を用いて、決定リストで表された方策を作成する。制御部52は、方策作成装置100によって作成された方策に従って決定された動作に従い、対象170に関する制御を実行する。方策は、対象170がある状態である場合に、当該対象170に関して施す動作を決定する基である情報を表す。なお、決定リストで表された方策を作成する方法については後述する。
【0017】
図5は、第1の実施形態に係る方策に従い動作を決定する処理を概念的に表す図である。
図5に例示されているように、方策作成装置100において、動作決定部108は、対象170の状態(state)を表す情報を取得する。そして、動作決定部108は、作成された方策(policy)に従い、この対象170に関して施す動作(action)を決定する。対象170(target)の状態は、たとえば、対象170を観測しているセンサが出力した観測値を用いて表すことができる。たとえば、センサは、温度センサ、位置センサ、速度センサ、または、加速度センサ等である。
【0018】
本実施の形態において、方策は、決定リストで表わされる。決定リストは、対象170の状態を判定する条件と当該状態における動作とが組み合わされた複数のルールが、順序付きで並べられたリストである。条件は、例えば、ある特徴量(観測の種類)で表された状態(または、観測値)が、判定基準(閾値)以上である、判定基準未満である、又は、判定基準と一致する、といったように表現される。状態が与えられた場合、動作決定部108は、この決定リストを順にたどり、条件に適合する最初のルールを採用し、そのルールの動作を、対象170に対して実行すべき動作として決定する。なお、ルールの詳細については、
図7を参照しながら後述する。
【0019】
例えば、
図5の例では、決定リスト(方策)は、ルール#1~#IのI個(I個;Iは2以上の整数)のルールで構成されている。そして、決定リストにおいて、これらのルール#1~#Iの順序が定められている。
図5の例では、1番目のルールがルール#2であり、2番目のルールがルール#5であり、I番目のルールがルール#4である。ある状態が与えられた場合、動作決定部108は、その状態がルール#2の条件に適合するか否かを判定する。与えられた状態がルール#2の条件に適合する場合、動作決定部108は、ルール#2に対応する動作を、対象170に対して実行すべき動作として決定する。一方、与えられた状態がルール#2の条件に適合しない場合、動作決定部108は、その状態がルール#2の次のルール#5の条件に適合するか否かを判定する。そして、与えられた状態がルール#5の条件に適合する場合、ルール#5に対応する動作を、対象170に対して実行すべき動作として決定する。以降の順序のルールについても同様である。
【0020】
たとえば、対象170が自動運転車両等の車両である場合、動作決定部108は、たとえば、エンジンの回転数や、車両の速度や、周囲の状況等の観測値(特徴量の値)を取得する。動作決定部108は、これらの観測値(特徴量の値)に基づき、上述したような処理を実行することによって、動作を決定する。具体的には、動作決定部108は、ハンドルを右に回す、アクセルを踏む、ブレーキを踏む等の動作を決定する。制御部52は、動作決定部108によって決定された動作に従い、アクセル、ハンドル、または、ブレーキを制御する。
【0021】
また、たとえば、対象170が発電機である場合、動作決定部108は、たとえば、タービンの回転数や、燃焼炉の温度や、燃焼炉の圧力等の観測値(特徴量の値)を取得する。動作決定部108は、これらの観測値(特徴量の値)に基づき、上述したような処理を実行することによって、動作を決定する。具体的には、動作決定部108は、燃料の量を増やす、燃料の量を減らす等の動作を決定する。制御部52は、動作決定部108によって決定された動作に従い、燃料の量を調整するバルブを閉める、あるいは、バルブを開く等の制御を実行する。
【0022】
以降の説明においては、観測の種類(速度、回転数等)を、特徴量と表し、当該種類に関して観測された値を、特徴量の値と表すこともある。方策作成装置100は、決定した動作の質(quality)に関する高低を表す評価情報を取得する。方策作成装置100は、取得した評価情報に基づき、質の高い方策を選択する。評価情報については後述する。
【0023】
図6は、第1の実施形態に係る対象170の一例を概念的に表す図である。
図6を参照しながら本願明細書にて用いる用語について説明する。
図6に例示された対象170は、棒状の振り子と、振り子に対してトルクを加えることが可能な回転軸とを含む。状態Iは、対象170の初期状態を表し、振り子が回転軸の下方に存在している。状態VIは、対象170の終了状態を表し、振り子が回転軸の上方に倒立して存在している。動作A乃至動作Fは、振り子に対してトルクを加える力を表している。また、状態I乃至状態VIは、対象170の状態を表している。また、対象170の状態について、第1状態から第2状態に至るまでの各状態を総称して、「エピソード」と表す。エピソード(episode)は、必ずしも、初期状態から終了状態までの各状態を表していなくともよく、たとえば、状態IIから状態IIIまでの各状態、または、状態IIIから状態VIまでの各状態を表していてもよい。
【0024】
方策作成装置100は、たとえば、状態Iから開始して状態VIを実現し得る一連の動作を決定する方策(
図5に例示)を、動作に対する動作評価情報に基づき作成する。なお、方策作成装置100が方策を作成する処理については、
図2等を参照しながら後述する。なお、本実施の形態において、方策は、決定リストといったリスト形式で表わされるので、ユーザによって視認性の良いものであるといえる。
【0025】
次に、方策作成装置100の各構成要素の具体的な処理について、
図2~
図4を用いて説明する。
図2は、方策作成装置100によって実行される方策作成方法を示すフローチャートである。ルール作成部102は、予め定められた(所定の)ルール作成基準に従って、N個(Nは予め定められた2以上の整数)のルールパラメータベクトルθを生成する(ステップS104)。S104の具体的な処理については、
図3を用いて後述する。
【0026】
ここで、ルール作成基準は、例えば一様分布、ガウス分布等の確率分布であってもよい。ルール作成基準は、後述するような処理を実行することによって算出されるパラメータに基づく分布であってもよい。また、ルールパラメータベクトルθ(ルールパラメータ)は、ルールの特徴を表すパラメータであり得る。ルールパラメータベクトルθ(θ(1)~θ(n)~θ(N))については後述する。なお、nは、各ルールパラメータベクトル(及び後述するルールセット)を識別するインデックスであり、1~Nの整数である。なお、最初のS104の処理では、分布のパラメータ(平均値及び標準偏差等)は、任意の(たとえば、ランダムな)値であり得る。
【0027】
次に、方策作成装置100は、nを初期化する(つまりn=1とする)(ステップS106)。そして、ルール作成部102は、ルールパラメータベクトルθ(n)からルールセット#nを作成する(ステップS108)。よって、ルールは、所定のルール作成基準に従うルールパラメータの集合で表される。なお、1回目のS108の処理では、n=1である。また、後述するように、ルールセット#nは、ルールパラメータベクトルθ(n)から一意に生成され得る。
【0028】
図7は、第1の実施の形態にかかるルール作成部102によって作成されるルールセット#nを例示する図である。ルールセット#nは、I個のルール#1~#Iで構成されている。言い換えると、ルールセットは、複数のルールを含む。上述したように、各ルール#i(iは1~Iの整数)は、状態に対応する特徴量が判定基準に適合する条件と、その条件に適合する場合に実行すべき動作(制御量)とを含む。
図7に示す例において、該条件は、「IF」と「THEN」との間に示されている。該動作は、「THEN」の右側に示されている。
【0029】
例えば、
図7に示す例において、ルール#1は、「IF(feat_1>θt1)THEN action=θa1」なるルールに対応する。このルールは、特徴量feat_1が判定基準θt1を上回る場合に、対象170に関して動作θa1(パラメータθa1に対応する動作)を施すことを表している。ルール#1において、条件は、(feat_1>θt1)である。ルール#1において、動作は、(action=θa1)である。
また、ルール#2は、「IF(feat_1>θt2 AND feat_2<θt3)THEN action=θa2」なるルールに対応する。このルールは、特徴量feat_1が判定基準θt2を上回り、且つ、特徴量feat_2が判定基準θt3を下回る場合に、対象170に関して動作θa2(パラメータθa2に対応する動作)を施すことを表している。ルール#2において、条件は、(feat_1>θt2 AND feat_2<θt3)である。ルール#2において、動作は、(action=θa2)である。
【0030】
なお、
図7に例示されているルールの他に、条件が閾値ではなく値そのものや状態の判別で表記される、「IF(feat_3=θt4)THEN action=θa3」などといったルールを含んでいてもよい。また、本実施形態においては、判定する対象である特徴量(すなわち、観測の種類)は、ルールセットにあらかじめ設定されているとする。ルールセットにおいて特徴量に設定される観測の種類は、すべての種類であってもよいし、一部の種類であってもよい。しかし、ルール作成部102は、上述したような確率分布を用いて、特徴量を設定してもよい。すなわち、ルールは、
図7に例示される例に限定されない。動作θaは、例えば、制御する対象の値(制御量、制御値)であってもよい。例えば、制御対象が車両の速度である場合、動作θaは、車両の速度値に対応し得る。また、制御対象が倒立振り子(
図6)である場合、動作θaは、振り子に対して加えるトルク(力)の大きさに対応し得る。
【0031】
上述したように、ルールは、対象の状態を判定する条件と、当該状態における動作との組み合わせによって表されている。言いかえると、ルールは、対象に関して施す動作の要否を判定する条件と、該条件が成り立つ場合に実施する動作との組み合わせによって表されているということもできる。
【0032】
ここで、ルールセット#nにおけるルール#1~#Iのインデックス#1~#Iは、決定リストにおいて条件判断を行う順序を示すものではなく、任意に設定されたものである。また、各ルールセット#nにおけるルール#1~#Iの順序は固定されていてもよい。したがって、全てのルールセット#nは、ルール#1~#Iを、この順で有し得る。さらに、全てのルールセット#nにおいて、各ルール#iの枠組みは固定されており、判定基準θt及び動作θaのみが可変であるとする。言い換えると、各ルールセット#nにおいて、判定基準θt及び動作θaを除き、含まれるルール#1~#Iは同じである。つまり、特徴量feat_m(mは2以上の整数であり、特徴量を表すインデックス)及び特徴量に関する不等号は、全てのルールセット#nのルール#1~#Iごとに固定されているとする。
上述したように、ルール作成部102は、上述したような確率分布を用いて、特徴量を設定してもよい。
【0033】
図7に示す例では、全てのルールセット#nにかかるルール#1は、条件の一部「特徴量feat_1>」を含むが、その判定基準θt1は、ルールセット#nごとに異なり得る。同様に、全てのルールセット#nにかかるルール#1における動作θa1は、ルールセット#nごとに異なり得る。また、全てのルールセット#nにかかるルール#2は、条件の一部「特徴量feat_1>」及び「feat_2<」を含むが、それらの判定基準θt2及びθt3は、ルールセット#nごとに異なり得る。同様に、全てのルールセット#nにかかるルール#2における動作θa2は、ルールセット#nごとに異なり得る。
【0034】
そして、S104の処理で生成されるルールパラメータベクトルθは、ルール#1~#Iにおける上述した可変のパラメータ(ルールパラメータθt,θa)を成分とするベクトルである。例えば、ルールパラメータベクトルθは、ルール#1から順にルールパラメータθt,θaを成分とするベクトルである。したがって、ルールパラメータベクトルθ(ルールパラメータ)は、ルールの特徴を表すパラメータであるといえる。
【0035】
また、
図7の例では、ルールパラメータベクトルθ
(n)は、たとえば、以下の式1で表わされる。
(式1)
θ
(n)=(θt1,θa1,θt2,θt3,θa2,・・・)
【0036】
上記の式1において、「θt1,θa1」は、ルール#1に関する成分であり、「θt2,θt3,θa2」は、ルール#2に関する成分である。なお、ルール数Iが大きくなると、ルールパラメータベクトルθのサイズ(成分数)も大きくなる。ここで、上述したように、ルールパラメータは、ガウス分布等の分布(確率分布等)によって生成され得る。したがって、ルール作成部102は、条件と動作とがランダムに組み合わされたルールを作成し得る。
【0037】
順序パラメータ算出部104は、ルールパラメータベクトルθを用いて、各ルール#1~#Iに関する順序パラメータを算出する(ステップS110)。具体的には、順序パラメータ算出部104は、ルールセット#nごとに、対応するルールパラメータベクトルθ
(n)を用いて、順序パラメータを算出する。ここで、順序パラメータは、ルールセット#nを構成するルール#1~#Iの、決定リスト#nにおける順序を決定するためのパラメータである。また、順序パラメータは、各ルール#1~#Iごとの重みを示してもよい。そして、順序パラメータ算出部104は、各ルール#1~#Iごとの順序パラメータを成分とする順序パラメータベクトルを出力する。順序パラメータについては、
図8乃至
図10を参照しながら、第2の実施形態にて後述する。
【0038】
例えば、順序パラメータ算出部104は、ニューラルネットワーク(Neural Network:NN)等のモデルを用いて、順序パラメータを算出する。つまり、順序パラメータ算出部104は、ニューラルネットワーク等のモデルにルールパラメータベクトルθ(n)を入力することで、ルールセット#nに対応する決定リスト#nにおけるルール#1~#Iの順序を決定するための順序パラメータを算出する。したがって、順序パラメータ算出部104は、ルールパラメータベクトルθを入力として順序パラメータを出力する関数近似器として機能する。後述するように、ニューラルネットワーク等のモデルは、たとえば、損失関数に基づき更新され得る。強化学習の場合に、このモデルは、該順序パラメータに基づき決定される方策(すなわち、順序付けされたルールセット)に従いアクションを決定することによって達成される報酬に基づき更新されてもよい。
【0039】
順序パラメータ算出部104は、報酬を最大化するように、ニューラルネットワークのパラメータ(重み)を更新してもよい。強化学習の場合に、該損失関数は、たとえば、報酬が高いほど小さな値であり、該報酬が低いほど大きな値である関数である。順序パラメータ算出部104は、たとえば、該パラメータに基づき各ルールに関する順序パラメータを決定し、決定した順序パラメータに基づき該ルールの順序を決める。言い換えると、順序パラメータ算出部104は、順序付けされたルール(すなわち、方策)を決定する。順序パラメータ算出部104は、決定した方策に従い動作を決定し、決定した動作によって得られる(達成される)報酬を算出する。そして、順序パラメータ算出部104は、所望の報酬と、算出した該報酬との差異が減少する場合におけるパラメータを算出する。また、順序パラメータ算出部104は、算出した該報酬が増大する場合におけるパラメータを算出するともいうことができる。言い換えると、順序パラメータ算出部104は、決定した方策に従い対象170に対して動作を施した後における対象170の状態を評価し、その評価結果に基づき該パラメータを更新する。
【0040】
順序パラメータ算出部104は、たとえば、勾配降下法等のパラメータを算出する手順に従い処理を実行することによって、該パラメータを更新してもよい。順序パラメータ算出部104は、たとえば、二次形式(quadratic form)にて表される損失関数を最小化する場合のパラメータの値を算出する。該損失関数は、動作の質が大きいほど小さな値であり、動作の質が小さいほど大きな値である関数である。該損失関数は、報酬が高いほど小さな値であり、該報酬が低いほど大きな値である関数である。
【0041】
順序パラメータ算出部104は、たとえば、該損失関数の勾配を計算し、該勾配に沿って損失関数の値が小さくなる(または、最小となる)場合におけるパラメータの値を算出する。順序パラメータ算出部104は、このような処理を実行することによって、ニューラルネットワークのモデルを更新する。これにより、各方策について決定された動作が実行されてその動作の質が評価されるにつれて、順序パラメータ算出部104におけるモデルは、決定リストにおけるルール#1~#Iの順序をより適したものとなるような、順序パラメータを算出することができる。
【0042】
順序パラメータ算出部104は、パラメータを更新する処理を繰り返し実行してもよい。パラメータを更新する処理によって、あるルールパラメータベクトルθに従いルールセット作成する場合に、順序パラメータの質を向上することができるという効果を奏する。
【0043】
順序決定部106は、算出した順序パラメータに基づき、ルールセット#nを構成するルール#1~#Iの順序を決定する(ステップS120)。これにより、順序決定部106は、ルール#1~#Iの順序が決定された、ルールセット#nに対応する決定リスト#nを作成する。言い換えると、順序決定部106は、決定リスト#nで表わされた方策#nを作成する。具体的には、順序決定部106は、順序パラメータ算出部104によって出力された順序パラメータベクトルを用いて、ルールセット#nを構成するルール#1~#Iの順序を決定する。そして、順序決定部106は、その決定された順序でルール#1~#Iを並び替えることで、決定リスト#nを生成する。この順序決定部106のより詳細な処理については、第2の実施形態にて後述する。
【0044】
次に、動作決定部108は、順序決定部106によって作成された方策(決定リスト)に従い動作を決定する。言い換えると、動作決定部108は、決定した順序に従い、ルールにおける条件が成り立つか否かを判定し、条件が成り立つ場合の動作を決定する。方策評価部110は、決定された動作の質に基づき、当該方策の質を評価する(ステップS130)。このとき、方策評価情報記憶部126は、方策を示す識別子#nと方策の質を示す評価情報とを、対応付けて記憶する。例えば、決定リスト#1に対応する方策#1を示す識別子#1と評価情報とが、対応付けて記憶される。
【0045】
なお、方策評価部110は、方策の質として、各方策の適合度を算出してもよい。適合度については、
図4を参照しながら後述する。方策評価部110は、順序決定部106によって作成された各方策に関して、当該方策の質を評価する。ステップS130における処理において、方策評価部110は、たとえば、
図6を参照しながら上述したようなエピソードに含まれている状態の質に基づき、当該動作の質を決定してもよい。
図6を参照しながら上述したように、ある状態にて施される動作は、対象170における次状態と対応付けすることが可能である。このため、方策評価部110は、状態(次状態)の質を、当該状態(次状態)を実現する動作の質として用いてもよい。状態の質は、たとえば、
図6に例示されているような倒立振り子の例においては、目標状態(たとえば、終了状態;倒立状態)と、当該状態との差異を表す値によって表すことができる。なお、ステップS130における処理の詳細については、
図4を参照しながら後述する。
【0046】
方策作成装置100は、nを1つインクリメントする(ステップS142)。そして、方策作成装置100は、nがNを超えたか否かを判定する(ステップS144)。つまり、方策作成装置100は、全てのルールパラメータベクトルθ(1)~θ(N)に関するルールセット#1~#Nについて方策が作成され、その方策の質が評価されたか否かを判定する。nがNを超えていない場合、つまり全ての方策について処理が終わっていない場合(S144のNO)、処理はS108に戻り、S108~S142の処理が繰り返される。これにより、次の方策が作成され、その方策の質が評価される。一方、nがNを超えた場合、つまり全ての方策について処理が終わった場合(S144のYES)、処理はS156に進む。
【0047】
方策選択部120は、方策評価部110によって評価された質に基づき、複数の方策(決定リスト)の中から、質が高い方策(決定リスト)を選択する(ステップS156)。方策選択部120は、たとえば、複数の方策の中から、当該質(適合度)が上位である方策(決定リスト)を選択する。または、方策選択部120は、たとえば、複数の方策の中から、当該質が平均以上である方策を選択する。または、方策選択部120は、たとえば、複数の方策の中から、当該質が所望の質以上である方策を選択する。あるいは、方策選択部120は、ステップS108からステップS154(又はS152)までの繰り返しにおいて作成された方策の中から、最も質が高い方策を選択してもよい。なお、方策を選択する処理は、上述した例に限定されない。
【0048】
次に、基準更新部122は、ステップS104にてルールパラメータベクトルθを生成する基であるルール作成基準を更新する(ステップS158)。基準更新部122は、たとえば、方策選択部120によって選択された方策に含まれる各パラメータに関して、当該パラメータ値の平均と標準偏差とを算出することによって、分布(ルール作成基準)を更新してもよい。すなわち、基準更新部122は、方策選択部120によって選択された方策を表すルールパラメータを用いて、当該ルールパラメータに関する分布を更新する。基準更新部122は、例えば、クロスエントロピー手法を用いて分布を更新してもよい。
【0049】
ステップS102(ループ開始)からステップS160(ループ終了)までの繰り返し処理は、たとえば、所与の反復回数分繰り返されてもよい。または、当該繰り返し処理は、方策の質が所望の基準以上になるまで繰り返されてもよい。ステップS102からステップS160までの処理を繰り返し実行することによって、ルールパラメータベクトルθを作成する基である分布(ルール作成基準)は、次第に、対象170に関する観測値を反映した分布に近付いていく傾向がある。したがって、本実施形態にかかる方策作成装置100は、対象170に応じた方策を作成することができる。
【0050】
なお、動作決定部108は、対象170の状態を表す観測値を入力し、入力した観測値と、最も質が高い方策とに従い、対象170に関して施す動作を決定してもよい。制御部52は、さらに、動作決定部108が決定した動作に従い、対象170に関して施す動作を制御してもよい。
【0051】
次に、
図3を用いて、ルールパラメータベクトルθを生成する処理(
図2のS104)について説明する。
図3は、第1の実施形態に係るルール作成部102における処理を示すフローチャートである。ルール作成部102は、
図7においてルールパラメータθt,θaの値が入力されていない初期状態のルールパラメータベクトルθを入力する(ステップS104A)。ここで、上述したように、各ルールリストにおけるルール#1~#Iの枠組みは固定されているので、ルールパラメータベクトルθにおいてどの成分にどのルールのどの値(判定基準又は動作)が入力されるのかは、予め定められている。
【0052】
次に、ルール作成部102は、ルール作成基準を用いて、特徴量に関する判定基準θtを算出する(ステップS104B)。また、ルール作成部102は、ルール作成基準を用いて、条件ごとに動作θaを算出する(ステップS104C)。ルール作成部102は、ルール作成基準に従って、ルールにおける条件、及び、動作のうち少なくとも1つ決定してもよい。また、対象170に関する複数の観測の種類のうち、少なくとも一部の観測の種類が予め特徴量に設定されていてもよい。当該処理によって、特徴量を決定する処理を実施する必要がなくなるため、ルール作成部102における処理量を減らすことができるという効果を奏する。
【0053】
具体的には、ルール作成部102は、ルールパラメータ(判定基準θt及び動作θa)を決定するためのルール決定パラメータΘの値を、ある分布(例えば確率分布)に従って与える。ルール決定パラメータが従う分布は、例えばガウス分布であってもよい。あるいは、ルール決定パラメータが従う分布は、必ずしもガウス分布である必要はなく、一様分布、二項分布、または、多項分布等の分布であってもよい。また、各ルール決定パラメータに関する分布は、互いに同じ分布である必要はなく、ルール決定パラメータごとに異なる分布であってもよい。例えば、判定基準θtを決定するためのパラメータΘtが従う分布(ルール作成基準)と動作θaを決定するためのパラメータΘaが従う分布(ルール作成基準)とは、互いに異なってもよい。または、各ルール決定パラメータに関する分布は、平均、及び、標準偏差が相互に異なる分布であってもよい。すなわち、当該分布は、上述した例に限定されない。以下の例では、各ルール決定パラメータ(ルールパラメータ)がガウス分布に従うとする。
【0054】
次に、ある分布に従い、各ルール決定パラメータ(ルールパラメータ)の値を算出する処理について説明する。説明の便宜上、あるルール決定パラメータに関する分布が、平均がμであり、標準偏差がσであるガウス分布であるとする。ただし、μは実数であり、σは正の実数であるとする。また、μ、及び、σは、ルール決定パラメータごとに異なる値であってもよいし、同じ値であってもよい。
【0055】
ルール作成部102は、上述したS104B,S104Cの処理において、ガウス分布に従い、ルール決定パラメータの値(ルール決定パラメータ値)を算出する。ルール作成部102は、たとえば、当該ガウス分布に従い、各ルール決定パラメータ値(Θt及びΘa)をランダムに1つ作成する。ルール作成部102は、たとえば、乱数、または、ある乱数種を用いた擬似乱数を用いて、当該ガウス分布に従った値となるよう、ルール決定パラメータ値を算出する。言い換えると、ルール作成部102は、当該ガウス分布に従った乱数を、ルール決定パラメータの値として算出する。このように、ルールセットを予め定められた分布に従うルール決定パラメータで表現し、分布に従って各ルール決定パラメータを算出することでルールセットにおけるルール(判定基準θt及び動作θa)を決定する。そして、これらのルールを並び替えることによって、より効率的に、決定リスト(方策)を表現することができる。なお、ルールパラメータベクトルθの代わりに、Θを成分とするルール決定パラメータベクトルを、順序パラメータ算出部104の入力としてもよい。したがって、ルール決定パラメータ(ルール決定パラメータベクトル)は、ルールパラメータ(ルールパラメータベクトル)の一種であるといえる。
【0056】
ルール作成部102は、判定基準θtを算出する(S104B)。具体的には、ルール作成部102は、判定基準θtを決定するためのルール決定パラメータΘ
tを算出する。このとき、ルール作成部102は、
図7のθt1,θt2のような複数の判定基準θt(θtに関するルール決定パラメータΘ
t)を、互いに異なるガウス分布(つまり平均値及び標準偏差の少なくとも一方が異なるガウス分布)に従うように算出してもよい。したがって、θt1が従う分布は、θt2が従う分布と異なり得る。
【0057】
ルール作成部102は、算出した値Θtに対して、以下の式2に示す処理を実行することによって、特徴量に関する判定基準θtを算出する。
(式2)
θt=(Vmax-Vmin)×g(Θt)+Vmin
【0058】
ただし、Vminは、特徴量に関して観測された値の最小値を表す。Vmaxは、特徴量に関して観測された値の最大値を表す。g(x)は、実数xに対して、0から1までの値を与える関数であって、単調に変化する関数を表す。g(x)は、活性化関数とも呼ばれ、たとえば、シグモイド(sigmoid)関数によって実現される。
【0059】
したがって、ルール作成部102は、ガウス分布等の分布に従ってパラメータΘtの値を算出する。そして、式2で示すように、ルール作成部102は、パラメータΘtの値を用いて、特徴量に関する観測値の範囲(この例では、VminからVmaxまでの範囲)から、当該特徴量に関する判定基準θt(例えば閾値)を算出する。
【0060】
次に、ルール作成部102は、条件(ルール)ごとに、動作θa(状態)を算出する(ステップS104C)。ここで、動作には、連続値で示される場合と、離散値で示される場合とがある。連続値である場合は、動作を示す値θaは、対象170の制御値であってもよい。例えば、対象170が
図6に示した倒立振り子である場合、トルク値であってもよいし、振り子の角度であってもよい。また、動作が離散値で示される場合、動作を示す値θaは、動作の種類に対応する値であってもよい。
【0061】
まず、動作(状態)が連続値である場合の処理について説明する。ルール作成部102は、ある動作θaに関して、ガウス分布等の分布(確率分布)に従った値Θ
aを算出する。このとき、ルール作成部102は、
図7のθa1,θa2のような複数の動作θa(θaに関するルール決定パラメータΘ
a)を、互いに異なるガウス分布(つまり平均値及び標準偏差の少なくとも一方が異なるガウス分布)に従うように算出してもよい。したがって、θa1が従う分布は、θa2が従う分布と異なり得る。
【0062】
ルール作成部102は、算出した値Θaに対して、以下の式3に示す処理を実行することによって、ある条件(ルール)に関する動作を表す動作値θaを算出する。
(式3)
θa=(Umax-Umin)×h(Θa)+Umin
【0063】
ただし、Uminは、ある動作(状態)を表す値の最小値を表す。Umaxは、ある動作(状態)を表す値の最大値を表す。Umin及びUmaxは、例えばユーザによって予め定められてもよい。h(x)は、実数xに対して、0から1までの値を与える関数であって、単調に変化する関数を表す。h(x)は、活性化関数とも呼ばれ、たとえば、シグモイド関数によって実現されてもよい。
【0064】
したがって、ルール作成部102は、ガウス分布等の分布に従ってパラメータΘaの値を算出する。そして、式3で示すように、ルール作成部102は、パラメータΘaの値を用いて、観測値の範囲(この例では、UminからUmaxまでの範囲)から、あるルールにおける動作を示す1つの動作値θaを算出する。このような処理を、ルール作成部102は、各動作に関して実行する。
【0065】
なお、ルール作成部102は、上記の式3の「Umax-Umin」について、予め定められた値を用いなくてもよい。ルール作成部102は、動作に関する動作値の履歴から、最大の動作値をUmaxとし、最小の動作値をUminとして決定してもよい。あるいは、動作が「状態」で定義されている場合、ルール作成部102は、状態を表す観測値の履歴における最大値及び最小値から、ルールにおいて次状態を示す値(状態値)の範囲を決定してもよい。このような処理によって、ルール作成部102は、対象170の状態を判定するルールに含まれている動作を、効率よく決定することができる。
【0066】
次に、動作(状態)が離散値である場合の処理について説明する。説明の便宜上、対象170に関してA種類の動作(状態)があるとする(但し、Aは自然数)。つまり、あるルールに対する動作の候補がA種類あることになる。ルール作成部102は、(ルール数I×A)個のパラメータΘaの値を、それぞれ、ガウス分布等の分布(確率分布)に従うように算出する。なお、ルール作成部102は、(I×A)個それぞれのパラメータΘaを、互いに異なるガウス分布(つまり平均値及び標準偏差の少なくとも一方が異なるガウス分布)に従うように算出してもよい。
【0067】
ルール作成部102は、あるルールにおける動作を決定する場合に、パラメータΘaからあるルールに対応するA個のパラメータを確認する。そして、ルール作成部102は、当該動作(状態)に対応するパラメータ値の中で、ある規則、例えば最も大きい値を選択するという規則に対応する動作(状態)を決定する。例えば、ルール#1のパラメータΘa
(1,1)~Θa
(1,A)においてΘa
(1,2)の値が最も大きい場合、ルール作成部102は、ルール#1における動作として、Θa
(1,2)に対応する動作を決定する。
【0068】
図3に示されたS104A~ステップS104Cにおける処理の結果、ルール作成部102は、1つのルールパラメータベクトルθ(ルールセット)を作成する。ルール作成部102は、そのような処理を繰り返し実行することによって、複数のルールパラメータベクトルθ(ルールセット)を作成する。なお、ルールパラメータはガウス分布等の分布(確率分布)に従ってランダムに算出されるので、複数のルールセットそれぞれにおいて、各ルールパラメータの値は異なり得る。つまり、ルール作成部102は、条件と動作とがランダムに組み合わされたルールを作成する。したがって、効率的に異なる複数のルールセットが作成され得る。条件と動作とがランダムに組み合わされたルールを作成する処理によってルールが偏ることを軽減することができるため、たとえば、制御装置50は、対象170の動作を的確に制御することができるという効果を奏する。
【0069】
次に、
図4を用いて、方策評価部110が方策の質を評価する処理(
図2のS130)について説明する。
図4は、第1の実施形態に係る方策評価部110における処理を示すフローチャートである。ここで、作成された複数の方策(決定リスト)それぞれについて、
図4のフローチャートの処理が実行される。
【0070】
動作決定部108は、対象170に関して観測された観測値(状態値)を取得する。そして、動作決定部108は、取得した観測値(状態値)に対して、
図2のS120の処理によって作成された方策の1つに従って、当該状態における動作を決定する(ステップS132)。つまり、動作決定部108は、対象170の動作を制御する制御値を、対象170の状態と、作成された方策とを用いて決定し、決定された制御値に従って動作を実行するように指示を行う。
【0071】
次に、動作評価部112は、動作決定部108によって決定された動作に関する評価値を表す評価情報を受け取ることによって、動作の評価値を決定する(ステップS134)。動作評価部112は、所望の状態と、当該動作によって生じる状態との差異に従い、当該動作に関する評価値を作成することによって、動作の評価値を決定してもよい。この場合、動作評価部112は、たとえば、当該差異が大きいほど動作に関する質が低く、当該差異が小さいほど動作に関する質が高いことを表す評価値を作成する。そして、動作評価部112は、複数の状態を含むエピソードに関して、各状態を実現する動作の質を、それぞれ決定する(ステップS131~ステップS136に示されたループ)。
【0072】
次に、総合評価部114は、各動作に関する評価値の合計を算出する。すなわち、総合評価部114は、当該方策に従い決定した一連の動作に対する合計値を算出することによって、当該方策に関する適合度を算出する(ステップS138)。これにより、総合評価部114は、1つのエピソードについての当該方策に関する適合度(評価値)を算出する。なお、総合評価部114は、方策に関して算出された適合度(すなわち、当該方策の質)と、当該方策を表す識別子とが関連付けされた評価情報を作成し、作成した方策評価情報を方策評価情報記憶部126に格納してもよい。
【0073】
なお、方策評価部110は、
図4に例示した処理を複数のエピソードそれぞれに関して実行し、その平均値を算出することによって、当該方策の適合度(評価値)を算出してもよい。また、動作決定部108は、次の状態を実現する動作を先に決定してもよい。すなわち、動作決定部108が、先に、エピソードに含まれている動作を、当該方策に従って全て求め、動作評価部112が、当該エピソードに含まれている状態の評価値を決める処理を実行してもよい。
【0074】
具体例を参照しながら、
図4に示された処理について説明する。説明の便宜上、1エピソードは、200ステップ(すなわち、201個の状態)で構成されているとする。また、1ステップごとに、各ステップの状態における動作が良好である場合には(+1)、良好でない場合には(-1)なる評価値であるとする。この場合において、ある方策に従って動作を決定したとき、当該方策に関する評価値(適合度)は、-200から200までの値である。動作が良好である場合か否かは、たとえば、所望の状態と、動作によって到達する状態との差異に基づき決定することができる。つまり、所望の状態と、動作によって到達する状態との差異が予め定められた閾値以下である場合に、動作が良好であると判定されてもよい。なお、以降の説明においては、説明の便宜上、評価情報が大きな値であるほど方策の質が高く、評価情報が小さな値であるほど方策の質が低いとする。
【0075】
動作決定部108は、評価対象である1つの方策に従い、ある状態に対する動作を決定する。動作決定部108は、決定された動作を行うように制御部52に指示する。制御部52は、決定された動作を実行する。次に、動作評価部112は、動作決定部108によって決定された動作に関する評価値を算出する。たとえば、動作評価部112は、動作が良好である場合には(+1)、良好でない場合には(-1)なる評価値を算出する。動作評価部112は、200ステップを含む1エピソードにおける各動作に関して、評価値を算出する。
【0076】
方策評価部110において、総合評価部114は、各ステップについて算出された評価値の合計値を算出することによって、当該1つの方策に関する適合度を算出する。方策評価部110は、たとえば、方策#1~方策#4に関して、以下に示すような適合度を算出したとする。
方策#1:200
方策#2:-200
方策#3:-40
方策#4:100
【0077】
この場合において、方策選択部120は、たとえば、4つの方策のうち、方策評価部110によって算出された評価値が上位50%である2つの方策を選ぶときに、評価値が大きい方策#1、及び、方策#4を選択する。つまり、方策選択部120は、複数の方策の中から、質が高い方策を選択する(
図2のS156)。
【0078】
基準更新部122は、方策選択部120によって選択された、質の高い方策に含まれる各ルールパラメータに関して、当該パラメータ値の平均と標準偏差とを算出する。これにより、基準更新部122は、各ルールパラメータが従うガウス分布等の分布(ルール作成基準)を更新する(
図2のS158)。そして、更新された分布を用いて、再度、
図2の処理が行われる。つまり、ルール作成部102は、更新された分布を用いて、
図8に示した処理を実行して、新たな複数(N個)のルールパラメータベクトルθ及びルールセットを作成する。そして、動作決定部108は、再度作成されたルールパラメータベクトルθを用いて新たに作成された複数の方策それぞれについて、方策に従う動作を決定する。そして、方策評価部110は、新たに作成された複数の方策それぞれについて、評価値(適合度)を決定する。
【0079】
このように、質の高い方策を用いて分布を更新していくので、ルールパラメータが従う分布における平均値μが、より質の高い方策を実現し得るような値に近づき得る。さらに、ルールパラメータが従う分布における標準偏差σが、より小さくなり得る。したがって、分布の幅は、更新されるにつれて、より狭くなり得る。これにより、ルール作成部102は、更新された分布を用いることで、より評価値の高い(質の高い)方策に対応するルールパラメータを算出する可能性が高くなる。言い換えると、ルール作成部102が、更新された分布を用いてルールパラメータを算出し、そのルールパラメータを用いて算出された順序パラメータを用いて方策(決定リスト)が生成されることで、質の高い方策が作成される可能性が高くなる。したがって、
図2に示すような処理を繰り返すことで、方策の評価値が、向上し得る。そして、例えば、このような処理を予め定められた回数繰り返して、得られた複数の方策のうち、評価値が最大となる方策を、対象170に関する方策として決定してもよい。これにより、質の高い方策を得ることが可能となる。
【0080】
なお、動作決定部108は、方策評価情報記憶部126に格納されている方策評価情報の中から、評価値が最も大きな(すなわち、質が最も高い)方策を表す識別子を特定し、特定した識別子が表す方策に従い、当該動作を決定してもよい。つまり、ルール作成部102は、新たに複数の方策を作成する際に、例えば、更新された分布を用いて(N-1)個の方策を作成し、残りの1個を、過去に作成された方策のうちで評価値が最も大きな方策としてもよい。そして、動作決定部108は、更新された分布を用いて作成された(N-1)個の方策と、過去に作成された方策のうちで評価値が最も大きな方策とについて、動作を決定してもよい。このようにすることで、過去に評価値の高かった方策が、分布が更新されていった後であっても評価が比較的高かった場合に、その方策を適切に選択することができる。したがって、質の高い方策をより効率的に作成することが可能となる。
【0081】
また、
図6に例示された倒立振り子の例において、動作が良好であるか否かの判定は、当該動作によって生じた状態と、振り子が倒立した状態VIとの差異に基づき行ってもよい。たとえば、当該状態によって生じた状態が状態IIIであるとすると、状態VIにおける振り子の方向と、状態IIIにおける振り子の方向とのなす角に基づいて、動作が良好であるか否かの判定を行ってもよい。
【0082】
また、上述した例において、方策評価部110は、エピソードに含まれている各状態に基づいて方策を評価した。しかしながら、動作を実行することによって将来到達しうる状態を予測し、予測した状態と、所望の状態との差異を算出することによって、当該方策を評価してもよい。言い換えると、方策評価部110は、動作を実行することによって決定される状態に関する評価値の見積もり値(または、期待値)に基づき、方策を評価してもよい。また、方策評価部110は、ある方策に関して、複数のエピソードを用いて
図4に示された処理を繰り返し実行することによって、各エピソードに関する方策の評価値を算出し、その平均値(中央値等)を、適合度として算出してもよい。すなわち、方策評価部110が実行する処理は上述した例に限定されない。
【0083】
次に、第1の実施形態に係る方策作成装置100に関する効果について説明する。第1の実施形態に係る方策作成装置100によれば、質が高くかつ、視認性が高い方策を作成することができる。この理由は、方策作成装置100が、所定の個数のルールを含む決定リストで構成された方策を、対象170に適合するように作成するからである。
【0084】
また、本実施形態にかかる方策作成装置100によれば、順序パラメータ算出部104が順序パラメータを算出し、順序決定部106は、この順序パラメータに応じて、ルールセットにおけるルールの順序を決定するように構成されている。これにより、ルールの順序が適切に決定された決定リスト(方策)を作成することが可能となる。
【0085】
さらに、本実施形態にかかる方策作成装置100によれば、ルール作成部102が、ルール作成基準に従ってルールパラメータの値を算出し、順序パラメータ算出部104が、ルールパラメータに応じて、順序パラメータを算出するように構成されている。ここで、上述したように、ルールパラメータは、ルールの特徴を表すパラメータであり得る。これにより、順序パラメータ算出部104は、ルールの特徴に応じた順序パラメータを算出できるので、ルールの特徴に応じた順序の決定リストを作成すること可能となる。
【0086】
さらに、本実施形態にかかる方策作成装置100によれば、順序パラメータ算出部104は、動作の質が最大となるように(または、動作の質が増大するように)、モデルを更新する。これにより、方策作成装置100(順序決定部106)は、良好な質を実現可能な決定リストを、より確実に作成することができる。
【0087】
なお、「対象170の状態」という言葉を用いて、方策作成装置100における処理を説明したが、状態は、必ずしも、対象170の実際の状態である必要はない。例えば、対象170の状態をシミュレーションしたシミュレータによって算出された結果を表す情報であってもよい。この場合、制御部52は、シミュレータで実現され得る。
【0088】
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態では、上述した順序パラメータ算出部104の処理の詳細について説明する。
【0089】
順序パラメータ算出部104は、ルールとそのルールが出現する度合い(程度)を示す順序パラメータとを対応付けたリストを生成する。この順序パラメータは、決定リストにおける特定の位置にルールが出現する度合い(程度)を示す値である。本実施形態の順序パラメータ算出部104は、受け付けたルールの集合に含まれる各ルールを、決定リスト上の複数の位置に、出現の度合いを示す順序パラメータつきで割り当てたリストを生成する。以下の説明では、説明の便宜上、順序パラメータを、ルールが決定リスト上に出現する確率(以下、出現確率と記す。)として扱う。そこで、生成されるリストを、以下、確率的決定リストと称する。確率的決定リストについては、
図8を用いて後述する。
【0090】
なお、順序パラメータ算出部104が決定リスト上の複数の位置にルールを割り当てる方法は任意である。ただし、順序パラメータ算出部104が、決定リスト上のルールの順序を適切に更新できるようにするため、各ルールの前後関係を網羅するようにルールを割り当てることが好ましい。したがって、順序パラメータ算出部104は、例えば、第一のルールと第二のルールとを割り当てる際に、第一のルールの後に第二のルールを割り当てるとともに、第二のルールの後に第一のルールを割り当てるようにすることが好ましい。なお、順序パラメータ算出部104がルールを割り当てる数は、各ルールで一致していてもよいし、異なっていてもよい。
【0091】
また、順序パラメータ算出部104は、I個のルールを含むルールセットR(ルールセット#n)を、個数がδ個となるように複製して連結することにより、長さδ|I|の確率的決定リストを生成してもよい。このように、同一のルールセットを複製して確率的決定リストを生成することで、後述する順序パラメータ算出部104による順序パラメータの更新処理を効率化できる。
【0092】
上述する例の場合、ルール#jは、確率的決定リスト中に計δ回出現し、その出現位置は、以下に例示する式4で表される。なお、jは、1~Iの整数である。
(式4)
π(j,d)=(d-1)*|I|+j (d∈[1,δ])
【0093】
順序パラメータ算出部104は、ルール#jが位置π(j,d)に出現する確率p
π(j,d)、を、順序パラメータとして、以下の式5に例示する温度つきソフトマックス関数を用いて計算してもよい。式5において、τは温度パラメータであり、W
j,dは、ルール#jがリスト内の位置π(j,d)に出現する度合い(重み)を表わすパラメータである。また、dは、確率的決定リストにおける、ルール#jの出現位置(階層)を示すインデックスである。
(式5)
【数1】
【0094】
このように、順序パラメータ算出部104は、式5に例示するソフトマックス関数で定義される出現確率つきで、決定リスト上の複数の位置に各ルールを割り当てた確率的決定リストを生成してもよい。また、上記式5において、パラメータWj,dは、[-∞,∞]の範囲の任意の実数である。ただし、ソフトマックス関数によって、確率pj,dは、合計1に正規化される。すなわち、各ルール#nについて、確率的決定リスト内のδ個の位置での出現確率を合計すると1になる。また、式5において、温度パラメータτが0に近づくと、ソフトマックス関数の出力はone-hotベクトルに近づく。すなわち、あるルール#jは、d=1~δのいずれか1つの位置のみ確率が1になり、他の位置では確率が0になり得る。したがって、本実施形態にかかる順序パラメータ算出部104は、複数の位置に割り当てられる同一のルールの順序パラメータの合計が1になるように順序パラメータを決定する。
【0095】
図8は、第2の実施形態にかかる順序パラメータ算出部104によって算出される確率的決定リストを生成する処理の例を説明する図である。順序パラメータ算出部104は、ルール#1~#Iを構成するルールパラメータベクトルθ
(n)を受け付ける。これにより、順序パラメータ算出部104は、ルールセット#n(R1)を生成する。さらに、順序パラメータ算出部104は、ルールセット#nから、δ個に複製されたルールセット#nを含む確率的決定リスト#n(R2)を生成する。
【0096】
さらに、順序パラメータ算出部104は、上述したニューラルネットワーク等のモデルを用いて、確率的決定リストR2に含まれるルール#(J,d)それぞれに対応する順序パラメータPjdを算出する。これにより、順序パラメータ算出部104は、以下に示す式6に示すような、成分数I×δの順序パラメータベクトルw(n)を算出する。
(式6)
w(n)=(P11,P21,・・・,PI1,・・・,P1δ,P2δ,・・・,PIδ)
【0097】
上記の式6において、「P11~PI1」は、階層d=1に関する成分であり、「P1δ~PIδ」は、階層d=δに関する成分である。また、各ルール#jについて、d=1~δの順序パラメータの合計は、1となる。したがって、各ルール#jについて、Σd=1
δ(Pjd)=1である。例えば、P11+P12+・・・+P1δ=1であり、P21+P22+・・・+P2δ=1である。
【0098】
そして、順序パラメータ算出部104は、算出された順序パラメータP
jdを、各ルール#(j,d)に対応付ける。例えば、
図8の例では、順序パラメータ算出部104は、d=1におけるルール#1(つまりルール#(1,1))に、順序パラメータP
11を対応付ける。このようにして、順序パラメータ算出部104は、確率的決定リストを生成する。
【0099】
動作決定部108は、確率的決定リストを用いて、動作を決定する。動作決定部108は、状態における動作を決定する際に、確率的決定リストにおいてその条件に適合する最も上位のルールについての動作を、実行すべき動作として決定してもよい。
【0100】
あるいは、動作決定部108は、確率的決定リストにおける下位のルールについての動作も考慮して、実施動作を決定してもよい。この場合、動作決定部108は、ルール#1~#Iのうち、その状態に適合する条件を有するルールを全て抽出する。そして、動作決定部108は、重み付け線形和により、後続のルールの重みがその上位のルールの重みよりも減少するように重み付けした上で、動作を合計する。この動作の合計を「統合動作」と称する。
【0101】
第2の実施形態において、各ルールに含まれる動作は、互いに同じ制御パラメータであるとする。例えば、対象170が倒立振り子である場合、全てのルールについて、動作は「トルク値」であってもよい。また、対象170が車両である場合、全てのルールについて、動作は「車両の速度」であってもよい。
【0102】
例えば、
図7及び
図8の例で、δ=2とし、状態がルール#1及びルール#2の条件に適合する場合、動作決定部108は、以下の式7ように、統合動作を決定する。
(式7)
統合動作=θa1*P
11
+θa2*{(1-P
11)*P
21}
+θa1*{(1-P
11)*(1-P
21)*P
12}
+θa2*{(1-P
11)*(1-P
21)*(1-P
12)*P
22}
【0103】
方策評価部110は、各状態それぞれについての統合動作によって実現される(得られる)状態について、報酬(評価値)を取得する。これにより、各ルールパラメータベクトルθそれぞれについて、統合動作それぞれの報酬が得られる。方策評価部110は、ルールパラメータベクトルごとに、統合動作の報酬を、順序パラメータ算出部104に出力する。
【0104】
順序パラメータ算出部104は、決定した動作(または、統合動作)によって得られる報酬が最大となるように(または、報酬が増大するように)、モデルを更新する。これにより、ルールの順序パラメータ(重み)が更新されていく。そして、これにより、状態に適合しやすいルールは、上位の階層dで対応する順序パラメータが高くなり、状態に適合しにくいルールは、下位の階層dで対応する順序パラメータが高くなり得る。さらに、モデルが更新されるにつれて、互いに類似する特徴のルールの順序パラメータの値がより近くなるようになり得る。
【0105】
図9は、第2の実施形態にかかる、順序パラメータの更新を説明する図である。
図9において、δ=3、I=5とする。そして、初期状態で、確率的決定リストR2は、d=1,d=2の階層で全てのルールの順序パラメータが0.3であり、d=3の階層で全てのルールの順序パラメータが0.4であるとする。そして、順序パラメータ算出部104の更新処理により、更新後の確率的決定リストR2’において、階層d=1におけるルール#2及びルール#5の順序パラメータが、0.8に更新されている。同様に、階層d=2におけるルール#3の順序パラメータが、0.8に更新され、階層d=3におけるルール#1及びルール#4の順序パラメータが、0.8に更新されている。そして、他の順序パラメータが、0.1に更新されている。つまり、上位の階層で順序パラメータの値が高いルール#2及びルール#5は、適合可能性が高く、下位の階層で順序パラメータの値が高いルール#1及びルール#4は、適合可能性が低いことが分かる。
【0106】
順序決定部106は、更新後の確率的決定リストを用いて、ルールの順序を決定する。これにより、順序決定部106は、決定リストの候補を生成する。したがって、順序決定部106は、方策の候補を作成する。具体的には、順序決定部106は、各ルールについて、最も順序パラメータの値が大きい階層から、そのルールを抽出する。そして、順序決定部106は、抽出されたルールを、上位の階層から順に並べる。これにより、順序決定部106は、各ルールが順序付けされた決定リストを生成する。
【0107】
図10は、第2の実施形態にかかる順序決定部106による決定リストを生成する処理を説明する図である。順序決定部106は、更新後の確率的決定リストR2’において、階層d=1からルール#2及びルール#5を抽出する。同様に、順序決定部106は、階層d=2からルール#3を抽出する。また、順序決定部106は、階層d=3からルール#1及びルール#4を抽出する。そして、順序決定部106は、階層d=1から、それぞれ抽出されたルールを並べる。これにより、ルール#2、ルール#5、ルール#3、ルール#1、ルール#4の順序の決定リストR8が生成される。
【0108】
ここで、第2の実施形態にかかる方策作成装置100の処理の流れについて、
図2を用いて説明する。S104~S108については、第1の実施形態と実質的に同様である。
次に、S110の処理において、上述したように、順序パラメータ算出部104は、ルールセットを複製して確率的決定リストを生成する。そして、上述したように、順序パラメータ算出部104は、モデルを用いて、確率的決定リストに含まれるルールそれぞれに対応する順序パラメータを算出する。そして、順序パラメータ算出部104は、算出した順序パラメータに基づき、当該ルールを適用する順序を決定し、決定した順序に従い実施する動作を決定する。あるいは、順序パラメータ算出部104は、算出した順序パラメータと、確率的決定リストとに基づき統合動作を決定する。順序パラメータ算出部104は、決定した動作(または、統合動作)によって得られる報酬を算出し、算出した報酬を用いてモデルにおけるパラメータを更新する。順序パラメータ算出部104は、該パラメータを更新する処理を繰り返し実行してもよい。順序パラメータ算出部104は、複数の決定リスト(すなわち、方策)を作成する。
【0109】
次に、S130の処理において、上述したように、動作決定部108は、決定した方策、状態に応じた動作を決定する。そして、方策評価部110は、各状態それぞれについての動作の質を評価して、評価値を取得する。その後、方策作成装置100は、評価値の高い方策を用いてルール作成基準を更新する(S156,S158)。
【0110】
以上説明したように、本実施形態では、順序パラメータ算出部104が、ルールの集合に含まれる各ルールを、決定リスト上の複数の位置に順序パラメータつきで割り当てる。そして、順序パラメータ算出部104が、状態が条件を満たすルールについての動作によって実現される報酬が最大化するように(または、報酬が増大するように)、順序パラメータを決定するパラメータを更新する。ここで、決定リストにおけるルールの順序を最適化するには、多くの処理量が必要である。これに対して、本実施形態においては、上記のような処理によって、決定リストの作成処理における処理量を減らすことができる。
【0111】
通常の決定リストは離散的で微分不可能であるが、確率的決定リストは連続的で微分可能である。本実施形態では、順序パラメータ算出部104が、リスト上の複数の位置に各ルールを順序パラメータつきで割り当てて確率的決定リストを生成する。生成された確率的決定リストは、ルールが確率的に分布するとみなすことで確率的に存在する決定リストであり、勾配降下法で最適化できる。したがって、より精度が高い決定リストを作成する際の処理量を削減できる。
【0112】
また、本実施形態にかかる方策作成装置100は、順序パラメータ算出部104が、ルールパラメータベクトルを用いて、決定リストにおける順序を決定するための順序パラメータを算出するように構成されている。これにより、分布の更新によりルールパラメータが変更(更新)されたとしても、安定して、順序パラメータ算出部104におけるモデルの更新を行うことができる。つまり、ルールセットの枠組みは不変である。そして、順序パラメータ算出部104がルールパラメータから順序パラメータを算出し、その順序パラメータから決定リストが決定される。したがって、安定してモデルの更新(勾配学習)を行うことができる。したがって、
図2のループが進むにつれて、ルールセット(ルールパラメータベクトル)及びルールの順序が、より適切に最適化されていくこととなる。
【0113】
(第3の実施形態)
次に、第3の実施形態について説明する。
図11は、第3の実施形態にかかる方策作成装置300の構成を示す図である。第3の実施形態にかかる方策作成装置300は、ルール作成部302と、順序決定部304と、動作決定部306とを有する。ルール作成部302は、ルール作成手段としての機能を有する。順序決定部304は、順序決定手段としての機能を有する。動作決定部306は、動作決定手段としての機能を有する。ルール作成部302は、
図1等を参照しながら説明したルール作成部102が有している機能と実質的に同様の機能によって実現できる。順序決定部304は、
図1等を参照しながら説明した順序決定部106が有している機能と実質的に同様の機能によって実現できる。動作決定部306は、
図1等を参照しながら説明した動作決定部108が有している機能と実質的に同様の機能によって実現できる。
【0114】
図12は、第3の実施形態にかかる方策作成装置300によって実行される方策作成方法を示すフローチャートである。
【0115】
ルール作成部302は、対象の状態を判定する条件と当該状態における動作とが組み合わされたルールを予め定められた個数分含むルールセットを、複数作成する(ステップS302)。例えば、ルール作成部302は、上述したように、I個のルールを含むルールセットを、N個作成する。言い換えると、ルール作成部302は、対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルールを複数含むルールセットを作成する。
【0116】
順序決定部304は、複数のルールセットそれぞれについてルールの順序を決定して、ルールの順序が決定されたルールセットに対応する決定リストで表された方策を作成する(ステップS304)。すなわち、順序決定部304は、複数の当該ルールセットにおける前記ルールの順序を決定する。
【0117】
そして、動作決定部306は、決定された順序でルールについて対象の状態が条件に適合するか否かを判定して、実行すべき動作を決定する(ステップS306)。すなわち、動作決定部306は、決定した当該順序に従い当該条件が成り立つか否かを判定し、当該条件が成り立つ場合の当該動作を決定する。
【0118】
第3の実施形態にかかる方策作成装置300は、上記のように構成されているので、順序が決定された決定リストを、方策として作成することができる。ここで、決定リストは、決定リストといったリスト形式で表わされるので、ユーザによって視認性の良いものである。したがって、質が高く、かつ、視認性が高い方策を作成することが可能となる。
【0119】
(ハードウェア構成例)
上述した各実施形態に係る方策作成装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、各実施形態に係る方策作成装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現されてもよい。また、各実施形態に係る方策作成装置は、専用の装置として実現されてもよいし、汎用の情報処理装置で実現されてもよい。
【0120】
図13は、各実施形態に係る方策作成装置を実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。計算処理装置20は、CPU21(Central Processing Unit;中央処理演算装置)、揮発性記憶装置22、ディスク23、不揮発性記録媒体24、及び、通信IF27(IF:Interface)を有する。したがって、各実施形態に係る方策作成装置は、CPU21、揮発性記憶装置22、ディスク23、不揮発性記録媒体24、及び、通信IF27を有しているといえる。計算処理装置20は、入力装置25及び出力装置26に接続可能であってもよい。計算処理装置20は、入力装置25及び出力装置26を備えていてもよい。また、計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
【0121】
不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact Disc)、デジタルバーサタイルディスク(Digital Versatile Disc)である。また、不揮発性記録媒体24は、USB(Universal Serial Bus)メモリ、ソリッドステートドライブ(Solid State Drive)等であってもよい。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。なお、不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27及び通信ネットワークを介して、係るプログラムが供給されてもよい。
【0122】
揮発性記憶装置22は、コンピュータが読み取り可能であって、一時的にデータを記憶することができる。揮発性記憶装置22は、DRAM(dynamic random Access memory)、SRAM(static random Access memory)等のメモリ等である。
【0123】
すなわち、CPU21は、ディスク23に格納されているソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際に揮発性記憶装置22にコピーし、演算処理を実行する。CPU21は、プログラムの実行に必要なデータを揮発性記憶装置22から読み取る。表示が必要な場合、CPU21は、出力装置26に出力結果を表示する。外部からプログラムを入力する場合、CPU21は、入力装置25からプログラムを取得する。CPU21は、上述した
図1または
図11に示される各構成要素の機能(処理)に対応する方策作成プログラム(
図2~
図4、または、
図12)を解釈し実行する。CPU21は、上述した各実施形態において説明した処理を実行する。言い換えると、上述した
図1または
図11に示される各構成要素の機能は、ディスク23又は揮発性記憶装置22に格納された方策作成プログラムを、CPU21が実行することによって実現され得る。
【0124】
すなわち、各実施形態は、上述した方策作成プログラムによっても成し得ると捉えることができる。さらに、上述した方策作成プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、上述した各実施形態は成し得ると捉えることができる。
【0125】
(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述したフローチャートにおいて、各処理(ステップ)の順序は、適宜、変更可能である。また、複数ある処理(ステップ)のうちの1つ以上は、省略されてもよい。
【0126】
なお、順序パラメータ算出部104がモデルを更新するタイミングは任意であってもよい。したがって、
図2のフローチャートにおいて、あるループ(S102~S160)では、モデルを更新せずに、S156~S158の処理を実行してもよい。つまり、全てのループにおいて、常にモデルが更新される必要はない。
【0127】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0128】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0129】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルールを複数含むルールセットを作成するルール作成手段と、
複数の前記ルールセットにおける前記ルールの順序を決定する順序決定手段と、
決定した前記順序に従い前記条件が成り立つか否かを判定し、前記条件が成り立つ場合の前記動作を決定する動作決定手段と
を有する方策作成装置。
(付記2)
前記ルールは、所定のルール作成基準に従うルールパラメータの集合で表され、
前記ルール作成手段は、前記ルール作成基準に従って前記ルールパラメータの値を算出することで、前記ルールにおける前記条件及び前記動作の少なくとも1つを決定する
付記1に記載の方策作成装置。
(付記3)
前記ルール作成手段は、前記条件と前記動作とがランダムに組み合わされた前記ルールを作成する
付記2に記載の方策作成装置。
(付記4)
前記ルールセットにおける複数の前記ルールの順序を決定するための順序パラメータを算出する順序パラメータ算出手段
をさらに有し、
前記順序決定手段は、前記順序パラメータに応じて、前記ルールセットにおける前記ルールの順序を決定する
付記1から3のいずれか1項に記載の方策作成装置。
(付記5)
前記ルールは、予め定められたルール作成基準に従うルールパラメータの集合で表され、
前記ルール作成手段は、前記ルール作成基準に従って前記ルールパラメータの値を算出することで、前記ルールにおける前記条件及び前記動作の少なくとも1つを決定し、
前記順序パラメータ算出手段は、前記ルールパラメータに応じて、前記順序パラメータを算出する
付記4に記載の方策作成装置。
(付記6)
決定された前記動作の質を決定する動作評価手段
をさらに有し、
前記順序パラメータ算出手段は、前記動作の質が増大するよう、前記順序パラメータを算出するためのモデルを更新する
付記4又は5に記載の方策作成装置。
(付記7)
前記順序決定手段は、順序付けされた前記ルールセットに対応する方策を複数作成し、
決定された前記動作の質を決定し、決定された前記動作の質に基づいて、複数の前記方策それぞれについて前記方策の質を決定する方策評価手段と、
作成された複数の前記方策の中から、決定された前記質が高い方策を選択する方策選択手段と
をさらに有する付記1から6のいずれか1項に記載の方策作成装置。
(付記8)
前記ルール作成手段は、選択された前記方策を用いて、新たな前記ルールセットを作成する
付記7に記載の方策作成装置。
(付記9)
前記ルールは、所定のルール作成基準に従うルールパラメータの集合で表され、
前記ルール作成基準は、選択された前記方策を用いて更新され、
前記ルール作成手段は、更新された前記ルール作成基準に従う前記ルールパラメータを算出することで、新たな前記ルールセットを作成する
付記8に記載の方策作成装置。
(付記10)
前記動作決定手段は、前記対象の動作を制御する制御値を、前記対象の状態と、前記作成された方策とを用いて決定し、決定された前記制御値に従って動作を実行するように指示を行う
付記1~9のいずれか1項に記載の方策作成装置。
(付記11)
付記1から10のいずれか1項に記載の方策作成装置と、
前記方策作成装置によって決定された前記動作に従って前記対象に関する制御を行う制御部と
を備える制御装置。
(付記12)
情報処理装置によって、対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルールを複数含むルールセットを作成し、
複数の前記ルールセットにおける前記ルールの順序を決定し、
決定した前記順序に従い前記条件が成り立つか否かを判定し、前記条件が成り立つ場合の前記動作を決定する
方策作成方法。
(付記13)
対象に関して施す動作の要否を判定する条件と当該条件が成り立つ場合に実施する前記動作との組み合わせであるルールを複数含むルールセットを作成する機能と、
複数の前記ルールセットにおける前記ルールの順序を決定する機能と、
決定した前記順序に従い前記条件が成り立つか否かを判定し、前記条件が成り立つ場合の前記動作を決定する機能と
をコンピュータに実現させるプログラムが格納された非一時的なコンピュータ可読媒体。
【符号の説明】
【0130】
50 制御装置
52 制御部
100 方策作成装置
102 ルール作成部
104 順序パラメータ算出部
106 順序決定部
108 動作決定部
110 方策評価部
112 動作評価部
114 総合評価部
120 方策選択部
122 基準更新部
126 方策評価情報記憶部
170 対象
300 方策作成装置
302 ルール作成部
304 順序決定部
306 動作決定部