(57)【要約】【課題】未知の環境を効率的に学習する。【解決手段】状態価値算出部３２は、エージェントの行動によって、状態が遷移する、行動ごとの状態遷移モデルの各状態について、現在状態等の所定の状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、現在状態を基準とする状態価値を算出し、行動価値算出部３３は、状態遷移モデルの各状態、及び、エージェントが可能な各行動について、現在状態を基準とする状態価値が大きい状態への遷移確率が大きいほど、値が大きくなる行動価値を算出する。目標状態設定部３４は、行動価値のばらつきが大きい状態を、エージェントが行う行動によって到達する目標となる目標状態に設定し、行動選択部３５は、目標状態に向かう行動を選択する。本発明は、例えば、自律的に行動するエージェントが未知の環境を学習する場合に適用できる。【選択図】図７
2012079178.tif 000002
【特許請求の範囲】
【請求項１】
行動可能なエージェントが行う行動によって、状態が遷移する、前記行動ごとの状態遷移モデルに基づき、前記状態遷移モデルの各状態について、前記状態遷移モデルの所定の状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、前記所定の状態を基準とする状態価値を算出する状態価値算出手段と、
前記状態遷移モデル、及び、前記所定の状態を基準とする状態価値に基づき、前記状態遷移モデルの各状態、及び、前記エージェントが可能な各行動について、前記所定の状態を基準とする状態価値が大きい状態への遷移確率が大きいほど、値が大きくなる行動価値を算出する行動価値算出手段と、
前記行動価値に基づき、前記状態遷移モデルの状態のうちの、前記行動価値のばらつきが大きい状態を、エージェントが行う行動によって到達する目標となる目標状態に設定する目標状態設定手段と、
前記目標状態に向かうためのエージェントの行動を選択する行動選択手段と
を備えるデータ処理装置。
【請求項２】
エージェントが外部から観測する観測値に基づき、前記状態遷移モデルの状態の中で、前記観測値が観測される状態である現在状態を認識する状態認識手段をさらに備え、
前記所定の状態は、前記現在状態であり、
前記状態価値算出手段は、前記現在状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、前記現在状態を基準とする状態価値を算出する
請求項１に記載のデータ処理装置。
【請求項３】
前記行動選択手段は、
前記状態遷移モデルに基づき、前記状態遷移モデルの各状態について、前記目標状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、前記目標状態を基準とする状態価値を算出し、
前記状態遷移モデル、及び、前記目標状態を基準とする状態価値に基づき、前記状態遷移モデルの各状態、及び、前記エージェントが可能な各行動について、前記目標状態を基準とする状態価値が大きい状態への遷移確率が大きいほど、値が大きくなる行動価値を算出し、
前記現在状態の行動価値に基づき、前記目標状態に向かうためのエージェントの行動を選択する
請求項２に記載のデータ処理装置。
【請求項４】
前記現在状態への状態遷移が生じた前記エージェントの行動についての状態遷移モデルを、前記現在状態への状態遷移に基づいて更新するモデル更新手段をさらに備える
請求項３に記載のデータ処理装置。
【請求項５】
所定の行動についての前記状態遷移モデルは、前記エージェントが、第１の状態において、前記所定の行動を行うことにより、第２の状態に遷移した頻度を表し、
前記モデル更新手段は、前記頻度をインクリメントすることにより、前記状態遷移モデルを更新する
請求項４に記載のデータ処理装置。
【請求項６】
前記エージェントは、
所定の空間を、前記エージェントが行動する行動環境として、前記行動環境内を行動し、
前記行動環境内の前記エージェントの位置を、前記観測値として観測し、
前記状態は、前記行動環境を小領域に区分することにより得られる前記小領域を表す
請求項５に記載のデータ処理装置。
【請求項７】
前記行動選択手段は、
前記現在状態と前記目標状態とが一致するかどうかを判定し、
前記現在状態と前記目標状態とが一致しない場合、前記現在状態の行動価値に基づき、前記目標状態に向かうためのエージェントの行動を選択する
請求項６に記載のデータ処理装置。
【請求項８】
前記現在状態と前記目標状態とが一致する場合、再び、
前記状態価値算出手段は、前記状態遷移モデルに基づき、前記現在状態を基準とする状態価値を算出し、
前記行動価値算出手段は、前記状態遷移モデル、及び、前記現在状態を基準とする状態価値に基づき、前記行動価値を算出し、
前記目標状態設定手段は、前記行動価値に基づき、前記目標状態を設定する
請求項７に記載のデータ処理装置。
【請求項９】
前記目標状態設定手段は、前記状態遷移モデルの各状態について、前記行動価値の分散を求め、前記行動価値の分散が所定の閾値以上の状態の中で、所定の回数以内の状態遷移によって、前記現在状態から到達することができる状態を、前記目標状態に設定する
請求項２に記載のデータ処理装置。
【請求項１０】
前記行動選択手段は、前記現在状態の行動価値に基づき、ε-greedy法、又は、softmax法により、前記目標状態に向かうためのエージェントの行動を選択する
請求項３に記載のデータ処理装置。
【請求項１１】
データ処理装置が、
行動可能なエージェントが行う行動によって、状態が遷移する、前記行動ごとの状態遷移モデルに基づき、前記状態遷移モデルの各状態について、前記状態遷移モデルの所定の状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、前記所定の状態を基準とする状態価値を算出し、
前記状態遷移モデル、及び、前記所定の状態を基準とする状態価値に基づき、前記状態遷移モデルの各状態、及び、前記エージェントが可能な各行動について、前記所定の状態を基準とする状態価値が大きい状態への遷移確率が大きいほど、値が大きくなる行動価値を算出し、
前記行動価値に基づき、前記状態遷移モデルの状態のうちの、前記行動価値のばらつきが大きい状態を、エージェントが行う行動によって到達する目標となる目標状態に設定し、
前記目標状態に向かうためのエージェントの行動を選択する
ステップを含むデータ処理方法。
【請求項１２】
行動可能なエージェントが行う行動によって、状態が遷移する、前記行動ごとの状態遷移モデルに基づき、前記状態遷移モデルの各状態について、前記状態遷移モデルの所定の状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、前記所定の状態を基準とする状態価値を算出する状態価値算出手段と、
前記状態遷移モデル、及び、前記所定の状態を基準とする状態価値に基づき、前記状態遷移モデルの各状態、及び、前記エージェントが可能な各行動について、前記所定の状態を基準とする状態価値が大きい状態への遷移確率が大きいほど、値が大きくなる行動価値を算出する行動価値算出手段と、
前記行動価値に基づき、前記状態遷移モデルの状態のうちの、前記行動価値のばらつきが大きい状態を、エージェントが行う行動によって到達する目標となる目標状態に設定する目標状態設定手段と、
前記目標状態に向かうためのエージェントの行動を選択する行動選択手段と
して、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、及び、プログラムに関し、特に、各種の行動を自律的に行うことが可能なエージェント（自律エージェント）が、未知の環境の学習を、効率的に行うことができるようにするデータ処理装置、データ処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
例えば、実世界で行動するロボットや、仮想世界で行動する仮想的なキャラクタ等の、行動可能なエージェントが、未知の環境を行動するための学習の方法としては、エージェントが、段階的に行動則を学習する強化学習がある（非特許文献１）。
【０００３】
強化学習では、エージェントが、外部（環境等）から観測することができる観測値から認識される状態（現在状態）において、目標となる状態（目標状態）に到達するために、各行動Uを行うことの行動価値が算出（推定）される。
【０００４】
目標状態に到達するための行動価値が算出されると、エージェントは、その行動価値に基づく行動制御によって、目標状態に到達する行動を行うことができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Leslie Pack Kaelbling, Michael L. Littman, Andrew W. Moore, "Reinforcement Learning: A Survey", Journal of Articial Intelligence Research 4 (1996) 237-285
【発明の概要】
【発明が解決しようとする課題】
【０００６】
エージェントにおいて、行動価値に基づく行動制御を行うことが可能となるのは、エージェントが、目標状態に到達し、強化学習によって、目標状態に到達するための行動価値が算出された後である。
【０００７】
したがって、エージェントは、目標状態に到達するまでは、例えば、エージェントが可能な行動の中からランダムに選択された行動を行わざるを得ず、そのため、未知の環境の学習（強化学習）を、効率的に行うことが困難なことがある。
【０００８】
すなわち、エージェントが行動する環境（行動環境）に、例えば、エージェントが通りづらい狭い通路が存在する場合には、ランダムに選択された行動を行うエージェントでは、その狭い通路を通り抜けることができず、その結果、狭い通路を通り抜けた先の環境を学習することが困難なことがある。
【０００９】
また、例えば、上下に移動可能な行動環境に、重力が設定されている場合には、ランダムに選択された行動を行うエージェントでは、重力の影響により、行動環境内の上側に移動しにくくなり、その結果、行動環境のうちの、上側の環境を学習することが困難なことがある。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、未知の環境を効率的に学習することができるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の一側面のデータ処理装置、又は、プログラムは、行動可能なエージェントが行う行動によって、状態が遷移する、前記行動ごとの状態遷移モデルに基づき、前記状態遷移モデルの各状態について、前記状態遷移モデルの所定の状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、前記所定の状態を基準とする状態価値を算出する状態価値算出手段と、前記状態遷移モデル、及び、前記所定の状態を基準とする状態価値に基づき、前記状態遷移モデルの各状態、及び、前記エージェントが可能な各行動について、前記所定の状態を基準とする状態価値が大きい状態への遷移確率が大きいほど、値が大きくなる行動価値を算出する行動価値算出手段と、前記行動価値に基づき、前記状態遷移モデルの状態のうちの、前記行動価値のばらつきが大きい状態を、エージェントが行う行動によって到達する目標となる目標状態に設定する目標状態設定手段と、前記目標状態に向かうためのエージェントの行動を選択する行動選択手段とを備えるデータ処理装置、又は、データ処理装置として、コンピュータを機能させるためのプログラムである。
【００１２】
本発明の一側面のデータ処理方法は、データ処理装置が、行動可能なエージェントが行う行動によって、状態が遷移する、前記行動ごとの状態遷移モデルに基づき、前記状態遷移モデルの各状態について、前記状態遷移モデルの所定の状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、前記所定の状態を基準とする状態価値を算出し、前記状態遷移モデル、及び、前記所定の状態を基準とする状態価値に基づき、前記状態遷移モデルの各状態、及び、前記エージェントが可能な各行動について、前記所定の状態を基準とする状態価値が大きい状態への遷移確率が大きいほど、値が大きくなる行動価値を算出し、前記行動価値に基づき、前記状態遷移モデルの状態のうちの、前記行動価値のばらつきが大きい状態を、エージェントが行う行動によって到達する目標となる目標状態に設定し、前記目標状態に向かうためのエージェントの行動を選択するステップを含むデータ処理方法である。
【００１３】
以上のような一側面においては、行動可能なエージェントが行う行動によって、状態が遷移する、前記行動ごとの状態遷移モデルに基づき、前記状態遷移モデルの各状態について、前記状態遷移モデルの所定の状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、前記所定の状態を基準とする状態価値が算出され、前記状態遷移モデル、及び、前記所定の状態を基準とする状態価値に基づき、前記状態遷移モデルの各状態、及び、前記エージェントが可能な各行動について、前記所定の状態を基準とする状態価値が大きい状態への遷移確率が大きいほど、値が大きくなる行動価値が算出される。そして、前記行動価値に基づき、前記状態遷移モデルの状態のうちの、前記行動価値のばらつきが大きい状態が、エージェントが行う行動によって到達する目標となる目標状態に設定され、前記目標状態に向かうためのエージェントの行動が選択される。
【００１４】
なお、データ処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００１５】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００１６】
本発明の一側面によれば、エージェントが行動する未知の環境を効率的に学習することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明を適用したデータ処理装置の一実施の形態の構成例の概要を説明する図である。
【図２】エージェントの構成例を示すブロック図である。
【図３】エージェントが行動する行動環境、及び、エージェントが可能な行動の例を説明する図である。
【図４】行動環境を行動するエージェントの状態遷移モデルの例を説明する図である。
【図５】学習部１２の構成例を示すブロック図である。
【図６】学習処理を説明するフローチャートである。
【図７】行動制御部１４の構成例を示すブロック図である。
【図８】状態価値算出部３２の処理を説明する図である。
【図９】状態としての行動領域を区分する各小領域について求められた行動価値Ｑ(S,U)の分散Ｗ(S)の例を示す図である。
【図１０】状態としての行動領域を区分する各小領域について求められた存在確率Ｔ(S)の例を示す図である。
【図１１】目標状態を基準とする状態価値Ｖ(S)の例を示す図である。
【図１２】エージェントが、目標状態に向かっていく様子を示す図である。
【図１３】学習のための行動制御処理を説明するフローチャートである。
【図１４】エージェントの、行動環境での行動を説明する図である。
【図１５】自律行動のための行動制御処理を説明するフローチャートである。
【図１６】エージェントの、行動環境での行動を説明する図である。
【図１７】エージェントが、回避状態を回避しながら、行動目標状態に到達する行動を説明する図である。
【図１８】物体移動タスクを説明する図である。
【図１９】物体移動タスクを行う場合の状態遷移モデルを説明する図である。
【図２０】物体移動タスクにおいて、学習部１２が行う学習処理を説明するフローチャートである。
【図２１】物体移動タスクにおいて、行動制御部１４が行う自律行動のための行動制御処理を説明するフローチャートである。
【図２２】物体移動タスクにおいて、行動制御部１４が行う学習のための行動制御処理を説明するフローチャートである。
【図２３】物体移動タスクにおいて、行動制御部１４が行う学習のための行動制御処理を説明するフローチャートである。
【図２４】行動価値Ｑ(O|U)を求めるのに用いる事後確率を、温度パラメータβを用いて制御することを説明する図である。
【図２５】状態遷移モデルPSS'Uの状態として、GMMを採用した場合に行われる、GMMの学習を説明する図である。
【図２６】拡張HMMを適用したエージェントが行動を行う行動環境の例を示す図である。
【図２７】行動環境において、エージェントが行う行動、及び、エージェントが観測する観測値の例を示す図である。
【図２８】拡張HMMが適用されたエージェントにおいて、学習部１２が行う学習処理を説明するフローチャートである。
【図２９】拡張HMMを説明する図である。
【図３０】学習データセットを用いた拡張HMMの学習を説明するフローチャートである。
【図３１】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１８】
［本発明を適用したデータ処理装置の一実施の形態］
【００１９】
図１は、本発明を適用したデータ処理装置の一実施の形態の構成例の概要を説明する図である。
【００２０】
図１において、データ処理装置は、例えば、自律的に行動可能なエージェントであり、アクチュエータを駆動することにより、所定の環境内を行動する。
【００２１】
すなわち、エージェントは、センサを有し、センサは、外部、つまり、エージェントが行動する環境（行動環境）から物理量をセンシングし、その物理量に対応する観測値としてのセンサ信号を出力する。
【００２２】
さらに、エージェントは、エージェントが行う行動によって、状態が遷移する、行動ごとの状態遷移モデルを有し、センサからの観測値（センサ信号）を用いて、状態遷移モデルを更新する（状態遷移モデルの学習を行う）。
【００２３】
また、エージェントは、アクチュエータを有する。エージェントは、状態遷移モデルに基づき、エージェントが行う行動を選択し、その行動に対応する行動信号を、アクチュエータに供給する。
【００２４】
アクチュエータは、行動信号に従って駆動し、これにより、エージェントは、行動環境において、行動信号に対応する行動を行う。
【００２５】
図２は、図１のデータ処理装置としてのエージェントの構成例を示すブロック図である。
【００２６】
エージェントは、センサ１１、学習部１２、モデル記憶部１３、行動制御部１４、及び、アクチュエータ１５を有する。
【００２７】
センサ１１は、外部、つまり、行動環境から、物理量を観測し、その物理量に対応する観測値を出力する。センサ１１が出力する観測値は、学習部１２、及び、行動制御部１４に供給される。
【００２８】
ここで、センサ１１が出力する観測値としては、例えば、行動環境内のエージェントの位置（の座標）を採用することとする。
【００２９】
学習部１２には、センサ１１から観測値が供給される他、行動制御部１４から、行動信号が供給される。
【００３０】
学習部１２は、センサ１１からの観測値、及び、行動制御部１４からの行動信号を用いて、モデル記憶部１３に記憶された、行動ごとの状態遷移モデルを更新する、状態遷移モデルの学習を行う。
【００３１】
すなわち、学習部１２は、エージェントが外部から観測する観測値に基づき、状態遷移モデルの状態の中で、センサ１１からの観測値が観測される状態である現在状態を認識する。
【００３２】
さらに、学習部１２は、現在状態への状態遷移が生じたエージェントの行動を、行動制御部１４からの行動信号から認識し、その行動の状態遷移モデルを、現在状態への状態遷移に基づいて更新する。
【００３３】
モデル記憶部１３は、エージェントが可能な行動ごとに、状態遷移モデルを記憶している。
【００３４】
行動制御部１４は、センサ１１からの観測値、及び、モデル記憶部１３に記憶された状態遷移モデルに基づき、エージェントの行動を制御する。
【００３５】
すなわち、行動制御部１４は、センサ１１からの観測値、及び、モデル記憶部１３に記憶された状態遷移モデルに基づき、エージェントが可能な行動の中から、次に行うべき行動（現在状態において行う行動）を選択し、その行動に対応する行動信号を、学習部１２、及び、アクチュエータ１５に供給する。
【００３６】
アクチュエータ１５は、例えば、エージェントの足等を駆動するモータや、エージェントを移動させるオブジェクト（プログラム）等であり、行動制御部１４からの行動信号に従って駆動する。アクチュエータ１５が行動信号に従って駆動することにより、エージェントは、その行動信号に従った行動を行う。
【００３７】
［行動環境、及び、エージェントの行動］
【００３８】
図３は、エージェントが行動する行動環境、及び、エージェントが可能な行動の例を説明する図である。
【００３９】
図３において、行動環境は、左から右方向であるx方向と、下から上方向であるy方向とで規定される所定の空間（平面）であり、下方向（y方向の逆方向）には、重力が働いている。
【００４０】
また、行動環境において、y=0の位置は、地面になっており、さらに、y>0の幾つかの位置に、足場が設けられている。
【００４１】
エージェントについては、エージェントの位置（座標(x,y)）、速度、及び、加速度が定義されている。エージェントの位置、速度、及び、加速度は、連続値である。
【００４２】
また、エージェントの行動としては、エージェントの加速度を、所定値αだけ、右方向（x方向）に増加させる行動U1、左方向（x方向の逆方向）に増加させる行動U2、及び、上方向（y方向）に増加させる行動U3が定義されている。したがって、エージェントが可能な行動Uは、図３では、行動U1,U2,U3を表す離散値で表現される。
【００４３】
なお、エージェントの加速度を、上方向（y方向）に増加させる行動U3は、エージェントの上方向の速度が0であるときのみ行うことができることとする。
【００４４】
また、行動環境では、重力が働くので、エージェント（の下部が）が、地面、又は、足場に接触していない場合には、エージェントの下方向に向かう速さ（速度）は、重力に従い、単位時間あたり、所定値Vだけ増加する。
【００４５】
エージェントは、以上のような行動環境内を行動するが、エージェントが観測する観測値は、エージェントの位置のみであり、行動環境に関する知識、すなわち、例えば、足場や、地面、壁の位置、足場等に衝突しているかどうかの情報、移動可能な位置等の情報は、一切与えられない。
【００４６】
［状態遷移モデル］
【００４７】
図４は、行動環境を行動するエージェントの状態遷移モデルの例を説明する図である。
【００４８】
図４では、行動環境を行動するエージェントの状態遷移モデルの状態として、行動環境を小領域に区分することにより得られる、その小領域が採用されている。
【００４９】
すなわち、図４では、行動環境を、x方向とy方向とのそれぞれに等間隔にすることにより得られる正方形状の小領域が、状態を表し、状態は、離散値で表現される。
【００５０】
エージェントは、観測値としての現在の位置を観測し、その現在の位置から、現在の状態（現在状態）を認識することができる。
【００５１】
行動ごとの状態遷移モデルＰSS'Uは、エージェントが、状態（第１の状態）Sにおいて、所定の行動Uを行うことにより、状態（第２の状態（状態Sと同一の状態か、異なる状態））S'に遷移することを表す。
【００５２】
行動Uについての状態遷移モデルＰSS'Uは、例えば、式（１）で表される。
【００５３】
【数１】
2012079178.tif 000003
・・・（１）
【００５４】
ここで、式（１）において、P(S'|S,U)は、エージェントが、状態Sにおいて、行動Uを行ったときに、状態S'に遷移する遷移確率（確率モデル）を表す。
【００５５】
なお、行動Uについての状態遷移モデルＰSS'Uとしては、エージェントが、状態Sにおいて、行動Uを行ったときに、状態S'に遷移した頻度を採用することができる。
【００５６】
状態Sにおいて、行動Uが行われることによって、状態S'に遷移した頻度は、状態Sにおいて、行動Uが行われることによって、各状態に遷移した頻度の総和で正規化することにより、状態Sにおいて、行動Uが行われることによって、状態S'に遷移する遷移確率に確率化することができる。
【００５７】
したがって、状態Sにおいて、行動Uが行われることによって、状態S'に遷移した頻度と、状態Sにおいて、行動Uが行われることによって、状態S'に遷移する遷移確率とは、等価とみなすことができる。
【００５８】
なお、ここでは、状態遷移モデルＰSS'Uの記憶（学習）は、頻度で行うこととし、状態遷移モデルＰSS'Uを用いた処理では、必要に応じて、頻度を、遷移確率に確率化し、その遷移確率を用いることとする。
【００５９】
また、以下では、遷移確率を表す状態遷移モデルＰSS'Uを、遷移確率ＰSS'Uとも記載する。
【００６０】
［学習部１２の構成例］
【００６１】
図５は、図２の学習部１２の構成例を示すブロック図である。
【００６２】
図５において、学習部２１は、状態認識部２１、及び、モデル更新部２２を有する。
【００６３】
状態認識部２１には、センサ１１から、観測値としての、エージェントの現在の位置（の座標）が供給される。
【００６４】
状態認識部２１は、センサ１１からの観測値としての現在の位置の座標に基づき、その座標が観測される状態である現在状態（ここでは、図４で説明した行動領域を区分する小領域の中で、エージェントが位置する小領域）を認識し、モデル更新部２２に供給する。
【００６５】
モデル更新部２２は、行動制御部１４からの行動信号に基づいて、状態認識部２１からの（最新の）現在状態への状態遷移が生じたエージェントの行動Uを認識する。
【００６６】
そして、モデル更新部２２は、モデル記憶部１３に記憶された行動ごとの状態遷移モデルのうちの、状態認識部２１からの（最新の）現在状態S'への状態遷移が生じたエージェントの行動Uについての状態遷移モデルＰSS'Uを、現在状態S'への状態遷移に基づいて更新する。
【００６７】
すなわち、状態認識部２１からモデル更新部２２に供給された最新の現在状態S'の直前（1時刻前）の現在状態（以下、直前状態ともいう）が、状態Sであるとする。
【００６８】
モデル更新部２２は、状態認識部２１から供給される現在状態から、直前状態S、及び、現在状態S'を認識し、さらに、行動制御部１４からの行動信号から、直前状態Sから現在状態S'への状態遷移を生じさせるのに行われたエージェントの行動Uを認識する。
【００６９】
そして、モデル更新部２２は、直前状態Sにおいて、行動Uが行われることによって、現在状態S'への状態遷移が行われた場合、モデル記憶部１３に記憶された状態遷移モデルＰSS'Uが表す頻度を1だけインクリメントすることにより、状態遷移モデルＰSS'Uを更新する。
【００７０】
［学習処理］
【００７１】
図６は、図５の学習部１２が行う、状態遷移モデルの学習の処理（学習処理）を説明するフローチャートである。
【００７２】
なお、図６の学習処理は、エージェントが行動を行っている間、常時行われる。
【００７３】
ステップＳ１１において、モデル更新部２２は、行動制御部１４が行動信号Uを出力するのを待って、その行動信号Uを取得（受信）し、その行動信号Uにより行われたエージェントの行動Uを認識して、処理は、ステップＳ１２に進む。
【００７４】
ここで、行動信号Uは、エージェントに、行動Uを行わせる行動信号である。
【００７５】
ステップＳ１２では、状態認識部２１は、行動制御部１４が直前に出力した行動信号Uに対応する行動Uをエージェントが行った後にセンサ１１で観測された観測値（センサ信号）を取得し、処理は、ステップＳ１３に進む。
【００７６】
ステップＳ１３では、状態認識部２１は、センサ１１からの観測値から、現在状態S'を認識して、モデル更新部２２に供給し、処理は、ステップＳ１４に進む。
【００７７】
ステップＳ１４では、モデル更新部２２は、モデル記憶部１３に記憶された状態遷移モデルのうちの、状態認識部２１から1時刻前に供給された直前状態Sにおいて、1時刻前の行動Uが行われることにより、状態認識部２１から供給された現在状態S'に状態遷移したことを表す状態遷移モデルＰSS'Uを更新する。
【００７８】
すなわち、モデル更新部２２は、状態遷移モデルＰSS'Uが表す頻度を1だけインクリメントすることにより、状態遷移モデルＰSS'Uを更新する。
【００７９】
状態遷移モデルＰSS'Uの更新後、処理は、ステップＳ１４からステップＳ１１に戻り、行動制御部１４が行動信号を出力するのを待って、以下、同様の処理が繰り返される。
【００８０】
［行動制御部１４の構成例］
【００８１】
図７は、図２の行動制御部１４の構成例を示すブロック図である。
【００８２】
図７において、行動制御部１４は、状態認識部３１、状態価値算出部３２、行動価値算出部３３、目標状態設定部３４、及び、行動選択部３５を有する。
【００８３】
状態認識部３１には、センサ１１から、観測値としての、エージェントの現在の位置（の座標）が供給される。
【００８４】
状態認識部３１は、図５の状態認識部２１と同様に、センサ１１からの観測値としての現在の位置の座標に基づき、その座標が観測される状態である現在状態（ここでは、図４で説明した行動領域を区分する小領域の中で、エージェントが位置する小領域）を認識し、状態価値算出部３２、及び、行動選択部３５に供給する。
【００８５】
なお、状態認識部３１と、図５の状態認識部２１とは、１つの状態認識部で兼用することができる。
【００８６】
状態価値算出部３２は、モデル記憶部１３に記憶された状態遷移モデルに基づき、状態遷移モデルの各状態、すなわち、ここでは、図４で説明した行動領域を区分する各小領域について、状態遷移モデルの所定の状態に近い状態への遷移確率が大きい状態ほど、値が大きくなる、所定の状態を基準とする状態価値を算出し、行動価値算出部３３に供給する。
【００８７】
具体的には、状態価値算出部３２は、状態遷移モデルの各状態Sについて、所定の状態としての、例えば、状態認識部３１からの現在状態に近い状態S'への遷移確率ＰSS'Uが大きい状態Sほど、値が大きくなる、現在状態を基準とする状態価値Ｖ(S)を算出し、行動価値算出部３３に供給する。
【００８８】
行動価値算出部３３は、モデル記憶部１３に記憶された状態遷移モデル、及び、状態価値算出部３２からの現在状態を基準とする状態価値Ｖ(S)に基づき、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、現在状態を基準とする状態価値Ｖ(S')が大きい状態S'への遷移確率が大きい状態S及び行動Uほど、値が大きくなる行動価値Ｑ(S,U)を算出し、目標状態設定部３４に供給する。
【００８９】
目標状態設定部３４は、行動価値算出部３３からの行動価値Ｑ(S,U)に基づき、状態遷移モデルの状態のうちの、行動価値Ｑ(S,U)のばらつきが大きい状態を、エージェントが行う行動によって到達する目標となる目標状態に設定し、その目標状態を、行動選択部３５に供給する。
【００９０】
行動選択部３５は、モデル記憶部１３に記憶された状態遷移モデル、及び、目標状態設定部３４からの目標状態に基づき、エージェントが可能な行動の中から、目標状態に向かうためのエージェントの行動Uを選択し、その行動Uに対応する行動信号U（エージェントに行動Uを行わせる行動信号U）を出力する。
【００９１】
行動選択部３５が出力する行動信号Uは、学習部１２及びアクチュエータ１５（図２）に供給される。
【００９２】
［状態価値算出部３２の処理］
【００９３】
図８は、図７の状態価値算出部３２の処理を説明する図である。
【００９４】
状態価値算出部３２は、状態遷移モデルの各状態Sについて、状態認識部３１からの現在状態に近い状態S'への遷移確率ＰSS'Uが大きい状態Sほど、値が大きくなる、現在状態を基準とする状態価値Ｖ(S)を算出する。
【００９５】
すなわち、状態価値算出部３２は、現在状態Scurrentの状態価値Ｖ(Scurrent)を、1(1.0)として、その状態価値Ｖ(Scurrent)を減衰伝播する、例えば、式（２）の漸化式を、あらかじめ決定された（十分な）回数だけ繰り返し計算することにより、状態遷移モデルの各状態Sについて、現在状態を基準とする状態価値Ｖ(S)を算出する。
【００９６】
【数２】
2012079178.tif 000004
・・・（２）
【００９７】
ここで、式（２）において、ΣS'は、すべての状態S'についてのサメ−ションをとることを表し、maxは、各行動Uについて求められる、maxの直後の値のうちの最大値を表す。
【００９８】
さらに、式（２）において、γは、現在状態Scurrentの状態価値Ｖ(Scurrent)を減衰伝播するための、0＜γ＜1の範囲の実数の減衰定数であり、あらかじめ決定される。
【００９９】
また、式（２）において、RS'は、（状態遷移の遷移先の）状態S'に対して設定される定数を表す。状態S'が現在状態である場合の定数RS'を、Rcurrentと、状態S'が現在状態以外の状態である場合の定数RS'を、Rotherと、それぞれ表すこととすると、定数Rcurrentは1であり、定数Rotherは0である。
【０１００】
式（２）の漸化式によれば、遷移確率ＰSS'Uが大きい場合、遷移先の状態価値Ｖ(S')が大きい場合、及び、遷移先の状態S'が現在状態である場合（RS'＝Rcurrent）に、遷移元の状態Sの状態価値Ｖ(S)は大きくなる。すなわち、現在状態を基準とする状態価値Ｖ(S)は、現在状態に近い状態S'への遷移確率ＰSS'Uが大きい状態Sほど、値が大きくなる。
【０１０１】
ここで、図８は、現在状態を基準とする状態価値Ｖ(S)の例を示している。
【０１０２】
状態を、図４で説明したように、行動領域を区分する小領域とする場合、現在状態としての小領域に近い小領域ほど、現在状態としての小領域に移動しやすい（遷移確率ＰSS'Uが大きい）ので、図８では、現在状態を基準とする状態価値Ｖ(S)は、現在状態に近い状態ほど、値が大きくなる傾向がある。
【０１０３】
なお、図８では、状態価値算出部３２において、現在状態を基準とする状態価値Ｖ(S)を算出することしたが、状態価値算出部３２では、現在状態以外の任意の状態（例えば、ランダムに選択した状態等）を基準とする状態価値Ｖ(S)を算出することができる。
【０１０４】
また、式（２）の漸化式は（後述する漸化式についても同様）、特に断らない限り、Ｖ(S)の初期値が0であるとして計算される。
【０１０５】
［行動価値算出部３３、及び、目標状態設定部３４の処理］
【０１０６】
図９と図１０は、図７の行動価値算出部３３、及び、目標状態設定部３４の処理を説明する図である。
【０１０７】
行動価値算出部３３は、モデル記憶部１３に記憶された状態遷移モデル、及び、状態価値算出部３２からの現在状態を基準とする状態価値Ｖ(S)に基づき、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、現在状態を基準とする状態価値Ｖ(S')が大きい状態S'への遷移確率が大きい状態S及び行動Uほど、値が大きくなる行動価値Ｑ(S,U)を算出する。
【０１０８】
すなわち、行動価値算出部３３は、遷移確率（状態遷移モデル）PSS'U、及び、現在状態を基準とする状態価値Ｖ(S)を用いて、例えば、式（３）を計算することにより、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、行動価値Ｑ(S,U)を算出する。
【０１０９】
【数３】
2012079178.tif 000005
・・・（３）
【０１１０】
式（３）によれば、行動価値Ｑ(S,U)は、現在状態を基準とする状態価値Ｖ(S')が大きい状態S'への遷移確率PSS'Uが大きい状態S及び行動Uほど、値が大きくなる
【０１１１】
行動価値算出部３３は、各状態S、及び、各行動Uについての行動価値Ｑ(S,U)を、目標状態設定部３４に供給する。
【０１１２】
目標状態設定部３４は、行動価値算出部３３からの行動価値Ｑ(S,U)に基づき、状態遷移モデルの状態のうちの、行動価値Ｑ(S,U)のばらつきが大きい状態を、目標状態に設定する。
【０１１３】
すなわち、目標状態設定部３４は、行動価値算出部３３からの行動価値Ｑ(S,U)に基づき、各状態Sについて、行動価値Ｑ(S,U)のばらつきとしての、例えば、分散Ｗ(S)を、式（４）及び式（５）に従って求める。
【０１１４】
【数４】
2012079178.tif 000006
・・・（４）
【０１１５】
【数５】
2012079178.tif 000007
・・・（５）
【０１１６】
ここで、Ｑav(S,U)は、状態Sについての行動価値Ｑ(S,U)を確率化した確率（確率変数）を表し、式（４）のΣは、行動Uについてのサメ−ションを表す。
【０１１７】
また、式（５）において、E[]は、かっこ[]内の値（確率変数）の期待値を表す。
【０１１８】
状態Sについての分散Ｗ(S)が大きい場合、その状態Sにおいて行う行動Uの行動価値Ｑ(S,U)のばらつきが大きいので、エージェントが、状態Sにおいて行ったことがない行動がある可能性が高く、ひいては、エージェントが、その状態Sに到達した経験（その状態Sが現在状態になったこと）も少ない可能性が高い。
【０１１９】
そして、エージェントが到達した経験が少ない状態Sについては、状態遷移モデルの学習（更新）が不十分である可能性が高い。
【０１２０】
さらに、エージェントが到達した経験が少ない状態Sのみから遷移が可能な状態については、状態遷移モデルの学習が不十分である可能性の他、エージェントが到達した経験がない状態である可能性もある。
【０１２１】
一方、エージェントでは、エージェントが到達した経験が少ない状態Sや、エージェントが到達した経験がない状態に到達することにより、そのような状態について、状態遷移モデルの学習（更新）が行われるので（図６）、未知の環境である行動環境を効率的に学習することができる。
【０１２２】
そこで、目標状態設定部３４は、各状態Sについて、行動価値Ｑ(S,U)のばらつきとしての分散Ｗ(S)を求めると、その分散Ｗ(S)が大きい状態、すなわち、例えば、分散Ｗ(S)が所定の閾値以上の状態を、目標状態の候補に選択する。
【０１２３】
図９は、状態としての行動領域を区分する各小領域について求められた行動価値Ｑ(S,U)の分散Ｗ(S)の例を示している。
【０１２４】
図９では、所定の閾値として、例えば、1を採用して、目標状態の候補が選択されている。
【０１２５】
目標状態設定部３４は、目標状態の候補の選択後、その目標状態の候補の中から、目標状態を設定する。
【０１２６】
目標状態の候補の中からの、目標状態の設定の方法としては、例えば、目標状態の候補のうちの１つの候補をランダムに選択して、目標状態に設定する方法や、分散W(S)が最大の候補を、目標状態に設定する方法がある。
【０１２７】
但し、目標状態の候補のうちの１つの候補をランダムに選択して、目標状態に設定する方法や、分散W(S)が最大の候補を、目標状態に設定する方法では、現在状態から、目標状態に到達することが困難なことがある。
【０１２８】
そこで、目標状態設定部３４は、目標状態の候補の中で、所定の回数以内の状態遷移によって、現在状態から到達することができる候補を、目標状態に設定する。
【０１２９】
すなわち、目標状態設定部３４は、モデル記憶部１３に記憶された状態遷移モデルＰSS'Uに基づき、各状態Sについて、所定回数以内の状態遷移によって、現在状態にいる（到達する）存在確率T(S)を、例えば、式（６）の漸化式を、所定の回数だけ繰り返し計算することにより求める。
【０１３０】
【数６】
2012079178.tif 000008
・・・（６）
【０１３１】
ここで、式（６）において、現在状態の存在確率Ｔ(S')の初期値を、Tcurrentと、現在状態以外の状態の存在確率Ｔ(S')の初期値を、Totherと、それぞれ表すこととすると、初期値Tcurrentは1であり、初期値Totherは0である。
【０１３２】
図１０は、状態としての行動領域を区分する各小領域について求められた存在確率Ｔ(S)の例を示している。
【０１３３】
存在確率Ｔ(S)が0より大の状態は、現在状態からの所定の回数以内の状態遷移によって到達することが可能な状態（以下、到達可能状態ともいう）であり、目標状態設定部３４は、目標状態の候補の中の到達可能状態の１つを、例えば、ランダムに選択し、目標状態に設定する。
【０１３４】
以上のように、目標状態設定部３４において、各状態Sについての、行動価値Ｑ(S,U)の分散Ｗ(S)が大きい状態が、目標状態に設定されるので、エージェントが、そのような目標状態に到達するように、行動を行うことにより、エージェントは、エージェントが到達した経験が少ない状態や、エージェントが到達した経験がない状態に到達しやすくなり、そのような状態について、状態遷移モデルの学習（更新）が行われることで、未知の環境である行動環境を効率的に学習することが可能となる。
【０１３５】
ここで、以上のように、目標状態設定部３４において、行動価値Ｑ(S,U)の分散Ｗ(S)に基づいて設定される目標状態は、エージェントが、到達した経験が少ない状態や、到達した経験がない状態に到達しやすくすることにより（いわば、エージェントが未知の経験を積みやすくすることにより）、未知の環境である行動環境を効率的に学習するために設定される状態であり、以下、学習目標状態ともいう。
【０１３６】
［行動選択部３５の処理］
【０１３７】
図１１と図１２は、図７の行動選択部３５の処理を説明する図である。
【０１３８】
行動選択部３５は、モデル記憶部１３に記憶された状態遷移モデル、及び、目標状態設定部３４からの目標状態に基づき、エージェントが可能な行動の中から、目標状態に向かうためのエージェントの行動Uを選択し、その行動Uに対応する行動信号U（エージェントに行動Uを行わせる行動信号U）を出力する。
【０１３９】
すなわち、行動選択部３５は、状態遷移モデルの各状態Sについて、目標設定部３４からの目標状態に近い状態S'への遷移確率ＰSS'Uが大きい状態Sほど、値が大きくなる、目標状態を基準とする状態価値Ｖ(S)を算出する。
【０１４０】
具体的には、行動選択部３５は、状態価値算出部３２（図７）と同様に、目標状態Sgoalの状態価値Ｖ(Sgoal)を、1(1.0)として、その状態価値Ｖ(Sgoal)を減衰伝播する、例えば、上述の式（２）の漸化式を、あらかじめ決定された（十分な）回数だけ繰り返し計算することにより、状態遷移モデルの各状態Sについて、目標状態を基準とする状態価値Ｖ(S)を算出する。
【０１４１】
なお、式（２）に従って、目標状態を基準とする状態価値Ｖ(S)を算出する場合、式（２）の定数RS'としては、目標状態については、1が、目標状態以外の状態については、0が、それぞれ用いられる。
【０１４２】
すなわち、式（２）において、状態S'が目標状態である場合の定数RS'を、Rgoalと、状態S'が目標状態以外の状態である場合の定数RS'を、Rotherと、それぞれ表すこととすると、定数Rgoalは1であり、定数Rotherは0である。
【０１４３】
式（２）の漸化式によれば、遷移確率ＰSS'Uが大きい場合、遷移先の状態価値Ｖ(S')が大きい場合、及び、遷移先の状態S'が目標状態である場合（RS'＝Rgoal）に、遷移元の状態Sの状態価値Ｖ(S)は大きくなる。すなわち、目標状態を基準とする状態価値Ｖ(S)は、目標状態に近い状態S'への遷移確率ＰSS'Uが大きい状態Sほど、値が大きくなる。
【０１４４】
ここで、図１１は、目標状態を基準とする状態価値Ｖ(S)の例を示している。
【０１４５】
行動選択部３５は、目標状態を基準とする状態価値Ｖ(S)の算出後、その状態価値Ｖ(S)、及び、モデル記憶部１３に記憶された状態遷移モデルに基づき、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、目標状態を基準とする状態価値Ｖ(S)が大きい状態S'への遷移確率PSS'Uが大きい状態S及び行動Uほど、値が大きくなる行動価値Ｑ(S,U)を算出する。
【０１４６】
すなわち、行動選択部３５は、遷移確率（状態遷移モデル）PSS'U、及び、目標状態を基準とする状態価値Ｖ(S)を用いて、例えば、上述の式（３）を計算することにより、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、行動価値Ｑ(S,U)を算出する。
【０１４７】
式（３）によれば、行動価値Ｑ(S,U)は、目標状態を基準とする状態価値Ｖ(S')が大きい状態S'への遷移確率PSS'Uが大きい状態S及び行動Uほど、値が大きくなる。
【０１４８】
行動選択部３５は、各状態S、及び、各行動Uについての行動価値Ｑ(S,U)を求めると、例えば、式（７）に従い、状態認識部３１からの現在状態Sについての行動価値Ｑ(S,U)の中の最大値を与える行動Uを、現在状態Sにおいて行う行動π(S,U)として選択する。
【０１４９】
【数７】
2012079178.tif 000009
・・・（７）
【０１５０】
ここで、式（７）において、argmaxは、現在状態Sについての行動価値Ｑ(S,U)の中の最大値を与える行動U（最大の行動価値Ｑ(S,U)の行動U）を表す。
【０１５１】
行動選択部３５は、状態認識部３１から現在状態Sが供給されるごとに、その現在状態Sについての行動価値Ｑ(S,U)の中の最大値を与える行動Uを、現在状態Sにおいて行う行動π(S,U)として選択することを繰り返し、その結果、エージェントは、目標状態に向かう行動を行う。
【０１５２】
図１２は、エージェントが、現在状態Sについての行動価値Ｑ(S,U)の中の最大値を与える行動U＝π(S,U)を繰り返すことで、目標状態に向かっていく様子を示している。
【０１５３】
なお、目標状態設定部３４では、目標状態として、上述したような学習目標状態を設定することができる他、例えば、ユーザの操作等に基づいて外部から与えられる状態を設定することができる。
【０１５４】
ここで、外部から目標状態として与えられる状態は、エージェントが、その状態に到達するまで、エージェントを自律的に行動させるために与えられる状態であり、以下、学習目標状態と区別するために、行動目標状態ともいう。
【０１５５】
目標状態設定部３４から行動選択部３５に供給される目標状態が、行動目標状態である場合、行動選択部３５では、上述したように、現在状態Sについての行動価値Ｑ(S,U)の中の最大値を与える行動Uを、現在状態Sにおいて行う行動π(S,U)として選択することができる。
【０１５６】
一方、目標状態設定部３４から行動選択部３５に供給される目標状態が、学習目標状態である場合、行動選択部３５では、現在状態Sについての行動価値Ｑ(S,U)の中の最大値を与える行動Uを、現在状態Sにおいて行う行動π(S,U)として選択する他、現在状態Sについての行動価値Ｑ(S,U)に基づき、例えば、ε-greedy法により、現在状態Sにおいて行う行動π(S,U)を選択することができる。
【０１５７】
ε-greedy法では、式（８）に従い、ある確率1-εで、現在状態Sについての行動価値Ｑ(S,U)の中の最大値を与える行動Uが、現在状態Sにおいて行う行動π(S,U)として選択され、確率εで、エージェントが可能な行動の１つが、ランダムに、現在状態Sにおいて行う行動π(S,U)として選択される。
【０１５８】
【数８】
2012079178.tif 000010
・・・（８）
【０１５９】
なお、目標状態設定部３４から行動選択部３５に供給される目標状態が、学習目標状態である場合、行動選択部３５では、その他、例えば、現在状態Sについての行動価値Ｑ(S,U)に基づき、softmax法により、現在状態Sにおいて行う行動π(S,U)を選択することができる。
【０１６０】
softmax法では、現在状態Sについての、各行動Uの行動価値Ｑ(S,U)に対応する確率で、各行動Uが、ランダムに、現在状態Sにおいて行う行動π(S,U)として選択される。
【０１６１】
［行動制御処理］
【０１６２】
図１３は、図７の行動制御部１４が行う、行動環境を学習するためのエージェントの行動制御の処理（学習のための行動制御処理）を説明するフローチャートである。
【０１６３】
学習のための行動制御処理では、モデル記憶部１３に記憶される状態遷移モデルの学習（更新）を進行させるため、すなわち、未知の行動環境の全体の学習を行うため、エージェントが到達した経験が少ない可能性が高い状態が、学習目標状態に設定され、その学習目標状態に向かうように、エージェントの行動が制御される。
【０１６４】
なお、エージェントは、図１３の学習のための行動制御処理を初めて行う前に、例えば、ランダムに、又は、あらかじめ決められたルールに従って行動する生得行動を行い、その生得行動の間に行われた学習処理（図６）によって、行動環境について、ある程度の学習を行っていることとする。
【０１６５】
したがって、エージェントは、学習のための行動制御処理を初めて行う前に、生得行動によって到達したことがある状態の範囲で、状態遷移モデル（0でない頻度を表す状態遷移モデル）を獲得している。
【０１６６】
ステップＳ２１において、状態認識部３１は、行動選択部３５が直前に出力した行動信号に対応する行動をエージェントが行った後に観測される観測値（センサ信号）が、センサ１１から出力されるのを待って、その観測値を取得する。
【０１６７】
さらに、状態認識部３１は、センサ１１からの観測値から、現在状態を認識し、状態価値算出部３２、及び、行動選択部３５に供給して、処理は、ステップＳ２１からステップＳ２２に進む。
【０１６８】
ステップＳ２２では、状態価値算出部３２は、状態遷移モデルＰSS'Uを用いて、状態遷移モデルの各状態Sについて、上述の式（２）の漸化式に従って、現在状態を基準とする状態価値Ｖ(S)を算出し、行動価値算出部３３に供給して、処理は、ステップＳ２３に進む。
【０１６９】
ステップＳ２３では、行動価値算出部３３は、状態価値算出部３２からの現在状態を基準とする状態価値Ｖ(S)に基づき、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、上述の式（３）に従って、行動価値Ｑ(S,U)を算出し、目標状態設定部３４に供給して、処理は、ステップＳ２４に進む。
【０１７０】
ステップＳ２４では、目標状態設定部３４は、行動価値算出部３３からの行動価値Ｑ(S,U)に基づき、上述の式（４）及び式（５）に従って、各状態Sについて、行動価値Ｑ(S,U)の分散Ｗ(S)を求め、処理は、ステップＳ２５に進む。
【０１７１】
ステップＳ２５では、目標状態設定部３４は、行動価値Ｑ(S,U)の分散Ｗ(S)に基づいて、目標状態の候補（候補状態）を求め、すなわち、行動価値Ｑ(S,U)の分散W(S)が所定の閾値以上の状態を、目標状態の候補に選択し、処理は、ステップＳ２６に進む。
【０１７２】
ステップＳ２６では、目標状態設定部３４は、モデル記憶部１３に記憶された状態遷移モデルＰSS'Uに基づき、各状態Sについて、所定回数以内の状態遷移によって、現在状態にいる（到達する）存在確率T(S)を、上述の式（６）の漸化式に従って求め、処理は、ステップＳ２７に進む。
【０１７３】
ステップＳ２７では、目標状態設定部３４は、目標状態の候補の中から、存在確率Ｔ(S)が0より大（正の値）の状態（到達可能状態）の１つを、例えば、ランダムに選択し、学習目標状態に設定する。
【０１７４】
そして、目標状態設定部３４は、学習目標状態を、行動選択部３５に供給し、処理は、ステップＳ２７からステップＳ２８に進む。
【０１７５】
ステップＳ２８では、行動選択部３５は、状態遷移モデルの各状態Sについて、目標設定部３４からの学習目標状態を基準とする状態価値Ｖ(S)を、上述の式（２）の漸化式に従って算出し、処理は、ステップＳ２９に進む。
【０１７６】
ステップＳ２９では、行動選択部３５は、学習目標状態を基準とする状態価値Ｖ(S)を用い、上述の式（３）に従って、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、行動価値Ｑ(S,U)を算出し、処理は、ステップＳ３０に進む。
【０１７７】
ステップＳ３０では、行動選択部３５は、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについての行動価値Ｑ(S,U)のうちの、状態認識部３１からの現在状態Sについての行動価値Ｑ(S,U)に基づいて、例えば、ε-greedy法やsoftmax法により、現在状態Sにおいて行う行動Uを選択し、対応する行動信号Uを出力する。
【０１７８】
行動選択部３５が出力する行動信号Uは、学習部１２、及び、アクチュエータ１５に供給される。
【０１７９】
学習部１２では、行動選択部３５からの行動信号Uを用いて、上述した学習処理（図６）が行われる。
【０１８０】
また、アクチュエータ１５は、行動選択部３５からの行動信号Uに従って駆動し、これにより、エージェントは、その行動信号Uに従った行動Uを行う。
【０１８１】
エージェントが、行動信号Uに従った行動Uを行うと、処理は、ステップＳ３０からステップＳ３１に進み、状態認識部３１は、エージェントの行動Uの後に観測される観測値が、センサ１１から出力されるのを待って、その観測値を取得する。
【０１８２】
さらに、状態認識部３１は、センサ１１からの観測値から、現在状態を認識し、状態価値算出部３２、及び、行動選択部３５に供給して、処理は、ステップＳ３１からステップＳ３２に進む。
【０１８３】
ステップＳ３２では、行動選択部３５は、状態認識部３１からの現在状態が、目標状態設定部３４からの（最新の）学習目標状態に一致するかどうか、及び、目標状態設定部３４から（最新の）学習目標状態が供給されてから、所定の時間t1が経過したかどうかを判定する。
【０１８４】
ステップＳ３２において、状態認識部３１からの現在状態が、目標状態設定部３４からの学習目標状態に一致しておらず、さらに、目標状態設定部３４から学習目標状態が供給されてから、所定の時間t1が経過していない判定された場合、処理は、ステップＳ３０に戻り、以下、同様の処理が繰り返される。
【０１８５】
また、ステップＳ３２において、状態認識部３１からの現在状態が、目標状態設定部３４からの学習目標状態に一致したと判定された場合、すなわち、エージェントが学習目標状態に到達した場合、又は、目標状態設定部３４から学習目標状態が供給されてから、所定の時間t1が経過した判定された場合、すなわち、エージェントが、所定の時間t1の間に、学習目標状態に到達することができなかった場合、処理は、ステップＳ３３に進み、行動選択部３５は、学習のための行動制御処理を終了する行動制御の終了条件が満たされるかどうかを判定する。
【０１８６】
ここで、学習のための行動制御処理を終了する行動制御の終了条件としては、例えば、ユーザが、学習のための行動制御処理を終了するように、指令を行ったことや、学習のための行動制御処理が開始されてから、所定の時間t1よりも十分に長い所定の時間t2が経過したこと等がある。
【０１８７】
ステップＳ３３において、行動制御の終了条件が満たされないと判定された場合、処理は、ステップＳ２２に戻り、以下、同様の処理が繰り返される。
【０１８８】
また、ステップＳ３３において、行動制御の終了条件が満たされると判定された場合、行動制御部１４は、学習のための行動制御処理を終了する。
【０１８９】
以上のように、エージェントでは、状態遷移モデルPSS'Uを用いて、現在状態等の所定の状態を基準とする状態価値Ｖ(S)を算出し、その状態価値Ｖ(S)に基づき、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、行動価値Ｑ(S,U)を算出し、その行動価値(S,U)のばらつきとしての分散W(S)が大きい状態Sを、学習目標状態に設定し、その学習目標状態に向かう行動を行う。
【０１９０】
上述したように、行動価値Ｑ(S,U)の分散Ｗ(S)が大きい状態Sは、エージェントが到達した経験が少ない状態である可能性が高く、そのような状態Sについては、状態遷移モデルの学習（更新）が不十分である可能性が高い。
【０１９１】
さらに、エージェントが到達した経験が少ない状態Sのみから遷移が可能な状態については、状態遷移モデルの学習が不十分である可能性の他、エージェントが到達した経験がない状態である可能性もある。
【０１９２】
したがって、エージェントにおいて、行動価値(S,U)の分散W(S)が大きい状態Sを、学習目標状態に設定し、その学習目標状態に向かう行動を行うことにより、エージェントは、エージェントが到達した経験が少ない状態や、エージェントが到達した経験がない状態に到達し（易くなり）、その結果、そのような状態について、状態遷移モデルの学習（更新）が行われるので、行動環境の全体を、万遍なく、効率的に学習することができる。
【０１９３】
すなわち、エージェントは、行動環境を、万遍なく移動する行動を行うこととなり、その結果、行動環境の全体を、効率的に学習することができる。
【０１９４】
図１４は、図１３の学習のための行動制御処理によって行われる、図２のエージェントの、行動環境での行動を説明する図である。
【０１９５】
従来の行動制御では、行動価値に基づく行動制御を行うことが可能となるのは、エージェントが、目標状態に到達し、強化学習によって、目標状態に到達するための行動価値が算出された後であるため、エージェントは、目標状態に到達するまでは、例えば、エージェントが可能な行動の中からランダムに選択された行動を行わざるを得ない。
【０１９６】
そして、ランダムに選択された行動を行うエージェントでは、未知の行動環境の複雑性等により、目標状態に到達すること、つまり、目標状態に到達する学習を行うことが困難になることがある。
【０１９７】
すなわち、ランダムに選択された行動を行うエージェントでは、例えば、行動環境に、エージェントが通りづらい狭い通路が存在する場合に、その狭い通路を通り抜けることができず、狭い通路を通り抜けた先の環境を学習することができないことがある。
【０１９８】
また、ランダムに選択された行動を行うエージェントでは、例えば、上下に移動可能な行動環境に、重力が設定されている場合に、重力の影響により、行動環境内の上側に移動しにくくなり、行動環境のうちの、上側の環境を学習することができないことがある。
【０１９９】
さらに、例えば、ランダムに選択された行動を行うエージェントが行う行動に偏りがある場合、行動環境の学習にも偏りが生じることがある。
【０２００】
一方、学習のための行動制御処理（図１３）による行動制御（新行動制御）によれば、行動価値(S,U)の分散W(S)が大きい状態Sが、学習目標状態に設定されるので、エージェントは、エージェントが到達した経験が少ない状態や、エージェントが到達した経験がない状態に到達し（易くなり）、その結果、そのような状態について、状態遷移モデルの学習（更新）が行われ、行動環境の全体を、万遍なく、効率的に学習することが可能となる。
【０２０１】
図１５は、図７の行動制御部１４が行う、行動環境を自律的に行動するためのエージェントの行動制御の処理（自律行動のための行動制御処理）を説明するフローチャートである。
【０２０２】
自律行動のための行動制御処理では、例えば、ユーザの操作等に基づいて外部から与えられる状態が、行動目標状態に設定され、その行動目標状態に向かうように、エージェントの行動が制御される。
【０２０３】
ステップＳ４１において、目標状態設定部３４は、例えば、ユーザの操作等に基づいて外部から与えられる状態を、行動目標状態に設定し、行動選択部３５に供給する。
【０２０４】
ここで、行動目標状態としては、エージェントが到達したことがある状態が設定される。学習のための行動制御処理（図１３）によって、行動環境の全体の学習が終了している場合、すなわち、エージェントが、行動環境のすべての状態に到達したことがある場合、行動目標状態としては、行動環境の任意の状態を設定することができる。
【０２０５】
ステップＳ４１では、さらに、状態認識部３１が、センサ１１からの観測値から、現在状態を認識し、行動選択部３５に供給して、処理は、ステップＳ４２に進む。
【０２０６】
ステップＳ４２では、行動選択部３５は、状態遷移モデルＰSS'Uを用いて、状態遷移モデルの各状態Sについて、目標設定部３４からの行動目標状態を基準とする状態価値Ｖ(S)を、上述の式（２）の漸化式に従って算出し、処理は、ステップＳ４３に進む。
【０２０７】
ステップＳ４３では、行動選択部３５は、行動目標状態を基準とする状態価値Ｖ(S)を用い、上述の式（３）に従って、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、行動価値Ｑ(S,U)を算出し、処理は、ステップＳ４４に進む。
【０２０８】
ステップＳ４４では、行動選択部３５は、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについての行動価値Ｑ(S,U)のうちの、状態認識部３１からの現在状態Sについての行動価値Ｑ(S,U)に基づいて、その現在状態Sについての行動価値Ｑ(S,U)の中の最大値を与える行動Uを、現在状態Sにおいて行う行動π(S,U)に選択し、対応する行動信号Uを出力する。
【０２０９】
行動選択部３５が出力する行動信号Uは、学習部１２、及び、アクチュエータ１５に供給される。
【０２１０】
アクチュエータ１５は、行動選択部３５からの行動信号Uに従って駆動し、これにより、エージェントは、その行動信号Uに従った行動U（＝π(S,U)）を行う。
【０２１１】
なお、学習部１２では、自律行動のための行動制御処理が行われている間においても、学習のための行動制御処理（図１３）の場合と同様に、行動選択部３５からの行動信号Uを用いて、上述した学習処理（図６）を行うことができる。
【０２１２】
エージェントが、行動信号Uに従った行動Uを行うと、処理は、ステップＳ４４からステップＳ４５に進み、状態認識部３１は、エージェントの行動Uの後に観測される観測値が、センサ１１から出力されるのを待って、その観測値を取得する。
【０２１３】
さらに、状態認識部３１は、センサ１１からの観測値から、現在状態を認識し、行動選択部３５に供給して、処理は、ステップＳ４５からステップＳ４６に進む。
【０２１４】
ステップＳ４６では、行動選択部３５は、目標状態設定部３４が新たな行動目標状態を設定したかどうかを判定する。
【０２１５】
ステップＳ４６において、目標状態設定部３４が新たな行動目標状態を設定したと判定された場合、すなわち、例えば、ユーザが（行動）目標状態を変更するように、操作を行い、目標状態設定部３４が、その操作に基づいて、新たな行動目標状態に設定し、行動選択部３５に供給した場合、処理は、ステップＳ４２に戻り、行動選択部３５は、新たな行動目標状態を基準とする状態価値Ｖ(S)を算出し、以下、同様の処理が繰り返される。
【０２１６】
また、ステップＳ４６において、目標状態設定部３４が新たな行動目標状態を設定していないと判定された場合、処理は、ステップＳ４７に進み、行動選択部３５は、自律行動のための行動制御処理を終了する行動制御の終了条件が満たされるかどうかを判定する。
【０２１７】
ここで、自律行動のための行動制御処理を終了する行動制御の終了条件としては、例えば、ユーザが、自律行動のための行動制御処理を終了するように、指令を行ったことや、現在状態が行動目標状態に一致したこと等がある。
【０２１８】
ステップＳ４７において、行動制御の終了条件が満たされないと判定された場合、処理は、ステップＳ４４に戻り、以下、同様の処理が繰り返される。
【０２１９】
また、ステップＳ４７において、行動制御の終了条件が満たされると判定された場合、行動制御部１４は、自律行動のための行動制御処理を終了する。
【０２２０】
図１６は、図１５の自律行動のための行動制御処理によって行われる、図２のエージェントの、行動環境での行動を説明する図である。
【０２２１】
従来の行動制御では、行動価値に基づく行動制御を行うことが可能となるのは、エージェントが、目標状態に到達し、強化学習によって、目標状態に到達するための行動価値が算出された後であるため、エージェントは、目標状態が変更されると、その変更後の目標状態に到達するための行動価値を算出するのに、強化学習をやり直す必要があることがある。
【０２２２】
一方、自律行動のための行動制御処理による行動制御（新行動制御）では、（常時学習が行われている）状態遷移モデルＰSS'Uを用いて、行動目標状態を基準とする状態価値Ｖ(S)、ひいては、行動目標状態に至る行動価値Ｑ(S,U)が算出されるので、行動目標状態が新たな行動目標状態に変更されても、その新たな行動目標状態を基準とする状態価値Ｖ(S)、ひいては、新たな行動目標状態に至る行動価値Ｑ(S,U)を容易に算出し、エージェントに、その新たな行動目標状態に向かう行動を行わせることができる。
【０２２３】
なお、行動環境に、エージェントが避けるべき状態（以下、回避状態ともいう）が存在し、その回避状態がエージェントに与えられる場合には、自律行動のための行動制御処理において、行動選択部３５では、回避状態を回避しながら、行動目標状態に到達する行動を選択することができる。
【０２２４】
図１７は、エージェントが、回避状態を回避しながら、行動目標状態に到達する行動を説明する図である。
【０２２５】
行動選択部３５は、回避状態に到達することを回避するために、状態遷移モデルＰSS'Uを用いての、行動目標状態を基準とする状態価値Ｖ(S)の算出を、式（２）の漸化式に従って行うにあたり、式（２）の定数RS'として、目標状態については、1を、回避状態については、例えば、-0.3等の負の値を、目標状態及び回避状態以外の状態については、0を、それぞれ用いる。
【０２２６】
すなわち、式（２）において、状態S'が目標状態である場合の定数RS'を、Rgoalと、状態S'が回避である場合の定数RSを、Runlikeと、状態S'が目標状態及び回避状態以外の状態である場合の定数RS'を、Rotherと、それぞれ表すこととすると、定数Rgoalは1であり、定数Runlikeは-0.3であり、定数Rotherは0である。
【０２２７】
ここで、図１７は、定数Rgoalを1に、定数Runlikeを-0.3に、定数Rotherを0に、それぞれ設定した場合の、目標状態を基準とする状態価値Ｖ(S)の例を示している。
【０２２８】
行動選択部３５は、以上のようにして、目標状態を基準とする状態価値Ｖ(S)を算出した後、その状態価値Ｖ(S)を用い、式（３）に従って、状態遷移モデルの各状態S、及び、エージェントが可能な各行動Uについて、行動価値Ｑ(S,U)を算出する。
【０２２９】
そして、行動選択部３５は、各状態S、及び、各行動Uについての行動価値Ｑ(S,U)のうちの、現在状態Sについての行動価値Ｑ(S,U)の中の最大値を与える行動Uを、現在状態Sにおいて行う行動Uとして選択する。
【０２３０】
以上のように、式（２）において、回避状態についての定数Runlikeとして、負の値を採用することにより、回避状態についての、目標状態を基準とする状態価値Ｖ(S)、ひいては、そのような状態価値Ｖ(S)を用いて求められる、回避状態に向かう行動の行動価値Ｑ(S,U)は、相対的に小さくなり、その結果、図１７の矢印で示すように、エージェントは、回避状態を避けながら、目標状態に向かっていく行動をとる。
【０２３１】
［物体移動タスクへの適用例］
【０２３２】
学習部１２の学習処理、及び、行動制御部１４の行動制御処理は、上述したような、行動環境において、エージェントが単に移動するだけのタスク（以下、単純移動タスクともいう）の他、例えば、行動環境において、エージェントが、物体を移動させるタスク（以下、物体移動タスクともいう）にも適用することができる。
【０２３３】
図１８は、物体移動タスクを説明する図である。
【０２３４】
物体移動タスクでは、行動環境内に、エージェントの他、移動可能な物体が存在する。
【０２３５】
図１８において、行動環境は、２次元平面上の領域（地面）であり、エージェント、及び、物体は、その領域内を移動する。
【０２３６】
いま、図１８において、上方向を、北とすると、エージェントは、例えば、１回の行動で、東、西、南、北、北東、東南、南西、及び、北西のいずれかに、所定の距離だけ、いわば自力で移動することができる。
【０２３７】
また、エージェントは、物体に接触した場合に、物体を、エージェントが移動する方向に移動する（押す）ことができる。
【０２３８】
物体は、エージェントに押されることのみによって移動し、自力で移動することはできない。
【０２３９】
図１９は、物体移動タスクを行う場合の状態遷移モデルを説明する図である。
【０２４０】
図１９において、物体移動タスクについては、単純移動タスクの場合と同様に、行動環境を小領域に区分することにより得られる、その小領域が、行動ごとの状態遷移モデルの状態として採用されている。
【０２４１】
但し、物体移動タスクについては、行動ごとの状態遷移モデルの状態として、エージェント状態S(agt)と、物体の状態S(obj)とが存在する。
【０２４２】
また、物体移動タスクでは、エージェントは、単純移動タスクと同様に、エージェントの現在の位置を、観測値として観測し、エージェントの現在の位置から、エージェントの現在状態を認識することができる。
【０２４３】
さらに、物体移動タスクでは、エージェントは、物体の位置を、観測値として観測し、物体の現在の位置から、物体の現在状態を認識することができる。
【０２４４】
そして、物体移動タスクについては、行動ごとの状態遷移モデルＰSS'Uとして、エージェントが、状態S(agt)において、所定の行動Uを行うことにより、状態S(agt)'に遷移することを表す状態遷移モデル（以下、エージェント遷移モデルともいう）ＰS(agt)S(agt)'Uの他、物体遷移モデルＰS(obj)S(obj)'U、及び、エージェント物体間遷移モデルＰS(agt)S(obj*)Uが、モデル記憶部１３に記憶される。
【０２４５】
ここで、物体遷移モデルＰS(obj)S(obj)'Uは、エージェントが所定の行動Uを行うことにより、物体の状態が、状態S(obj)から状態S(obj)'に遷移することを表す。
【０２４６】
また、エージェント物体間遷移モデルＰS(agt)S(obj*)Uは、エージェントが、状態S(agt)において、所定の行動Uを行うことにより、物体の状態が、状態S(obj*)に遷移することを表す。
【０２４７】
物体遷移モデルＰS(obj)S(obj)'Uとしては、例えば、エージェント遷移モデルＰS(agt)S(agt)'Uと同様に、物体の状態が、状態S(obj)であるときに、エージェントが所定の行動Uを行うことにより、物体の状態が、状態S(obj)'に遷移した頻度（や遷移確率）を採用することができる。
【０２４８】
エージェント物体間遷移モデルＰS(agt)S(obj*)Uとしても、例えば、エージェント遷移モデルＰS(agt)S(agt)'Uと同様に、エージェントが、状態S(agt)において、所定の行動Uを行うことにより、物体の状態が、状態S(obj*)に遷移した頻度（や遷移確率）を採用することができる。
【０２４９】
物体移動タスクでは、物体について、目標状態が設定され、エージェント遷移モデルＰS(agt)S(agt)'U、物体遷移モデルＰS(obj)S(obj)'U、及び、エージェント物体間遷移モデルＰS(agt)S(obj*)Uに基づいて、物体が目標状態に到達するように、エージェントの行動が制御される。
【０２５０】
［物体移動タスクにおける学習処理］
【０２５１】
図２０は、物体移動タスクにおいて、学習部１２が行う学習処理を説明するフローチャートである。
【０２５２】
なお、図２０の学習処理は、例えば、図６の学習処理と同様に、エージェントが行動を行っている間、常時行われる。
【０２５３】
ステップＳ６１において、学習部１２は、行動制御部１４が行動信号Uを出力するのを待って、その行動信号Uを取得（受信）し、その行動信号Uにより行われたエージェントの行動Uを認識して、処理は、ステップＳ６２に進む。
【０２５４】
ステップＳ６２では、学習部１２は、行動制御部１４が直前に出力した行動信号Uに対応する行動Uをエージェントが行った後にセンサ１１で観測された観測値を取得し、処理は、ステップＳ６３に進む。
【０２５５】
ステップＳ６３では、学習部１２は、センサ１１からの観測値から、エージェントの現在状態S(agt)'と、物体の現在状態S(obj)'とを認識して、処理は、ステップＳ６４に進む。
【０２５６】
ステップＳ６４では、学習部１２は、エージェントの現在状態S(agt)'と、その1時刻前の現在状態である直前状態S(agt)、及び、物体の現在状態S(obj)'と、その1時刻前の現在状態である直前状態S(obj)に基づいて、モデル記憶部１３に記憶されたエージェント遷移モデルＰS(agt)S(agt)'U、物体遷移モデルＰS(obj)S(obj)'U、及び、エージェント物体間遷移モデルＰS(agt)S(obj)'Uを更新する。
【０２５７】
すなわち、学習部１２は、エージェントが、直前状態S(agt)において、1時刻前の行動Uを行うことにより、現在状態S(agt)'に状態遷移したことを表すエージェント遷移モデルＰS(agt)S(agt)'Uとしての頻度を1だけインクリメントすることにより、エージェント遷移モデルＰS(agt)S(agt)'Uを更新する。
【０２５８】
さらに、学習部１２は、エージェントが、1時刻前の行動Uを行うことにより、物体の状態が、直前状態S(obj)から現在状態S(obj)'に状態遷移したことを表す物体遷移モデルＰS(obj)S(obj)'Uとしての頻度を1だけインクリメントすることにより、物体遷移モデルＰS(obj)S(obj)'Uを更新する。
【０２５９】
また、学習部１２は、エージェントが、1時刻前の現在状態である直前状態S(agt)において、1時刻前の行動Uを行うことにより、物体の状態が、現在状態S(obj)'に状態遷移したことを表すエージェント物体間遷移モデルＰS(agt)S(obj)'Uとしての頻度を1だけインクリメントすることにより、エージェント物体間遷移モデルＰS(agt)S(obj)'Uを更新する。
【０２６０】
エージェント遷移モデルＰS(agt)S(agt)'U、物体遷移モデルＰS(obj)S(obj)'U、及び、エージェント物体間遷移モデルＰS(agt)S(obj)'Uの更新後、処理は、ステップＳ６４からステップＳ６１に戻り、行動制御部１４が行動信号を出力するのを待って、以下、同様の処理が繰り返される。
【０２６１】
［物体移動タスクにおける行動制御処理］
【０２６２】
図２１は、物体移動タスクにおいて、行動制御部１４（図２）が行う自律行動のための行動制御処理を説明するフローチャートである。
【０２６３】
物体移動タスクにおいて、自律行動のための行動制御処理では、図１５の場合と同様に、例えば、ユーザの操作等に基づいて外部から与えられる状態が、行動目標状態に設定され、その行動目標状態に向かうように、エージェントの行動が制御される。
【０２６４】
但し、行動目標状態には、物体の状態が設定される。
【０２６５】
ステップＳ７１において、行動制御部１４は、例えば、ユーザの操作等に基づいて外部から与えられる物体の状態を、行動目標状態に設定し、処理は、ステップＳ７２に進む。
【０２６６】
例えば、ユーザが、物体を移動させたい位置に対応する状態を、目標状態とするように、操作を行うと、行動制御部１４は、ユーザの操作に応じた物体の状態を、行動目標状態に設定する。
【０２６７】
ステップＳ７２では、行動制御部１４は、物体遷移モデルＰS(obj)S(obj)'Uを用いて、物体遷移モデルの各状態S(obj)について、行動目標状態を基準とする状態価値Ｖobj(S(obj))を、上述の式（２）の漸化式と同様の式（９）に従って算出し、処理は、ステップＳ７３に進む。
【０２６８】
【数９】
2012079178.tif 000011
・・・（９）
【０２６９】
ここで、式（９）において、ΣS(obj)'は、物体のすべての状態S(obj)'についてのサメ−ションをとることを表し、maxは、各行動Uについて求められる、maxの直後の値のうちの最大値を表す。
【０２７０】
さらに、式（９）において、γは、式（２）の場合と同様の減衰定数である。
【０２７１】
また、式（９）において、RS(obj)'は、（状態遷移の遷移先の）物体の状態S(obj)'に対して設定される定数を表す。状態S(obj)'が行動目標状態である場合の定数RS(obj)'を、Rgoalと、状態S(obj)'が行動目標状態以外の状態である場合の定数RS(obj)'を、Rotherと、それぞれ表すこととすると、定数Rgoalは1であり、定数Rotherは0である。
【０２７２】
ステップＳ７３では、行動制御部１４は、物体遷移モデルＰS(obj)S(obj)'U、及び、行動目標状態を基準とする状態価値Ｖobj(S(obj))を用い、上述の式（３）と同様の式（１０）に従って、物体遷移モデルの各状態S(obj)、及び、エージェントが可能な各行動Uについて、行動価値Ｑobj(S(obj),U)を算出し、処理は、ステップＳ７４に進む。
【０２７３】
【数１０】
2012079178.tif 000012
・・・（１０）
【０２７４】
ステップＳ７４では、行動制御部１４は、エージェントの行動Uの後に観測される観測値が、センサ１１から出力されるのを待って、その観測値を取得し、その観測値から、エージェント、及び、物体の現在状態を認識し、処理は、ステップＳ７５に進む。
【０２７５】
ステップＳ７５では、行動制御部１４は、物体遷移モデルの各状態S(obj)、及び、エージェントが可能な各行動Uについての行動価値Ｑobj(S(obj),U)のうちの、物体の現在状態S(obj-current)についての行動価値Ｑobj(S(obj-current),U)に基づいて、その現在状態S(obj-current)についての行動価値Ｑobj(S(obj-current),U)の中の最大値を与える行動U*を求め、処理は、ステップＳ７６に進む。
【０２７６】
すなわち、ステップＳ７５では、行動U*が、式（１１）に従って求められる。
【０２７７】
【数１１】
2012079178.tif 000013
・・・（１１）
【０２７８】
ここで、式（１１）において、argmaxは、物体の現在状態S(obj-current)についての行動価値Ｑobj(S(obj),U)の中の最大値を与える行動Uを表す。
【０２７９】
ステップＳ７６では、行動制御部１４は、エージェントが行動U*を行ったときに、物体の現在状態S(obj-current)からの遷移先の物体の状態の中で、物体遷移モデルが表す遷移確率（頻度）ＰS(obj-current)S(obj)'U*が最大の物体の状態S(obj*)を求め、処理は、ステップＳ７７に進む。
【０２８０】
すなわち、ステップＳ７６では、物体の状態S(obj*)が、式（２３）に従って求められる。
【０２８１】
【数１２】
2012079178.tif 000014
・・・（１２）
【０２８２】
ここで、式（１２）において、argmaxは、物体の現在状態S(obj-current)からの状態遷移の遷移確率ＰS(obj-current)S(obj)'U*が最大の、遷移先の物体の状態S(obj)'を表す。
【０２８３】
式（１２）に従って求められる遷移先の物体の状態S(obj)'である状態S(obj*)は、行動価値Ｑobj(S(obj-current),U)が最大の行動U*が行われることにより生じる、物体の現在状態S(obj-current)からの状態遷移の遷移先の物体の状態S(obj)'の中で、遷移確率ＰS(obj-current)S(obj)'U*が最大の状態、つまり、エージェントが行動U*を行うことによって生じる物体の状態遷移の遷移先として、最も可能性が高い状態である。
【０２８４】
ステップＳ７７では、行動制御部１４は、エージェント物体間遷移モデルＰS(agt)S(obj)'Uのうちの、遷移先が物体の状態S(obj*)のエージェント物体間遷移モデルＰS(agt)S(obj*)U、及び、エージェント遷移モデルPS(agt)S(agt)'Uを用いて、式（１３）の漸化式をあらかじめ決定された（十分な）回数だけ繰り返し計算することにより、エージェントの各状態S(agt)について、物体の状態S(obj*)を基準とする状態価値Ｖagt(S(agt))を算出し、処理は、ステップＳ７８に進む。
【０２８５】
【数１３】
2012079178.tif 000015
・・・（１３）
【０２８６】
ここで、式（１３）において、ΣS(agt)'は、エージェントのすべての状態S(agt)'についてのサメ−ションをとることを表し、γは、式（２）の場合と同様の減衰定数である。
【０２８７】
式（１３）によって求められる、物体の状態S(obj*)を基準とする状態価値Ｖagt(S(agt))は、エージェントが、エージェントの状態S(agt)において、行動Uを行ったときに、物体の状態が、状態S(obj*)に遷移する遷移確率（エージェント物体間遷移モデルが表す遷移確率）ＰS(agt)S(obj*)Uが大きい行動Uをとることができる状態S(agt)ほど、値が大きくなる。
【０２８８】
物体の状態S(obj*)を基準とする状態価値Ｖagt(S(agt))には、式（９）に従って求められた、行動目標状態を基準とする状態価値Ｖobj(S(obj))が、行動目標状態に近づく物体の状態S(obj*)への状態遷移の遷移確率ＰS(agt)S(obj*)Uを介して、いわば伝播している、ということができる。
【０２８９】
ステップＳ７８では、行動制御部１４は、エージェント物体間遷移モデルＰS(agt)S(obj)'Uのうちの、遷移先が物体の状態S(obj*)のエージェント物体間遷移モデルＰS(agt)S(obj*)U、エージェント遷移モデルPS(agt)S(agt)'U、及び、物体の状態S(obj*)を基準とする状態価値Ｖagt(S(agt))を用い、式（１４）に従って、エージェント遷移モデルの各状態S(obj)、及び、エージェントが可能な各行動Uについて、行動価値Ｑagt(S(agt),U)を算出し、処理は、ステップＳ７９に進む。
【０２９０】
【数１４】
2012079178.tif 000016
・・・（１４）
【０２９１】
ステップＳ７９では、行動制御部１４は、エージェント遷移モデルの各状態S(agt)、及び、エージェントが可能な各行動Uについての行動価値Ｑagt(S(agt),U)のうちの、エージェントの現在状態S(agt)についての行動価値Ｑagt(S(agt),U)に基づいて、その現在状態S(agt)についての行動価値Ｑagt(S(agt),U)の中の最大値を与える行動Uを、エージェントの現在状態S(agt)において行う行動Uに選択し、対応する行動信号Uを出力して、処理は、ステップＳ８０に進む。
【０２９２】
ここで、行動制御部１４が出力する行動信号Uは、学習部１２、及び、アクチュエータ１５に供給される。
【０２９３】
アクチュエータ１５は、行動制御部１４からの行動信号Uに従って駆動し、これにより、エージェントは、その行動信号Uに従った行動Uを行う。
【０２９４】
なお、学習部１２では、自律行動のための行動制御処理が行われている間、行動制御部１４からの行動信号Uを用いて、上述した学習処理（図２０）を行うことができる。
【０２９５】
ステップＳ８０では、行動制御部１４は、新たな行動目標状態（物体の状態S(obj)）が設定されたかどうかを判定する。
【０２９６】
ステップＳ８０において、新たな行動目標状態を設定されたと判定された場合、すなわち、例えば、ユーザが行動目標状態を変更するように、操作を行い、行動制御部１４が、その操作に基づいて、新たな行動目標状態に設定した場合、処理は、ステップＳ７２に戻り、行動制御部１４は、新たな行動目標状態を基準とする状態価値Ｖobj(S(obj))を算出し、以下、同様の処理が繰り返される。
【０２９７】
また、ステップＳ８０において、新たな行動目標状態が設定されていないと判定された場合、処理は、ステップＳ８１に進み、行動制御部１４は、エージェントの行動Uの後に観測される観測値が、センサ１１から出力されるのを待って、その観測値を取得する。
【０２９８】
さらに、行動制御部１４は、センサ１１からの観測値から、エージェント、及び、物体の現在状態を認識し、処理は、ステップＳ８１からステップＳ８２に進む。
【０２９９】
ステップＳ８２では、行動制御部１４は、図１５のステップＳ４７と同様に、自律行動のための行動制御処理を終了する行動制御の終了条件が満たされるかどうかを判定する。
【０３００】
ステップＳ８２において、行動制御の終了条件が満たされないと判定された場合、処理は、ステップＳ８３に進み、行動制御部１４は、物体の現在状態が、物体の直前状態から他の状態（直前状態以外の状態）に変化したかどうかを判定する。
【０３０１】
ステップＳ８３において、物体の現在状態が、物体の直前状態から他の状態に変化したと判定された場合、すなわち、エージェントが行動することにより、物体が移動し、その結果、物体の状態が、エージェントが行動する前と後とで変化した場合、処理は、ステップＳ７５に戻り、行動制御部１４は、変化後の物体の現在状態S(obj-current)についての行動価値Ｑobj(S(obj-current),U)の中の最大値を与える行動U*を求め、以下、同様の処理が繰り返される。
【０３０２】
また、ステップＳ８３において、物体の現在状態が、物体の直前状態から他の状態に変化していないと判定された場合、すなわち、エージェントが行動したが、物体が移動しなかった場合、又は、エージェントが行動することにより、物体が移動したが、その移動の前と後とで、物体の状態が変化しなかった場合、処理は、ステップＳ７９に戻り、以下、同様の処理が繰り返される。
【０３０３】
一方、ステップＳ８２において、行動制御の終了条件が満たされると判定された場合、行動制御部１４は、自律行動のための行動制御処理を終了する。
【０３０４】
図２２及び図２３は、物体移動タスクにおいて、行動制御部１４（図２）が行う学習のための行動制御処理を説明するフローチャートである。
【０３０５】
物体移動タスクにおいて、学習のための行動制御処理では、図１３の場合と同様に、物体が到達した経験が少ない状態や、物体が到達した経験がない状態に、物体が到達しやすくするように、学習目標状態が設定され、物体の状態が学習目標状態に向かうように、エージェントの行動が制御されることで、図２０の学習処理において、エージェント遷移モデルＰS(agt)S(agt)'U、物体遷移モデルＰS(obj)S(obj)'U、及び、エージェント物体間遷移モデルＰS(agt)S(obj)'Uの学習が、効率的に行われるようにする。
【０３０６】
なお、エージェントは、図２２及び図２３の学習のための行動制御処理を初めて行う前に、例えば、ランダムに、又は、あらかじめ決められたルールに従って行動する生得行動を行い、その生得行動の間に行われた学習処理（図２０）によって、行動環境について、ある程度の学習を行っていることとする。
【０３０７】
したがって、エージェントは、図２２及び図２３の学習のための行動制御処理を初めて行う前に、生得行動によって到達したことがあるエージェント及び物体の状態の範囲で、0でない頻度を表すエージェント遷移モデルＰS(agt)S(agt)'U、物体遷移モデルＰS(obj)S(obj)'U、及び、エージェント物体間遷移モデルＰS(agt)S(obj)'Uを獲得している。
【０３０８】
ステップＳ１０１において、行動制御部１４は、直前に出力した行動信号に対応する行動をエージェントが行った後に観測される観測値が、センサ１１から出力されるのを待って、その観測値を取得する。
【０３０９】
さらに、行動制御部１４は、センサ１１からの観測値から、エージェント、及び、物体の現在状態を認識し、処理は、ステップＳ１０１からステップＳ１０２に進む。
【０３１０】
ステップＳ１０２では、行動制御部１４は、物体遷移モデルＰS(obj)S(obj)'Uを用いて、物体遷移モデルの各状態S(obj)について、上述の式（９）の漸化式に従って、物体の現在状態S(obj-current)を基準とする状態価値Ｖobj(S(obj))を算出し、処理は、ステップＳ１０３に進む。
【０３１１】
ここで、式（９）の漸化式に従った、物体の現在状態S(obj-current)を基準とする状態価値Ｖobj(S(obj))の算出にあたっては、状態S(obj)'が現在状態S(obj-current)である場合の定数RS(obj)'を、Rcurrentと、状態S(obj)'が現在状態S(obj-current)以外の状態である場合の定数RS(obj)'を、Rotherと、それぞれ表すこととすると、定数Rcurrentは1とされ、定数Rotherは0とされる。
【０３１２】
ステップＳ１０３では、行動制御部１４は、物体の現在状態S(obj-current)を基準とする状態価値Ｖobj(S(obj))に基づき、物体遷移モデルの各状態S(obj)、及び、エージェントが可能な各行動Uについて、上述の式（１０）に従って、行動価値Ｑobj(S(obj),U)を算出し、処理は、ステップＳ１０４に進む。
【０３１３】
ステップＳ１０４では、行動制御部１４は、行動価値Ｑobj(S(obj),U)に基づき、上述の式（４）及び式（５）で説明したように、物体の各状態S(obj)について、行動価値Ｑobj(S(obj),U)の分散Ｗ(S(obj))を求め、処理は、ステップＳ１０５に進む。
【０３１４】
ステップＳ１０５では、行動制御部１４は、行動価値Ｑobj(S(obj),U)の分散Ｗ(S(obj))に基づいて、学習目標状態の候補を求め、すなわち、行動価値Ｑobj(S(obj),U)の分散Ｗ(S(obj))が所定の閾値以上の物体の状態を、学習目標状態の候補に選択し、処理は、ステップＳ１０６に進む。
【０３１５】
ステップＳ１０６では、行動制御部１４は、モデル記憶部１３に記憶された物体遷移モデルＰS(obj)S(obj)'Uに基づき、物体の各状態S(obj)について、所定回数以内の状態遷移によって、物体の現在状態S(obj-current)にいる存在確率T(S)を、上述の式（６）で説明したように、漸化式を繰り返し計算することにより求め、処理は、ステップＳ１０７に進む。
【０３１６】
ステップＳ１０７では、行動制御部１４は、学習目標状態の候補の中から、存在確率Ｔ(S)が0より大（正の値）の状態（到達可能状態）の１つを、例えば、ランダムに選択し、学習目標状態に設定する。
【０３１７】
そして、処理は、ステップＳ１０７から、図２３のステップＳ１１１に進み、以下、物体の状態が、学習目標状態に向かうように、エージェントの行動が制御される。
【０３１８】
すなわち、図２３は、図２２に続くフローチャートである。
【０３１９】
ステップＳ１１１では、行動制御部１４は、物体遷移モデルＰS(obj)S(obj)'Uを用いて、物体遷移モデルの各状態S(obj)について、学習目標状態を基準とする状態価値Ｖobj(S(obj))を、上述の式（９）に従って算出し、処理は、ステップＳ１１２に進む。
【０３２０】
ここで、学習目標状態を基準とする状態価値Ｖobj(S(obj))を、式（９）に従って算出するにあたり、状態S(obj)'が学習目標状態である場合の式（９）の定数RS(obj)'を、Rgoalと、状態S(obj)'が学習目標状態以外の状態である場合の式（９）の定数RS(obj)'を、Rotherと、それぞれ表すこととすると、定数Rgoalは1であり、定数Rotherは0である。
【０３２１】
ステップＳ１１２では、行動制御部１４は、物体遷移モデルＰS(obj)S(obj)'U、及び、学習目標状態を基準とする状態価値Ｖobj(S(obj))を用い、上述の式（１０）に従って、物体遷移モデルの各状態S(obj)、及び、エージェントが可能な各行動Uについて、行動価値Ｑobj(S(obj),U)を算出し、処理は、ステップＳ１１３に進む。
【０３２２】
ステップＳ１１３では、行動制御部１４は、物体遷移モデルの各状態S(obj)、及び、エージェントが可能な各行動Uについての行動価値Ｑobj(S(obj),U)のうちの、物体の現在状態S(obj-current)についての行動価値Ｑobj(S(obj-current),U)に基づいて、その現在状態S(obj-current)についての行動価値Ｑobj(S(obj-current),U)の中の最大値を与える行動U*を求め、処理は、ステップＳ１１４に進む。
【０３２３】
ステップＳ１１４では、行動制御部１４は、エージェントが行動U*を行ったときに、物体の現在状態S(obj-current)からの遷移先の物体の状態の中で、物体遷移モデルが表す遷移確率（頻度）ＰS(obj-current)S(obj)'U*が最大の物体の状態S(obj*)を求め、処理は、ステップＳ１１５に進む。
【０３２４】
ステップＳ１１５では、行動制御部１４は、エージェント物体間遷移モデルＰS(agt)S(obj)'Uのうちの、遷移先が物体の状態S(obj*)のエージェント物体間遷移モデルＰS(agt)S(obj*)U、及び、エージェント遷移モデルPS(agt)S(agt)'Uを用いて、上述の式（１３）の漸化式をあらかじめ決定された（十分な）回数だけ繰り返し計算することにより、エージェントの各状態S(agt)について、物体の状態S(obj*)を基準とする状態価値Ｖagt(S(agt))を算出し、処理は、ステップＳ１１６に進む。
【０３２５】
ステップＳ１１６では、行動制御部１４は、エージェント物体間遷移モデルＰS(agt)S(obj)'Uのうちの、遷移先が物体の状態S(obj*)のエージェント物体間遷移モデルＰS(agt)S(obj*)U、エージェント遷移モデルPS(agt)S(agt)'U、及び、物体の状態S(obj*)を基準とする状態価値Ｖagt(S(agt))を用い、上述の式（１４）に従って、エージェント遷移モデルの各状態S(obj)、及び、エージェントが可能な各行動Uについて、行動価値Ｑagt(S(agt),U)を算出し、処理は、ステップＳ１１７に進む。
【０３２６】
ステップＳ１１７では、行動制御部１４は、エージェント遷移モデルの各状態S(agt)、及び、エージェントが可能な各行動Uについての行動価値Ｑagt(S(agt),U)のうちの、エージェントの現在状態S(agt)についての行動価値Ｑagt(S(agt),U)に基づいて、例えば、図１３のステップＳ３０と同様に、ε-greedy法やsoftmax法により、エージェントが現在状態S(agt)において行う行動Uを選択し、対応する行動信号Uを出力する。
【０３２７】
ここで、行動制御部１４が出力する行動信号Uは、学習部１２、及び、アクチュエータ１５に供給される。
【０３２８】
アクチュエータ１５は、行動制御部１４からの行動信号Uに従って駆動し、これにより、エージェントは、その行動信号Uに従った行動Uを行う。
【０３２９】
なお、学習部１２では、学習のための行動制御処理が行われている間、行動制御部１４からの行動信号Uを用いて、上述した学習処理（図２０）を行う。
【０３３０】
エージェントが、行動信号Uに従った行動Uを行うと、処理は、ステップＳ１１７からステップＳ１１８に進み、行動制御部１４は、エージェントの行動Uの後に観測される観測値が、センサ１１から出力されるのを待って、その観測値を取得する。
【０３３１】
さらに、行動制御部１４は、センサ１１からの観測値から、エージェント、及び、物体の現在状態を認識し、処理は、ステップＳ１１８からステップＳ１１９に進む。
【０３３２】
ステップＳ１１９では、行動制御部１４は、行動制御部１４からの現在状態が、行動制御部１４からの（最新の）学習目標状態に一致するかどうか、及び、行動制御部１４から（最新の）学習目標状態が供給されてから、所定の時間t1が経過したかどうかを判定する。
【０３３３】
ステップＳ１１９において、行動制御部１４からの現在状態が、行動制御部１４からの学習目標状態に一致しておらず、さらに、行動制御部１４から学習目標状態が供給されてから、所定の時間t1が経過していない判定された場合、処理は、ステップＳ１２０に進み、行動制御部１４は、物体の現在状態が、物体の直前状態から他の状態（直前状態以外の状態）に変化したかどうかを判定する。
【０３３４】
ステップＳ１２０において、物体の現在状態が、物体の直前状態から他の状態に変化したと判定された場合、すなわち、エージェントが行動することにより、物体が移動し、その結果、物体の状態が、エージェントが行動する前と後とで変化した場合、処理は、ステップＳ１１３に戻り、行動制御部１４は、変化後の物体の現在状態S(obj-current)についての行動価値Ｑobj(S(obj-current),U)の中の最大値を与える行動U*を求め、以下、同様の処理が繰り返される。
【０３３５】
また、ステップＳ１２０において、物体の現在状態が、物体の直前状態から他の状態に変化していないと判定された場合、すなわち、エージェントが行動したが、物体が移動しなかった場合、又は、エージェントが行動することにより、物体が移動したが、その移動の前と後とで、物体の状態が変化しなかった場合、処理は、ステップＳ１１７に戻り、以下、同様の処理が繰り返される。
【０３３６】
一方、ステップＳ１１９において、行動制御部１４からの現在状態が、行動制御部１４からの学習目標状態に一致したと判定された場合、すなわち、エージェントが学習目標状態に到達した場合、又は、行動制御部１４から学習目標状態が供給されてから、所定の時間t1が経過した判定された場合、すなわち、エージェントが、所定の時間t1の間に、学習目標状態に到達することができなかった場合、処理は、ステップＳ１２１に進み、行動制御部１４は、図１３のステップＳ３３と同様に、学習のための行動制御処理を終了する行動制御の終了条件が満たされるかどうかを判定する。
【０３３７】
ステップＳ１２１において、行動制御の終了条件が満たされないと判定された場合、処理は、図２２のステップＳ１０２に戻り、以下、同様の処理が繰り返される。
【０３３８】
また、ステップＳ１２１において、行動制御の終了条件が満たされると判定された場合、行動制御部１４は、学習のための行動制御処理を終了する。
【０３３９】
［状態遷移モデルの状態の他の例］
【０３４０】
以上においては、状態遷移モデル（エージェント遷移モデル、物体遷移モデル、及び、エージェント物体間遷移モデル）ＰSS'Uの状態として、行動環境を小領域に区分することにより得られる、その小領域を採用したが、状態遷移モデルの状態は、その他、例えば、GMM(Gaussian Mixture Model)や、HMM(Hidden Markov Model)等の潜在変数モデルを用いて表現することができる。
【０３４１】
すなわち、状態遷移モデルＰSS'Uの状態としては、例えば、GMMや、HMMの状態を採用することができる。
【０３４２】
状態遷移モデルＰSS'Uの状態として、GMMや、HMMの状態を採用する場合には、行動制御部１４において、行動を選択する際に用いる行動価値は、事後確率に基づいて求めることができる。
【０３４３】
すなわち、状態遷移モデルＰSS'Uの状態として、行動環境を区分することにより得られる小領域を採用する場合には、状態遷移モデルの状態Sごとの行動価値Ｑ(S,U)を、行動を選択するのに用いる行動価値として求めたが、状態遷移モデルＰSS'Uの状態として、GMMや、HMMの状態を採用する場合には、行動制御部１４において、観測値Oが観測されたときに、行動Uを行う行動価値Ｑ(O,U)を、行動を選択するのに用いる行動価値として求めることができる。
【０３４４】
観測値Oが観測されたときに、行動Uを行う行動価値Ｑ(O,U)は、例えば、式（１５）に従って求めることができる。
【０３４５】
【数１５】
2012079178.tif 000017
・・・（１５）
【０３４６】
ここで、式（１５）において、P(S|O)は、観測値Oが観測されたときに、状態Sにいる確率（事後確率）を表す。状態遷移モデルＰSS'Uの状態として、HMMの状態を採用する場合、確率P(S|O)は、観測値の時系列データ、つまり、最新の観測値が観測された時刻から所定の時間だけ遡った時刻から、最新の時刻までの間に観測された観測値の時系列データOを用いて求められる。
【０３４７】
また、式（１５）において、P(U|S)は、状態Sにおいて、行動Uが行われる確率である。さらに、Σは、状態S'についてのサメ−ションを表し、したがって、確率P(U|S)は、遷移確率（状態遷移モデルが表す遷移確率）ＰSS'Uと、遷移先の状態S'の状態価値Ｖ(S')との積ＰSS'UＶ(S')の総和を、遷移先の状態S'すべてについてとることにより求められる。
【０３４８】
なお、状態遷移モデルＰSS'Uの状態として、HMMの状態を採用する場合、HMMの遷移確率aijを、エージェントが行う行動Uごとの遷移確率aij(U)に拡張し、その行動Uごとの遷移確率aij(U)を、式（１５）の遷移確率ＰSS'Uとして用いることができる。
【０３４９】
ここで、遷移確率aijを、行動Uごとの遷移確率aij(U)に拡張したHMMを、拡張HMMという。拡張HMMについては、後述する。
【０３５０】
図２４は、状態遷移モデルPSS'Uの状態を、潜在変数モデルを用いて表現する場合に、行動価値Ｑ(O|U)を求めるのに用いる事後確率を、いわゆる温度パラメータβを用いて制御することを説明する図である。
【０３５１】
観測値Oが観測されたときに、行動Uを行う行動価値Ｑ(O,U)は、式（１５）に代えて、式（１６）に従って求めることができる。
【０３５２】
【数１６】
2012079178.tif 000018
・・・（１６）
【０３５３】
ここで、式（１６）において、温度パラメータβは、0＜β≦1の範囲の値である。
【０３５４】
式（１６）によれば、事後確率として、式（１５）の事後確率P(S|O)をβ乗した値を正規化した値P(S|O)β／ΣP(S|O)βを用いて、行動価値Ｑ(O,U)が求められる。
【０３５５】
事後確率としての値P(S|O)β／ΣP(S|O)βは、温度パラメータβによって制御することができ、したがって、温度パラメータβによれば、観測値Oが観測されたときに、状態Sにいるかどうかの曖昧性を制御することができる。
【０３５６】
なお、温度パラメータβを1にした場合、事後確率としての値P(S|O)β／ΣP(S|O)βは、式（１５）の事後確率P(S|O)に等しい。
【０３５７】
温度パラメータβを、例えば、0.2等の1未満の値に設定した場合、現在状態が、経験が不足している状態、つまり、エージェントが各種の行動をとったことが少ない状態であるときに、適切な行動が行われる可能性がある。
【０３５８】
すなわち、例えば、エージェントが、行動環境の壁に接触した状況に対応する状態において、壁にぶつかる行動をとることが多く、他の行動をとった経験がほとんどない場合には、式（１５）の行動価値Ｑ(O|U)では、エージェントは、壁にぶつかる行動をとり続ける可能性が高い。
【０３５９】
一方、温度パラメータβを、例えば、0.2等の1未満の値に設定した、式（１６）の行動価値Ｑ(O|U)によれば、エージェントでは、行動環境の壁に接触した状況に対応する状態以外の、例えば、エージェントが各種の行動をとったことがある経験が十分な状態でとったことがある行動が行われやすくなり、ひいては、壁にぶつかる行動以外の行動(適切な行動）が行われやすくなる。
【０３６０】
図２４は、事後確率P(S|O)と、温度パラメータβを0.2とした場合の事後確率P(S|O)β／ΣP(S|O)βとを示している。
【０３６１】
図２４では、事後確率P(S|O)については、経験が不足している状態の事後確率P(S|O)が0.8に、経験が十分な状態の事後確率P(S|O)が0.1に、それぞれなっており、経験が不足している状態の事後確率P(S|O)と、経験が十分な状態の事後確率P(S|O)との違いが、非常に大きい。
【０３６２】
このような事後確率P(S|O)を用いて求められる行動価値Ｑ(O|U)は、値が大きい事後確率P(S|O)、すなわち、経験が不足している状態の事後確率P(S|O)の影響を強く受ける。
【０３６３】
一方、事後確率P(S|O)β／ΣP(S|O)βについては、経験が不足している状態の事後確率P(S|O)β／ΣP(S|O)βが0.4に、経験が十分な状態の事後確率P(S|O)β／ΣP(S|O)βが0.3に、それぞれなっており、経験が不足している状態の事後確率P(S|O)β／ΣP(S|O)βと、経験が十分な状態の事後確率P(S|O)β／ΣP(S|O)βとの違いが、それほど大きくはなくなっている（各状態にいる曖昧性が大きくなっている）。
【０３６４】
このような事後確率P(S|O)β／ΣP(S|O)βを用いて求められる行動価値Ｑ(O|U)は、経験が不足している状態、及び、経験が十分な状態それぞれの事後確率P(S|O)β／ΣP(S|O)βの影響を、同程度に受ける。
【０３６５】
なお、エージェントでは、デフォルトで、事後確率P(S|O)を用いて、行動価値Ｑ(O|U)を求めることとし、エージェントが経験が不足している状態にいる（可能性が高い）間だけ、事後確率P(S|O)β／ΣP(S|O)βを用いて、行動価値Ｑ(O|U)を求めることができる。
【０３６６】
エージェントが経験が不足している状態にいることは、例えば、ユーザがエージェントに教えることができる。
【０３６７】
また、エージェントが一定時間以上、同一の状態に留まっている場合には、その状態において、他の状態に遷移するための行動を行う経験が不足している可能性が高いので、エージェントでは、エージェントが一定時間以上、同一の状態に留まっているかどうかを判定し、エージェントが一定時間以上、同一の状態に留まっている間は、エージェントが経験が不足している状態にいると判定することができる。
【０３６８】
図２５は、状態遷移モデルPSS'Uの状態として、GMMを採用した場合に行われる、GMMの学習を説明する図である。
【０３６９】
状態遷移モデルPSS'Uの状態として、GMMを採用した場合には、エージェントにおいて観測される、連続値である観測値Oを用いて、状態としてのGMMの学習、つまり、GMMにおいて観測値Oが観測される確率分布としてのガウス分布の学習が行われる。
【０３７０】
GMMの学習に用いられる観測値Oである学習データは、行動環境内を移動（行動）するエージェントにおいて、移動先で獲得（観測）される。
【０３７１】
したがって、ランダムな行動を行うエージェントでは、例えば、上下に移動可能な行動環境に、重力が設定されていると、行動環境内の下側を移動する機会が多くなるとともに、上側を移動する機会が少なくなるので、行動環境の下側については、多数の学習データが獲得されるが、行動環境の上側については、少ない学習データしか獲得できず、その結果、行動環境から獲得される学習データの密度（学習データとなる観測値Oが観測される位置の密度）に偏りが生じる。
【０３７２】
すなわち、行動環境の下側では、密集した位置で、学習データが獲得されるが、行動環境の上側では、疎らな位置で、学習データが獲得される。
【０３７３】
以上のように、行動環境から獲得される学習データの密度に偏りがある場合、そのような学習データを用いた学習によって得られるGMMとしての状態にも（行動環境を行動するエージェントを表す、複数のGMMからなるモデルの構造にも）、偏りが生じる。
【０３７４】
すなわち、従来の行動制御によって、ランダムな行動を行うエージェントにおいては、学習によって得られるGMMとしての状態において観測される観測値Oの分布を表すガウス分布の分散は、図２５に示すように、行動環境から獲得される学習データの密度に偏りに応じて、行動環境の下側に対応する状態では、小さくなり、行動環境の上側に対応する状態では、大きくなる。
【０３７５】
一方、学習のための行動制御処理による行動制御（新行動制御）によれば、図１３で説明したように、エージェントは、行動環境を、万遍なく移動する行動を行うので、移動環境から、万遍なく、学習データ（となる観測値O）が獲得される。
【０３７６】
その結果、学習によって得られるGMMとしての状態において観測される観測値Oの分布を表すガウス分布の分散は、図２５に示すように、行動環境の全体において、（ほぼ）偏りがなく、一様になる。
【０３７７】
［拡張HMM］
【０３７８】
次に、上述の拡張HMMについて説明する。
【０３７９】
図２６は、拡張HMMを適用した図２のエージェントが行動を行う行動環境の例を示す図である。
【０３８０】
図２６では、行動環境は、２次元平面の迷路になっており、エージェントは、図中、白抜きの部分を、通路として移動することができる。
【０３８１】
図２７は、行動環境において、エージェントが行う行動、及び、エージェントが観測する観測値の例を示している。
【０３８２】
エージェントは、図２６に示したような行動環境の、図中、点線で正方形状に区切ったエリアを、観測値を観測する単位（観測単位）とし、その観測単位で移動する行動を行う。
【０３８３】
図２７Ａは、エージェントが行う行動の種類を示している。
【０３８４】
図２７Ａでは、エージェントは、図中、上（北）方向に観測単位だけ移動する行動U1、右（東）方向に観測単位だけ移動する行動U2、下（南）方向に観測単位だけ移動する行動U3、左（西）方向に観測単位だけ移動する行動U4、及び、移動しない（何もしない）行動U5の、合計で、５つの行動U1ないしU5を行うことが可能になっている。
【０３８５】
図２７Ｂは、エージェントが観測単位で観測する観測値の種類を、模式的に示している。
【０３８６】
本実施の形態では、エージェントは、観測単位において、１５種類の観測値（シンボル）O1ないしO15のうちのいずれかを観測する。
【０３８７】
観測値O1は、上と、下と、左とが壁で、左が通路になっている観測単位で観測され、観測値O2は、上と、左と、右とが壁で、下が通路になっている観測単位で観測される。
【０３８８】
観測値O3は、上と、左とが壁で、下と、右とが通路になっている観測単位で観測され、観測値O4は、上と、下と、右とが壁で、左が通路になっている観測単位で観測される。
【０３８９】
観測値O5は、上と、下とが壁で、左と、右とが通路になっている観測単位で観測され、観測値O6は、上と、右とが壁で、下と、左とが通路になっている観測単位で観測される。
【０３９０】
観測値O7は、上が壁で、下と、左と、右とが通路になっている観測単位で観測され、観測値O8は、下と、左と、右とが壁で、上が通路になっている観測単位で観測される。
【０３９１】
観測値O9は、下と、左とが壁で、上と、右とが通路になっている観測単位で観測され、観測値O10は、左と、右とが壁で、上と、下とが通路になっている観測単位で観測される。
【０３９２】
観測値O11は、左が壁で、上と、下と、右とが通路になっている観測単位で観測され、観測値O12は、下と、右とが壁で、上と、左とが通路になっている観測単位で観測される。
【０３９３】
観測値O13は、下が壁で、上と、左と、右とが通路になっている観測単位で観測され、観測値O14は、右が壁で、上と、下と、左とが通路になっている観測単位で観測される。
【０３９４】
観測値O15は、上下左右すべてが通路になっている観測単位で観測される。
【０３９５】
なお、ここでは、行動Um（m=1,2,・・・,M（Mは行動の（種類の）総数））、及び、観測値Ok（k=1,2,・・・,K（Kは観測値の総数））は、いずれも離散値である。
【０３９６】
図２８は、拡張HMMが適用された図２のエージェントにおいて、学習部１２が行う学習処理を説明するフローチャートである。
【０３９７】
ステップＳ１４１において、学習部１２は、センサ１１が、行動環境から観測される、現在の観測値（現在時刻tの観測値）otを出力するのを待って、その観測値otを取得し処理は、ステップＳ１４２に進む。
【０３９８】
ここで、（現在）時刻tの観測値otは、本実施の形態では、図２７Ｂに示した１５個の観測値O1ないしO15のうちのいずれかである。
【０３９９】
ステップＳ１４２では、学習部１２は、行動制御部１４（図２）が、観測値otを用いた行動制御によって、時刻tに行うべき行動utを選択して、又は、時刻tに行うべき行動utを、ランダムに選択して、その行動utの行動信号utを出力するのを待って、その行動信号ut取得し、処理は、ステップＳ１４３に進む。
【０４００】
ここで、時刻tの行動utは、本実施の形態では、図２７Ａに示した５個の行動U1ないしU5のうちのいずれかである。
【０４０１】
また、アクチュエータ１５（図２）は、行動制御部１４が出力する行動信号utに従って駆動し、これにより、エージェントは、行動utを行う。
【０４０２】
ステップＳ１４３において、学習部１２は、センサ１１から取得した時刻tの観測値otと、行動制御部１４から取得した時刻tの行動信号utとのセットを、拡張HMMの学習に用いる学習データセットとして、学習データセットの履歴に追加する形で記憶し、処理は、ステップＳ１４４に進む。
【０４０３】
ステップＳ１４４では、学習部１２は、拡張HMMの学習を行う学習条件が満たされているかどうかを判定する。
【０４０４】
ここで、拡張HMMの学習を行う学習条件としては、履歴に、１以上の所定数の新たな学習データセット（拡張HMMの学習に用いられていない学習データセット）が追加されたこと等を採用することができる。
【０４０５】
ステップＳ１４４において、学習条件が満たされていないと判定された場合、処理は、ステップＳ１４１に戻り、エージェントが行動utを行った後に観測される時刻t+1の観測値ot+1を、センサ１１が出力するのを待って、学習部１２は、センサが出力する観測値ot+1を取得し、以下、同様の処理が繰り返される。
【０４０６】
また、ステップＳ１４４において、学習条件が満たされていると判定された場合、処理は、ステップＳ１４５に進み、学習部１２は、履歴として記憶されている学習データセットを用いて、拡張HMMの学習（更新）を行う。
【０４０７】
そして、拡張HMMの学習の終了後、処理は、ステップＳ１４５からステップＳ１４１に戻り、以下、同様の処理が繰り返される。
【０４０８】
図２９は、拡張HMMを説明する図である。
【０４０９】
拡張HMMでは、一般（従来）のHMMの（状態）遷移確率が、エージェントが行う行動ごとの遷移確率に拡張されている。
【０４１０】
すなわち、図２９Ａは、一般のHMMの遷移確率を示している。
【０４１１】
いま、拡張HMMとするHMMとして、ある状態から任意の状態に状態遷移が可能なエルゴディックなHMMを採用することとする。また、HMMの状態の数はN個であるとする。
【０４１２】
一般のHMMでは、N個の各状態Siから、N個の状態Sjのそれぞれへの、N×N個の状態遷移の遷移確率aijを、モデルパラメータとして有する。
【０４１３】
一般のHMMのすべての遷移確率は、状態Siから状態Sjへの状態遷移の遷移確率aijを、上からi番目で、左からj番目に配置した２次元のテーブルで表現することができる。
【０４１４】
ここで、（拡張HMMを含む）HMMの遷移確率のテーブルを、遷移確率Aとも記載する。
【０４１５】
図２９Ｂは、拡張HMMの遷移確率Aを示している。
【０４１６】
拡張HMMでは、遷移確率が、エージェントが行う行動Umごとに存在する。
【０４１７】
ここで、ある行動Umについての、状態Siから状態Sjへの状態遷移の遷移確率を、aij(Um)とも記載する。
【０４１８】
遷移確率aij(Um)は、エージェントが行動Umを行ったときに、状態Siから状態Sjへの状態遷移が生じる確率を表す。
【０４１９】
拡張HMMのすべての遷移確率は、行動Umについての、状態Siから状態Sjへの状態遷移の遷移確率aij(Um)を、上からi番目で、左からj番目の、奥行き方向に手前側からm番目に配置した３次元のテーブルで表現することができる。
【０４２０】
ここで、遷移確率Aの３次元のテーブルにおいて、垂直方向の軸を、i軸と、水平方向の軸を、j軸と、奥行き方向の軸を、m軸、又は、行動軸と、それぞれいうこととする。
【０４２１】
また、遷移確率Aの３次元のテーブルを、行動軸のある位置mで、行動軸に垂直な平面で切断して得られる、遷移確率aij(Um)で構成される平面を、行動Umについての遷移確率平面ともいう。
【０４２２】
さらに、遷移確率Aの３次元のテーブルを、i軸のある位置Iで、i軸に垂直な平面で切断して得られる、遷移確率aIj(Um)で構成される平面を、状態SIについての行動平面ともいう。
【０４２３】
状態SIについての行動平面を構成する遷移確率aIj(Um)は、状態SIを遷移元とする状態遷移が生じるときに各行動Umが行われる確率を表す。
【０４２４】
なお、拡張HMMは、モデルパラメータとして、行動ごとの遷移確率aij(Um)の他、一般のHMMと同様に、最初の時刻t=1に、状態Siにいる初期状態確率πiと、状態Siにおいて、観測値Okを観測する確率分布である出力確率分布（ここでは、離散的な確率値）bi(Ok)とを有する。
【０４２５】
図３０は、学習部１２（図２）が、図２８のステップＳ１４５において、履歴として記憶された学習データセットを用いて行う拡張HMMの学習を説明するフローチャートである。
【０４２６】
ステップＳ１５１において、学習部１２は、拡張HMMを初期化する。
【０４２７】
すなわち、学習部１２は、拡張HMMのモデルパラメータである初期状態確率πi、（行動ごとの）遷移確率aij(Um)、及び、出力確率分布bi(Ok)を初期化する。
【０４２８】
なお、拡張HMMの状態の数（総数）がN個であるとすると、初期状態確率πiは、例えば、1/Nに初期化される。ここで、２次元平面の迷路である行動環境が、横×縦がa×b個の観測単位で構成されることとすると、拡張HMMの状態の数Nとしては、マージンとする整数を△として、（a＋△）×（b×△）個を採用することができる。
【０４２９】
また、遷移確率aij(Um)、及び、出力確率分布bi(Ok)は、例えば、確率の値としてとり得るランダムな値に初期化される。
【０４３０】
ここで、遷移確率aij(Um)の初期化は、各行動Umについての遷移確率平面の各行について、その行の遷移確率aij(Um)の総和（ai,1(Um)+ai,2(Um)+・・・+ai,N(Um)）が1.0になるように行われる。
【０４３１】
同様に、出力確率分布bi(Ok)の初期化は、各状態Siについて、その状態Siから観測値O1，O2，・・・，OKが観測される出力確率分布の総和（bi(O1)+bi(O2)+・・・+bi(OK)）が1.0になるように行われる。
【０４３２】
なお、いわゆる追加学習が行われる場合には、追加学習の直前に行われた学習によって得られ、モデル記憶部１３に記憶された拡張HMMの初期状態確率πi、遷移確率aij(Um)、及び、出力確率分布bi(Ok)が、そのまま初期値として用いられ、ステップＳ１５１の初期化は、行われない。
【０４３３】
ステップＳ１５１の後、処理は、ステップＳ１５２に進み、以下、ステップＳ１５２以降において、Baum-Welchの再推定法（を行動について拡張した方法）に従い、履歴として記憶された学習データセットを用いて、初期状態確率πi、各行動についての遷移確率aij(Um)、及び、出力確率分布bi(Ok)を推定する、拡張HMMの学習が行われる。
【０４３４】
すなわち、ステップＳ１５２では、学習部１２は、前向き確率(Forward probability)αt+1(j)と、後ろ向き確率(Backward probability)βt(i)とを算出する。
【０４３５】
ここで、拡張HMMにおいては、時刻tにおいて、行動utが行われると、現在の状態Siから状態Sjに状態遷移し、次の時刻t+1において、状態遷移後の状態Sjで、観測値ot+1が観測される。
【０４３６】
かかる拡張HMMでは、前向き確率αt+1(j)は、現在の拡張HMM（初期化された、又は、モデル記憶部１３に現に記憶されている初期状態確率πi、遷移確率aij(Um)、及び、出力確率分布bi(Ok)で規定される拡張HMM）であるモデルΛにおいて、履歴としての学習データセットの行動信号の系列（行動系列）u1,u2,・・・,utが観測されるとともに、観測値の系列（観測系列）o1,o2,・・・,ot+1が観測され、時刻t+1に、状態Sjにいる確率P(o1,o2,・・・,ot+1,u1,u2,・・・,ut,st+1=j|Λ)を表し、式（１７）で表される。
【０４３７】
【数１７】
2012079178.tif 000019
・・・（１７）
【０４３８】
なお、状態stは、時刻tにいる状態を表し、拡張HMMの状態の数がN個である場合には、状態S1ないしSNのうちのいずれかである。また、式st+1=jは、時刻t+1にいる状態st+1が、状態Sjであることを表す。
【０４３９】
式（１７）の前向き確率αt+1(j)は、学習データセットの行動系列u1,u2,・・・,ut-1、及び、観測値系列o1,o2,・・・,otを観測して、時刻tに、状態stにいる場合に、行動utが行われることにより（観測され）、状態遷移が生じ、時刻t+1に、状態Sjにいて、観測値ot+1を観測する確率を表す。
【０４４０】
なお、前向き確率αt+1(j)の初期値α1(j)は、式（１８）で表される。
【０４４１】
【数１８】
2012079178.tif 000020
・・・（１８）
【０４４２】
式（１８）の初期値α1(j)は、最初（時刻t=1）に、状態Sjにいて、観測値o1を観測する確率を表す。
【０４４３】
また、拡張HMMでは、後ろ向き確率βt(i)は、現在の拡張HMMであるモデルΛにおいて、時刻tに、状態Siにいて、その後、学習データセットの行動系列ut+1,ut+2,・・・,uT-1が観測されるとともに、観測値系列ot+1,ot+2,・・・,oTが観測される確率P(ot+1,ot+2,・・・,oT,ut+1,ut+2,・・・,uT-1,st=i|Λ)であり、式（１９）で表される。
【０４４４】
【数１９】
2012079178.tif 000021
・・・（１９）
【０４４５】
なお、Tは、学習データセットの観測値系列の観測値の個数（系列長）を表す。
【０４４６】
式（１９）の後ろ向き確率βt(i)は、時刻t+1に、状態Sjにいて、その後に、学習データセットの行動系列ut+1,ut+2,・・・,uT-1が観測されるとともに、観測値系列ot+2,ot+3,・・・,oTが観測される場合において、時刻tに、状態Siにいて、行動utが行われることにより（観測され）、状態遷移が生じ、時刻t+1の状態st+1が、状態Sjとなって、観測値ot+1が観測されるときに、時刻tの状態stが、状態Siである確率を表す。
【０４４７】
なお、後ろ向き確率βt(i)の初期値βT(i)は、式（２０）で表される。
【０４４８】
【数２０】
2012079178.tif 000022
・・・（２０）
【０４４９】
式（２０）の初期値βT(i)は、最後（時刻t=T）に、状態Siにいる確率が、1.0であること、つまり、最後に、必ず、状態Siにいることを表す。
【０４５０】
拡張HMMでは、式（１７）及び式（１９）に示したように、ある状態Siからある状態Sjへの状態遷移の遷移確率として、行動ごとの遷移確率aij(ut)を用いる点が、一般のHMMと異なる。
【０４５１】
ステップＳ１５２において、前向き確率αt+1(j)と、後ろ向き確率βt(i)とを算出した後、処理は、ステップＳ１５３に進み、学習部１２は、前向き確率αt+1(j)と、後ろ向き確率βt(i)とを用いて、拡張HMMのモデルパラメータΛである初期状態確率πi、行動Umごとの遷移確率aij(Um)、及び、出力確率分布bi(Ok)を再推定する。
【０４５２】
ここで、モデルパラメータの再推定は、遷移確率が、行動Umごとの遷移確率aij(Um)に拡張されていることに伴い、Baum-Welchの再推定法を拡張して、以下のように行われる。
【０４５３】
すなわち、現在の拡張HMMであるモデルΛにおいて、行動系列U=u1,u2,・・・,uT-1と、観測値系列O=o1,o2,・・・,oTとが観測される場合に、時刻tで、状態Siにいて、行動Umが行われることにより、時刻t+1に、状態Sjに状態遷移している確率ξt+1(i,j,Um)は、前向き確率αt(i)と、後ろ向き確率βt+1(j)とを用いて、式（２１）で表される。
【０４５４】
【数２１】
2012079178.tif 000023
・・・（２１）
【０４５５】
さらに、時刻tに、状態Siにいて、行動ut＝Umが行われる確率γt(i,Um)は、確率ξt+1(i,j,Um)について、時刻t+1にいる状態Sjに関して周辺化した確率として計算することができ、式（２２）で表される。
【０４５６】
【数２２】
2012079178.tif 000024
・・・（２２）
【０４５７】
学習部１２は、式（２１）の確率ξt+1(i,j,Um)、及び、式（２２）の確率γt(i,Um)を用い、拡張HMMのモデルパラメータΛの再推定を行う。
【０４５８】
ここで、モデルパラメータΛの再推定を行って得られる推定値を、ダッシュ(')を用いて、モデルパラメータΛ'と表すこととすると、モデルパラメータΛ'である初期状態確率の推定値π'iは、式（２３）に従って求められる。
【０４５９】
【数２３】
2012079178.tif 000025
・・・（２３）
【０４６０】
また、モデルパラメータΛ'である行動ごとの遷移確率の推定値a'ij(Um)は、式（２４）に従って求められる。
【０４６１】
【数２４】
2012079178.tif 000026
・・・（２４）
【０４６２】
ここで、式（２４）の遷移確率の推定値a'ij(Um)の分子は、状態Siにいて、行動ut=Umを行って、状態Sjに状態遷移する回数の期待値を表し、分母は、状態Siにいて、行動ut=Umを行って、状態遷移する回数の期待値を表す。
【０４６３】
モデルパラメータΛ'である出力確率分布の推定値b'j(Ok)は、式（２５）に従って求められる。
【０４６４】
【数２５】
2012079178.tif 000027
・・・（２５）
【０４６５】
ここで、式（２５）の出力確率分布の推定値b'j(Ok)の分子は、状態Sjへの状態遷移が行われ、その状態Sjで、観測値Okが観測される回数の期待値を表し、分母は、状態Sjへの状態遷移が行われる回数の期待値を表す。
【０４６６】
ステップＳ１５３において、モデルパラメータΛ'である初期状態確率、遷移確率、及び、出力確率分布の推定値π'i，a'ij(Um)、及び、b'j(Ok)を再推定した後、学習部１２は、推定値π'iを、新たな初期状態確率πiとして、推定値a'ij(Um)を、新たな遷移確率aij(Um)として、推定値b'j(Ok)を、新たな出力確率分布bj(Ok)として、それぞれ、モデル記憶部１３に、上書きの形で記憶させ、処理は、ステップＳ１５４に進む。
【０４６７】
ステップＳ１５４では、拡張HMMのモデルパラメータ、すなわち、モデル記憶部１３に記憶された（新たな）初期状態確率πi、遷移確率aij(Um)、及び、出力確率分布bj(Ok)が、収束したかどうかを判定する。
【０４６８】
ステップＳ１５４において、拡張HMMのモデルパラメータが、まだ収束していないと判定された場合、処理は、ステップＳ１５２に戻り、モデル記憶部１３に記憶された新たな初期状態確率πi、遷移確率aij(Um)、及び、出力確率分布bj(Ok)を用いて、同様の処理が繰り返される。
【０４６９】
また、ステップＳ１５４において、拡張HMMのモデルパラメータが収束したと判定された場合、すなわち、例えば、ステップＳ１５３の再推定の前と後とで、拡張HMMのモデルパラメータが、ほとんど変化しなくなった場合、拡張HMMの学習の処理は終了する。
【０４７０】
式（１５）（及び式（１６））の状態遷移モデルＰSS'Uとしては、以上のような学習によって得られる拡張HMMの、行動Uごとの遷移確率aij(U)を用いることができ、この場合、状態遷移モデルＰSS'Uの状態とは、拡張HMMの状態に一致する。
【０４７１】
［本発明を適用したコンピュータの説明］
【０４７２】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０４７３】
そこで、図３１は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０４７４】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク２０５やROM２０３に予め記録しておくことができる。
【０４７５】
あるいはまた、プログラムは、リムーバブル記録媒体２１１に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１１は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体２１１としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【０４７６】
なお、プログラムは、上述したようなリムーバブル記録媒体２１１からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク２０５にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【０４７７】
コンピュータは、CPU(Central Processing Unit)２０２を内蔵しており、CPU２０２には、バス２０１を介して、入出力インタフェース２１０が接続されている。
【０４７８】
CPU２０２は、入出力インタフェース２１０を介して、ユーザによって、入力部２０７が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)２０３に格納されているプログラムを実行する。あるいは、CPU２０２は、ハードディスク２０５に格納されたプログラムを、RAM(Random Access Memory)２０４にロードして実行する。
【０４７９】
これにより、CPU２０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU２０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース２１０を介して、出力部２０６から出力、あるいは、通信部２０８から送信、さらには、ハードディスク２０５に記録等させる。
【０４８０】
なお、入力部２０７は、キーボードや、マウス、マイク等で構成される。また、出力部２０６は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【０４８１】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０４８２】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０４８３】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０４８４】
１１  センサ，  １２  学習部，  １３  モデル記憶部，  １４  行動制御部，  １５  アクチュエータ，  ２１  状態認識部，  ２２  モデル更新部，  ３１  状態認識部，  ３２  状態価値算出部，  ３３  行動価値算出部，  ３４  目標状態設定部，  ３５  行動選択部，  ２０１  バス，  ２０２  CPU，  ２０３  ROM，  ２０４  RAM，  ２０５  ハードディスク，  ２０６  出力部，  ２０７  入力部，  ２０８  通信部，  ２０９  ドライブ，  ２１０  入出力インタフェース，  ２１１  リムーバブル記録媒体
【図１】
2012079178.tif 000028
【図２】
2012079178.tif 000029
【図３】
2012079178.tif 000030
【図４】
2012079178.tif 000031
【図５】
2012079178.tif 000032
【図６】
2012079178.tif 000033
【図７】
2012079178.tif 000034
【図８】
2012079178.tif 000035
【図９】
2012079178.tif 000036
【図１０】
2012079178.tif 000037
【図１１】
2012079178.tif 000038
【図１２】
2012079178.tif 000039
【図１３】
2012079178.tif 000040
【図１４】
2012079178.tif 000041
【図１５】
2012079178.tif 000042
【図１６】
2012079178.tif 000043
【図１７】
2012079178.tif 000044
【図１８】
2012079178.tif 000045
【図１９】
2012079178.tif 000046
【図２０】
2012079178.tif 000047
【図２１】
2012079178.tif 000048
【図２２】
2012079178.tif 000049
【図２３】
2012079178.tif 000050
【図２４】
2012079178.tif 000051
【図２５】
2012079178.tif 000052
【図２６】
2012079178.tif 000053
【図２７】
2012079178.tif 000054
【図２８】
2012079178.tif 000055
【図２９】
2012079178.tif 000056
【図３０】
2012079178.tif 000057
【図３１】
2012079178.tif 000058