"状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、前記評価値に基づいて、生起する因子を決定する決定部とを備える情報処理装置。前記情報量ゲイン算出部は、所定の状態において、状態遷移が生じる確率であるベース確率の確率分布と、所定の因子が生起し、前記所定の状態において、前記状態遷移が生じる確率である因子条件付き確率の確率分布との間の違いを表す分布間距離を、前記所定の因子と前記所定の状態からの前記状態遷移との間にある因果関係の程度を表す因果関係量として求め、前記所定の因子を生起し、その結果を観察した後の前記因果関係量と、所定の因子が生起する前の前記因果関係量との差分を、前記情報量ゲインとして求める請求項1に記載の情報処理装置。前記分布間距離は、前記ベース確率の確率分布、及び、前記因子条件付き確率の確率分布のKLダイバージェンスである請求項2に記載の情報処理装置。前記状態遷移が生じる確率は、ベータ分布に従う請求項3に記載の情報処理装置。所定の状態において、他の所定の状態への状態遷移が生じる確率であるベース確率の期待値が、所定の状態にいた回数BSと、前記所定の状態からの前記他の所定の状態への状態遷移が生じた回数BTとを用いて、BTBSで表され、所定の因子が生起し、所定の状態において、他の所定の状態への状態遷移が生じる確率である因子条件付き確率の期待値が、前記BS回だけいた前記所定の状態において、前記所定の因子が生起した回数NS回と、前記所定の因子が生起した場合に、前記所定の状態から前記他の所定の状態への状態遷移が生じた回数NTとを用いて、NTNSで表され、前記ベース確率は、ベータ関数Bのベータ分布に従い、前記因子条件付き確率は、ベータ関数Bのベータ分布に従う請求項4に記載の情報処理装置。前記評価値算出部は、前記状態遷移モデルの状態遷移の遷移確率を重みとして、前記情報量ゲインの期待値の重み付け加算を行うことにより得られる重み付け加算値を、前記所定の因子と前記所定の状態からの状態遷移との因果関係を獲得するのに、前記所定の因子を生起することの有効性を評価する前記評価値として求める請求項5に記載の情報処理装置。前記決定部は、現在生起している因子である現在因子から、各因子が生起するまでの因子の系列である因子経路を求め、前記因子の評価値の積算値の平均値が最大の前記因子経路を、因果関係を獲得するために生起する因子の系列である因果獲得プランに決定する請求項6に記載の情報処理装置。前記決定部は、前記因子経路を構成する因子の数を制限して、前記因子経路を求める請求項7に記載の情報処理装置。前記決定部は、ループを含まない因子の系列を、前記因子経路として求める請求項7に記載の情報処理装置。前記決定部は、前記現在因子から各因子までの最短経路を、前記因子経路として求める請求項7に記載の情報処理装置。前記状態遷移モデルは、HMMであり、エージェントにおいて観測される観測値を用いて学習が行われた複数のHMMのうちの1つのHMMである第1のHMMの現在状態と、他の1つ以上のHMMである第2のHMMの現在状態とが、前記観測値を用いて認識される場合において、前記情報量ゲイン算出部は、前記第2のHMMの各状態にいることを各因子とし、前記第2のHMMの各状態にいることが原因となって、前記第1のHMMの現在状態からの状態遷移が生じると仮定して、前記第2のHMMの各状態と前記第1のHMMの状態遷移との因果関係について、前記第2のHMMの各状態にいることによって得られる前記情報量ゲインを求め、前記評価値算出部は、前記第1のHMMの状態遷移の遷移確率を重みとして、前記情報量ゲインの期待値を重み付け加算することにより得られる重み付け加算値を、前記第2のHMMの状態と前記第1のHMMの状態遷移との因果関係を獲得するのに、前記第2のHMMの各状態にいることの有効性を評価する評価値として求め、前記決定部は、前記第2のHMMの現在状態から、前記第2のHMMの各状態に到達するまでの状態の系列を、前記因子経路として求め、前記評価値の積算値の平均値が最大の因子経路である前記第2のHMMの状態の系列を、前記因果獲得プランに決定する請求項7に記載の情報処理装置。前記第2のHMMの状態遷移に制限がない場合、前記第2のHMMの現在状態と、前記第2のHMMの各状態との系列を、前記因子経路として求める請求項11に記載の情報処理装置。前記第2のHMMは、アームを動かすアクションが可能なエージェントの前記アームの動きを学習したHMMであり、前記第1のHMMは、前記アームが接触することによって移動する移動物体の動きを学習したHMMであり、前記エージェントは、前記因果獲得プランとしての系列を構成する前記第2のHMMの状態が、順次、現在状態になっていくように、前記アームを動かす請求項11に記載の情報処理装置。状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求め、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求め、前記評価値に基づいて、生起する因子を決定するステップを含む情報処理方法。状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、前記評価値に基づいて、生起する因子を決定する決定部として、コンピュータを機能させるためのプログラム。ところで、事前知識のない環境において、状態遷移等の事象と、その事象が生じる原因となる要素である因子との間の因果関係を獲得する因果学習に用いるデータを効率良く収集する方法については、まだ提案されていない。本技術は、このような状況に鑑みてなされたものであり、因果関係を学習するのに用いるデータを、効率的に収集することができるようにするものである。本技術の一側面の情報処理装置、又は、プログラムは、状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、前記評価値に基づいて、生起する因子を決定する決定部とを備える情報処理装置、又は、そのような情報処理装置として、コンピュータを機能させるためのプログラムである。本技術の一側面の情報処理方法は、状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求め、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求め、前記評価値に基づいて、生起する因子を決定するステップを含む情報処理方法である。以上のような一側面においては、状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインが求められる。そして、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値が、前記情報量ゲインに基づいて求められ、前記評価値に基づいて、生起する因子が決定される。なお、情報処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。本技術の一側面によれば、因果関係を学習するのに用いるデータを、効率的に収集することができる。以下、本技術の実施の形態について説明するが、その前段階の準備として、自律的に行動するエージェントについて説明する。[自律的に行動するエージェントの構成例]図1は、自律的に行動するエージェントの構成例を示すブロック図である。図1において、エージェントは、センサ部11、学習認識部12、アクション制御部13、及び、アクション部14を有する。センサ部11は、例えば、被写体を撮影して、その被写体が映った画像を出力するカメラや、アクション部14の、回転する可動部分図示せずの角度を検出する検出器等の、物理量をセンシングするセンサで構成される。センサ部11は、センシングの結果得られる、被写体が映った画像や、その画像を処理することにより得られる情報、アクション部14の可動部分の角度等を、観測可能な観測値として、時系列に出力する。センサ部11が出力する観測値の時系列は、学習認識部12に供給される。学習認識部12は、バッファ21、モデル学習部22、認識部23、及び、モデル記憶部24を有し、センサ部11からの観測値の時系列である時系列データを用いての状態遷移モデルの学習と、その学習後の状態遷移モデルを用いての、時系列データの認識とを行う。すなわち、バッファ21には、センサ部11からの観測値が供給される。バッファ21は、センサ部11からの観測値を、順次記憶する。モデル学習部22は、バッファ21に記憶された観測値の時系列を、モデル記憶部24に記憶された状態遷移モデルの学習に用いるモデル学習用データとして読み出し、そのモデル学習用データを用いて、モデル記憶部24に記憶された状態遷移モデルの学習を行う。認識部23は、バッファ21に記憶された観測値の時系列を、その時系列が観測される状態遷移モデルの状態の系列の認識に用いる認識用データとして読み出し、モデル記憶部24に記憶された状態遷移モデルを用いて、認識用データが観測される状態を認識する。モデル記憶部24は、状態遷移モデルを記憶する。モデル記憶部24に記憶される状態遷移モデルとしては、内部状態を有し、内部状態の遷移モデル、及び、内部状態から観測値が観測生成される観測モデルを持つ学習モデルを採用することができる。すなわち、状態遷移モデルとしては、例えば、観測値が観測される内部状態どうしの間の状態遷移の遷移確率遷移モデルと、内部状態から観測値が観測される観測尤度観測モデルとを有する、例えば、HMMを採用することができる。ここで、モデル学習部22は、モデル記憶部24に記憶された状態遷移モデルを自己組織化する学習状態遷移モデルのモデルパラメータがモデル学習用データのみを用いて決定され、モデルパラメータを、外部から強制的に制御することをしない学習を、バッファ21に記憶される観測値の時系列をモデル学習用データとして用いて行う。また、認識部23は、モデル記憶部24に記憶された状態遷移モデルを用いて、認識用データが観測される状態を認識するときに、状態遷移モデルの各状態内部状態にいる状態確率を求めるとともに、状態遷移モデルにおいて、認識用データが観測される尤度が最大の状態遷移が生じる、状態内部状態の系列である最尤系列最尤状態系列を求める。そして、認識部23は、認識用データの認識時に求めた最尤系列、認識用データの最後のサンプル値となっている観測値最新の観測値、及び、認識用データが観測される最尤系列において、認識用データのサンプル値のうちの最新の観測値が観測される状態である現在状態最尤系列の最後の状態を、必要に応じて、アクション制御部13に供給する。アクション制御部13は、モデル記憶部24に記憶された状態遷移モデルや、認識部23から供給される最尤系列現在状態が含まれる、最新の観測値等を用いて、エージェントのアクションを制御する。すなわち、アクション制御部13は、プランニング部31、アクション信号生成部32、アクション学習部33、アクション生成情報記憶部34、及び、生得コントローラ35を有する。プランニング部31には、認識部23からの現在状態最尤系列の最後の状態が供給されるとともに、エージェントの外部、又は、内部から、状態遷移モデルの状態のうちの、目標とすべき状態を表す目標情報が供給される。いま、状態遷移モデルの1つの状態Ssから、他の1つの状態Seに辿り着く状態系列状態遷移モデルの状態の系列を、プランということとし、プランの最初の状態状態Ssを、スタート状態というとともに、プランの最後の状態状態Seを、目標状態ということとする。プランニング部31は、モデル記憶部24に記憶された状態遷移モデルを参照して、例えば、認識部23からの現在状態を、スタート状態とするとともに、目標情報が表す状態を、目標状態として、スタート状態から目標状態までの状態遷移の尤度が最大の状態系列を、プランとして求めるプランニングを行い、プランニングによって得られるプランを、アクション信号生成部32に供給する。アクション信号生成部32には、プランニング部31からのプランが供給される他、認識部23からの観測値、及び、現在状態が供給される。アクション信号生成部32は、モデル記憶部24に記憶された状態遷移モデル、アクション生成情報記憶部34に記憶されたアクション生成情報、並びに、認識部23からの観測値、及び、現在状態に基づき、エージェントに、プランニング部31からのプランに従ったアクション等の所定のアクションを行わせるためのアクション信号コマンドを求め生成し、アクション部14に供給する。アクション学習部33には、認識部23からの現在状態、及び、最新の観測値が供給される。さらに、アクション学習部33には、生得コントローラ35が生成するアクション信号が供給される。アクション学習部33は、認識部23からの現在状態、及び、最新の観測値、並びに、生得コントローラ35からのアクション信号を用いて、エージェントに所定のアクションを行わせるためのアクション信号と、そのアクション信号に従ったアクションが行われることにより生じる状態遷移モデルの状態遷移との関係を学習するアクション学習を行う。アクション学習部33は、アクション学習によって、状態遷移モデルの所定の状態遷移を生じさせるアクション信号を生成するのに用いられるアクション生成情報を得て、アクション生成情報記憶部34に供給する。アクション生成情報記憶部34は、アクション学習部33から供給される、アクション学習の結果得られるアクション生成情報を記憶する。ここで、図1では、アクション生成情報は、コントローラテーブルとコントローラとから構成される。状態遷移モデルのある状態Siから、ある状態Sjへの状態遷移を、Tijと表すこととすると、コントローラは、例えば、観測値oを入力として、アクション信号を出力する関数Fijであり、状態遷移Tijごとに存在する。コントローラとしての関数Fijには、そのコントローラに固有のコントローラIDが対応付けられ、コントローラテーブルには、状態遷移Tijと、その状態遷移Tijを生じさせるアクションを行うためのアクション信号の生成に使用すべきコントローラ関数FijのコントローラIDとが対応付けられる。したがって、アクション信号生成部32は、ある状態遷移Tijを生じさせるアクションを行うためのアクション信号を生成する場合、まず、コントローラテーブルを参照して、その状態遷移Tijに対応付けられているコントローラIDを認識する。そして、アクション信号生成部32は、コントローラテーブルから認識したコントローラIDに対応付けられているコントローラ関数Fijを用いて、アクション信号を生成する。生得コントローラ35は、エージェントに、各種のアクションを行わせるためのアクション信号を、ランダムに生成する。あるいは、生得コントローラ35は、エージェントの設計者等によってあらかじめ決められたパターンの信号に、適度な摂動を加えた信号を、エージェントが生得的に可能なアクションを行うためのアクション信号として生成する。生得コントローラ35が生成するアクション信号は、アクション部14と、アクション学習部33とに供給される。アクション部14は、エージェントの身体のアーム腕や足等の可動部分図示せずと、その可動部分を駆動するアクチュエータ等を含む。アクション部14では、アクション信号生成部32や、生得コントローラ35からのアクション信号に従って、アクチュエータが、可動部分を駆動し、これにより、エージェントは、所定のアクションを行う。図2は、図1のエージェントが行う処理を説明するフローチャートである。エージェントでは、ステップS11,S12,S13,S14、及び、S15の処理が、必要に応じて行われる。図2のステップS11では、モデル学習処理が行われる。モデル学習処理では、モデル学習部22が、モデル記憶部24に記憶された状態遷移モデルであるHMMの学習であるモデル学習を行う。すなわち、エージェントは、生得コントローラ35において、エージェントが生得的に可能なアクションを行うためのアクション信号を生成し、アクション部14と、アクション学習部33とに供給する。アクション部14は、生得コントローラ35からのアクション信号に従って、可動部分を駆動し、これにより、エージェントは、アクション信号に従ったアクションを行う。センサ部11は、エージェントがアクションを行った後に観測される観測値を観測し、バッファ21に供給して記憶させる。バッファ21に、ある程度のサンプル数の観測値の時系列時系列データが記憶されると、モデル学習部22は、バッファ21に記憶された時系列データを、モデル学習用データとして用いて、モデル記憶部24にモデルパラメータが記憶されたHMMの学習を行い、その結果得られるHMMのモデルパラメータを、モデル記憶部24に上書きの形で記憶する。ここで、HMMの学習は、例えば、EMアルゴリズムを利用したBaumWelchアルゴリズムBaumWelchの再推定法に従って行うことができる。また、HMMの学習では、モデルパラメータとして、初期状態確率πi、遷移確率aij、及び、観測尤度bjが求められる。なお、HMMが、N個の状態を有し、そのN個の状態のうちのi番目の状態をSiと表すこととすると、初期状態確率πiは、最初の時刻に、状態Siにいる確率を、遷移確率aijは、状態Siから状態Sjに遷移する確率を、観測尤度bjは、状態Sjにおいて、観測値oが観測される確率、又は、確率分布を、それぞれ表す。モデル学習処理では、以上のように、センサ部11で得られる観測値の時系列データを用いて、モデル記憶部24に記憶されたHMMの学習構造学習が行われる。例えば、いま、エージェントの1回のアクションとして、エージェントのアームが、アクション信号に従って、2次元平面であるテーブル上を、所定の方向に所定の距離だけ移動することが行われることとする。さらに、HMMの学習が、テーブル上のアームの画像から認識される2次元平面であるテーブル上のアームの位置を表す位置情報を観測値として用いて行われることとする。この場合、HMMでは、エージェントのアームの動きが獲得学習される。なお、HMMの状態Siの観測確率biは、その状態Siにおいて、アームの位置情報である各観測値oが観測される確率であるから、状態Siは、その状態Siの観測確率biで各観測値oが観測されるテーブル上のアームの位置に対応させることができる対応すると考えることができる。エージェントでは、モデル記憶部24に記憶されたHMMの学習が行われていない場合、ステップS21のモデル学習処理が、最初に行われる。そして、モデル学習処理によって、HMMが、エージェントのアームの動きをある程度獲得学習すると、そのHMMを用いて、ステップS12ないしS15の処理を行うことが可能となる。なお、ここでは、エージェントが、生得コントローラ35において生成されるアクション信号に従ってアクションを行っているときにだけ観測される観測値を用いて、モデル記憶部24に記憶されたHMMの学習を行うこととしたが、HMMの学習は、その後、エージェントが、アクション信号生成部32において生成されるアクション信号に従ってアクションを行っているときに観測される観測値を用いて、いわゆる追加学習の形で行うことができる。図2のステップS12では、認識処理が行われる。認識処理では、認識部23が、バッファ21に記憶された観測値の時系列を、認識用データとして用いて、モデル記憶部24に記憶されたHMMにおいて、その認識用データが観測される状態の系列を認識する。すなわち、認識部23は、モデル学習がある程度進行したHMMモデル学習が終了したHMMモデルを含むを用い、例えば、ビタビアルゴリズムに従って、HMMにおいて、認識用データが観測される尤度が最大の状態の系列最尤系列、つまり、認識用データの各サンプル値が時系列に観測され、最新のサンプル値が観測されたときの状態確率を最大にする状態系列を求める。そして、認識部23は、最尤系列において、認識用データの最新現在のサンプル値観測値が観測される状態、つまり、最尤系列の最後の状態を、エージェントのアームの現在の状況に対応する現在状態として求める認識する。図2のステップS13では、アクション学習処理が行われる。アクション学習処理では、アクション学習部33が、エージェントに所定のアクションを行わせるためのアクション信号と、そのアクション信号に従ったアクションが行われることにより生じるHMMの状態遷移との関係の学習であるアクション学習を行う。すなわち、エージェントにおいて、アクション部14は、アクション信号に従って駆動し、これにより、エージェントのアームが移動するアクションが行われるが、アクション学習前のエージェントは、どのようなアクション信号によって、どのようにアームが動くのかどのようなアクションが行われるのかの知識を有していない。アクション学習では、アクション信号と、そのアクション信号に従って行われるアクションとしてのアームの移動との関係どのようなアクション信号によって、どのようにアームが動くのかの知識の学習が行われる。なお、モデル学習によってアームの動きを獲得したHMMでは、各状態Siは、上述したように、テーブル上のアームの位置に対応させることができ、アームの移動によって、移動前のアームの位置に対応する状態から、移動後のアームの位置に対応する状態への状態遷移が生じる。アクション学習では、アクション信号と、そのアクション信号に従って行われるアクションとしてのアームの移動との関係として、アクション信号と、そのアクション信号に従ったアクションが行われることにより生じるHMMの状態遷移との関係が獲得される。具体的には、アクション学習部33は、HMMの学習がある程度進行した後に、生得コントローラ35から供給されるアクション信号を収集するとともに、そのアクション信号に従ったアクションが行われたとき後に観測される観測値と、その観測値が観測されるHMMの現在状態とを、認識部23から収集する。そして、アクション学習部33は、各時刻tにおいて、1時刻前の時刻t1の観測値ot1と、1時刻前の時刻t1のアクション信号mt1とのセットを、アクション学習に用いるアクション学習用データとして、時刻t1の現在状態st1から、最新の時刻tの現在状態stへの状態遷移Tijに対応付けて記憶する。アクション学習部33は、HMMの各状態遷移Tijについて、十分な数のアクション学習用データが得られると、各状態遷移Tijについて、アクション学習用データとしてセットになっている観測値oとアクション信号mとを用い、観測値oを入力として、アクション信号mを出力する関数mFijであるコントローラを求める。ここで、関数Fijとしては、例えば、ニューラルネットワーク等を採用することができる。また、コントローラとしては、観測値oを入力として、アクション信号mを出力する関数mFijの他、例えば、状態遷移Tijについてのアクション学習用データになっているアクション信号mの平均値等の一定値を、観測値oに関係なく出力する関数を採用することができる。各状態遷移Tijについて、関数mFijであるコントローラが求められると、アクション学習部33は、各状態遷移Tijについて求められたコントローラとしての関数mFijに、コントローラを識別するユニークなコントローラIDを対応付ける。さらに、アクション学習部33は、各状態遷移Tijと、その状態遷移Tijについて求められたコントローラとしての関数mFijに対応付けられたコントローラIDとを対応付けたコントローラテーブルを生成する。そして、アクション学習部33は、コントローラIDを対応付けたコントローラとしての関数mFij、及び、コントローラテーブルを、アクション生成情報として、アクション生成情報記憶部34に供給して記憶させる。図2のステップS14では、プランニング処理が行われる。プランニング処理では、プランニング部31が、モデル記憶部24に記憶されたHMMの1つの状態Ssをスタート状態ととするとともに、他の1つの状態Seを目標状態として、スタート状態から目標状態に辿り着く状態系列であるプランを求めるプランニングを行う。プランニングによってプランが得られると、エージェントは、そのプランを構成する状態に、順次、状態遷移をして、最終的に、目標状態に辿り着くアクションを行うことができる。プラニング処理において、プランを求める方法としては、スタート状態と目標状態が与えられた場合に、例えば、スタート状態を遷移元の状態とする状態遷移の遷移確率が所定の閾値以上の状態遷移を、1つだけランダムに選択し、その状態遷移の遷移先の状態を遷移元の状態とする状態遷移の遷移確率が所定の閾値以上の状態遷移を、再び、1つだけランダムに選択することを、状態遷移の遷移先の状態が、目標状態となるまで繰り返す方法がある。しかしながら、この方法では、多くの場合、スタート状態から目標状態に辿り着くのに時間を要するプラン状態遷移及び状態の数が多いプランが求められる。そこで、短時間で、スタート状態から目標状態に辿り着くプランを求める方法として、例えば、ビタビアルゴリズムを応用した方法がある。ビタビアルゴリズムを応用した方法では、プランニング部31は、認識部23からの現在状態を、プランのスタート状態として、そのスタート状態になっている状態の時刻t1の状態確率を、初期値としての10に設定するとともに、スタート状態以外の他の状態の時刻tの状態確率を、00に設定する。また、プランニング部31は、HMMの遷移確率aijのうちの、所定の閾値例えば、001等以上の遷移確率aijを、プランニング処理で用いるのに限って、大きな値例えば、09等に設定するとともに、他の遷移確率aijを、プランニング処理で用いるのに限って、小さな値例えば、00等に設定する。さらに、プランニング部31は、時刻t1のHMMの各状態Sjについて、時刻tの各状態Siの状態確率に、状態Sjへの遷移確率aijを乗算し、その結果得られる、HMMの状態数であるN個の乗算値のうちの最大値を、時刻t1の状態Sjの状態確率として求めることを、時刻tをインクリメントしながら、目標状態の状態確率が00より大になるまで繰り返す。そして、プランニング部31は、目標状態の状態確率が00より大になると、すなわち、遷移確率aijが大きな値に設定された状態遷移のみによって、スタート状態から目標状態に辿り着くことができる状態系列が得られると、その状態系列を、プランとして出力する。図2のステップS15では、アクション信号生成処理が行われる。アクション信号生成処理は、ステップS11のモデル学習処理、及び、ステップS13のアクション学習処理の後、プランニング部31において、プランが得られると、行うことができる。アクション信号生成処理では、アクション信号生成部32は、プランニング部31からのプラン上の状態に、順次、状態遷移をして、最終的に、目標状態に辿り着くアクションを行うためのアクション信号を生成し、アクション部14に供給する。すなわち、アクション信号生成部32は、プランニング部31からのプランとしての状態系列から、認識部23からの現在状態を検出し、状態系列における、現在状態から次の状態への状態遷移を、次に生じさせるべき状態遷移として認識する。さらに、アクション信号生成部32は、アクション生成情報記憶部34のアクション生成情報を参照し、次に生じさせるべき状態遷移Tijに対応付けられた関数mFijであるコントローラに対して、認識部23からの観測値現在状態において観測される観測値を入力として与えることで、プランに従った状態遷移次に生じさせるべき状態遷移を生じさせるアクションを行うためのアクション信号mを生成し求め、アクション部14に供給する。アクション部14は、アクション信号生成部32からのアクション信号mに従って、可動部分を駆動し、これにより、エージェントは、アクション信号mに従って、テーブル上のアームを移動する等アクションを行う。その後、アクション信号生成部32は、エージェントのアクション後に、認識部23から新たな現在状態と観測値が供給されるのを待って、再び、プランニング部31からのプランとしての状態系列から、認識部23からの現在状態を検出し、以下、認識部23からの現在状態が、プランニング部31からのプランの最後の状態である目標状態に一致するまで、同様の処理を繰り返す。[因果関係を利用して、自律的に行動するエージェントの構成例]図3は、自律的に行動するエージェントの他の構成例を示すブロック図である。なお、図中、図1の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図3において、エージェントは、センサ部11、複数であるM個の学習認識部121ないし12M、アクション部14、アクション制御部41、及び、因果処理部42を有する。したがって、図3のエージェントは、センサ部11及びアクション部14を有する点で、図1のエージェントと共通する。また、図3のエージェントは、1個の学習認識部12に代えて、M個の学習認識部121ないし12Mが設けられているとともに、アクション制御部13に代えて、アクション制御部41が設けられ、因果処理部42が新たに設けられている点で、図1の場合と相違する。図3のエージェントでは、センサ部11は、複数であるM個の観測値を観測しセンシングし、そのうちのm番目m12Mの観測値を、M個の学習認識部121ないし12Mのうちのm番目の学習認識部12mに供給する。ここで、図1のエージェントでは、アームの動きをモデル化対象とし、そのアームを観測することにより得られるアームの位置情報を用いて、HMMの学習、すなわち、HMMにより、アームの動きを獲得する学習を行ったが、HMMの学習は、その他、例えば、1つのモデル化対象から観測される様々なモーダルの観測値例えば、モデル化対象としてのアームから観測されるアームの位置や速度等や、複数のモデル化対象それぞれから観測される1つのモーダル種類の観測値等の、複数の時系列となる観測値を用いて行うことができる。図3のエージェントでは、複数の観測値それぞれに、1つのHMMを割り当て、各HMMの学習が、そのHMMに対応付けられた観測値を用いて行われる。ここで、図3では、例えば、エージェントが、移動するアクションが可能なロボットであり、そのようなエージェントが、光源が設置された迷路内に置かれ、その迷路内を移動する移動タスクを行うこととする。したがって、図3のエージェントにおいて、アクション部14は、エージェントの足を構成し、アクション制御部13に代えて設けられているアクション制御部41から供給されるアクション信号に従って駆動することにより、エージェントを、アクション信号に従った方向に、所定の移動量だけ移動させる。また、エージェントは、エージェントを中心とする4方向や8方向等の複数の方向それぞれの、迷路内の壁までの距離、エージェントを中心とする複数の方向それぞれで受光される光の光量、及び、その光量に比例して増加し、かつ、エージェントの移動量に比例して減少するエネルギの、3つのモーダルの観測値を観測することができることとする。この場合、エージェントに設けられる学習認識部121ないし12Mの個数Mは、3以上となる。また、センサ部11では、エージェントから壁までの距離、エージェントで受光される光の光量、及び、エージェントのエネルギの3つのモーダルの観測値が観測される。そして、センサ部11は、距離のモーダルの観測値としての、エージェントから壁までの距離を、学習認識部121に、光のモーダルの観測値としての、エージェントで受光される光の光量を、学習認識部122に、エネルギのモーダルの観測値としての、エージェントのエネルギを、学習認識部123に、それぞれ供給する。学習認識部121ないし123では、そこに供給される観測値を用いて、図1の学習認識部12と同様の処理が行われる。その結果、学習認識部121では、距離のモーダルの観測値を用いて学習が行われたHMM以下、距離HMMともいうが、学習認識部122では、光のモーダルの観測値を用いて学習が行われたHMM以下、光HMMともいうが、学習認識部123では、エネルギのモーダルの観測値を用いて学習が行われたHMM以下、エネルギHMMともいうが、それぞれ獲得される。なお、学習認識部121ないし123において、距離HMM、光HMM、及び、エネルギHMMや、その距離HMM、光HMM、及び、エネルギHMMを用いた認識処理により得られる最尤系列現在状態、並びに、認識処理に用いられる観測値は、図1の学習認識部12の場合と同様に、アクション制御部13に対応するアクション制御部41に供給される。また、距離HMM、光HMM、及び、エネルギHMM、並びに、認識処理により得られる最尤系列は、学習認識部121ないし123から因果処理部42にも供給される。アクション制御部41は、プランニング部31、アクション信号生成部32、アクション学習部33、アクション生成情報記憶部34、生得コントローラ35、及び、プラン制御部36を有する。したがって、アクション制御部41は、プランニング部31ないし生得コントローラ35を有する点で、図1のアクション制御部13と共通し、プラン制御部36が新たに設けられている点で、図1のアクション制御部13と相違する。アクション制御部41では、図1のアクション制御部13と同様の処理が行われる。したがって、アクション制御部41では、図1のアクション制御部13と同様に、アクション信号が、アクション部14に供給される他、アクション学習部33が、学習認識部12mから供給される現在状態、及び、最新の観測値と、生得コントローラ35が生成するアクション信号とを用いて、状態遷移Tijごとのコントローラである関数Fij等のアクション生成情報を求めるアクション学習を行う。但し、ここでは、説明を簡単にするため、アクション学習部33では、学習認識部121ないし123のうちの、学習認識部121から供給される距離HMMの現在状態、及び、最新の観測値と、生得コントローラ35が生成するアクション信号とを用いて、距離HMMの状態遷移Tijごとのコントローラである関数Fij等のアクション生成情報を求めるアクション学習が行われることとする。したがって、図3では、アクション信号生成部32は、距離HMM、光HMM、及び、エネルギHMMのうちの、距離HMMの状態遷移Tijを生じさせるアクションを行うためのアクション信号だけを生成することができ、光HMMやエネルギHMMの状態遷移を生じさせるアクションを行うためのアクション信号については、いわば直接に生成することはできない。また、プランニング部31には、学習認識部121ないし123から、距離HMM、光HMM、及び、エネルギHMMそれぞれの現在状態最尤系列の最後の状態が供給されるとともに、プラン制御部36から、距離HMM、光HMM、又は、エネルギHMMの状態のうちの、目標とすべき状態を表す目標情報が供給される。プランニング部31は、プラン制御部36から目標状態が供給されると、距離HMM、光HMM、及び、エネルギHMMのうちの、目標状態を有するHMMを注目HMMとする。そして、プランニング部31は、学習認識部121ないし123からの距離HMM、光HMM、及び、エネルギHMMそれぞれの現在状態のうちの、注目HMMの現在状態を、スタート状態とするとともに、目標情報が表す注目HMMの状態を、目標状態として、スタート状態から目標状態までの状態遷移の尤度が最大の状態系列を、プランとして求めるプランニングを行う。プランニング部31において、プランを求めるのに用いた注目HMMが、状態遷移を生じさせるアクションを行うためのアクション信号を生成することができるHMMではない場合注目HMMが、アクション学習において、アクション信号と、そのアクション信号に従ったアクションが行われることにより生じる状態遷移Tijとの関係が関数Fijとして獲得されているHMMではない場合、すなわち、ここでは、注目HMMが、距離HMM以外の光HMM、又は、エネルギHMMである場合、距離HMMの状態遷移Tijごとに求められたコントローラである関数Fij等のアクション生成情報では、距離HMM以外の光HMM、又は、エネルギHMMを用いて求められたプランに従った状態遷移を生じさせるアクションを行うためのアクション信号を、直接に生成することができないため、プランニング部31は、プランを、アクション信号生成部32に供給せずに、プラン制御部36に供給する。プラン制御部36は、プランニング部31からプランが供給されると、そのプランに従った注目HMMの状態遷移を認識し、因果処理部42に供給する。因果処理部42は、プラン制御部36から、注目HMMの状態遷移が供給されると、その注目HMMの状態遷移と因果関係がある、注目HMM以外の1以上のHMMの状態、すなわち、注目HMMの状態遷移が生じる原因となる、注目以外のHMM以下、原因HMMともいうの状態を要素とする状態ベクトルを戻すようになっており、プラン制御部36は、そのようにして、因果処理部42から、注目HMMの状態遷移に対して戻ってくる原因HMMの状態を受信する。そして、プラン制御部36は、因果処理部42からの原因HMMの状態状態ベクトルの要素になっている状態の任意の1つを、目標状態として、プランニング部31に供給する。プランニング部31は、プラン制御部36から目標状態が供給されると、距離HMM、光HMM、及び、エネルギHMMのうちの、目標状態を有するHMMを、新たに、注目HMMとし、以下、同様の処理が再帰的に繰り返される。そして、プランニング部31において、プランを求めるのに用いた注目HMMが、状態遷移を生じさせるアクションを行うためのアクション信号を生成することができるHMMである場合注目HMMが、アクション学習において、アクション信号と、そのアクション信号に従ったアクションが行われることにより生じる状態遷移Tijとの関係が関数Fijとして獲得されているHMMである場合、すなわち、ここでは、注目HMMが、距離HMMである場合、距離HMMの状態遷移Tijごとに求められたコントローラである関数Fij等のアクション生成情報によって、注目HMMである距離HMMを用いて求められたプランに従った状態遷移を生じさせるアクションを行うためのアクション信号を、直接に生成することができるため、プランニング部31は、プランを、アクション信号生成部32に供給する。ここで、アクション学習において、アクション信号と、そのアクション信号に従ったアクションが行われることにより生じる状態遷移Tijとの関係が関数Fijとして獲得されているHMMを、アクション可能HMMともいう。因果処理部42は、学習認識部121ないし123からの距離HMM、光HMM、及び、エネルギHMMの現在状態から、距離HMM、光HMM、及び、エネルギHMMのうちの1つのHMMである第1のHMMの状態遷移と、他の1つ以上のHMMである第2のHMMの状態との間の因果関係を獲得する学習である因果学習に用いる因果学習用データを取得し、その因果学習用データを用いて、因果学習を行う。また、因果処理部42は、プラン制御部36から、注目HMMの状態遷移が供給されると、その注目HMMの状態遷移と因果関係があるHMM原因HMMの状態を、因果学習の結果に基づいて推定する因果推定を行い、原因HMMの状態を要素とする状態ベクトルを、プラン制御部36に供給する。[因果処理部42の構成例]図4は、図3の因果処理部42の構成例を示すブロック図である。ここで、例えば、図3で説明した距離HMM、光HMM、及び、エネルギHMM等のような、複数の観測値それぞれを用いて学習が行われた複数のHMMについては、そのうちの1つのHMMである第1のHMMで生じる状態遷移という事象は、他の1つ以上のHMMである第2のHMMにおいて、ある状態にいること第2のHMMの現在状態が、ある状態であることを因子原因として生じることがあり、この場合、第2のHMMにおいて、ある状態にいることと、第1のHMMにおいて、状態遷移が生じることとの間には、因果関係がある。因果処理部42では、第1のHMMの状態遷移と、その状態遷移が生じる原因となり得る因子の生起としての、第2のHMMにおいて、ある状態にいることとの間の因果関係の学習因果学習が行われる。そして、因果処理部42では、プラン制御部36図3から、第1のHMMとしての注目HMMプランの生成に用いられたHMMの状態遷移が供給されると、その注目HMMの状態遷移と因果関係がある第2のHMMとしての原因HMMの状態因子を、因果学習の結果に基づいて推定する因果推定が行われ、原因HMMの状態を要素とする状態ベクトルが、プラン制御部36に供給される戻される。すなわち、図4において、因果処理部42は、因果学習用データ取得部51、因果学習部52、因子候補リスト記憶部53、マージ部54、及び、因果推定部55を有する。因果学習用データ取得部51は、学習認識部121ないし12Mからの距離HMM、光HMM、及び、エネルギHMM等の現在状態から、因果学習に用いる因果学習用データを取得し、因果学習部52に供給する。因果学習部52は、因果学習用データ取得部51から供給される因果学習用データを用いて、因果学習を行う。因果学習部52は、因果学習を行うことによって得られる、第1のHMMの状態遷移と、その状態遷移が生じる原因となり得る因子としての第2のHMMの状態との因果関係を表すリストである因子候補リストを、因子候補リスト記憶部53に供給する。因子候補リスト記憶部53は、因果学習部52からの因子候補リストを記憶する。マージ部54は、因子候補リスト記憶部53に記憶されている因子候補リストの項目をマージすることで、因子候補リストを整理する。因果推定部55には、プラン制御部36図3から、第1のHMMとしての注目HMMプランの生成に用いられたHMMの状態遷移が供給される。因果推定部55は、プラン制御部36からの注目HMMの状態遷移と因果関係がある第2のHMMとしての原因HMMの状態因子を、因果学習の結果である、因子候補リスト記憶部53に記憶された因子候補リストに基づいて推定する因果推定を行い、その原因HMMの状態を要素とする状態ベクトルを、プラン制御部36に供給する戻す。図5は、図4の因果処理部42が行う処理因果処理を説明するフローチャートである。因果処理部42では、ステップS21,S22,S23、及び、S24の処理が、必要に応じて行われる。ステップS21では、因果学習用データ取得処理が行われる。因果学習用データ取得処理では、因果学習用データ取得部51が、因果学習用データを取得し、データを因果学習部52に供給する。ステップS22では、因果学習処理が行われる。因果学習処理では、因果学習部52が、因果学習用データ取得部51からの因果学習用データを用いて、因果学習を行い、その結果得られる因子候補リストを、因子候補リスト記憶部53に供給して記憶させる。ステップS23では、マージ処理が行われる。マージ処理では、マージ部54が、因子候補リスト記憶部53に記憶された因子候補リストを整理し、その整理後の因子候補リストを、因子候補リスト記憶部53に記憶させる。ステップS24では、因果推定処理が行われる。因果推定処理は、プラン制御部36図3から因果推定部55図4に対して、第1のHMMとしての注目HMMの状態遷移が供給されると、開始される。因果推定処理では、因果推定部55が、プラン制御部36からの注目HMMの状態遷移と因果関係がある第2のHMMとしての原因HMMの状態を、因子候補リスト記憶部53に記憶された整理後の因子候補リストに基づいて推定し、その原因HMMの状態を要素とする状態ベクトルを、プラン制御部36に供給する。以下、図5のステップS21ないし24の各処理について、さらに説明する。なお、図3の学習認識部12mに記憶されたHMMを、m番目のHMMmともいい、そのHMMmの状態数を、Nと表すこととする。また、以下、適宜、m番目のHMMmのi番目の状態Sii12Nを、Smiと表すこととする。例えば、状態S25は2番目のHMM2の状態S5を表す。さらに、1ないしNの範囲の任意の整数を、iと表すこととすると、M個のHMM1ないしHMMMのそれぞれにおいて、ある状態Smiにいることは、状態Smiを要素とするM次元のベクトルである状態ベクトルS1i,S2i,,SMiで表される。ここで、状態ベクトルの各次元の要素がどのHMMの状態を表すのかが明らかな場合、記述を簡単にするため、状態ベクトルの要素になっているHMMの状態を、何番目の状態であるかを示す数字で表す。例えば、HMM12、及び、3において、それぞれ、状態S15S27、及び、S311にいることは、状態ベクトルS15S27S311=5711で表される。また、例えば、HMM12、及び、3のうちの、HMM2及び3に注目している場合、状態ベクトルは、注目しているHMM2及び3の状態のみを要素とするベクトルS27S311=711で表される。ステップS21の因果学習用データ取得処理図5では、まず、状態カウンタと遷移カウンタのカウント値が、0にリセットされる。すなわち、因果学習用データ取得部51図5は、状態カウンタと遷移カウンタを内蔵しており、因果学習用データ取得処理の開始時に、状態カウンタと遷移カウンタのカウント値を、0にリセットする。なお、因果学習用データ取得部51は、因果学習用データ取得処理の開始時に、状態カウンタと遷移カウンタをリセットする他、状態カウンタと遷移カウンタの時刻を表す変数tを0にリセットする。状態カウンタと遷移カウンタのカウント値は、時刻tの経過とともに、γ0999等のあらかじめ定められた減衰率γに従って減衰させることができる。因果学習用データ取得部51は、学習認識部121ないし12M図3それぞれからの時刻tのHMM1ないしMそれぞれの状態現在状態と、1時刻前の時刻t1のHMM1ないしMそれぞれの状態現在状態とを比較し、時刻tとt1とで状態が異なるHMMをリストアップする。そして、因果学習用データ取得部51は、M個のHMM1ないしMから選択するHMMの数を表す変数Lを、12M1に順次変えて、各値のLについて、以下の処理を行う。ここで、M個のHMM1ないしMの中からL1個のHMMを選択したときのDMCL1通りのHMMの組み合わせのうちの、d番目d=12DのHMMの組み合わせを、cMと表す。また、DMCL1通りのHMMの組み合わせのうちの、d番目のHMMの組み合わせcMであるL1個のHMMのうちの、c番目c12L1のHMMの1つの状態Sを、c番目の要素とするL1次元のベクトルである状態ベクトルを、V=S,S,,Sと表す。状態カウンタは、L1次元の状態ベクトルVに対応して設けられており、以下、適宜、状態ベクトルVに対応する状態カウンタ、及び、そのカウント値を、NSと表す。いま、d番目のHMMの組み合わせcMであるL1個のHMMのそれぞれの時刻tの現在状態を要素とするL1次元の状態ベクトルVを、vSと表すこととする。因果学習用データ取得部51図4は、時刻tにおいて、1時刻前の時刻t1のL1次元の状態ベクトルvSに対応する状態カウンタNSを、1だけインクリメントする。したがって、状態カウンタNSによれば、対応する状態ベクトルVの要素になっているL1個のHMMの状態S,S,,Sが、同時に、現在状態になった回数状態S,S,,Sに、同時にいた回数がカウントされる。また、M個のHMMのうちの、時刻tにおいて、現在状態が時刻t1の現在状態から変化遷移したHMMを、遷移有りHMMということとすると、因果学習用データ取得部51は、遷移有りHMMを、順次、注目HMMとして注目し、注目HMMについて、以下の処理を行う。すなわち、注目HMMが、M個のHMMのうちの、m番目のHMMmであるとすると、因果学習用データ取得部51は、M個のHMMからHMMmを除いたM1個のHMMの中から、L個のHMMを選択したときのDM1CL通りのHMMの組み合わせのうちの、d番目d=12DのHMMの組み合わせを、cMと表す。また、DM1CL通りのHMMの組み合わせのうちの、d番目のHMMの組み合わせcMであるL個のHMMのうちの、c番目c12LのHMMの1つの状態Sを、c番目の要素とするL次元のベクトルである状態ベクトルを、V=S,S,,Sと表す。遷移カウンタは、L次元の状態ベクトルVと、HMMmで生じる状態遷移Tij以下、Tijとも表すとのセットに対応して設けられており、以下、適宜、状態ベクトルVと状態遷移Tijとのセットに対応する遷移カウンタ、及び、そのカウント値を、NTij,Vと表す。いま、d番目のHMMの組み合わせcMであるL個のHMMそれぞれの時刻tの現在状態を要素とするL次元の状態ベクトルVを、vTと表すこととする。また、状態ベクトルvTの要素になっているL個のHMMの状態が現在状態になっているとき直後に、HMMmにおいて生じた状態遷移を、Tと表すこととする。因果学習用データ取得部51図4は、時刻tにおいて、1時刻前の時刻t1のL次元の状態ベクトルvTと状態遷移Tに対応する遷移カウンタNT,vTを、1だけインクリメントする。したがって、遷移カウンタNTij,Vによれば、HMMmにおいて、対応する状態遷移Tijが生じたときに、対応する状態ベクトルVの要素になっているL個のHMMの状態S,S,,Sが、同時に、現在状態になっていた回数状態S,S,,Sに、同時にいた回数がカウントされる。因果学習用データ取得部51は、状態カウンタNS、及び、遷移カウンタNTij,Vのカウントを、因果学習用データ取得処理として行い、その状態カウンタのカウント値NS、及び、遷移カウンタのカウント値NTij,Vを、因果学習用データとして取得する。状態カウンタNS、及び、遷移カウンタNTij,Vのカウントの具体例について説明する。図6は、学習認識部121ないし12Mに記憶されるHMMの例を示す図である。図6では、M3であり、3個のHMM123が存在する。また、図6において、HMM1の状態数Nは、状態S11S12の2個に、HMM2の状態数Nは、状態S21S22S23S24の4個に、HMM3の状態数Nは、状態S31S32S33の3個に、それぞれなっている。さらに、HMM1ないし3それぞれの現在状態S1now,S2now、及び、S3nowを要素とする状態ベクトルを、S1now,S2now,S3nowと表すこととすると、時刻t0ないしt5において、ある観測値の時系列が観測されたときの状態ベクトルS1now,S2now,S3nowが、例えば、以下のようになったとする。t0:111t1:121t2:121t3:221t4:243t5:3451式1において、例えば、時刻t0の状態ベクトル111は、HMM1ないし3それぞれの現在状態S1now,S2now、及び、S3nowが、いずれも状態S1以下、状態1とも記載するであることを表す。また、時刻t1の状態ベクトル121は、HMM1の現在状態S1nowが状態1であり、HMM2の現在状態S2nowが状態2であり、HMM3の現在状態S3nowが状態1であることを表す。Lは、値12M1をとるため、M3である場合には、Lは、値12をとる。M3個のHMM1ないし3の中からL1個のHMMを選択したときのDMCL1通りのHMMの組み合わせは、12,13,23,123になる。ここで、例えば、12は、HMM1及び2の組み合わせを表す。HMMの組み合わせ12、13,23,123のうちの、d番目d=12DのHMMの組み合わせが、上述のcMで表される。あるHMMの組み合わせに関して、HMMの状態を要素とする状態ベクトルは、その組み合わせに含まれるHMMの状態の数を乗算した数になる。したがって、HMMの組み合わせ12HMM1及び2の組み合わせに注目したとき、その組み合わせ12に含まれるHMM1の状態の数NとHMM2の状態の数Nは、それぞれ、2と4であるから、HMMの組み合わせ12の状態HMMの組み合わせ12のHMM1及び2の状態を要素とする状態ベクトルとしては、8通りのベクトルが存在する。すなわち、注目するHMMの組み合わせ12に含まれないHMM3の状態に対応する要素をで表すこととすると、HMMの組み合わせ12のHMM1及び2それぞれの状態を要素とする状態ベクトルとしては、11、12,13,14,21,22,23,24の8通りのベクトルが存在する。同様に、HMMの組み合わせ13のHMM1及び3それぞれの状態を要素とする状態ベクトルとしては、HMM1の状態の数Nが2で、HMM3の状態の数Nが3であるから、6通りのベクトルが存在する。また、HMMの組み合わせ23のHMM2及び3それぞれの状態を要素とする状態ベクトルとしては、HMM2の状態の数Nが4で、HMM3の状態の数Nが3であるから、12通りのベクトルが存在する。さらに、HMMの組み合わせ123のHMM1ないし3それぞれの状態を要素とする状態ベクトルとしては、HMM1の状態の数Nが2で、HMM2の状態の数Nが4で、HMM3の状態の数Nが3であるから、24通りのベクトルが存在する。状態カウンタNSは、L1次元の状態ベクトルVに対応して設けられるので、図6の3個のHMM1ないし3については、50個の状態カウンタNSが設けられる。上述したように、Lが、値12をとる場合において、M3個のHMM1ないし3から、例えば、m1に対応するHMM1を除いたM12個のHMM2及び3の中から、L個のHMMを選択したときのDM1CL通りのHMMの組み合わせは、2,3,23になる。また、HMMの組み合わせ2,3,23のうちの、d番目d=12DのHMMの組み合わせが、上述のcMで表される。上述したように、あるHMMの組み合わせの状態を要素とする状態ベクトルは、その組み合わせに含まれるHMMの状態の数を乗算した数になるので、HMMの組み合わせ2,3,23のうちの、例えば、HMMの組み合わせ2HMM2のみの組み合わせに注目したとき、その組み合わせ2に含まれるHMM2の状態の数Nは、4であるから、HMMの組み合わせ2の状態を要素とする状態ベクトルとしては、4通りのベクトルが存在する。すなわち、注目するHMMの組み合わせ2を得るときの選択の対象から除かれるHMM1の状態に対応する要素を、で、注目するHMMの組み合わせ2に含まれないHMM3の状態に対応する要素をで、それぞれ表すこととすると、HMMの組み合わせ2のHMM2の状態を要素とする状態ベクトルとしては、1,2,3,4の4通りのベクトルが存在する。同様に、HMMの組み合わせ3のHMM3の状態を要素とする状態ベクトルとしては、HMM3の状態の数Nが3であるから、3通りのベクトルが存在する。また、HMMの組み合わせ23のHMM2及び3それぞれの状態を要素とする状態ベクトルとしては、HMM2の状態の数Nが4で、HMM3の状態の数Nが3であるから、12通りのベクトルが存在する。したがって、m1については、L次元の状態ベクトルVとして、19通りのベクトルが存在する。上述したように、遷移カウンタは、L次元の状態ベクトルVと、HMMmで生じる状態遷移Tijとのセットに対応して設けられる。図6において、HMM1の状態遷移Tijとしては、状態1から2への状態遷移T12と、状態2から1への状態遷移T21との2通りが存在する。したがって、m1については、19通りの状態ベクトルVと、2通りの状態遷移Tijとのセットに対応して、19×2個の遷移カウンタNTが設けられる。次に、M3個のHMM1ないし3から、例えば、m2に対応するHMM2を除いたM12個のHMM1及び3の中から、L個のHMMを選択したときのDM1CL通りのHMMの組み合わせは、1,3,13になる。また、HMMの組み合わせ1,3,13のうちの、d番目d=12DのHMMの組み合わせが、上述のcMで表される。上述したように、あるHMMの組み合わせの状態を要素とする状態ベクトルは、その組み合わせに含まれるHMMの状態の数を乗算した数になるので、HMMの組み合わせ1,3,13のうちの、例えば、HMMの組み合わせ1に注目したとき、その組み合わせ1に含まれるHMM1の状態の数Nは、2であるから、HMMの組み合わせ1の状態を要素とする状態ベクトルとしては、2通りのベクトルが存在する。すなわち、注目するHMMの組み合わせ1を得るときの選択の対象から除かれるHMM2の状態に対応する要素を、で、注目するHMMの組み合わせ1に含まれないHMM3の状態に対応する要素をで、それぞれ表すこととすると、HMMの組み合わせ1のHMM1の状態を要素とする状態ベクトルとしては、1,2の2通りのベクトルが存在する。同様に、HMMの組み合わせ3のHMM3の状態を要素とする状態ベクトルとしては、HMM3の状態の数Nが3であるから、3通りのベクトルが存在する。また、HMMの組み合わせ13のHMM1及び3それぞれの状態を要素とする状態ベクトルとしては、HMM1の状態の数Nが2で、HMM3の状態の数Nが3であるから、6通りのベクトルが存在する。したがって、m2については、L次元の状態ベクトルVとして、11通りのベクトルが存在する。一方、図6において、HMM2の状態遷移Tijとしては、状態1から2への状態遷移T12、状態2から1への状態遷移T21、状態1から3への状態遷移T13、状態3から1への状態遷移T31、状態1から4への状態遷移T14、状態4から1への状態遷移T41、状態2から3への状態遷移T23、状態3から2への状態遷移T32、状態2から4への状態遷移T24、状態4から2への状態遷移T42、状態3から4への状態遷移T34、及び、状態4から3への状態遷移T43の12通りが存在する。遷移カウンタNTは、L次元の状態ベクトルVと、HMMmの状態遷移Tijとのセットに対応して設けられるので、m2については、11通りの状態ベクトルVと、12通りの状態遷移Tijとのセットに対応して、11×12個の遷移カウンタNTが設けられる。次に、M3個のHMM1ないし3から、例えば、m3に対応するHMM3を除いたM12個のHMM1及び2の中から、L個のHMMを選択したときのDM1CL通りのHMMの組み合わせは、1,2、12になる。また、HMMの組み合わせ1,2、12のうちの、d番目d=12DのHMMの組み合わせが、上述のcMで表される。上述したように、あるHMMの組み合わせの状態を要素とする状態ベクトルは、その組み合わせに含まれるHMMの状態の数を乗算した数になるので、HMMの組み合わせ1,2、12のうちの、例えば、HMMの組み合わせ1に注目したとき、その組み合わせ1に含まれるHMM1の状態の数Nは、2であるから、HMMの組み合わせ1の状態を要素とする状態ベクトルとしては、2通りのベクトルが存在する。すなわち、注目するHMMの組み合わせ1を得るときの選択の対象から除かれるHMM3の状態に対応する要素を、で、注目するHMMの組み合わせ1に含まれないHMM2の状態に対応する要素をで、それぞれ表すこととすると、HMMの組み合わせ1のHMM1の状態を要素とする状態ベクトルとしては、1,2の2通りのベクトルが存在する。同様に、HMMの組み合わせ2のHMM2の状態を要素とする状態ベクトルとしては、HMM2の状態の数Nが4であるから、4通りのベクトルが存在する。また、HMMの組み合わせ12のHMM1及び2それぞれの状態を要素とする状態ベクトルとしては、HMM1の状態の数Nが2で、HMM2の状態の数Nが4であるから、8通りのベクトルが存在する。したがって、m3については、L次元の状態ベクトルVとして、14通りのベクトルが存在する。一方、図6において、HMM3の状態遷移Tijとしては、状態1から2への状態遷移T12、状態2から1への状態遷移T21、状態1から3への状態遷移T13、状態3から1への状態遷移T31、状態2から3への状態遷移T23、及び、状態3から2への状態遷移T32、の6通りが存在する。遷移カウンタNTは、L次元の状態ベクトルVと、HMMmの状態遷移Tijとのセットに対応して設けられるので、m3については、14通りの状態ベクトルVと、6通りの状態遷移Tijとのセットに対応して、14×6個の遷移カウンタNTが設けられる。因果学習用データ取得部51は、学習認識部121ないし12Mそれぞれから、各時刻tの現在状態が供給されると、時刻tの現在状態と、その1時刻前の時刻t1の現在状態とに基づき、状態カウンタNS、及び、遷移カウンタNTij,Vをインクリメントする。すなわち、例えば、時刻t1では、因果学習用データ取得部51には、式1に示したように、HMM1ないし3それぞれの現在状態を要素とする状態ベクトル以下、現在状態ベクトルともいう121が供給される。因果学習用データ取得部51は、時刻t1において、その時刻t1の現在状態ベクトル121と、その1時刻前の時刻t0の現在状態ベクトル111とを比較し、HMM1ないし3の中から、状態遷移状態の変化があったHMMを、遷移有りHMMとしてリストアップする。時刻t1では、HMM2が、遷移有りHMMとしてリストアップされる。また、因果学習用データ取得部51は、L12の各値のLについてのDMCL1通りのHMMの組み合わせ12、13,23,123に、順次、注目する。そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL1次元の状態ベクトルVのうちの、1時刻前の時刻t0の現在状態ベクトル111の要素である時刻t0のHMM1ないし3の現在状態に一致する状態を要素とする状態ベクトルV=vSに対応する状態カウンタNSを1だけインクリメントする。すなわち、HMMの組み合わせ12に注目したとき、HMMの組み合わせ12のHMM1及び2それぞれの状態を要素とする状態ベクトルとしては、上述したように、11、12,13,14,21,22,23,24の8通りのベクトルが存在する。HMMの組み合わせ12については、8通りの状態ベクトル11、12,13,14,21,22,23,24のうちの、1時刻前の時刻t0におけるHMMの組み合わせ12であるHMM1及び2の現在状態S11及びS21を要素とする状態ベクトル11に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ13に注目したとき、HMMの組み合わせ13のHMM1及び3それぞれの状態を要素とする状態ベクトルとしては、上述したように、6通りのベクトルが存在する。HMMの組み合わせ13については、6通りの状態ベクトルのうちの、1時刻前のt0におけるHMMの組み合わせ13であるHMM1及び3の現在状態S11及びS31を要素とする状態ベクトル11に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ23に注目したとき、HMMの組み合わせ23のHMM2及び3それぞれの状態を要素とする状態ベクトルとしては、上述したように、12通りのベクトルが存在する。HMMの組み合わせ23については、12通りの状態ベクトルのうちの、1時刻前のt0におけるHMMの組み合わせ23であるHMM2及び3の現在状態S21及びS31を要素とする状態ベクトル11に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ123に注目したとき、HMMの組み合わせのHMM1ないし3それぞれの状態を要素とする状態ベクトルとしては、上述したように、24通りのベクトルが存在する。HMMの組み合わせ123については、24通りの状態ベクトルのうちの、1時刻前のt0におけるHMMの組み合わせ123であるHMM1ないし3の現在状態S11,S21、及び、S31を要素とする状態ベクトル111に対応する状態カウンタが1だけインクリメントされる。以上のように、時刻t1では、4個の状態ベクトル11、11,11,111それぞれに対応する状態カウンタが1だけインクリメントされる。また、因果学習用データ取得部51は、遷移有りHMMに、順次、注目し、さらに、注目する遷移有りHMMm以外のHMMの中からL個のHMMを選択したときの、L12の各値のLについてのDM1CL通りのHMMの組み合わせに、順次、注目する。そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL次元の状態ベクトルVのうちの、1時刻前の時刻t0の現在状態ベクトル111の要素である時刻t0の現在状態に一致する状態を要素とする状態ベクトルV=vTと、注目する遷移有りHMMmにおいて生じた状態遷移Tij=Tに対応する遷移カウンタNTij,Vを1だけインクリメントする。すなわち、式1において、時刻t1では、遷移有りHMMは、HMM2のみであり、そのHMM2に生じている状態遷移は、状態1から状態2への状態遷移T12である。さらに、時刻t1において、遷移有りHMMであるHMM2に注目した場合に、その遷移有りHMM2以外のHMMの中からL個のHMMを選択したときのDM1CL通りのHMMの組み合わせとしては、組み合わせ1,3,13がある。そして、HMMの組み合わせ1に注目したとき、HMMの組み合わせ1のHMM1の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t0におけるHMMの組み合わせ1であるHMM1の現在状態S11を要素とする状態ベクトル1と、遷移有りHMMであるHMM2の状態遷移T12とのセットに対応する遷移カウンタが1だけインクリメントされる。HMMの組み合わせ3に注目したとき、HMMの組み合わせ3のHMM3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t0におけるHMMの組み合わせ3であるHMM3の現在状態S31を要素とする状態ベクトル1と、遷移有りHMMであるHMM2の状態遷移T12とのセットに対応する遷移カウンタが1だけインクリメントされる。HMMの組み合わせ13に注目したとき、HMMの組み合わせ13のHMM1及び3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t0におけるHMMの組み合わせ13であるHMM1及び3の現在状態S11及びS31を要素とする状態ベクトル11と、遷移有りHMMであるHMM2の状態遷移T12とのセットに対応する遷移カウンタが1だけインクリメントされる。以上のように、現在状態ベクトルが、111から121に遷移変化した時刻t1では、状態ベクトル1,1、及び、11それぞれと、状態遷移T12とのセットそれぞれに対応する遷移カウンタが1だけインクリメントされる。時刻t2では、因果学習用データ取得部51には、式1に示したように、現在状態ベクトル121が供給される。時刻t2では、現在状態ベクトル121が、1時刻前の時刻t1の現在状態ベクトル121と一致しているため、因果学習用データ取得部51では、遷移有りHMMは、リストアップされない。遷移有りHMMがリストアップされない場合、因果学習用データ取得部51では、状態カウンタのインクリメントが行われるが、遷移カウンタのインクリメントは行われない。すなわち、因果学習用データ取得部51は、L12の各値のLについての、DMCL1通りのHMMの組み合わせ12、13,23,123に、順次、注目する。そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL1次元の状態ベクトルVのうちの、1時刻前の時刻t1の現在状態ベクトル121の要素である時刻t1の現在状態に一致する状態を要素とする状態ベクトルV=vSに対応する状態カウンタNSを1だけインクリメントする。具体的には、HMMの組み合わせ12に注目したとき、HMMの組み合わせ12のHMM1及び2それぞれの状態を要素とする状態ベクトルのうちの、1時刻前の時刻t1におけるHMM1及び2の現在状態S11及びS22を要素とする状態ベクトル12に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ13に注目したとき、HMMの組み合わせ13のHMM1及び3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt1におけるHMM1及び3の現在状態S11及びS31を要素とする状態ベクトル11に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ23に注目したとき、HMMの組み合わせ23のHMM2及び3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt1におけるHMM2及び3の現在状態S22及びS31を要素とする状態ベクトル21に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ123に注目したとき、HMMの組み合わせのHMM1ないし3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt1におけるHMM1ないし3の現在状態S11,S22、及び、S31を要素とする状態ベクトル121に対応する状態カウンタが1だけインクリメントされる。以上のように、時刻t2では、4個の状態ベクトル12、11,21,121それぞれに対応する状態カウンタが1だけインクリメントされる。時刻t3では、因果学習用データ取得部51には、式1に示したように、現在状態ベクトル221が供給される。因果学習用データ取得部51は、時刻t3において、その時刻t3の現在状態ベクトル221と、その1時刻前の時刻t2の現在状態ベクトル121とを比較し、HMM1ないしHの中から、状態遷移状態の変化があったHMMであるHMM1を、遷移有りHMMとしてリストアップする。また、因果学習用データ取得部51は、各値のLについての、DMCL1通りのHMMの組み合わせ12、13,23,123に、順次、注目する。そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL1次元の状態ベクトルVのうちの、1時刻前の時刻t2の現在状態ベクトル121の要素である時刻t2の現在状態に一致する状態を要素とする状態ベクトルV=vSに対応する状態カウンタNSを1だけインクリメントする。具体的には、HMMの組み合わせ12に注目したとき、HMMの組み合わせ12のHMM1及び2それぞれの状態を要素とする状態ベクトルのうちの、1時刻前の時刻t2におけるHMM1及び2の現在状態S11及びS22を要素とする状態ベクトル12に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ13に注目したとき、HMMの組み合わせ13のHMM1及び3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt2におけるHMM1及び3の現在状態S11及びS31を要素とする状態ベクトル11に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ23に注目したとき、HMMの組み合わせ23のHMM2及び3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt2におけるHMM2及び3の現在状態S22及びS31を要素とする状態ベクトル21に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ123に注目したとき、HMMの組み合わせのHMM1ないし3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt2におけるHMM1ないし3の現在状態S11,S22、及び、S31を要素とする状態ベクトル121に対応する状態カウンタが1だけインクリメントされる。以上のように、時刻t3では、4個の状態ベクトル12、11,21,121それぞれに対応する状態カウンタが1だけインクリメントされる。また、因果学習用データ取得部51は、遷移有りHMMに、順次、注目し、さらに、注目する遷移有りHMMm以外のHMMの中からL個のHMMを選択したときの、各値のLについてのDM1CL通りのHMMの組み合わせに、順次、注目する。そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL次元の状態ベクトルVのうちの、1時刻前の時刻t2の現在状態ベクトル121の要素である時刻t2の現在状態に一致する状態を要素とする状態ベクトルV=vTと、注目する遷移有りHMMmにおいて生じた状態遷移Tij=Tに対応する遷移カウンタNTij,Vを1だけインクリメントする。すなわち、式1において、時刻t3では、遷移有りHMMは、HMM1のみであり、そのHMM1に生じている状態遷移は、状態1から状態2への状態遷移T12である。さらに、時刻t3において、遷移有りHMMであるHMM1に注目した場合に、その遷移有りHMM1以外のHMMの中からL個のHMMを選択したときの、各値のLについてのDM1CL通りのHMMの組み合わせとしては、組み合わせ2,3,23がある。そして、HMMの組み合わせ2に注目したとき、HMMの組み合わせ2のHMM2の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t2におけるHMM2の現在状態S22を要素とする状態ベクトル2と、遷移有りHMMであるHMM1の状態遷移T12とのセットに対応する遷移カウンタが1だけインクリメントされる。HMMの組み合わせ3に注目したとき、HMMの組み合わせ3のHMM3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t2におけるHMM3の現在状態S31を要素とする状態ベクトル1と、遷移有りHMMであるHMM1の状態遷移T12とのセットに対応する遷移カウンタが1だけインクリメントされる。HMMの組み合わせ23に注目したとき、HMMの組み合わせ23のHMM2及び3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t2におけるHMM2及び3の現在状態S22及びS31を要素とする状態ベクトル21と、遷移有りHMMであるHMM1の状態遷移T12とのセットに対応する遷移カウンタが1だけインクリメントされる。以上のように、現在状態ベクトルが、121から221に遷移変化した時刻t3では、状態ベクトル2,1,21それぞれと、状態遷移T12とのセットそれぞれに対応する遷移カウンタが1だけインクリメントされる。時刻t4では、因果学習用データ取得部51には、式1に示したように、現在状態ベクトル243が供給される。因果学習用データ取得部51は、時刻t4において、その時刻t4の現在状態ベクトル243と、その1時刻前の時刻t2の現在状態ベクトル221とを比較し、HMM1ないしHの中から、状態遷移状態の変化があったHMMであるHMM2及び3を、遷移有りHMMとしてリストアップする。また、因果学習用データ取得部51は、各値のLについてのDMCL1通りのHMMの組み合わせ12、13,23,123に、順次、注目する。そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL1次元の状態ベクトルVのうちの、1時刻前の時刻t3の現在状態ベクトル221の要素である時刻t3の現在状態に一致する状態を要素とする状態ベクトルV=vSに対応する状態カウンタNSを1だけインクリメントする。具体的には、HMMの組み合わせ12に注目したとき、HMMの組み合わせ12のHMM1及び2それぞれの状態を要素とする状態ベクトルのうちの、1時刻前の時刻t3におけるHMM1及び2の現在状態S12及びS22を要素とする状態ベクトル22に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ13に注目したとき、HMMの組み合わせ13のHMM1及び3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt3におけるHMM1及び3の現在状態S12及びS31を要素とする状態ベクトル21に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ23に注目したとき、HMMの組み合わせ23のHMM2及び3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt3におけるHMM2及び3の現在状態S22及びS31を要素とする状態ベクトル21に対応する状態カウンタが1だけインクリメントされる。HMMの組み合わせ123に注目したとき、HMMの組み合わせのHMM1ないし3それぞれの状態を要素とする状態ベクトルのうちの、1時刻前のt3におけるHMM1ないし3の現在状態S12,S22、及び、S31を要素とする状態ベクトル221に対応する状態カウンタが1だけインクリメントされる。以上のように、時刻t3では、4個の状態ベクトル22、21,21,221それぞれに対応する状態カウンタが1だけインクリメントされる。また、因果学習用データ取得部51は、遷移有りHMMに、順次、注目し、さらに、注目する遷移有りHMMm以外のHMMの中からL個のHMMを選択したときの、各値のLについてのDM1CL通りのHMMの組み合わせに、順次、注目する。そして、因果学習用データ取得部51は、注目するHMMの組み合わせのHMMの状態を要素とするL次元の状態ベクトルVのうちの、1時刻前の時刻t3の現在状態ベクトル221の要素である時刻t3の現在状態に一致する状態を要素とする状態ベクトルV=vTと、注目する遷移有りHMMmにおいて生じた状態遷移Tij=Tに対応する遷移カウンタNTij,Vを1だけインクリメントする。すなわち、式1において、時刻t4では、遷移有りHMMは、HMM2及び3であり、HMM2に生じている状態遷移は、状態2から状態4への状態遷移T24であり、HMM3に生じている状態遷移は、状態1から状態3への状態遷移T13である。因果学習用データ取得部51は、遷移有りHMMであるHMM2及び3のうちの、例えば、HMM2に注目する。時刻t4において、遷移有りHMMの1つであるHMM2に注目した場合に、その遷移有りHMM2以外のHMMの中からL個のHMMを選択したときの、各値のLについてのDM1CL通りのHMMの組み合わせとしては、組み合わせ1,3,13がある。HMMの組み合わせ1に注目したとき、HMMの組み合わせ1のHMM1の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t3におけるHMM1の現在状態S12を要素とする状態ベクトル2と、注目している遷移有りHMMであるHMM2の状態遷移T24とのセットに対応する遷移カウンタが1だけインクリメントされる。HMMの組み合わせ3に注目したとき、HMMの組み合わせ3のHMM3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t3におけるHMM3の現在状態S31を要素とする状態ベクトル1と、遷移有りHMMであるHMM2の状態遷移T24とのセットに対応する遷移カウンタが1だけインクリメントされる。HMMの組み合わせ13に注目したとき、HMMの組み合わせ13のHMM1及び3の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t3におけるHMM1及び3の現在状態S12及びS31を要素とする状態ベクトル21と、遷移有りHMMであるHMM2の状態遷移T24とのセットに対応する遷移カウンタが1だけインクリメントされる。その後、因果学習用データ取得部51は、遷移有りHMMであるHMM2及び3のうちの、残りのHMM3に注目する。時刻t4において、遷移有りHMMの1つであるHMM3に注目した場合に、その遷移有りHMM3以外のHMMの中からL個のHMMを選択したときの、各値のLについてのDM1CL通りのHMMの組み合わせとしては、組み合わせ1,2,12がある。HMMの組み合わせ1に注目したとき、HMMの組み合わせ1のHMM1の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t3におけるHMM1の現在状態S12を要素とする状態ベクトル2と、注目している遷移有りHMMであるHMM3の状態遷移T13とのセットに対応する遷移カウンタが1だけインクリメントされる。HMMの組み合わせ2に注目したとき、HMMの組み合わせ2のHMM2の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t3におけるHMM2の現在状態S22を要素とする状態ベクトル2と、遷移有りHMMであるHMM3の状態遷移T13とのセットに対応する遷移カウンタが1だけインクリメントされる。HMMの組み合わせ12に注目したとき、HMMの組み合わせ12のHMM1及び2の状態を要素とする状態ベクトルのうちの、1時刻前の時刻t3におけるHMM1及び2の現在状態S12及びS22を要素とする状態ベクトル22と、遷移有りHMMであるHMM3の状態遷移T13とのセットに対応する遷移カウンタが1だけインクリメントされる。以上のように、現在状態ベクトルが、221から243に遷移変化した時刻t4では、状態ベクトル2,1,21それぞれと、状態遷移T34とのセットそれぞれに対応する遷移カウンタが1だけインクリメントされるとともに、状態ベクトル2,2,22それぞれと、状態遷移T13とのセットそれぞれに対応する遷移カウンタが1だけインクリメントされる以下、同様に、因果学習用データ取得部51は、時刻の経過に従って、学習認識部121ないし12Mから現在状態が供給されるごとに、状態カウンタ及び遷移カウンタのインクリメントを行う。因果学習用データ取得部51は、状態カウンタのカウント値NS、及び、遷移カウンタのカウント値NTij,Vを、因果学習用データとして、因果学習部52に供給する。次に、ステップS22の因果学習処理図5について説明する。因果学習処理では、因果学習部52は、因果学習用データ取得部51からの因果学習用データとしての状態カウンタのカウント値NS、及び、遷移カウンタのカウント値NTij,Vを用いて、M個のHMMのうちの1つのHMMである第1のHMMmの状態遷移Tijと、他の1つ以上のHMMである第2のHMMの状態としての状態ベクトルV状態ベクトルVの要素となっている状態が現在状態になることとの間の因果関係を獲得する因果学習を行う。HMMmの状態遷移Tijの因果関係の学習獲得では、因果学習部52は、Lを、12M1に順次変えて、各値のLについて、以下の処理を行う。すなわち、因果学習部52は、L次元の状態ベクトルV=S,S,,Sについて、その状態ベクトルVの要素となっている状態が現在状態になっているときに、状態遷移Tijが生じる条件付き確率pijVを求める。条件付き確率pijVは、因果学習用データとしての状態カウンタのカウント値NS、及び、遷移カウンタのカウント値NTij,Vを用いて求められる。すなわち、因果学習部52は、L次元の状態ベクトルVに、HMMmの状態遷移Tijの遷移元の状態Smiを補って、HMMmの遷移元の状態Smiを要素として必ず含むL1次元の状態ベクトルSmi,Vを生成し、その状態ベクトルSmi,Vに対応する状態カウンタのカウント値NSを取得する。ここで、L1次元の状態ベクトルSmi,Vは、L1次元の状態ベクトルVに含まれるベクトルである。状態ベクトルSmi,Vに対応する状態カウンタのカウント値NSが、0である場合、すなわち、いままで、HMMmを含むL1個のHMMの組み合わせにおいて、状態ベクトルSmi,Vの要素になっている状態が、同時に、現在状態になったことがない場合、因果学習部52は、条件付き確率pijVに、所定の値σ0を設定する。ここで、所定の値σ0は、条件付き確率pijVの最低確率を与える、0以上1以下の固定値である。一方、状態ベクトルSmi,Vに対応する状態カウンタのカウント値NSが、1以上である場合、因果学習部52は、状態ベクトルVと状態遷移Tijとのセットに対応する遷移カウンタのカウント値NTij,V、すなわち、HMMmを含むL1個のHMMの組み合わせにおいて、状態ベクトルSmi,Vの要素になっている状態が、同時に、現在状態になったときに、HMMmにおいて状態遷移Tijが生じた回数を取得する。そして、因果学習部52は、遷移カウンタのカウント値NTij,Vを、状態カウンタのカウント値NSで除算することにより、条件付き確率pijVの期待値NTij,V/NSを、条件付き確率pijVの暫定確率値p0として求める。そして、因果学習部52は、例えば、式2にしたがい、暫定確率値p0を用いて、条件付き確率pijVを求める。pijV=min1p0σ2なお、式2において、min1p0σは、1とp0σのうちの小さい方の値を表す。また、式2において、値σは、次式で表される。σ=√σ02/NS3因果学習部52は、条件付き確率pijVが、あらかじめ決められた閾値例えば、所定の値σ0より大の閾値以上であるかどうかを判定し、条件付き確率pijVが閾値以上である場合には、その条件付き確率pijVを、状態ベクトルVとともに、状態遷移Tijに対応付けて、因子候補リストに登録する。すなわち、因子候補リストには、状態遷移Tijごとに、条件付き確率pijVの高い順に状態ベクトルVが登録される。したがって、因子候補リストは、HMMm第1のHMMの状態遷移Tijが生じる原因となる因子としての、HMMの組み合わせcMのHMMの状態第2のHMMの状態状態ベクトルVの要素になっている状態のリスト、つまり、状態遷移Tijと因果関係のある状態ベクトルVのリストになる。因子候補リストにおいて、状態遷移Tijに対応付けて登録されている状態ベクトルVの要素になっている状態が、その状態遷移Tijが生じる原因となる因子の候補因子候補になる。因果学習部52では、状態遷移Tijと、状態ベクトルVとの間の因果関係が、因子候補リストにおいて、その状態遷移Tijに、状態ベクトルVを、条件付き確率pijVとともに対応付けて登録するという形で獲得される。学習認識部121ないし12M図3に記憶されるHMMが、図6に示したように、3個のHMM123である場合の、因果学習部52で行われる因果学習処理の具体例について説明する。例えば、HMM2の状態1から状態2への状態遷移T12については、Lの値を1と2とした場合に、HMM1ないし3からHMM2を除いたHMM1及び3の中からL個のHMMを選択したときの、各値のLについてのDM1CL通りのHMMの組み合わせcMとしてd12D、HMMの組み合わせ1,3,13が得られる。上述したように、HMMの組み合わせ1については、その組み合わせ1に含まれるHMM1の状態の数Nは、2であるから、HMMの組み合わせ1のHMM1の状態を要素とする状態ベクトルとしては、2通りのベクトルが存在する。また、HMMの組み合わせ3については、その組み合わせ3に含まれるHMM3の状態の数Nが3であるから、HMMの組み合わせ3のHMM3の状態を要素とする状態ベクトルとしては、3通りのベクトルが存在する。さらに、HMMの組み合わせ13については、その組み合わせ13に含まれるHMM1の状態の数Nが2であり、HMM3の状態の数Nが3であるから、HMMの組み合わせ13のHMM1及び3の状態を要素とする状態ベクトルとしては、6通りのベクトルが存在する。したがって、HMM2の状態遷移T12については、因子となり得るL次元の状態ベクトルVとして、11通りのベクトルが存在する。ここで、例えば、HMMの組み合わせ1のHMM1の状態を要素とする2通りの状態ベクトルの1つとしては、例えば、ベクトル1がある。また、例えば、HMMの組み合わせ13のHMM1及び3の状態を要素とする6通りの状態ベクトルの1つとしては、例えば、ベクトル11がある。以下、これらの状態ベクトル1及び11を例として、状態ベクトルVの要素となっている状態が現在状態になっているときに、状態遷移T12が生じる条件付き確率p12Vを求める方法について説明する。状態ベクトル1については、因果学習部52は、L次元の状態ベクトルVとしての状態ベクトル1に、HMM2の状態遷移T12の遷移元の状態S21を補って、HMM2の遷移元の状態S21を要素として必ず含むL1次元の状態ベクトルS21,V=S21,1としての状態ベクトル11を生成する。そして、因果学習部52は、状態ベクトルS21,V=S21,1としての状態ベクトル11に対応する状態カウンタのカウント値NS=NSを取得する。状態カウンタのカウント値NSが0である場合には、因果学習部52は、条件付き確率p121に、所定の値σ0を設定する。一方、状態カウンタのカウント値NSが1以上である場合には、因果学習部52は、状態ベクトルV=1と状態遷移T12とのセットに対応する遷移カウンタのカウント値NTij,V=NT12,1を取得する。そして、因果学習部52は、カウント値NS及びNT121を用いて、式2にしたがい、条件付き確率pijV=p121を求める。条件付き確率pijV=p121が閾値以上である場合には、因果学習部52は、その条件付き確率p121を、状態ベクトルV=1とともに、状態遷移T12に対応付けて、因子候補リストに登録する。次に、状態ベクトル11については、因果学習部52は、L次元の状態ベクトルVとしての状態ベクトル11に、HMM2の状態遷移T12の遷移元の状態S21を補って、HMM2の遷移元の状態S21を要素として必ず含むL1次元の状態ベクトルS21,V=S21,11としての状態ベクトル111を生成する。そして、因果学習部52は、状態ベクトルS21,V=S21,11としての状態ベクトル111に対応する状態カウンタのカウント値NS=NSを取得する。状態カウンタのカウント値NSが0である場合には、因果学習部52は、条件付き確率p1211に、所定の値σ0を設定する。一方、状態カウンタのカウント値NSが1以上である場合には、因果学習部52は、状態ベクトルV=11と状態遷移T12とのセットに対応する遷移カウンタのカウント値NTij,V=NT12,11を取得する。そして、因果学習部52は、カウント値NS及びNT12,11を用いて、式2にしたがい、条件付き確率pijV=p1211を求める。条件付き確率pijV=p1211が閾値以上である場合には、因果学習部52は、その条件付き確率p1211を、状態ベクトルV=11とともに、状態遷移T12に対応付けて、因子候補リストに登録する。以上のように、条件付き確率pijVが、状態ベクトルVとともに、状態遷移Tijに対応付けて登録された因子候補リストは、因果学習部52から因子候補リスト記憶部53に供給されて記憶される。次に、ステップS23のマージ処理図5について説明する。マージ処理では、マージ部54は、因子候補リスト記憶部53に記憶された因子候補リストに登録された状態ベクトルを必要に応じてマージし、不要な状態ベクトルをなくすことで、因子候補リストを整理する。マージ部54は、因子候補リストにおいて、同一の状態遷移Tijに対応付けて登録された2つの状態ベクトルを、マージ対象として、そのマージ対象としての2つの状態ベクトルのマージの可否を判定する。ここで、マージ対象となる2つの状態ベクトルは、因子候補リストにおいて、同一の状態遷移Tijに対応付けて登録されたL次元の状態ベクトルVと、その状態ベクトルVに、あるHMMmの状態Smiを補って得られる、そのHMMmの状態Smiを要素に含むL1次元の状態ベクトルSmi,Vとの2つの状態ベクトルである。なお、状態ベクトルVに状態Smiを補うHMMmは、状態遷移Tijが生じるHMMmでもなく、状態ベクトルVの要素になっている状態のHMMでもないHMMである。状態ベクトルVに、HMMmの状態Smiを補って得られるL1次元の状態ベクトルSmi,Vとしては、HMMmの状態の数Nだけのベクトル、すなわち、ベクトルSm1,V,Sm2,V,,SmN,Vが存在する。L1次元の状態ベクトルSmi,Vは、L次元の状態ベクトルVに、HMMmの状態Smiを補ったベクトルであるから、概念的には、L次元の状態ベクトルVは、L1次元の状態ベクトルSmi,Vの上位の状態ベクトルである状態ベクトルSmi,Vは、状態ベクトルVの下位の状態ベクトルであるということができる。状態ベクトルSmi,Vと、状態ベクトルVとのマージの可否は、下位の状態ベクトルとしての状態ベクトルSmi,Vを、上位の状態ベクトルとしての状態ベクトルVに含めて同じ状態ベクトルとして扱うことができるかどかによって判定される。すなわち、上位の状態ベクトルVの暫定確率値p0と、式3に従って求められる値σを、それぞれ、pUとσUと表すとともに、下位の状態ベクトルSmi,Vの暫定確率値p0と、式3に従って求められる値σを、それぞれ、pDとσDと表すこととする。マージ部54は、例えば、式4が満たされるかどうかによって、マージの可否を判定する。pUpD>α4ここで、式4において、αは、閾値αを調整する係数である。式4が満たされる場合、すなわち、上位の状態ベクトルVの暫定確率値pUと、下位の状態ベクトルSmi,Vの暫定確率値pDとが、大きく異なる場合、マージ部54は、上位の状態ベクトルVと、下位の状態ベクトルSmi,Vとのマージができないマージ不可と判定する。また、式4が満たされない場合、すなわち、上位の状態ベクトルVの暫定確率値pUと、下位の状態ベクトルSmi,Vの暫定確率値pDとが、それほど異ならない場合、マージ部54は、上位の状態ベクトルVと、下位の状態ベクトルSmi,Vとのマージができるマージ可能と判定する。マージの可否の判定は、上位の状態ベクトルVと、その上位の状態ベクトルVに、HMMmの各状態Smiを補って得られるN個の下位の状態ベクトルSmi,VであるベクトルSm1,V,Sm2,V,,SmN,Vそれぞれとを対象に行われる。上位の状態ベクトルVと、N個の下位の状態ベクトルSmi,Vそれぞれとマージの可否の判定において、N個の下位の状態ベクトルSmi,Vのうちの1以上がマージ不可であると判定された場合、マージ部54は、上位の状態ベクトルVを、因子候補リストから削除し、N個の下位の状態ベクトルSmi,Vを、そのまま残す。一方、上位の状態ベクトルVと、N個の下位の状態ベクトルSmi,Vそれぞれとマージの可否の判定において、N個の下位の状態ベクトルSmi,Vのすべてがマージ可能であると判定された場合、マージ部54は、N個の下位の状態ベクトルSmi,Vを、因子候補リストから削除することにより、そのN個の下位の状態ベクトルSmi,Vを、上位の状態ベクトルVにマージする。さらに、マージ部54は、上位の状態ベクトルVとともに、状態遷移Tijに対応付けられている状態ベクトルの中で、N個の下位の状態ベクトルSmi,Vのうちのいずれかを一部に含む状態ベクトルのさらに下位の状態ベクトルを、因子候補リストから削除することにより、上位の状態ベクトルVにマージする。以上のように、マージ部54では、同一の状態遷移に対応付けられた上位の状態ベクトルと、下位の状態ベクトルとの暫定確率値p0の差が、それほどない場合には、下位の状態ベクトルが、上位の状態ベクトルにマージされ、いわば、上位の状態ベクトルによって、下位の状態ベクトルがまとめて扱われることになる。なお、マージ処理は、より上位のベクトルを、優先的にマージ対象に選択して行うことができる。学習認識部121ないし12M図3に記憶されるHMMが、図6に示したように、3個のHMM123である場合の、マージ部54で行われるマージ処理の具体例について説明する。例えば、因子候補リストにおいて、m2のHMMであるHMM2のある状態遷移Tijに対応付けて、状態ベクトル1,11,12,13が登録されていることとする。ここで、状態ベクトル1,11,12,13のうちの、例えば、HMM1の状態のみが要素になっている状態ベクトル1を、上位の状態ベクトルとすると、状態遷移Tijが生じるHMM2でもなく、上位の状態ベクトル1の要素になっている状態のHMM1でもないHMMであるHMM3m3のHMMの状態Smi=S3iを、上位の状態ベクトル1に補って得られるL1次元の状態ベクトルS3i,1としては、HMM3の状態の数Nに等しい3個の状態ベクトルが存在し、その状態ベクトルS3i,1は、状態ベクトル11,12,13である。すなわち、上位の状態ベクトル1については、状態ベクトル11,12,13が、下位の状態ベクトルとなる。マージ部54は、上位の状態ベクトル1、並びに、下位の状態ベクトル11,12、及び、13それぞれの暫定確率値p0を計算し、その暫定確率値p0が式4を満たすかどうかによって、上位の状態ベクトル1と、下位の状態ベクトル11,12、及び、13それぞれとのマージの可否を判定する。そして、下位の状態ベクトル11,12、及び、13のすべてがマージ可能であると判定された場合、マージ部54は、その下位の状態ベクトル11,12,13を、因子候補リストから削除することにより、上位の状態ベクトル1にマージする。一方、下位の状態ベクトル11,12、及び、13のうちの1以上がマージ不可であると判定された場合、マージ部54は、上位の状態ベクトル1を、因子候補リストから削除し、下位の状態ベクトル11,12,13を、因子候補リストに、そのまま残す。以上のようなマージ処理によれば、ある状態遷移との因果関係を表すという点で必要性のある状態ベクトルだけを、因子候補リストに残すことができる。次に、ステップS24の因果推定処理図5について説明する。因果推定処理では、因果推定部55は、因子候補リスト記憶部53に記憶された因子候補リストマージ処理後の因子候補リストにおいて、プラン制御部36図3からの注目HMMの状態遷移に対応付けられている状態ベクトルを、注目HMMの状態遷移と因果関係がある原因HMMの状態因子の推定結果として読み出し、プラン制御部36に供給する戻す。なお、因子候補リストにおいて、注目HMMの状態遷移に対応付けられている状態ベクトルとして、複数の状態ベクトルが存在する場合には、因果推定部55は、注目HMMの状態遷移に対応付けられている状態ベクトルのうちの、例えば、条件付き確率が最大の1つの状態ベクトルや、条件付き確率が所定値以上の状態ベクトルからランダムに選択した1つの状態ベクトル等を、注目HMMの状態遷移と因果関係がある原因HMMの状態因子の推定結果として読み出す。[本技術を適用したエージェントの一実施の形態]図7は、本技術を適用したエージェントの一実施の形態の構成例を示すブロック図である。なお、図中、図3の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図7において、エージェントは、センサ部11、複数であるM個の学習認識部121ないし12M、アクション部14、アクション制御部41、及び、因果処理部60を有する。したがって、図7のエージェントは、センサ部11、M個の学習認識部121ないし12M、アクション部14、及び、アクション制御部41を有する点で、図3のエージェントと共通する。但し、図7のエージェントは、因果処理部42に代えて、因果処理部60が設けられている点で、図3の場合と相違する。因果処理部60は、図3の因果処理部42と同様に、因果学習を行い、プラン制御部36から、注目HMMプランの生成に用いられたHMMの状態遷移が供給されると、その注目HMMの状態遷移と因果関係がある原因HMMの状態因子としての状態ベクトルを、因果学習の結果に基づいて推定する因果推定を行う。さらに、因果処理部60は、エージェントが、因果学習に用いる因果学習用データを効率的に収集するためのプラン以下、因果獲得プランともいうを生成する因果獲得プラン生成処理を行い、その結果得られる因果獲得プランを、アクション制御部41のアクション信号生成部32に供給する。アクション信号生成部32は、因果処理部60から因果獲得プランが供給されると、その因果獲得プランとしてのスタート状態から目標状態までの状態遷移を生じさせるアクション信号を求め、アクション部14に供給する。アクション部14は、アクション信号生成部32からのアクション信号に従って駆動し、これにより、エージェントは、因果学習用データを効率的に収集するアクションを行う。[因果処理部60の構成例]図8は、図7の因果処理部60の構成を示すブロック図である。なお、図中、図4の因果処理部42の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。図8において、因果処理部60は、因果学習用データ取得部51ないし因果推定部55、並びに、情報量ゲイン算出部61、評価値算出部62、及び、決定部63を有する。したがって、因果処理部60は、因果学習用データ取得部51ないし因果推定部55を有する点で、図4の因果処理部42と共通し、情報量ゲイン算出部61ないし決定部63が新たに設けられている点で、図4の因果処理部42と相違する。情報量ゲイン算出部61、評価値算出部62、及び、決定部63では、因果学習用データを効率的に収集するための因果獲得プランを生成する因果獲得プラン生成処理が行われる。すなわち、情報量ゲイン算出部61は、学習認識部121ないし12Mから供給されるHMM1ないしMの現在状態に基づき、HMM1ないしMのうちのある1個のHMMを、状態遷移を生じさせるHMMmとして、そのHMMmにおいて状態遷移Tijが生じる原因となり得る因子としての状態ベクトルVが生起しHMMm以外の1以上のHMMの状態が現在状態になり、その因子としての状態ベクトルVの生起を原因として、状態遷移Tijが生じると仮定して、因子としての状態ベクトルVと状態遷移Tijとの因果関係について、因子としての状態ベクトルVを生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める。情報量ゲイン算出部61は、HMMmの状態遷移Tijについて、情報量ゲインを求めると、その情報量ゲインを、評価値算出部62に供給する。評価値算出部62は、因子としての状態ベクトルVの生起と状態遷移Tijとの因果関係を獲得するにあたって、各因子としての各状態ベクトルVを生起することの有効性を評価する評価値を、情報量ゲイン算出部61からの情報量ゲインに基づいて求め、決定部63に供給する。決定部63は、評価値算出部62からの評価値に基づいて、生起する因子としての状態ベクトルVの系列としての因果獲得プランを決定し、アクション信号生成部32図7に供給する。[エージェントが行うタスクの例]図9は、図7のエージェントが行うタスクの例である物体移動タスクを説明する図である。エージェントは、アクション部14として、アームを有し、アクションとして、アームを動かす移動することができる。図9では、2次元平面のテーブル上に1つの物体が置かれており、物体は、エージェントのアームが接触することによって、テーブル上を移動する。なお、テーブルの周囲には、枠壁があり、物体が、テーブルの端まで移動し、枠と接触した場合には、物体は、枠と接触している側には、それ以上移動せず、したがって、テーブルから落下しない。物体移動タスクでは、エージェントは、所定の位置に置かれた物体を、アームを動かすことによって、他の所定の位置まで移動させる。以下では、説明を簡単にするために、物体移動タスクを例に、図7のエージェントの処理を説明する。図10は、物体移動タスクにおいて、エージェントが観測する観測値を模式的に示す図である。エージェントでは、センサ部11において、図10に示すような、テーブル上のアームと物体の画像が撮影され、その画像が、観測値として、学習認識部121ないし12Mに供給される。ここで、物体移動タスクを行うために必要なHMMは、例えば、アームが接触することによって移動する物体移動物体の動きを学習するHMMと、エージェントのアームの動きを学習するHMMとの2個のHMMであるため、M2とし、学習認識部121に記憶されているHMM1が、物体の動きを学習し、学習認識部122に記憶されているHMM2が、アームの動きを学習することとする。以下、物体の動きを学習するHMM1を、物体HMMともいい、アームの動きを学習するHMM2をアームHMMともいう。また、説明を簡単にするため、エージェントでは、アームの観測値としてのアームの画像と、物体の観測値としての物体の画像とを、区別して別々に観測することができることとする。さらに、学習認識部121では、物体HMMのモデル学習処理、及び、物体HMMの現在状態最尤系列を認識する認識処理は、物体の観測値を用いて行われ、学習認識部122では、アームHMMのモデル学習処理、及び、アームHMMの現在状態最尤系列を認識する認識処理は、アームの観測値を用いて行われることとする。また、アクション学習部33図7では、アクション信号と、そのアクション信号に従ったアクションとしてのアームの動きを学習するアームHMMの状態遷移との関係の学習が、アクション学習として行われることとする。この場合、アクション学習によれば、アームHMMの各状態遷移Tijに、コントローラとしての関数mFijを対応付けたアクション生成情報が生成される。したがって、アクション信号生成部32は、そのようなアクション生成情報に基づき、アームHMMの、ある状態遷移を生じさせるアクション信号を生成する。また、ここでは、エージェントが、生得コントローラ35において生成されるアクション信号に従ってアクションを行っているときに観測されるアーム及び物体の観測値を用いて、アームHMM及び物体HMMの学習モデル学習処理が、既に終了していることとする。したがって、エージェントでは、物体HMMを記憶している学習認識部121において、物体の観測値を用いて、物体物体HMMの現在状態を認識することができ、アームHMMを記憶している学習認識部122において、アームの観測値を用いて、アームアームHMMの現在状態を認識することができる。さらに、エージェントでは、プランニング部31において、アームHMMの任意の状態を目標状態とするプランをプランニングし、アクション信号生成部32において、そのプランに従って、アクション信号を生成することで、アームを、現在状態に対応するテーブル上の位置から目標状態に対応するテーブル上の位置に移動することができる。但し、エージェントでは、因果学習部52図8において、まだ、因果学習が行われていない。このため、エージェントは、アームHMMのどの状態と、物体HMMのどの状態とが、テーブル上の同一の位置に対応するのか、つまり、アームHMMの現在状態を、どの状態にすると、アームが、物体と接触し、物体が移動するのかは、分からない認識できない。テーブル上の物体は、アームが接触することによって移動する。すなわち、物体の移動は、アームが物体の位置に移動したことを原因として生じる。したがって、テーブル上の所定の位置に置かれた物体を、他の所定の位置まで移動させるには、物体の移動が、アームがどの位置にあるときに生じるのかの情報、つまり、物体HMMの状態遷移と、その状態遷移が生じる原因となる得る因子としてのアームHMMの状態の生起物体HMMの状態遷移が生じたときにアームHMMにおいて現在状態になっている状態との因果関係を獲得する因果学習を行う必要がある。因果学習部52図8では、因果学習用データ取得部51において収集された因果学習用データを用いて、因果学習が行われるため、因果学習を行うには、因果学習用データ取得部51において、因果学習用データを収集する必要がある。因果学習用データ取得部51による因果学習用データの収集には、アームHMM及び物体HMMの現在状態が必要であり、したがって、エージェントは、アームを動かし、その後、アーム及び物体の観測値を観測して、アームHMM及び物体HMMの現在状態を認識することを繰り返す必要がある。物体HMMの状態遷移と、その状態遷移が生じる原因となり得るアームHMMの状態との因果関係を獲得するには、アームHMM及び物体HMMの状態の中でも、エージェントが動かしたアームが物体に接触したとき物体の接触に成功したときのアームHMM及び物体HMMの状態が、現在状態として、特に必要であると予想される。すなわち、エージェントが、物体に接触しないような位置でアームを動かし続け、物体がまったく移動しないケースだけのアーム及び物体を観測しても、物体HMMの状態遷移と、アームHMMの状態との因果関係を獲得することができる因果学習用データ以下、有効な因果学習用データともいうを収集することは、困難である。しかしながら、エージェントでは、因果学習を行う前においては、アームHMMの現在状態を、どの状態にすると、アームが、物体と接触して、物体が移動するのかが不明であるため、物体に接触するように、アームを動かすことは、困難である。アームHMM及び物体HMMの学習モデル学習処理の終了後、因果学習の前に、エージェントが、因果学習用データを収集するために、アームを動かす方法としては、例えば、アームを、ランダムに動かす方法や、あらかじめ、アームの動かし方を作り込んでおく方法、すなわち、生得的な動きを行うための知識である生得ルールをエージェントに与えておき、その生得ルールに従って、アームを動かす方法がある。しかしながら、アームを、ランダムに動かす方法では、例えば、マウスポインタが不可視に設定された状態で、任意の位置にあるウィンドウを所定位置に移動しようとする場合に、やみくもにマウスをクリックして動かしても、ウィンドウが移動しないことがほとんどであるのと同様に、アームが物体の接触しない物体の接触に失敗することがほとんどであり、有効な因果学習用データを収集するのに、膨大な時間を要する。また、生得ルールに従って、アームを動かす方法では、アームを、ランダムに動かす方法に比較して、物体の接触に成功しやすくなると予想されるが、それでも、有効な因果学習用データを収集するのに、相応の時間を要する。そこで、図7のエージェントでは、因果処理部60において、因果学習用データを効率的に収集するための因果獲得プランを生成する因果獲得プラン生成処理が行われる。そして、エージェントは、因果獲得プランに従って、アクションを行うアームを動かすことにより、有効な因果学習用データを、効率的に収集する。なお、因果処理部60図8は、因果獲得プラン生成処理の他、図4の因果処理部42と同様に、因果学習用データ取得処理、因果学習処理、マージ処理、及び、因果推定処理図5も行う。[因果獲得プラン生成処理]図11は、図8の因果処理部60が行う因果獲得プラン生成処理を説明するフローチャートである。ステップS31では、情報量ゲイン算出部61図8が、学習認識部121から、物体HMMの現在状態sinowが供給されるとともに、学習認識部122から、現在生起している因子である現在因子としてのアームHMMの現在状態cknowが供給されるのを待って、その物体HMMの現在状態sinow、及び、アームHMMの現在状態cknowを取得して、処理は、ステップS32に進む。ステップS32では、情報量ゲイン算出部61が、情報量ゲイン算出処理を行って、処理は、ステップS33に進む。すなわち、情報量ゲイン算出処理では、情報量ゲイン算出部61は、物体HMMの現在状態sinowにおいて、因子ckとしてのアームHMMの状態ckの生起現在状態cknowが状態ckであることを原因として、物体HMMの現在状態sinowから他の状態siへの状態遷移Tinowjが生じると仮定して、状態ckが生起し、その結果を観察することによって得られる情報量ゲインGinowjk、つまり、状態ckが生起し、その結果を観察したならば得られるであろう情報量ゲインGinowjkを、各因子ckとしてのアームHMMの状態c1c2cKのそれぞれについて算出する。そして、情報量ゲイン算出部61は、情報量ゲインGinowjkを、評価値算出部62図8に供給する。ここで、上述のM個のHMMのうちのHMMmの状態遷移Tijについては、状態ベクトルVの要素になるHMMの状態、つまり、M個のHMMからHMMmを除いたM1個のHMMの中から選択されたL個のHMMの組み合わせの各HMMの状態が、状態遷移Tijを生じさせる因子ckであり、したがって、因子c1c2cKの数Kは、LのパターンL12M1、M1個のHMMの中から選択することができるL個のHMMの組み合わせのパターン、及び、M1個のHMMの中から選択されたL個のHMMの組み合わせの各HMMの現在状態のパターンの数の乗算値となる。なお、ここでは、説明を簡単にするため、因子ckを、1個のHMMであるアームHMMの状態1次元の状態ベクトルにしており、したがって、因子ckの数総数Kは、アームHMMの状態の数に等しい。ステップS33では、評価値算出部62図8が、評価値算出処理を行って、処理は、ステップS34に進む。すなわち、評価値算出処理では、評価値算出部62は、物体HMMの状態遷移とアームHMMの状態との間の因果関係を獲得するにあたって、物体HMMの現在状態sinowにおいて、因子としてのアームHMMの状態c1c2cKのそれぞれが生起することの有効性を評価する評価値Vinow1,Vinow2,,VinowKを、情報量ゲイン算出部61からの情報量ゲインGinowjkに基づいて算出する。そして、評価値算出部62は、評価値Vinow1,Vinow2,,VinowKを、決定部63図8に供給する。ステップS34では、決定部63が、決定処理を行って、処理は、ステップS35に進む。すなわち、決定処理では、決定部63は、評価値算出部62からの評価値Vinow1,Vinow2,,VinowKに基づいて、生起する因子としてのアームHMMの状態が1個以上だけ並ぶ系列を、因果獲得プランに決定し、アクション信号生成部32図7に供給する。アクション信号生成部32は、決定部63からの最新の因果獲得プランに従い、その因果獲得プランとしての状態の系列のうちの、アームHMMの現在状態cknowから次の状態への状態遷移を生じさせるアクション信号を生成し、アクション部14に供給する。アクション部14は、アクション信号生成部32からのアクション信号に従って、アームを動かす。なお、このとき、アームが、物体に接触すれば、その接触によって、物体も動く。以上のように、アームが動いた後、センサ部11において、アーム及び物体の観測値が観測され、学習認識部121において、物体の観測値を用いて、物体HMMの現在状態sinowが認識されるとともに、学習認識部122において、アームの観測値を用いて、アームHMMの現在状態cknowが認識される。そして、情報量ゲイン算出部61は、学習認識部121から、物体HMMの現在状態sinowが供給されるとともに、学習認識部122から、アームHMMの現在状態cknowが供給されるのを待って、ステップS35において、学習認識部121及び122それぞれからの物体HMMの現在状態sinow、及び、アームHMMの現在状態cknowを取得して、処理は、ステップS36に進む。ステップS36では、情報量ゲイン算出部61は、物体HMMの今回の現在状態sinowが、前回1時刻前の現在状態から変化したかどうかと、因子としてのアームHMMの現在状態cknowが、決定部63で得られた最新の因果獲得プランの最後の状態であるかどうかとを判定する。ステップS36において、物体HMMの今回の現在状態sinowが、前回の現在状態から変化していないと判定され、かつ、因子としてのアームHMMの現在状態cknowが、最新の因果獲得プランの最後の状態でないと判定された場合、アクション信号生成部32において、最新の因果獲得プランに従い、その因果獲得プランとしての状態の系列のうちの、アームHMMの現在状態cknowから次の状態への状態遷移を生じさせるアクション信号が生成され、そのアクション信号に従って、アームが動いた後のアーム及び物体の観測値を用いて認識される物体HMMの現在状態sinow及びアームHMMの現在状態cknowが、学習認識部121及び122から情報量ゲイン算出部61に、それぞれ供給されるのを待って、処理は、ステップS35に戻る。ステップS35では、情報量ゲイン算出部61において、上述したように、学習認識部121及び122それぞれからの物体HMMの現在状態sinow、及び、アームHMMの現在状態cknowが取得され、以下、同様の処理が繰り返される。一方、ステップS36において、物体HMMの今回の現在状態sinowが、前回の現在状態から変化したと判定されるか、又は、アームHMMの現在状態cknowが、最新の因果獲得プランの最後の状態であると判定された場合、すなわち、直前に行われたアームの動きにおいて、アームが物体に接触し、物体が動いた場合、又は、アームが、因果獲得プランに従って動き、因果獲得プランの最後の状態に対応する位置にまで移動した場合、処理は、ステップS37に進み、情報量ゲイン算出部61は、因果獲得プラン生成処理の終了条件が満たされるかどうかを判定する。ステップS37において、因果獲得プラン生成処理の終了条件が満たされていないと判定された場合、処理は、ステップS32に戻り、以下、ステップS32ないしS37の処理が繰り返される。また、ステップS37において、因果獲得プラン生成処理の終了条件が満たされていると判定された場合、因果獲得プラン生成処理は終了する。なお、因果獲得プラン生成処理の終了条件としては、例えば、ステップS32ないしS37のループ処理が、あらかじめ決められた回数だけ行われたことや、因果獲得プラン生成処理が開始されてからのアクションの数アームを動かした回数が、あらかじめ決められた数に到達したことを採用することができる。また、因果獲得プラン生成処理の終了条件としては、例えば、ステップS33の評価値算出処理で求められる評価値Vinow1,Vinow2,,VinowKの中の最大値が、あらかじめ決められた閾値以下であること等を採用することができる。ここで、評価値Vinow1,Vinow2,,VinowKの中の最大値が、あらかじめ決められた閾値以下である場合とは、物体HMMの状態遷移とアームHMMの状態との間の因果関係を獲得するのに有効なアームHMMの状態がない場合、つまり、物体HMMの状態遷移とアームHMMとの間の因果関係を獲得するのに有効なアームHMMの状態が、最初からないアームHMMの状態が、物体HMMの状態遷移に影響しない場合や、物体HMMの状態遷移とアームHMMとの間の因果関係を獲得するのに有効なアームHMMの状態を現在状態とすることが何度も行われ、物体HMMの状態遷移とアームHMMとの間の因果関係を獲得するのに十分な因果学習用データの収集が完了している場合である。[情報量ゲイン算出処理]図12は、図11のステップS32の情報量ゲイン算出処理を説明するフローチャートである。ここで、物体HMMの状態siにおいて物体が状態siに対応する位置にあったときに、物体HMMの状態遷移Tijが生じる物体が状態siに対応する位置から状態sjに対応する位置に移動する確率を、ベース確率ともいい、pで表す。さらに、ベース確率pの確率分布を、Pと表すこととする。また、物体HMMの状態siにおいて、因子としてのアームHMMの状態ckが生起しアームHMMの現在状態が状態ckであり、物体HMMの状態遷移Tijが生じる確率を、因子条件付き確率ともいい、pで表す。さらに、因子条件付き確率pの確率分布を、Pと表すこととする。情報量ゲイン算出処理では、ステップS41において、情報量ゲイン算出部61は、物体HMMの現在状態sinowにおいて、状態遷移Tinowjが生じるベース確率pの確率分布Pと、因子としてのアームHMMの状態ckが生起し、物体HMMの現在状態sinowにおいて、状態遷移Tinowjが生じる因子条件付き確率pの確率分布Pとの間の距離である分布間距離Dinowjkを、物体HMMの状態遷移TinowjとアームHMMの状態ckとの間にある因果関係の程度を表す因果関係量として求め、処理は、ステップS42に進む。ここで、物体HMMにおいて、状態siにいた回数を、BSと表すとともに、その状態siからの他の状態sjへの状態遷移Tijが生じた回数を、BTと表すこととすると、ベース確率pの期待値pは、BTBSで表される。また、BS回だけいた物体HMMの状態siにおいて、因子としてのアームHMMの状態ckが生起した回数を、NSと表すとともに、そのアームHMMの状態ckが生起した場合に、物体HMMにおいて、状態siから他の状態sjへの状態遷移Tijが生じた回数を、NTと表すこととすると、因子条件付き確率pの期待値pは、NTNSで表される。回数BSBTNS、及び、NTは、情報量ゲイン算出部61において、学習認識部12、及び122から供給される物体HMMの現在状態、及び、アームHMMの現在状態に基づいてカウントされる。アームHMMの状態ckと物体HMMの状態遷移Tijとの間に因果関係があるほど、すなわち、アームHMMの現在状態が状態ckであることが、物体HMMの状態遷移Tijが生じることに大きく影響するほど、因子条件付き確率の期待値平均値p=NTNSは、ベース確率の期待値p=BTBSに比較して大きくなるので、ベース確率の確率分布Pと、因子条件付き確率の確率分布Pとの違いは、アームHMMの状態ckと物体HMMの状態遷移Tijとの間にある因果関係の程度である因果関係量を表す。そこで、情報量ゲイン算出処理では、因子としてのアームHMMの状態ckの、物体HMMの状態遷移Tijに対する因果関係量として、確率分布PとPとの違いとしての確率分布PとPとの間の分布間距離Dijkを採用し、その分布間距離Dijkが、アームHMMの状態ckの、物体HMMの状態遷移Tijに対する因果関係量として求められる。なお、情報量ゲイン算出処理では、アームHMMの状態ckが生起したことを原因として、物体HMMの状態遷移Tijが生じる場合、つまり、因子条件付き確率の期待値p=NTNSが、ベース確率の期待値p=BTBSより大きい場合NTNS>BTBSのアームHMMの状態ckと物体HMMの状態遷移Tijだけを、処理の対象因果関係量、ひいては、情報量ゲインを求める対象とする。アームHMMの状態ckが生起したことを原因として、物体HMMの状態遷移Tijが抑制されるという因果関係については、アームHMMの状態ckが生起したことを原因として、物体HMMの状態遷移Tijが生じないことが生じると考えることで、アームHMMの状態ckが生起したことを原因として、物体HMMの状態遷移Tijが生じる場合と同様に扱うことができる。ここで、ベース確率p、及び、因子条件付き確率pは、ベータ分布に従うこととする。この場合、期待値pが、BTBSで表されるベース確率pは、ベータ関数Bのベータ分布に従い、期待値pがNTNSで表される因子条件付き確率pは、ベータ関数Bのベータ分布に従う。また、確率分布PとPとの間の分布間距離Dijkとしては、確率分布どうしの任意の距離を採用することができるが、ここでは、例えば、KLダイバージェンスを採用する。確率分布PとPとのKLダイバージェンスを、DKLPと表すこととする。ステップS42では、情報量ゲイン算出部61は、物体HMMの現在状態sinowにおいて、因子としてのアームHMMの状態ckの生起を原因として、物体HMMの状態遷移Tinowjが生じると仮定して、アームHMMの状態ckの生起後のベース確率の確率分布P及び因子条件付き確率の確率分布Pを参照して、アームHMMの状態ckの生起後の因果関係量としての分布間距離Dinowjkを求め、処理は、ステップS43に進む。なお、ステップS42では、あくまで、因子としてのアームHMMの状態ckの生起を原因として、物体HMMの状態遷移Tinowjが生じると仮定するだけであり、したがって、実際に、アームHMMの状態ckを生起すること、つまり、アームHMMの現在状態が状態ckになるように、アームを動かすことは、行われない。すなわち、情報量ゲイン算出部61は、アームHMMの状態ckが生起し、かつ、物体HMMの状態遷移Tinowjが生じたと仮定して、物体HMMにおいて、状態sinowにいた回数を1だけインクリメントして、BS1回に更新するとともに、状態遷移Tinowjが生じた回数を1だけインクリメントして、BT1回に更新する。さらに、情報量ゲイン算出部61は、物体HMMの状態sinowにおいて、アームHMMの状態ckが生起した回数を1だけインクリメントして、NS1に更新するとともに、アームHMMの状態ckが生起した場合に、物体HMMにおいて、状態遷移Tinowjが生じた回数を1だけインクリメントして、NT1に更新する。その後、情報量ゲイン算出部61は、更新後の回数BS1回及びBT1回を用いて、ベース確率の確率分布Pを、ベータ関数Bのベータ分布に更新する。さらに、情報量ゲイン算出部61は、更新後の回数NS1回及びNT1回を用いて、因子条件付き確率の確率分布Pを、ベータ関数Bのベータ分布に更新する。そして、情報量ゲイン算出部61は、更新後のベータ分布で表されるベース確率の確率分布P及び因子条件付き確率の確率分布PのKLダイバージェンスDKLPを、アームHMMの状態ckの生起後の因果関係量Dinowjkとして求める。ここで、ステップS42での回数BSBTNS、及び、NTの更新は、因果関係量Dinowjkを求めることに関してのみ行われる。ステップS43では、情報量ゲイン算出部61は、因子としてのアームHMMの状態ckの仮の生起後の因果関係量Dinowjkから、生起前の因果関係量Dinowjkを減算した減算値DinowjkDinowjkを、因子としてのアームHMMの状態ckの情報量ゲインGinowjkとして求め、評価値算出部62に供給して、処理はリターンする。ここで、因子としてのアームHMMの状態ckが生起し、さらに、物体HMMの状態遷移Tijが生じた場合に、アームHMMの状態ckが生起することによって得られる情報量アームHMMの状態ckの生起の情報量ゲインGijkは、アームHMMの状態ckと物体HMMの状態遷移Tijとの間の因果関係量が、アームHMMの状態ckが生起する前と後とで、どれだけ増加したかに相当する。すなわち、アームHMMの状態ckが生起し、さらに、物体HMMの状態遷移Tijが生じた場合に、アームHMMの状態ckが生起することによって得られる情報量アームHMMの状態ckの情報量ゲインGijkは、物体HMMの状態遷移Tijとの間に因果関係があることをより明らかにするアームHMMの状態ckほど多い。以上のように、因子としてのアームHMMの状態ckが生起することによって得られる情報量情報量ゲインGijkは、アームHMMの状態ckと物体HMMの状態遷移Tijとの間の因果関係量が、アームHMMの状態ckが生起する前と後とで、どれだけ増加したかに相当するので、アームHMMの状態ckが生起した後の因果関係量分布間距離Dijkが、アームHMMの状態ckが生起する前の因果関係量距離Dijkから、どれだけ増加しているかによって表すことができる。すなわち、アームHMMの状態ckが生起し、さらに、物体HMMにおいて、状態遷移Tijが生じた場合に、アームHMMの状態ckが生起することによって得られる情報量アームHMMの状態ckの情報量ゲインGijkは、アームHMMの状態ckが生起した後の因果関係量Dijkから、アームHMMの状態ckが生起する前の因果関係量Dijkを減算した減算値Dijk-Dijkで表すことができる。そこで、情報量ゲイン算出処理では、アームHMMの状態ckが生起した後の因果関係量Dijkから、アームHMMの状態ckが生起する前の因果関係量Dijkを減算した減算値Dijk-Dijkが、アームHMMの状態ckの情報量ゲインGijkとして求められる。なお、ステップS41ないしS43の処理は、すべてのj=12NNは物体HMMの状態の数と、すべてのk=12KKは因子の総数で、ここでは、アームHMMの状態の数との組みのすべてについて行われ、物体HMMの現在状態sinowについて、物体HMMの状態sj現在状態sinowを除くとアームHMMの状態ckとの組み合わせごとの情報量ゲインGinowjkが求められる。図13は、ベータ分布で表される確率分布を示す図である。図13において、確率分布Pは、8回の試行において5回だけ成功した場合の確率分布であり、ベータ関数B=Bのベータ分布である。確率分布Pは、43回の試行において24回だけ成功した場合の確率分布であり、ベータ関数B=Bのベータ分布である。確率分布Pは、20回の試行において1回だけ成功した場合の確率分布であり、ベータ関数B=Bのベータ分布である。確率分布Pは、48回の試行において9回だけ成功した場合の確率分布であり、ベータ関数B=Bのベータ分布である。また、図13において、確率分布Pと、確率分布P,P、及び、PそれぞれとのKLダイバージェンスDKLは、それぞれ、140,42、及び、14になっている。さらに、図13において、確率分布P,P、及び、Pのうちの、確率分布Pに従う確率の期待値は、確率分布Pに従うベース確率の期待値より小さく、確率分布P及びPの期待値は、いずれも、確率分布Pの期待値より大きい。いま、確率分布Pが、ベース確率の確率分布Pであり、確率分布P,P、及び、Pが、それぞれ、因子c1,c2、及び、c3が生起した場合の因子条件付き確率の確率分布P,P、及び、Pであるとする。この場合、図12で説明したように、情報量ゲイン算出部61は、期待値が、ベース確率の期待値より大きい因子条件付き確率の因子だけを対象として、因果関係量、ひいては、情報量ゲインを求める。図13では、因子条件付き確率の確率分布P,P、及び、Pのうちの、確率分布Pに従う因子条件付き確率の期待値は、ベース確率の確率分布Pに従うベース確率の期待値より小さく、確率分布P及びPの期待値は、ベース確率の確率分布Pより大きい。したがって、情報量ゲイン算出部61では、因子c1及びc2については、情報量ゲインが求められ、因子c3については、情報量ゲインは、求められない例えば、0とされる。[評価値算出処理]図14は、図11のステップS33の評価値算出処理を説明するフローチャートである。評価値算出処理では、ステップS51において、評価値算出部62は、情報量ゲイン算出部61からの情報量ゲインGinowjkの期待値Ginowjkを求めて、処理は、ステップS52に進む。ここで、情報量ゲインGinowjkの期待値Ginowjkは、因子としてのアームHMMの状態ckが生起した場合に、物体HMMの現在状態sinowにおいて、状態遷移Tinowjが生じる因子条件付き確率pの期待値p=NTNSを用い、式Ginowjk=p×Ginowjkに従って求めることができる。ステップS52では、評価値算出部62は、物体HMMの状態遷移Tinowjの遷移確率ainowjを重みとして、情報量ゲインGinowjkの期待値Ginowjkを、物体HMMの現在状態sinowからの状態遷移Tinowjの遷移先となる状態sjのすべてに関して重み付け加算を行い、その結果得られる重み付け加算値Σを、因子としてのアームのHMMの状態ckの生起と物体HMMの状態遷移Tinowjとの因果関係を獲得するにあたって、因子としてのアームHMMの状態ckが生起することの有効性を評価する評価値Vinowkとして求めて、決定部63に供給し、処理はリターンする。ここで、評価値Vinowkは、式Vinowk=Σに従って求められる。式Vinowk=ΣのΣは、変数jを、1から、物体HMMの状態の数Nまでの範囲の整数に変えてのサメーションを表す。なお、ステップS51及びS52の処理は、すべてのk=12KKは因子の総数で、ここでは、アームHMMの状態の数について行われ、物体HMMの現在状態sinowについて、アームHMMの状態ckごとの評価値Vinowkが、アームHMMの状態ckを生起することの有効性を表す値として求められる。また、評価値Vinowkは、式Vinowk=Σに従って求める他、例えば、物体HMMの状態遷移Tijに対し、何らかの方法で、重要度wijが割り当てられている場合には、評価値Vinowkは、重要度wijを用いた式Vinowk=Σに従って求めることができる。[決定処理]図15は、図11のステップS34の決定処理を説明する図である。決定処理では、決定部63は、評価値算出部62からの評価値Vinowkに基づいて、生起する因子としてのアームHMMの状態が1個以上だけ並ぶ系列を、因果獲得プランに決定する。ここで、評価値Vinowkは、アームHMMの状態ckの生起と物体HMMの状態遷移Tinowjとの因果関係を獲得するにあたって、アームHMMの各状態c12cKを生起することの有効性を評価する値であり、したがって、評価値Vinowkが大きいアームHMMの状態ckを生起することによって、有効な情報、すなわち、アームHMMの状態ckと物体HMMの状態遷移Tinowjとの間に因果関係があることをより明らかにする情報を得ることができる。評価値Vinowkが大きいアームHMMの状態ckを即座に生起することができる場合、すなわち、アームHMMにおいて、現在状態cknowから評価値Vinowkが大きいアームHMMの状態ckへの直接の状態遷移が可能でありアームHMMにおいて、現在状態cknowから評価値Vinowkが大きいアームHMMの状態ckに状態遷移するように、アームを動かすことができ、したがって、アームHMMの状態遷移に制限がない場合、決定部63では、アームHMMの現在状態cknowと、評価値Vinowkが最大のアームHMMの状態ckとの2個の状態の系列が、因果獲得プランに決定される。一方、評価値Vinowkが大きいアームHMMの状態ckを即座に生起することができないことがある場合、すなわち、アームHMMにおいて、現在状態cknowを、評価値Vinowkが大きいアームHMMの状態ckにするには、複数回の状態遷移が必要であることがありアームHMMにおいて、現在状態cknowから評価値Vinowkが大きいアームHMMの状態ckに直接状態遷移するように、アームを動かすことができないことがあり、したがって、アームHMMの状態遷移に制限がある場合、決定部63では、アームHMMの現在状態cknowを最初の状態として、状態遷移をしていくことが可能な因子としての状態ckの系列である因子経路のうちの、その因子経路を構成する因子としての状態ckの評価値Vinowkの積算値の平均値重み付け平均値を含むが最大の因子経路が、因果獲得プランに決定される。すなわち、図15は、因子経路の例を示している。因子経路は、アームがテーブル上を動く軌道に対応し対応させることができ、したがって、アームHMMの現在状態cknowを最初の状態とする因子経路としては、図15に示すように、多数の状態系列が存在する。決定部63では、そのような多数の因子経路の中から、因子経路を構成する因子としての状態ckの評価値Vinowkの積算値の平均値が最大の因子経路が、因果獲得プランに決定される。なお、図15において、斜線を付してある部分は、評価値Vinowkが大きいアームHMMの状態ckに対応するテーブル上の位置を表しており、決定部63では、観念的には、そのような位置を多く通るようなアームの軌道に対応する因子経路が、因果獲得プランに決定される。図16は、図11のステップS34の決定処理を説明するフローチャートである。決定処理では、ステップS61において、決定部63は、アームHMMの現在状態cknowから、アームHMMの各状態ckまでの因子としての状態の系列である因子経路PS1PS2PSQを、因果獲得プランの候補プラン候補として求め、処理は、ステップS62に進む。ここで、決定部63は、例えば、アームHMMの1個の状態ckに対して、その状態ckまでの因子経路として、1個以上の系列を求める。したがって、因子経路PSqq=12Qの数Qは、アームHMMの状態ckの数K以上の数となるQ≧K。なお、アームHMMの現在状態cknowからアームHMMのある状態ckまでの因子経路としては、アームHMMの2個以上の状態をループするような状態遷移を許せば、無限の数の因子経路が存在することになるので、決定部63は、所定の制限条件の下で、因子経路を求めることにより、プラン候補として求められる因子経路の数を制限する。すなわち、アームHMMの状態遷移に制限がない場合例えば、エージェントが、ビデオゲームのキャラクタであり、瞬時に、任意の位置に、アームを移動することができる場合等、決定部63は、アームHMMの各状態ckについて、アームHMMの現在状態cknowと、アームHMMの状態ckとの2個の状態の系列を、因子経路PSkとして求める。したがって、アームHMMの状態遷移に制限がない場合、因子経路PSqq=12Qの数Qは、アームHMMの状態ckの数Kに一致する。また、アームHMMの状態遷移に制限がある場合、決定部63は、アームHMMの各状態ckについて、アームHMMの現在状態cknowを最初の状態として、アームHMMの状態ckまで状態遷移をしていくことが可能なアームHMMの状態の系列である因子経路の中から、プラン候補となる因子経路を、所定の探索方法で探索する。すなわち、決定部63は、アームHMMの状態c1,c2,,cKのそれぞれについて、アームHMMの現在状態cknowを、注目する注目状態に選択し、注目状態から直接に状態遷移が可能なアームHMMの状態を、新たな注目状態に選択することを繰り返すことで、アームHMMの現在状態cknowから状態ckに到達する状態の系列を、因子経路として探索する。なお、決定部63は、アームHMMの1個の状態ckについて、1個以上の因子経路を探索する。決定部63では、因子経路の探索において、例えば、因子経路を構成するアームHMMの状態の数探索深さを所定数に制限することができる。また、決定部63では、因子経路の探索において、例えば、新たな注目状態に選択するアームHMMの状態の数を所定数に制限する幅優先探索を行うことができる。さらに、決定部63では、因子経路の探索において、例えば、因子経路に、ループが含まれることを禁止することにより、ループを含まない状態の系列を、因子経路として探索することができる。なお、この場合、因子経路の系列長経路長因子経路を構成するアームHMMの状態の数が有限長になることが保証される。その他、決定部63では、例えば、動的計画法例えば、ダイクストラ法等によって、アームHMMの現在状態cknowから状態ckに到達する最短の状態系列系列長が最小の状態系列を、因子経路として探索することができる。ステップS62では、決定部63は、各因子経路PSqについて、因子経路PSqを構成する因子としてのアームHMMの状態ckの評価値Vinowkを積算し、その結果得られる評価値Vinowkの積算値の平均値以下、平均評価値ともいうAVqを、アームHMMの状態と物体HMMの状態遷移との因果関係を獲得するにあたって、因子経路PSqに従ったアクションを行うことの有効性以下、因子経路PSqの有効性ともいうを表す値として求めて、処理は、ステップS63に進む。ここで、上述の場合には、因子経路PSqを構成するアームHMMの状態ckの評価値Vinowkの積算値の平均値である平均評価値AVqを、因子経路PSqの有効性を表す値として求めることとしたが、因子経路PSqの探索において、系列長が一定値の因子経路が探索される場合には、因子経路PSqを構成するアームHMMの状態ckの評価値Vinowkの積算値を、因子経路PSqの有効性を表す値として求めることができる。なお、因子経路PS1PS2PSQそれぞれの系列長が一定値であるという条件の下では、因子経路PSqを構成するアームHMMの状態ckの評価値Vinowkの積算値は、その積算値の平均値AVqと等価であり、したがって、因子経路PSqを構成するアームHMMの状態ckの評価値Vinowkの積算値を求めることは、その積算値の平均値AVqを求めることと等価である。ステップS63では、決定部63は、因子経路PS1PS2PSQそれぞれの平均評価値AV1AV2AVQの中から、最大値以下、最大平均評価値ともいうAVqMAXを検出し、その最大平均評価値AVqMAXが得られる因子経路PSqMAXを、因果獲得プランに決定する。そして、決定部63は、因果獲得プランを、アクション信号生成部32に供給して、処理はリターンする。アクション信号生成部32は、決定部63からの因果獲得プランに従って、アクション信号を生成し、アクション部14に供給する。アクション部14は、アクション信号生成部32からのアクション信号に従って、エージェントのアームを駆動する。これにより、エージェントは、因果獲得プランを構成するアームHMMの状態が、順次、アームHMMの現在状態になっていくように、アームを動かしていく。以上のように、因果処理部60図8では、情報量ゲイン算出部61において、アームHMMの状態の生起を原因として、物体HMMの状態遷移が生じると仮定して、アームHMMの状態の生起と物体HMMの状態遷移との因果関係について、アームHMMの状態を生起し、その結果を観察することによって得られる得られるであろう情報量ゲインが求められる。そして、評価値算出部62において、アームHMMの状態と物体HMMの状態遷移との因果関係を獲得するにあたって、アームHMMの各状態を生起することの有効性を評価する評価値が、情報量ゲインに基づいて求められ、決定部63において、その評価値に基づいて、評価値の積算値の平均値が最大のアームHMMの状態の系列である因子経路が、生起するアームHMMの状態の系列である因果獲得プランに決定される。したがって、エージェントは、因果獲得プランに従ってアクションを行うことにより、アームHMMの状態と物体HMMの状態遷移との因果関係を獲得するにあたって、情報量の多い因果学習用データを収集すること、すなわち、有効な因果学習用データを、効率的に収集することができ、因果関係を獲得するのに要する時間を短縮することができる。[シミュレーション]図17は、因果学習用データを収集して、因果学習を行い、その因果学習の結果因子候補リストを用いた因果推定を実行しながら行った物体移動タスクのシミュレーションの結果を示す図である。シミュレーションでは、生得コントローラ35が出力するアクション信号に従って、エージェントが1万回のアクションを行う間に観測される観測値を用いて、アームHMM及び物体HMMの学習を行い、その後、エージェントに、因果学習用データの収集のためのアクションを行わせ、因果学習用データを収集した。ここで、因果学習用データの収集のために、エージェントが行ったアクションを因果収集アクションともいう。シミュレーションでは、エージェントが、因果収集アクションによって収集した因果学習用データを用いて因果学習を行い、その因果学習の結果因子候補リストを用いた因果推定を行いながら、物体移動タスクを行った。物体移動タスクでは、エージェントは、アームを動かして、物体を、スタート位置からゴール位置まで移動させるが、シミュレーションでは、100組の2カ所の位置の組みをランダムに決定し、その100組それぞれについて、2カ所の位置のうちの一方をスタート位置とするとともに、他方をゴール位置として、物体移動タスクを行った。図17は、エージェントが学習のために行ったアクションの回数と、物体移動タスクの成功率との関係を示している。図17において、横軸は、エージェントが学習のために行ったアクションの回数を、ログスケールで示している。上述したように、シミュレーションでは、エージェントは、アームHMM及び物体HMMの学習に用いるデータ観測値を収集するのに、1万回のアクションを行った後、因果学習用データの収集のための因果収集アクションを行うので、1万回を超えるアクションの回数が、因果収集アクションが行われた回数となる。図17において、縦軸は、横軸の回数のアクション因果収集アクションが行われた後、その因果収集アクションによって収集された因果学習用データを用いた因果学習を行い、その因果学習の結果因子候補リストを用いた因果推定を行いながら、物体移動タスクを行ったときの成功率を示している。シミュレーションでは、所定の時間内に、物体を、ゴール位置に移動することができなかった場合等の一定の場合を、物体移動タスクを中止する中止条件として設定し、中止条件に該当せずに、物体を、ゴール位置に移動することができた場合を、物体移動タスクの成功としてカウントするとともに、物体をゴール位置に移動する前に中止条件に該当した場合を、物体移動タスクの失敗としてカウントすることによって、物体移動タスクの成功率を求めた。また、シミュレーションでは、因果処理部60で得られる因果獲得プランに従ったアクションを、因果収集アクションとして行った場合以下、因果獲得プランとも記載する、いわゆる作り込みのルール例えば、物体を動かすには物体を押せばよいや物体を壁に押し付けると動かなくなってしまうので、そういう時は反対側に回り込んで押せばよいというような、人が持つ知識をフルに使って実装されたルールに従ったアクションを、因果収集アクションとして行った場合以下、作り込みとも記載する、及び、ランダムなアクションを、因果収集アクションとして行った場合以下、ランダムとも記載するのそれぞれについて、物体移動タスクの成功率を求めた。なお、シミュレーションにおいて、因果獲得プラン、作り込み、及び、ランダムでは、因果収集アクション以外の条件、すなわち、例えば、因果収集アクションによって収集した因果学習用データを用いての因果学習や、その因果学習の結果を用いての因果推定を行うモジュール等は、すべて共通化した。図17は、因果獲得プラン、作り込み、及び、ランダムそれぞれの場合の物体移動タスクの成功率を示している。図17によれば、成功率が100の物体移動タスクを実行するには、作り込みでは、因果獲得プランの場合の5倍の回数の因果収集アクションを行うことが必要であり、ランダムでは、作り込みの場合の10倍の回数の因果収集アクションを行うことが必要であることを確認することができる。したがって、因果獲得プランによれば、作り込みと比較した場合には、15の時間で、有効な因果学習用データを収集することができ、ランダムと比較した場合には、150の時間で、有効な因果学習用データを収集することができる。[本技術を適用したコンピュータの説明]次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。そこで、図18は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。あるいはまた、プログラムは、リムーバブル記録媒体111に格納記録しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CDROM,MOディスク,DVD、磁気ディスク、半導体メモリ等がある。なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。コンピュータは、CPU102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCDやスピーカ等で構成される。ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理例えば、並列処理あるいはオブジェクトによる処理も含む。また、プログラムは、1のコンピュータプロセッサにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。また、本実施の形態では、本技術を、物体移動タスクに適用した場合について説明したが、本技術は、物体移動タスク以外の任意のタスクに適用可能である。さらに、本実施の形態では、1個のHMMであるアームHMMの状態の生起を、因子ckとして採用したが、因子ckとしては、複数のHMMそれぞれの状態を要素とする状態ベクトルを採用することができる。なお、本技術は、以下の構成をとることができる。[1]状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、前記評価値に基づいて、生起する因子を決定する決定部とを備える情報処理装置。[2]前記情報量ゲイン算出部は、所定の状態において、状態遷移が生じる確率であるベース確率の確率分布と、所定の因子が生起し、前記所定の状態において、前記状態遷移が生じる確率である因子条件付き確率の確率分布との間の違いを表す分布間距離を、前記所定の因子と前記所定の状態からの前記状態遷移との間にある因果関係の程度を表す因果関係量として求め、前記所定の因子を生起し、その結果を観察した後の前記因果関係量と、所定の因子が生起する前の前記因果関係量との差分を、前記情報量ゲインとして求める[1]に記載の情報処理装置。[3]前記分布間距離は、前記ベース確率の確率分布、及び、前記因子条件付き確率の確率分布のKLダイバージェンスである[2]に記載の情報処理装置。[4]前記状態遷移が生じる確率は、ベータ分布に従う[2]又は[3]に記載の情報処理装置。[5]所定の状態において、他の所定の状態への状態遷移が生じる確率であるベース確率の期待値が、所定の状態にいた回数BSと、前記所定の状態からの前記他の所定の状態への状態遷移が生じた回数BTとを用いて、BTBSで表され、所定の因子が生起し、所定の状態において、他の所定の状態への状態遷移が生じる確率である因子条件付き確率の期待値が、前記BS回だけいた前記所定の状態において、前記所定の因子が生起した回数NS回と、前記所定の因子が生起した場合に、前記所定の状態から前記他の所定の状態への状態遷移が生じた回数NTとを用いて、NTNSで表され、前記ベース確率は、ベータ関数Bのベータ分布に従い、前記因子条件付き確率は、ベータ関数Bのベータ分布に従う[4]に記載の情報処理装置。[6]前記評価値算出部は、前記状態遷移モデルの状態遷移の遷移確率を重みとして、前記情報量ゲインの期待値の重み付け加算を行うことにより得られる重み付け加算値を、前記所定の因子と前記所定の状態からの状態遷移との因果関係を獲得するのに、前記所定の因子を生起することの有効性を評価する前記評価値として求める[1]ないし[5]のいずれかに記載の情報処理装置。[7]前記決定部は、現在生起している因子である現在因子から、各因子が生起するまでの因子の系列である因子経路を求め、前記因子の評価値の積算値の平均値が最大の前記因子経路を、因果関係を獲得するために生起する因子の系列である因果獲得プランに決定する[1]ないし[6]のいずれかに記載の情報処理装置。[8]前記決定部は、前記因子経路を構成する因子の数を制限して、前記因子経路を求める[7]に記載の情報処理装置。[9]前記決定部は、ループを含まない因子の系列を、前記因子経路として求める[7]に記載の情報処理装置。[10]前記決定部は、前記現在因子から各因子までの最短経路を、前記因子経路として求める[7]に記載の情報処理装置。[11]前記状態遷移モデルは、HMMであり、エージェントにおいて観測される観測値を用いて学習が行われた複数のHMMのうちの1つのHMMである第1のHMMの現在状態と、他の1つ以上のHMMである第2のHMMの現在状態とが、前記観測値を用いて認識される場合において、前記情報量ゲイン算出部は、前記第2のHMMの各状態にいることを各因子とし、前記第2のHMMの各状態にいることが原因となって、前記第1のHMMの現在状態からの状態遷移が生じると仮定して、前記第2のHMMの各状態と前記第1のHMMの状態遷移との因果関係について、前記第2のHMMの各状態にいることによって得られる前記情報量ゲインを求め、前記評価値算出部は、前記第1のHMMの状態遷移の遷移確率を重みとして、前記情報量ゲインの期待値を重み付け加算することにより得られる重み付け加算値を、前記第2のHMMの状態と前記第1のHMMの状態遷移との因果関係を獲得するのに、前記第2のHMMの各状態にいることの有効性を評価する評価値として求め、前記決定部は、前記第2のHMMの現在状態から、前記第2のHMMの各状態に到達するまでの状態の系列を、前記因子経路として求め、前記評価値の積算値の平均値が最大の因子経路である前記第2のHMMの状態の系列を、前記因果獲得プランに決定する[7]に記載の情報処理装置。[12]前記第2のHMMの状態遷移に制限がない場合、前記第2のHMMの現在状態と、前記第2のHMMの各状態との系列を、前記因子経路として求める[11]に記載の情報処理装置。[13]前記第2のHMMは、アームを動かすアクションが可能なエージェントの前記アームの動きを学習したHMMであり、前記第1のHMMは、前記アームが接触することによって移動する移動物体の動きを学習したHMMであり、前記エージェントは、前記因果獲得プランとしての系列を構成する前記第2のHMMの状態が、順次、現在状態になっていくように、前記アームを動かす[11]又は[12]に記載の情報処理装置。[14]状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求め、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求め、前記評価値に基づいて、生起する因子を決定するステップを含む情報処理方法。[15]状態遷移モデルにおいて状態遷移が生じる原因となり得る因子が生起し、その因子の生起を原因として、状態遷移が生じると仮定して、前記因子と状態遷移との因果関係について、前記因子を生起し、その結果を観察することによって得られる情報量である情報量ゲインを求める情報量ゲイン算出部と、因子と状態遷移との因果関係を獲得するにあたって、各因子を生起することの有効性を評価する評価値を、前記情報量ゲインに基づいて求める評価値算出部と、前記評価値に基づいて、生起する因子を決定する決定部として、コンピュータを機能させるためのプログラム。"