(57)【要約】【課題】次元に呪われることなく、予測学習を行う。【解決手段】予測部１３１は、自律エージェントが、時刻ｔに取ったアクションＡtとセンサ入力Ｓtから、時刻ｔ＋１のセンサ入力が取る値を常に予測学習し、学習に、統計学習による関数近似器を使う。ゴール生成部１３２は、予め設計されてタスクに応じた目標状態を計画部１３３に与える。計画部１３３は、現在の状態から目標状態に達するまでの行動シーケンスをプランする。目標までのプランが生成できた場合、そのシーケンスが順に実行され、プランが成功した場合、目標状態を固定入力として、観測した状態と選択したアクションの関係が学習される。制御部１３４は、計画部１３３による計画と環境とを教師とした学習を実行し、自律エージェントのアクションを制御し、アクションが成功した場合、その入出力関係を学習する。本発明は、自律エージェントの自律行動制御モデルに適用できる。【選択図】図６
2007018490.tif 000002
【特許請求の範囲】
【請求項１】
環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の行動を制御する行動制御装置において、
前記行動と前記環境の状態の変化を学習し、これを基に、所定の行動に対する前記環境の状態の変化を予測する予測手段と、
前記予測手段による予測に基づいて、現在の状態から目標状態に達するまでの行動シーケンスを計画する計画手段と、
前記計画手段により計画された前記行動シーケンスに対して、前記行動を制御するとともに、前記行動により前記目標状態に到達した場合、その入出力関係を学習する制御手段と
を備える行動制御装置。
【請求項２】
前記計画手段に、タスクに応じた目標状態を与える目標状態付与手段
を更に備える請求項１に記載の行動制御装置。
【請求項３】
前記予測手段は、前記計画手段により計画された前記行動シーケンスに従って前記制御手段により制御される前記行動により前記目標状態に到達した場合と前記目標状態に到達しない場合のいずれにおいても、前記行動と環境の状態の変化を学習する
請求項１に記載の行動制御装置。
【請求項４】
前記予測手段は、前記学習に、関数近似を用いる
請求項１に記載の行動制御装置。
【請求項５】
前記関数近似は、Support Vector Regressionである
請求項４に記載の行動制御装置。
【請求項６】
前記制御手段は、前記入出力関係の学習に、関数近似を用いる
請求項１に記載の行動制御装置。
【請求項７】
前記関数近似は、Support Vector Regressionである
請求項６に記載の行動制御装置。
【請求項８】
前記計画手段は、ヒューリスティクス探索の手法を用いて、前記行動シーケンスを計画する
請求項１に記載の行動制御装置。
【請求項９】
前記ヒューリスティクス探索の手法は、Ａ*サーチである
請求項８に記載の行動制御装置。
【請求項１０】
前記制御手段は、現在の前記環境と、前記目標状態の入力を受け、前記行動を出力し、
前記計画手段は、前記制御手段により出力された前記行動を基に、前記行動シーケンスを計画する
請求項８に記載の行動制御装置。
【請求項１１】
前記計画手段は、前記制御手段により出力された前記行動に対して、１以上の所定数の摂動を加えたものをサンプルし、探索のための行動選択肢に用いる
請求項１０に記載の行動制御装置。
【請求項１２】
前記計画手段は、０をピークとする確率分布に基づいた前記摂動を用いる
請求項１１に記載の行動制御装置。
【請求項１３】
前記計画手段は、前記確率分布の分散値を前記制御手段の学習の進捗に応じて設定する
請求項１２に記載の行動制御装置。
【請求項１４】
前記計画手段は、前回計画された前記行動シーケンスのそれぞれの行動によって得られると予測される第１の環境と、前記制御手段が前記環境と前記目標状態の入力を受けて出力する前記行動によって得られると予測される第２の環境とを比較し、前記第１の環境と前記第２の環境との誤差の分散を求め、前記誤差の分散が所定の閾値よりも小さい場合、前記確率分布の分散値を減少させ、前記誤差の分散が所定の閾値よりも大きい場合、前記確率分布の分散値を増加させる
請求項１２に記載の行動制御装置。
【請求項１５】
前記計画手段は、前回計画された前記行動シーケンスのそれぞれの行動によって得られると予測される第１の環境と、前記制御手段が前記環境と前記目標状態の入力を受けて出力する前記行動によって得られると予測される第２の環境とを比較し、前記第１の環境と前記第２の環境との誤差の積算値を求め、前記確率分布の分散値を、前記誤差の積算値に比例する値とする
請求項１２に記載の行動制御装置。
【請求項１６】
前記計画手段は、前回計画された前記行動シーケンスを実行した結果得られると予測される第１の環境と、前記制御手段により出力される前記行動に対して前記予測手段により予測される前記環境の変化の結果到達すると予測される第２の環境との誤差を求め、前記誤差が所定の閾値よりも小さい場合、前記確率分布の分散値を減少させ、前記誤差が所定の閾値よりも大きい場合、前記確率分布の分散値を増加させる
請求項１２に記載の行動制御装置。
【請求項１７】
前記計画手段は、前回計画された前記行動シーケンスを実行した結果得られると予測される第１の環境と、前記制御手段により出力される前記行動に対して前記予測手段により予測される前記環境の変化の結果到達すると予測される第２の環境との誤差を求め、前記確率分布の分散値を、前記誤差に比例する値とする
請求項１２に記載の行動制御装置。
【請求項１８】
環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の行動を制御する行動制御装置の行動制御方法において、
前記行動と前記環境の状態の変化を学習する予測学習ステップと、
前記予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から目標状態に達するまでの行動シーケンスを計画する計画ステップと、
前記計画ステップの処理により計画された前記行動シーケンスに対して、前記行動を制御する行動制御ステップと、
前記行動制御ステップの処理により制御された前記行動により前記目標状態に到達した場合、その入出力関係を学習する制御学習ステップと
を含む行動制御方法。
【請求項１９】
環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の行動を制御する処理をコンピュータに実行させるためのプログラムにおいて、
前記行動と前記環境の状態の変化を学習する予測学習ステップと、
前記予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から目標状態に達するまでの行動シーケンスを計画する計画ステップと、
前記計画ステップの処理により計画された前記行動シーケンスに対して、前記行動を制御する行動制御ステップと、
前記行動制御ステップの処理により制御された前記行動により前記目標状態に到達した場合、その入出力関係を学習する制御学習ステップと
を含む処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行動制御装置および行動制御方法、並びに、プログラムに関し、特に、自律行動を制御する場合に用いて好適な、行動制御装置および行動制御方法、並びに、プログラムに関する。
【背景技術】
【０００２】
環境からの報酬だけを頼りに、それを達成するための制御方法を試行錯誤しながら学習していくような機械学習は、広い意味で、強化学習と称されている（例えば、非特許文献１）。
【０００３】
【非特許文献１】「強化学習」Richard S.Sutton, Andrew G. Barto. 三上貞芳  皆川雅章訳  ２０００．１２．２０  第１版  森北出版（株）
【０００４】
強化学習の問題定義では、環境を観測するセンサの観測結果から作られる状態空間において、式（１）で示されるマルコフ過程（現在の状態が一つ前の状態だけに依存する）が成り立っているときに、未来の報酬の期待値を示す状態価値を、式（２）で示されるBellman（ベルマン）の最適方程式から導出することができる。この価値が最も高くなる行動を選択することが、最適行動になる。
【０００５】
【数１】
2007018490.tif 000003
・・・（１）
【０００６】
【数２】
2007018490.tif 000004
・・・（２）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
行動に対する状態の変化が既知であれば（換言すれば、行動に対する状態の変化のモデルがあれば）、動的計画法などにより状態空間を繰り返しスイープすることで、解を導出することができる。しかしながら、モデルが無かったり、モデルが不正確である場合には、解を求めることはできない。また状態空間の次元数が増えると、スイープするべき状態数が指数的に増加し（いわゆる、次元の呪い）、演算に必要となるメモリの容量や、演算にかかる時間が、現実的な範囲ではなくなる。
【０００８】
そのため、実際に行動を取りながら、各状態で取った行動に割引き報酬を与えることで、各状態での行動価値を定義し、その状態での最大の価値を与える行動を選択することで、最適な行動を行うＱ学習などが提案されている。
【０００９】
次の式（３）に、Ｑ学習の学習則を、式（４）に、行動選択則を示す。
【００１０】
【数３】
2007018490.tif 000005
・・・（３）
【００１１】
【数４】
2007018490.tif 000006
・・・（４）
【００１２】
Ｑ学習では、予めモデルを定義することなく、実際の環境を教師として学習できるため、様々なタスクに応用されている。しかしながら、Ｑ学習は、解を導出するまでに多くの報酬と試行を要してしまう。また、予測モデルと行動制御が分離されていないために、同じエージェントであっても、既に学習したタスクとは異なるタスクを解くためには、また一から学習しなおす必要がある。また、Ｑ学習は、状態空間が大きい場合には、実エージェントでは十分な試行回数が得られないという、ＤＰ法と同様の問題を孕んでいる。
【００１３】
これに対して、アクター・クリティック学習では、期待報酬を学習するクリティックと期待報酬の誤差（ＴＤ誤差）に基づいて行動を改善させていくアクターを学習させる。これらの学習にはニューラルネットワークなどの教師有り学習方法が使われるため、状態数が大きくても対応することが可能であるが、局所解にはまったり、収束が遅いことが問題となる。
【００１４】
また、人間が普段知的活動を行う際の思考形態を振り返ってみると、人間がある目標を達成しようとしたときには、既存の知識やスキル（予測モデル）をどのように組み合わせて順番に実行するかを頭の中で計画し（すなわち、予測モデルを使ったリハースを行い）、その計画に基づいて、実際に行動を行う。そして、人間の行動においては、計画を実行してもうまくいかなかった場合（ある目標が達成できなかった場合）には、何度も同じようなシーケンスを反復することでスキルを向上させていくといった行動パターンが随所に見られる。
【００１５】
こうした行動のパターンの発現は、強化学習で漸近的に全ての状態空間が次第に解に近づいていった場合の行動パターンとはまったく違うものであると思われる。人間と接する知的エージェントの行動を設計する際には、いかに人間らしく問題解決を行うかというのも一つの重要なファクターである。
【００１６】
本発明はこのような状況に鑑みてなされたものであり、広大な状態空間を効率的に探索することで、目標を達成することができる行動シーケンスを生成することができるようにするものである。
【課題を解決するための手段】
【００１７】
本発明の一側面の行動制御装置は、行動と環境の状態の変化を学習し、これを基に、所定の行動に対する環境の状態の変化を予測する予測手段と、予測手段による予測に基づいて、現在の状態から目標状態に達するまでの行動シーケンスを計画する計画手段と、計画手段により計画された行動シーケンスに対して、行動を制御するとともに、行動により目標状態に達成した場合、その入出力関係を学習する制御手段とを備える。
【００１８】
計画手段にタスクに応じた目標状態を与える目標状態付与手段を更に備えさせるようにすることができる。
【００１９】
予測手段には、計画手段により計画された行動シーケンスに従って制御手段により制御される行動により目標状態に到達した場合と目標状態に到達しない場合のいずれにおいても、行動と環境の状態の変化を学習させるようにすることができる。
【００２０】
予測手段には、学習に、関数近似を用いらせるようにすることができる。
【００２１】
制御手段には、入出力関係の学習に、関数近似を用いらせるようにすることができる。
【００２２】
また、これらの関数近似は、Support Vector Regressionであるものとすることができる。
【００２３】
計画手段には、ヒューリスティクス探索の手法を用いて、行動シーケンスを計画させるようにすることができる。
【００２４】
このヒューリスティクス探索の手法は、Ａ＊サーチであるものとすることができる。
【００２５】
制御手段には、現在の環境と、目標状態の入力を受け、行動を出力させるようにすることができ、計画手段には、制御手段により出力された行動を基に、行動シーケンスを計画させるようにすることができる。
【００２６】
計画手段には、制御手段により出力された行動に対して、１以上の所定数の摂動を加えたものをサンプルさせ、探索のための行動選択肢に用いらせるようにすることができる。
【００２７】
計画手段には、０をピークとする確率分布に基づいた摂動を用いらせるようにすることができる。
【００２８】
計画手段には、確率分布の分散値を制御手段の学習の進捗に応じて設定させるようにすることができる。
【００２９】
計画手段には、前回計画された行動シーケンスのそれぞれの行動によって得られると予測される第１の環境と、制御手段が環境と目標状態の入力を受けて出力する行動によって得られると予測される第２の環境とを比較させ、第１の環境と第２の環境との誤差の分散を求めさせ、誤差の分散が所定の閾値よりも小さい場合、確率分布の分散値を減少させ、誤差の分散が所定の閾値よりも大きい場合、確率分布の分散値を増加させるようにすることができる。
【００３０】
計画手段には、前回計画された行動シーケンスのそれぞれの行動によって得られると予測される第１の環境と、制御手段が環境と目標状態の入力を受けて出力する行動によって得られると予測される第２の環境とを比較させ、第１の環境と第２の環境との誤差の積算値を求めさせ、確率分布の分散値を、誤差の積算値に比例する値とさせるようにすることができる。
【００３１】
計画手段には、前回計画された行動シーケンスを実行した結果得られると予測される第１の環境と、制御手段により出力される行動に対して予測手段により予測される環境の変化の結果到達すると予測される第２の環境との誤差を求めさせ、誤差が所定の閾値よりも小さい場合、確率分布の分散値を減少させ、誤差が所定の閾値よりも大きい場合、確率分布の分散値を増加させるようにすることができる。
【００３２】
計画手段には、前回計画された行動シーケンスを実行した結果得られると予測される第１の環境と、制御手段により出力される行動に対して予測手段により予測される環境の変化の結果到達すると予測される第２の環境との誤差を求めさせ、確率分布の分散値を、誤差に比例する値とさせるようにすることができる。
【００３３】
本発明の一側面の行動制御方法は、環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の行動を制御する行動制御装置の行動制御方法であって、行動と環境の状態の変化を学習する予測学習ステップと、予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から目標状態に達するまでの行動シーケンスを計画する計画ステップと、計画ステップの処理により計画された行動シーケンスに対して、行動を制御する行動制御ステップと、行動制御ステップの処理により制御された行動により目標状態に到達した場合、その入出力関係を学習する制御学習ステップとを含む。
【００３４】
本発明の一側面のプログラムは、環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の行動を制御する処理をコンピュータに実行させるプログラムであって、行動と環境の状態の変化を学習する予測学習ステップと、予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から目標状態に達するまでの行動シーケンスを計画する計画ステップと、計画ステップの処理により計画された行動シーケンスに対して、行動を制御する行動制御ステップと、行動制御ステップの処理により制御された行動により目標状態に到達した場合、その入出力関係を学習する制御学習ステップとを含む処理をコンピュータに実行させる。
【００３５】
本発明の一側面においては、行動と環境とが取得され、それらの状態の変化が学習されて、学習を基に、所定の行動に対する環境の状態の変化が予測され、その予測に基づいて、現在の状態から目標状態に達するまでの行動シーケンスが計画され、計画された行動シーケンスを基に、行動が制御される。そして、行動により目標状態に達成した場合、その入出力関係が学習される。
【発明の効果】
【００３６】
本発明の一側面によれば、行動を制御することができ、特に、次元に呪われることなく予測学習を行い、自律行動を制御し、自律行動が成功した場合は、成功時の入出力を更に学習することができる。
【発明を実施するための最良の形態】
【００３７】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３８】
更に、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００３９】
本発明の一側面の行動制御装置は、行動と環境の状態の変化を学習し、これを基に、所定の行動に対する環境の状態の変化を予測する予測手段（例えば、図６の予測部１３１）と、予測手段による予測に基づいて、現在の状態から目標状態に達するまでの行動シーケンスを計画する計画手段（例えば、図６の計画部１３３）と、計画手段により計画された行動シーケンスに対して、行動を制御するとともに、行動により目標状態に到達した場合、その入出力関係を学習する制御手段（例えば、図６の制御部１３４）とを備える。
【００４０】
計画手段に、タスクに応じた目標状態を与える目標状態付与手段（例えば、図６のゴール生成部１３２）を更に備えるようにすることができる。
【００４１】
制御手段（例えば、図１４の制御部２０２）は、現在の環境と、目標状態の入力を受け、行動（例えば、行動出力値at）を出力することができ、計画手段（例えば、図１４の計画部２０１）は、制御手段により出力された行動を基に、行動シーケンスを計画することができる。
【００４２】
計画手段は、制御手段により出力された行動に対して、１以上の所定数の摂動を加えたものをサンプルし、探索のための行動選択肢（例えば、式（１４）に示される行動出力値at´）に用いることができる。
【００４３】
計画手段は、０をピークとする確率分布（例えば、式（１３）、図１５を用いて説明した正規分布）に基づいた摂動を用いることができる。
【００４４】
計画手段は、前回計画された行動シーケンスのそれぞれの行動（例えば、図１６の行動シーケンスａｐ）によって得られると予測される第１の環境と、制御手段が環境と目標状態の入力を受けて出力する行動（例えば、図１６の行動ａｃ）によって得られると予測される第２の環境とを比較し、第１の環境と第２の環境との誤差（例えば、図１６のα1乃至αn）の分散を求め、誤差の分散が所定の閾値よりも小さい場合、確率分布の分散値を減少させることができ、誤差の分散が所定の閾値よりも大きい場合、確率分布の分散値を増加させることができる。
【００４５】
計画手段は、前回計画された行動シーケンスのそれぞれの行動（例えば、図１６の行動シーケンスａｐ）によって得られると予測される第１の環境と、制御手段が環境と目標状態の入力を受けて出力する行動（例えば、図１６の行動ａｃ）によって得られると予測される第２の環境とを比較し、第１の環境と第２の環境との誤差（例えば、図１６のα1乃至αn）の積算値を求め、確率分布の分散値を、誤差の積算値に比例する値とすることができる。
【００４６】
計画手段は、前回計画された行動シーケンスを実行した結果得られると予測される第１の環境（例えば、図１７の状態Ｓｎ）と、制御手段により出力される行動に対して予測手段により予測される環境の変化の結果到達すると予測される第２の環境（例えば、図１７の状態ＳＣｎ）との誤差（例えば、図１７の値β）を求め、誤差が所定の閾値よりも小さい場合、確率分布の分散値を減少させることができ、誤差が所定の閾値よりも大きい場合、確率分布の分散値を増加させることができる。
【００４７】
計画手段は、前回計画された行動シーケンスを実行した結果得られると予測される第１の環境（例えば、図１７の状態Ｓｎ）と、制御手段により出力される行動に対して予測手段により予測される環境の変化の結果到達すると予測される第２の環境（例えば、図１７の状態ＳＣｎ）との誤差（例えば、図１７の値β）を求め、確率分布の分散値を、誤差に比例する値とすることができる。
【００４８】
本発明の一側面の行動制御方法またはプログラムは、行動と環境の状態の変化を学習する予測学習ステップ（例えば、図６の予測部１３１が実行する図１３のステップＳ５の処理）と、予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から目標状態に達するまでの行動シーケンスを計画する計画ステップ（例えば、図６の計画部１３３が実行する図１３のステップＳ２の処理）と、計画ステップの処理により計画された行動シーケンスに対して、行動を制御する行動制御ステップ（例えば、図６の制御部１３４が実行する図１３のステップＳ３の処理）と、行動制御ステップの処理により制御された行動により目標状態に到達した場合、その入出力関係を学習する制御学習ステップと（例えば、図６の制御部１３４が実行する図１３のステップＳ８の処理）とを含む。
【００４９】
以下、図を参照して、本発明の実施の形態について説明する。
【００５０】
古典的なロボティクスや人工知能の分野では、移動ロボットや関節型ロボットの、全体または一部の移動、動作などにおける経路や軌道生成などにヒューリスティクス探索を用いて、現状態から目標状態まで行動の選択肢を考慮しながら探索することで解を得る方法が成功を収めている。この分野では、ロボットの移動モデルや関節の運動学、動力学を事前に正確に知ることができているという有利な点があるが、ロボットの姿勢などを考慮した非常に大きな状態空間（＝作業空間）の中でも効率的に解を求めることができる計算手法が発達している。
【００５１】
また、近年、パターン認識の分野では、サポートベクタマシン（ＳＶＭ）やAdaBoostといった高い汎化能力を持った学習機械のアルゴリズムが多く提案されている。これらの学習機械は、例えば、画像や音声といった大きな次元の入力を扱うことに長けており、ニューラルネットワークなどを使った既存のパターン学習の応用として置き換えられて用いられている。
【００５２】
本発明においては、次元の呪いから開放されるために、ＳＶＭ（Support Vector Machine）などのパターン学習器を予測や制御の学習に用いて、ヒューリスティクス探索を使って広大な状態空間を効率的に探索することにより、目標とする行動シーケンスを生成することとを目指している。また、こうした一連の流れは、上述した人間の思考形態を参考にしているために、外から人間が見てもその行動を理解しやすく、現実的な時間で解に到達できるものとなる。
【００５３】
一般的に、「エージェント」とは、環境の状態を知覚（例えば、センシング）し、その知覚した内容に基づいて、行動を選択することができる自律的主体のことである。
【００５４】
自律エージェントとして、一つの関節を持ち、そこにトルクを掛けることで回転するリンクを有する、単純なロボットを考える。図１に自律エージェントの構成例を示す。
【００５５】
この自律エージェント１の出力は、関節に与えるトルク(τ)である。また、この自律エージェント１への入力として、現在の角度(θ)および角速度(ω)を観測することができる。また、この環境には重力(θ＝０°となる方向)も存在し、トルクは重力に比して弱いために、一定方向に最大トルクを与えても、自律エージェント１は、自身を真上(θ＝π（１８０°）)に持ち上げることはできない。
【００５６】
また、図１に示される自律エージェント１を拡張して、内部状態を有するようにすることができる。例えば、自律エージェント１の内部状態として、エネルギーと乳酸の２つのパラメータを与えることができる。エネルギーは、与えたトルク量に比例して減少していく。自律エージェント１がある位置（θE）に行くと、エネルギーは補充されて増加される。乳酸は、消費したエネルギーに比例して増大し、定常的に僅かずつ分解されて減少していく。エネルギーが無くなるか、または、乳酸が最大になると、自律エージェント１はトルクを出すことができなくなる。
【００５７】
内部状態を持つ自律エージェント１と、エネルギーの補給地（エサ）を表したのが図２である。図２においては、自律エージェント１の内部状態として、エネルギー（Ｅ）１２と乳酸量（Ｌ）１３が与えられ、餌１１は、ある位置（θE）に設けられているものとする。
【００５８】
本発明では、このような仮想的な単純化されたエージェントについて実施例を述べるが、外界に対してアクションし、外界をセンシングできるようなエージェントであれば、本発明は、どのようなものに対しても、適応可能な手法である。
【００５９】
図２を用いて説明した自律エージェント１において、計画に基づいてトルクを与えられて行動するとともに、環境を取得するための具体的な構成例を図３に示す。
【００６０】
自律エージェント１は、所定の長さのアーム３１を有し、アーム３１は、ＤＣモータ３２により回転駆動される。すなわち、上述したトルクは、ＤＣモータ３２の回転トルクに対応する。アーム３１の回転角は、ポテンションメータ３３により測定される。また、アーム３１には、例えば、その先端部分に、所定の重さの錘が備え付けられるようにしても良い
【００６１】
アーム３１は、上述したように、ＤＣモータ３２により発生される１方向の最大トルクだけでは、真上（θ＝１８０°）に持ち上げられることはない。すなわち、アーム３１は、所定の角度にあるアーム３１に重力によって与えられる加速度と、ＤＣモータ３２によりアーム３１に与えられるトルクとが所定の条件を満たした場合に、真上に持ち上げられる。
【００６２】
ポテンションメータ３３は、例えば、可変抵抗によって構成されており、アーム３１の角度により、その抵抗値が変わるため、アーム３１の角度を検出することができる。
【００６３】
また、アーム３１の先端部には、遮光部３４が設けられ、餌１１に対応する位置に設けられているフォトセンサ３５の位置に遮光部３４が到達して速度０となった場合（すなわち、θ＝π，ω＝０）、フォトセンサ３５には外部からの光が照射されない。すなわち、フォトセンサ３５が外部からの光を検知しない場合は、自律エージェント１が餌１１に到達した場合に対応する。
【００６４】
図４は、図３を用いて説明したアーム３１を有する自律エージェント１を制御するコントロールユニット４１−１の構成例を示すブロック図である。
【００６５】
コントローラ５１は、モータドライバ５２を制御し、ＤＣモータ３２を駆動させることにより、アーム３１を動作させる。そして、コントローラ５１は、ポテンションメータ３３からの入力により、アーム３１の現在の角度(θ)を観測し、これから角速度(ω)を検出するとともに、フォトセンサ３５からの入力を基に、自律エージェント１がある位置（θE）に存在する餌１１を取得したか否かを検出することができる。コントローラ５１は、行動、すなわち、アーム３１の動作と周囲の環境とを学習するとともに、これらを基に、行動を計画する。行動の計画の詳細については後述する。そして、コントローラ５１は、計画された行動に基づいてモータドライバ５２を制御し、ＤＣモータ３２を駆動させることにより、アーム３１に計画された行動を実行させる。
【００６６】
ＤＣモータ３２の駆動により電源４２から供給されて消費される電力量は、電力計５３により計測され、コントローラ５１に計測結果が供給される。コントローラ５１は、与えたトルク量に比例して減少していくエネルギー、および、消費したエネルギーに比例して増大するとともに、定常的に僅かずつ分解されて減少していく乳酸を、電力計５３から供給される消費電力量の計測値を基に算出することができる。
【００６７】
すなわち、図２のエネルギーおよび乳酸量は、電力計５３から供給される消費電力と、フォトセンサ３５から得られるセンサ入力を基に、コントローラ５１によって計算される。
【００６８】
また、コントローラ５１には、必要に応じて、ドライブ５４も接続されており、ドライブ５４には、例えば、磁気ディスク、光ディスク、光磁気ディスク、または、半導体メモリなどのリムーバブルメディア４３が装着され、コントローラ５１と情報を授受できるようになされている。
【００６９】
また、自律エージェント１が餌１１を取得したか否かの検出には、フォトセンサ３５を用いる以外の方法を用いるようにしてもよい。フォトセンサ３５を用いる以外の例について、図５を用いて説明する。
【００７０】
例えば、図５に示されるように、自律エージェント１のアーム３１の先端に、導電部６１を備え、導電部６１を電線６２により接地させる。そして、餌１１の位置に対応する位置に設置されている導電端子６３に、アーム３１の電導部６１が接した場合、コントロールユニット４１−２に設けられているスイッチング素子７１が通電される。スイッチング素子７１は、コントローラ５１と接続されており、コントローラ５１は、スイッチング素子７１のスイッチング、すなわち、アーム３１が餌１１に到達したことを検出することができる。
【００７１】
図４または図５のコントローラ５１が有する機能を示す機能構成、すなわち、自律エージェント１の自律行動制御モデルの基本構成例を図６に示す。自律行動制御モデルは、大きく分けて、予測部（Fwd Model)１３１、ゴール生成部（Goal Generator）１３２、計画部（Planner）１３３、制御部（controller）１３４の、４つのモジュールから構成されている。また、図中の（Ｅｎｖ．）は、環境（Environment）を示す。
【００７２】
予測部１３１は、自律エージェント１が、時刻ｔに取ったアクションａtと時刻ｔのセンサ入力Ｓt（自律エージェント１のおかれている環境）から、時刻ｔ＋１のセンサ入力が取る値を常に予測学習している。換言すれば、予測部１３１は、環境を教師とした予測学習を行っている。予測部１３１は、学習に、統計学習による関数近似器を使う。
【００７３】
ゴール生成部１３２は、予め設計されたタスク（任務、仕事）に応じた目標状態（例えば、餌１１の位置にアーム３１を到達させること）を、計画部１３３に与えるものである。
【００７４】
計画部１３３は、現在の状態から目標状態に達するまでの行動シーケンスをプラン（計画）する。このプランには、予測部１３１を使って、選択したアクションを行った場合の状態の遷移を予測し、その先でまたアクション選択を行う探索方法を取る。目標までのプランが生成できた場合には、その行動シーケンス、すなわち、１つまたは複数のアクションが順に実行される。
【００７５】
制御部１３４は、計画部１３３による計画と環境とを教師とした学習を実行し、自律エージェント１のアクションを制御する。自律エージェント１のアクションが成功した場合、制御部１３４は、その入出力関係、すなわち、与えられた目標に対して実行された成功シーケンスにおける自律エージェント１の環境を示すセンサ入力と、それに対して実行されたアクションを学習する。
【００７６】
すなわち、実行されたプランが成功した場合には、制御部１３４により、目標状態を固定入力として、観測した状態と選択したアクションの入出力関係が学習される。これにより、制御部１３４は、計画部１３３が時間を掛けて生成したプランをパターンとして覚えることができ、学習を積み重ねることにより、目標を与えられることで自動的にアクションを生成することができる機能を有するようになる。
【００７７】
また、制御部１３４は、同様の学習を、目標状態をパラメータとして行うことができる。すなわち、この場合には、ゴール生成部１３２が生成する目標状態を次々と変えて、それに向かってプランの作成および作成されたプランの実行が繰り返して行われることにより、制御部１３４は、様々な成功シーケンスの体験を得ることができる。このとき、制御部１３４は、目標状態および環境を入力とし、アクションを出力とした入出力関係を学習する。
【００７８】
また、制御部１３４は、これらの学習に、統計学習による関数近似器を使う。
【００７９】
次に、予測部１３１の学習について説明する。
【００８０】
予測部１３１の学習には、統計学習による関数近似器が用いられ、関数近似器として、例えば、”「Support Vector Machine（ＳＶＭ)」”Advances in Kernel Methods Support Vector Learning”, The MIT Press, 1997.”に記載されている、ＳＶＲ（Support Vector Regression）が用いられる。
【００８１】
ＳＶＭの一つのクラスとして回帰推定を行うＳＶＲがある。ＳＶＭは、分類問題を解く学習アルゴリズムとして提案された機械学習である。分類問題を解く際、ＳＶＭは学習データから分類にとって重要となるデータ（サポートベクターと称される）を抽出し、これに基づき判別面を構成する。この特性を回帰問題にも適用したのがＳＶＲである。
【００８２】
図２を用いて説明した自律エージェント１では、観測される状態変数はＳ＝（θ，ω，Ｅ，Ｌ）で示され、自身の取れるアクションは、Ａ＝（τ）で示される。したがって、予測部１３１の予測学習では、時刻ｔのこれらの変数から、時刻ｔ＋１のそれぞれの変数を予測する、以下の式（５）乃至式（８）で示される差分方程式の関数を推定する。すなわち、予測部１３１による予測は、時刻ｔ＋１のそれぞれの変数を直接予測するのではなく、これらの変数の変化値（Δθ，Δω，ΔＥ，ΔＬ）を予測するものである。
【００８３】
【数５】
2007018490.tif 000007
・・・（５）
【００８４】
【数６】
2007018490.tif 000008
・・・（６）
【００８５】
【数７】
2007018490.tif 000009
・・・（７）
【００８６】
【数８】
2007018490.tif 000010
・・・（８）
【００８７】
実際には、予測部１３１は、各時刻ｔにおいて、現在の変数を教師信号として、一つ前の時刻ｔ−１に観測および実行された変数を入力とした関数学習を行う。このように、予測部１３１は、各時刻において学習サンプルを与えられて学習を続ける。したがって、予測部１３１の予測は、始めのうちにエラーが大きくても、長い時間を経て複数の経験を得ることで、関数近似の精度を向上させることができ、予測のエラーを減少することができる。
【００８８】
また、ニューラルネットワーク等では、同様にして逐次サンプルを与えることによって漸近的に推定を行うことができるが、ここでは、汎化能力が高く、収束時間も短いＳＶＲを用いるものとする。ＳＶＲは通常バッチ型の学習機械であるが、その逐次学習のアルゴリズムとして、例えば、”Junshui Ma and James Theiler and Simon Perkins,  ”Accurate on-line support vector regression”,   Neural Computation, vol.15,11, pp2683-2703, 2003, MIT Press.”に記載されている、ＡＯＳＶＲ（Accurate Online Support Vector Regression）が提案されており、予測部１３１においては、これが利用されるものとすることができる。また、ＳＶＲのカーネルとしてはガウスカーネルを用いるようにすることができる。
【００８９】
次に、計画部１３３によるプランニングについて説明する。
【００９０】
計画部１３３によるプランニングに必要な目標状態は、ゴール生成部１３２によって与えられる。例えば、ここでは、θｄ＝π（すなわち、最も上に振りあがった状態であるθ＝１８０°）が目標状態として与えられるものとする。計画部１３３は、現在の状態Ｓ０から目標状態に達するまでにアクションとして与えられるトルクシーケンスを探索によって生成する。
【００９１】
計画部１３３が実行する探索においては、ヒューリスティクス探索の手法が用いられ、例えば、”J.Pearl, ”Heuristics： Intelligent Search Sttategies for Computer Problem Solving”,   Addison-Wesley, 1985.”に記載されている、Ａ＊サーチ（Ａ＊探索）のアルゴリズムを使って、自律エージェント１のアクションが求められるものとする。
【００９２】
以下にＡ＊サーチのアルゴリズムについて、簡単に説明する。
【００９３】
（ａ）まず、現在の状態から取り得る全てのアクションを取った場合の次状態を求め、その状態を新たなノードとして現ノードからリンクを張る（ここでは、次の状態を求めるために予測部１３１を使う）。
【００９４】
（ｂ）次の状態、すなわち、（ａ）においてリンクを張った先が、既に到達した他の状態と等しければ（もしくは近ければ）、そのノードまでの到達コスト（ここでは、例えば、到達にかかる時間ステップ）を比較する。
【００９５】
（ｃ）比較した結果、コストの低い方を残し、高い方を棄てる。
【００９６】
（ｄ）次の状態において、新しくノードが生成された場合、すなわち、（ａ）においてリンクを張った先が既に到達した他の状態と異なっていたり、（ｃ）において、（ａ）でリンクを張った先がコストの低いほうとして残された場合は、それぞれの新しいノードにおいて、次の式（９）の評価関数を計算し、候補ノードに加える。
【００９７】
【数９】
2007018490.tif 000011
・・・（９）
【００９８】
式（９）において、g(n)は、スタートノードから現在のノードまでの経路コストを示し、h(n)は、現在のノードからゴールノードまでの経路の見積りコスト（ここでは状態空間での目標までの距離を用いる）を示し、αは、重み係数（上記２つのコストの配分）を示している。
【００９９】
（ｅ）全ての候補ノードの中から評価関数の最も低いものを選んで現ノードとする。
【０１００】
（ｆ）（ｅ）において現ノードとして選択されたノードは候補ノードからはずす。
【０１０１】
（ｇ）ゴール状態に等しく（もしくは十分近く）なるまで、上述した（ａ）乃至（ｆ）の操作を繰り返す。
【０１０２】
計画部１３３によるプランニングを基に、制御部１３４は、行動、すなわち、行動シーケンスに基づいたアクションの実行を制御する。計画部１３３によるプランニングと制御部１３４による計画の実行（行動）の反復によって、自律エージェント１は、目標状態にたどり着くことができる。計画部１３３によるプランニングと計画部１３３による実行の反復について、図７乃至図９を用いて説明する。
【０１０３】
図７および図８においては、状態空間１４１において、縦軸を速度ω、横軸を位置θとし、スタート位置１５１を、実空間においてアーム３１の向きが真下（θ＝０（０°））で速度０の位置（縦軸、横軸ともに０となる位置）としている。また、ゴール位置１５２は、実空間においてアーム３１の向きが真上（θ＝π（１８０°））で速度０の位置であり、図中黒丸印で示されている。なお、状態空間１４１において、π＝−πであることは言うまでもなく、図中の黒丸印は、状態空間１４１の右側のみに示されているが、θ＝−π，ω＝０もゴール位置１５２に等しい。
【０１０４】
更に、図７および図８においては、演算済みのノードが白丸（○）印で、候補経路が実線で、候補のノード、すなわち、経路の先端がバツ（×）印で示されている。
【０１０５】
初期状態Ｓ０として、下に静止している状態（θ＝０，ω＝０）が与えられた場合、正確な（充分に学習された）予測部１３１を用いて探索を実行すると、図７に示されるように、スタート位置１５１からゴール位置１５２に向かって経路が探索され、図８のように（θ，ω）空間で、ノードが広がっていき、十分に時間を掛けて探索すると、図８Ｅに示されるように、目標状態にたどり着くことができる。
【０１０６】
図７に示されるように、まず、スタート位置１５１から探索が始まり、演算済みノードを基に、候補経路が算出され、それぞれの経路の先端が候補のノードとなり、候補のノードのうち、評価関数の最も低いものが現ノードとされる。
【０１０７】
すなわち、計画部１３３は、上述したＡ＊サーチのアルゴリズムに基づいて、現在の状態（現ノード）から取り得る全てのアクションを取った場合の次状態を求め、その状態を新たなノードとして現ノードからリンクを張り、リンク先が既に到達した他の状態と等しい、または、近ければ、そのノードまでの到達コストを比較して、コストの低い方を残し、高い方を棄てる。このようにして、新しくノードが生成された場合、計画部１３３は、新しいノードについて、上述した式（９）の評価関数を計算し、候補ノードに加える（前の候補ノードは残る）。そして、計画部１３３は、全ての候補ノードの中から評価関数の最も低いもの、すなわち、一番確からしい経路を選んで次の現ノードとし、現ノードとして選択されたノードは候補ノードから外し、更に、新たな現ノードにおいて取り得る全てのアクションをとった場合の次状態を求める。
【０１０８】
そして、このようにして探索を繰り返すことにより、候補ノードのうちのいずれかが、ゴール状態に等しく、または、十分近くなったら、Ａ＊サーチのアルゴリズムに基づいた探索が終了され、計画が決まる。
【０１０９】
図８Ａ乃至図８Ｅは、計画を決めるまでの探索処理におけるノードの広がりと時間との関係を示す図である。図８Ａは、試行が開始されてから十分な時間がたっていない状態であり、図８Ｂ，図８Ｃ，図８Ｄと、時間の経過にしたがって、（θ，ω）空間で、ノードが広がっていき、探索に十分な時間を掛けることにより、図８Ｅに示されるように、目標状態であるゴール位置１５２にたどり着く行動シーケンスを求めることができる。
【０１１０】
図８に示されるようなプランは、状態遷移のモデルが正確な場合には問題がなく正解シーケンスを得ることができるが、まだ状態遷移の正確なモデルが得られておらず、状態の遷移が予測部１３１によって学習されている状態である（予測部１３１の学習が不十分である）場合、計画部１３３は、予測部１３１による誤った予測によって、誤ったシーケンスを生成してしまう。
【０１１１】
この自律エージェント１では、誤った予測によって作成されたプランをとりあえず実行する。この結果、自律エージェント１は、予測しなかったような状態へ遷移してしまうかもしれないが、予測部１３１は、この実行結果も学習する。すなわち、予測部１３１により、今まで経験していなかった入出力関係（現在の環境とアクションに対する次の時刻の環境の予測）が学習されるので、学習が進むにつれ、予測の誤りが修正される。これにより、計画部１３３において自律エージェント１の行動が再度プランニングされた場合、以前の誤った予測によって作成されたプランとは異なるプランの生成結果を得ることができる。
【０１１２】
また、予測部１３１においては、統計学習による関数近似器が用いられているので、学習が進むことにより、学習された入力に対する出力の予測のみならず、学習された入力の近傍の入力に対する出力の予測も改善される。
【０１１３】
また、プランを実行しても目標状態に達成しなかった場合、自律エージェント１自身の現状態は、初期状態から変化してしまうので、その状態から目標状態に向けて、学習が進んだ予測部１３１の予測を基に次の行動シーケンスが計画され、計画された行動シーケンスが実行される。このようにして、プランと実行が繰り返されていくうちに、次第に予測部１３１による予測が正確になるので、計画部１３３において、目標状態にたどり着くような行動シーケンスを得ることができるようになる。
【０１１４】
図９に、（θ，ω）空間で、プランを実行する度に、プランと実行結果の誤差が減少してゆき、最終的（図９においては５回目）には目標到達シーケンスを実行することができる例を示す。
【０１１５】
図９においては、図７および図８と同様に、縦軸を速度ω、横軸を位置θとして、計画された行動シーケンスと実際の行動（実行）がプロットされている。計画された行動シーケンスが点線で示される軌跡で、実行が実線で示される軌跡で、それぞれ示されているとともに、計画を示す点線の先端部分（図中、「：：」が示されている位置）が目標位置（Ｇｏａｌ）となる。
【０１１６】
図９Ａに示される試行１回目（Trial１）においては、計画と実行にずれが生じている。
【０１１７】
計画を実行して、成功しない、すなわち、目標位置に到達しなかった場合、試行１回目の終了状態から、再度目標に向かって計画が定められ、２回目の試行が実行される。
【０１１８】
図９Ｂに示される試行２回目（Trial２）、図９Ｃに示される試行３回目（Trial３）、および、図９Ｄに示される試行４回目（Trial４）においても、計画と実行にはずれが生じている。しかしながら、これらの実行のたび、その結果を学習した予測部１３１による予測精度が向上するため、計画と実行の差が減少していく。このようにして、各試行の終了状態から、再度目標に向かって計画が繰り返される。
【０１１９】
そして、図９Ｅに示される試行５回目（Trial５）において、ほぼエラーがなくなり、成功シーケンスを得ることができている。
【０１２０】
このようにして、計画と実行が繰り返されることにより、予測部１３１の学習が進んで、予測精度が向上する。これにより、計画部１３３は、目標状態に到達することができる行動シーケンスを計画することができる。
【０１２１】
次に、制御部１３４の学習について説明する。
【０１２２】
制御部１３４の学習には、統計学習による関数近似器が用いられ、関数近似器として、例えば、上述したＳＶＲが用いられる。制御部１３４は、成功のシーケンスが実行された場合、初期状態から目標状態に至るまでの各状態とその状態で実行したアクションの関係を、次の式（１０）に示される関数として学習する。
【０１２３】
【数１０】
2007018490.tif 000012
・・・（１０）
【０１２４】
図１０に、状態０から状態ｎにおいて、式（１０）において実際に用いるデータの関係を表す。
【０１２５】
制御部１３４は、図１０においてそれぞれ四角で囲まれた対（目標状態を固定入力とした入出力）を学習することにより、時刻ｔに観測した状態から次の時刻ｔ＋１に実行するべきアクションａt+1を決定することができるようになる。
【０１２６】
制御部１３４の学習には、統計学習による関数近似器が用いられているので、成功シーケンスを学習することにより、それ以降の行動の制御において、学習された経路の近傍の行動も改善することができる。
【０１２７】
すなわち、自律エージェント１は、制御部１３４に複数の成功シーケンス（成功体験）を繰り返し学習させることによって、次第にどの状態からでも目標状態へ向かうことのできるような制御器（制御部１３４が実行するべき制御）を獲得することができる。
【０１２８】
例えば、具体的には、目標状態としてアーム３１が振り上がった状態（θ＝π（１８０°），ω＝０）が与えられた場合、図１１に示されるように、複数の状態から目標状態までの成功シーケンスが学習サンプルとして次々と与えられていくと、制御部１３４において、次第に、図１２の相図のような任意の状態から目標状態へ向かう構造、すなわち、いずれの位置からでも目標状態に到達することが可能な成功シーケンスの集合が学習される。
【０１２９】
なお、図１１および図１２においても、状態空間において、π＝−πであることは言うまでもない。
【０１３０】
この自律エージェント１の場合、この関数は具体的には次の式（１１）に示されるような関数となっており、時刻ｔに観測された（θ，ω）を使って、次時刻ｔ＋１のトルク出力を求めることにより、振り上がりシーケンスを生成することができるようになされている。
【０１３１】
【数１１】
2007018490.tif 000013
・・・（１１）
【０１３２】
また、制御部１３４が、上述した場合と同様の学習を、目標状態をパラメータとした次の式（１２）に示される関数として学習した場合（目標状態と環境を入力とし、アクションを出力とした入出力を学習した場合）には、任意の状態から任意の目標状態に制御することができる制御ｇを獲得することができる。この場合には、ゴール生成部１３２が生成する目標状態を次々と変更して、それに向かってプランの作成および作成されたプランの実行が繰り返して行われることにより、様々な目標状態に対する成功シーケンスが体験される。これにより、任意の状態から任意の目標状態に到達するための行動を制御することができる制御器（制御部１３４が実行するべき制御）が獲得される。
【０１３３】
【数１２】
2007018490.tif 000014
・・・（１２）
【０１３４】
次に、図１３のフローチャートを参照して、本発明を適用した自律エージェント１が実行する処理１について説明する。
【０１３５】
ステップＳ１において、ゴール生成部１３２は、目標を設定し、計画部１３３に目標状態を指示する。
【０１３６】
ステップＳ２において、計画部１３３は、予測部１３１により予測される、上述した式（５）乃至式（８）における時刻ｔの変数から、時刻ｔ＋１のそれぞれの変数を予測する差分方程式の関数を基に、ゴール生成部１３２に指示された目標に到達するための行動シーケンスを計画し、行動シーケンスを制御部１３４に供給する。
【０１３７】
具体的には、計画部１３３は、図７および図８を用いて説明した様にして、上述したＡ＊サーチのアルゴリズムに基づいて、現在の状態から取り得る全てのアクションを取った場合の次状態を求め、その状態を新たなノードとして現ノードからリンクを張り、リンク先が既に到達した他の状態と等しい、または、近ければ、そのノードまでの到達コストを比較して、コストの低い方を残し、高い方を棄てる。このようにして、新しくノードが生成された場合、上述した式（９）の評価関数を計算し、候補ノードに加える（前の候補ノードは残る）。そして、全ての候補ノードの中から評価関数の最も低いもの、すなわち、一番確からしい経路を選んで現ノードとし、選択されたノードは候補ノードからはずす。
【０１３８】
そして、このようにして探索を繰り返すことにより、候補ノードのうちのいずれかが、ゴール状態に等しく、または、十分近くなった場合、Ａ＊サーチのアルゴリズムに基づいた探索が終了され、計画が決まる。
【０１３９】
ステップＳ３において、制御部１３４は、計画部１３３により計画された行動シーケンスの実行を開始する。具体的には、制御部１３４は、自律エージェント１が、図３を用いて説明した様なアーム３１を有していた場合、計画部１３３により計画された行動シーケンスに基づいて、アーム３１に所望の方向にトルクをかけて回転駆動させるＤＣモータ３２を駆動させるためにモータドライバ５２を制御する。行動シーケンスは、１つまたは複数のアクションにより構成される。
【０１４０】
ステップＳ４において、予測部１３１は、ステップＳ３において計画が実行されることにより変化した環境を示す情報（実行されたアクションａtに対して変化した環境ｓt）を取得して記録する。具体的には、例えば、自律エージェント１が、図３を用いて説明した様なアーム３１を有していた場合、予測部１３１は、ポテンションメータ３３からの信号により、アーム３１の角度(θ)を観測し、これから角速度(ω)を検出し、これらの値を記録するとともに、電力計５３から供給される消費電力値を基に、図２を用いて説明したエネルギーＥおよび乳酸量Ｌの変化量を算出して記録する。また、計画部１３３は、フォトセンサ３５からの入力により、ある位置（θE）に存在する餌１１を取得したか否かを検出することができる。
【０１４１】
ステップＳ５において、予測部１３１は、行動と環境の状態の変化を学習する。具体的には、予測部１３１は、制御部１３４の制御により実行されるアクションに対応して、環境の状態の変化、すなわち、式（５）乃至式（８）を用いて説明した差分方程式に示される、入力に対する出力を学習する。
【０１４２】
ステップＳ６において、制御部１３４は、計画部１３３により計画された行動シーケンスの実行が終了したか、すなわち、１つの行動シーケンスに含まれる全てのアクションが実行されたか否かを判断する。ステップＳ６において、行動シーケンスの実行が終了していないと判断された場合、処理は、ステップＳ４に戻り、それ以降の処理が繰り返される。
【０１４３】
ステップＳ６において、行動シーケンスの実行が終了したと判断された場合、ステップＳ７において、制御部１３４は、目標は達成されたか否かを判断する。具体的には、例えば、自律エージェント１が、図３を用いて説明した様なアーム３１を有していた場合、制御部１３４は、アーム３１が餌１１に対応する位置で静止したか（アーム３１の先端が図３のフォトセンサ３５または図５の導電端子６３の位置に到達して静止したか）否かを判断する。
【０１４４】
ステップＳ７において、目標は達成されていないと判断された場合、処理は、ステップＳ２に戻り、それ以降の処理が繰り返される。すなわち、目標が達成されなかった場合、計画部１３３は、予測部１３１の予測に基づいて再度行動シーケンスを計画する。予測部１３１は、失敗した計画を実行した場合の入出力を学習しているので、計画部１３３において予測部１３１の予測を基に次に生成される計画は、同一の目標に対する計画であっても、以前の計画とは異なるものとなり、成功により近い計画が生成される。したがって、目標が達成されるまで、ステップＳ２乃至ステップＳ６の処理が繰り返されることにより、予測部１３１の学習が進み、図９を用いて説明した様にして、成功シーケンスを得ることが可能となる。
【０１４５】
ステップＳ７において、目標は達成された、すなわち、計画が成功したと判断された場合、ステップＳ８において、制御部１３４は、成功シーケンスを学習し、処理は、ステップＳ１に戻り、それ以降の処理が繰り返される。
【０１４６】
すなわち、処理はステップＳ１に戻り、異なる初期状態から同一の目標を達成するための行動シーケンスが計画され、目標状態に到達するまで、プランと実行が繰り返された場合、任意の状態から所定の目標状態に到達するための行動を制御することができる制御器（制御部１３４が実行するべき制御）を獲得することができる。また、異なる複数の目標が設定され、その目標が達成されるまで、プランと実行が繰り返された場合、任意の状態から任意の目標状態に到達するための行動を制御することができる制御器（制御部１３４が実行するべき制御）を獲得することができる。
【０１４７】
このような処理により、予測部１３１および制御部１３４の学習が進み、最終的には、任意の状態から所定の目標に到達するためのアクションを自動的に生成したり、目標を与えられることで、初期状態から目標に到達するためのアクションを自動的に生成することができる機能を有する制御器（制御部１３４が実行するべき制御）を獲得することができる。
【０１４８】
以上、説明した様に、本発明が適用された場合、ゴール生成部１３２が目標となる状態を与えることで、予測部１３１がエージェントの入出力関係を逐次学習し、計画部１３３が予測部１３１の予測を利用して、目標状態までの特定経路を探索して行動シーケンスを計画し、制御部１３４の制御により、計画が実行される。そして、計画が成功して、目標状態に到達した場合、制御部１３４がその経路パターン（成功シーケンス）を学習するようになされている。そして、このような学習が繰り返されることにより、自律エージェント１は、任意の状態から自動的に目標に到達できるような制御部１３４を獲得することができるようになされている。
【０１４９】
換言すれば、予測部１３１は、自分自身の取ったアクションと環境の変化（センサ入力の変化）の関係を常に学習しており、誤った計画でも実行されることによって予測部１３１の予測精度が改善されていく。計画部１３３は、現在の自分の状態から目標状態までを予測部１３１の予測をリハースすることにより計画をたてる。そして、制御部１３４は、計画された行動シーケンスを構成するアクションの実行を制御するとともに、実際に計画した行動シーケンスが成功した場合、その入出力関係を学習する。また、予測部１３１の予測学習と制御部１３４の制御学習には、統計学習による関数近似器（例えば、Support Vector Regression）が用いられる。また、計画部１３３においては、ヒューリスティクス探索の手法（例えばＡ＊サーチ）が用いられて、行動シーケンスが生成される。
【０１５０】
すなわち、予測部１３１は、大規模サンプルや、大次元入力の学習に耐える関数近似器の能力を利用することにより、次元に呪われることなく、予測学習を行うことができる。また、未熟な予測部１３１で生成したプランにより、誤ったプランが実行されることでも、予測部１３１は不得手な状態空間を経験し、予測性能を向上させることができる。
【０１５１】
また、計画部１３３がヒューリスティクス探索の手法を用いることにより、入力の次元が増えて状態空間が大きくなっても、Ｑ学習や動的計画法を用いた場合と比較して、探索の組み合わせが爆発してしまうことを抑制することができる。
【０１５２】
また、成功シーケンスの学習が繰り返されることにより、制御部１３４を汎化することが可能である。
【０１５３】
更に、本発明が適用された場合、目標状態を連続量のパラメータとした制御の学習を行うことが可能である。これにより、任意の状態から任意の目標状態に到達するための行動を制御することができる制御器（制御部１３４が実行するべき制御）を獲得することができる。更に、本発明においては、人間の思考形態にあった学習を行うことができ、その結果、人間に理解しやすい行動パターンを生成することができる。
【０１５４】
このようにして、本発明においては、次元の呪いから開放されるために、ＳＶＭなどのパターン学習器を予測部１３１や制御部１３４の学習に用いて、ヒューリスティクス探索を使って広大な状態空間を効率的に探索することにより、目標とする行動シーケンスを自律的に生成することができる。また、こうした一連の流れは、上述した人間の思考形態を参考にしているために、外から人間が見てもその行動を理解しやすく、現実的な時間で解に到達できるものとなる。
【０１５５】
ところで、上述したように有効なヒューリスティクス探索においても、探索方法として、グラフ探索を用いているために、行動を有限個の離散的な選択肢に分ける必要がある。上述した例においては、行動として、トルク出力を離散値にして探索を行った。確かに、出力を離散化することにより、出力の分解能が荒くなってしまうが、出力の次元が増えしまう（出力空間が広大である場合）と、各次元を離散化してもその組み合わせが爆発してしまい、探索がままならなくなってしまう。これにより、上述したヒューリスティクス探索においては、出力の選択肢が少ないようなアプリケーションにしかアルゴリズムが適用できなくなっている。
【０１５６】
このように、ヒューリスティクス探索においては、行動の離散化が問題となる。また、強化学習においては、学習の結果得られた知識をどのようにすれば有効に利用することができるかが、大きな課題である。
【０１５７】
そこで、学習をおこなった制御部により自動生成される出力、すなわち、知識を利用し、その出力に確率的な摂動（探査）を加えたものを有限個サンプル（行動の離散化）したものをグラフ探索に用いるようになされている自律行動制御モデルについて、以下に説明する。
【０１５８】
この自律学習制御モデルにおいては、学習をおこなった制御部により自動生成される出力に連続的な摂動を加えることにより、出力を、離散値ではなく連続値として学習することができる。さらに、出力空間が広大な場合においても、知識に基づいた出力の近傍だけを選択肢とすることで、性能を落とすことなく、探索を十分可能なレベルまで押さえることができる。
【０１５９】
図１４に、学習をおこなった制御部により自動生成される出力をグラフ探索に用いるようになされている場合の、図４または図５のコントローラ５１が有する機能を示す機能構成図を示す。すなわち、図１４は、自律エージェント１の自律行動制御モデルの基本構成の図６とは異なる一例である。なお、図６を用いて説明した場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【０１６０】
すなわち、学習をおこなった制御部により自動生成される出力をグラフ探索に用いるようになされている場合の自律行動制御モデルの基本構成は、計画部１３３に代わって計画部２０１が設けられ、制御部１３４に代わって制御部２０２が設けられている以外は、基本的に、図６を用いて説明した場合と同様である。
【０１６１】
自律行動制御モデルは、大きく分けて、予測部（Fwd Model)１３１、ゴール生成部（Goal Generator）１３２、計画部（Planner）２０１、制御部（controller）２０２の、４つのモジュールから構成されている。また、図中の（Ｅｎｖ．）は、環境（Environment）を示す。
【０１６２】
計画部２０１は、現在の状態から目標状態に達するまでの行動シーケンスをプラン（計画）する。上述した計画部１３３は、Ａ*サーチのアルゴリズムを使って行動シーケンスを計画したが、計画部２０１は、学習途上の制御部２０２により得られる行動出力ａtをプランニングの選択肢に用いることにより、それまでに学習した知見をプランニングに利用するものである。
【０１６３】
計画部２０１によるプランニングに必要な目標状態は、ゴール生成部１３２によって与えられる。例えば、ここでも、上述した場合と同様にして、θｄ＝π（すなわち、最も上に振りあがった状態であるθ＝１８０°）が目標状態として与えられるものとする。計画部２０１は、現在の状態Ｓ０から目標状態に達するまでにアクションとして与えられるトルクシーケンスを、制御部２０２により求められる行動出力値を基にして、探索によって生成する。
【０１６４】
具体的には、計画部２０１は、現在の状態Ｓtと目標Ｓdを制御部２０２に供給し、制御部２０２が過去の学習に基づいて求めた行動出力atの供給を受ける。そして、計画部２０１は、次の式（１３）の確率分布に従って、行動出力値atに加える摂動をサンプルする。
【０１６５】
【数１３】
2007018490.tif 000015
・・・（１３）
【０１６６】
ここで、摂動とは、一般的に、与えられた解の各変数の値をそれぞれ独立に一定の確率で変化させて新しい解を生成するという手法である。すなわち、ここでは、制御部２０２が過去の学習に基づいて求めた行動出力atを、式（１３）の確率分布（正規分布）に従って変化させることにより、新しい解、すなわち、複数の行動のサンプルを生成する。
【０１６７】
なお、加えられる摂動は、例えば、０をピークとする確率分布からサンプルされるものであれば、式（１３）の確率分布以外であってもよい。
【０１６８】
すなわち、計画部２０１は、次の式（１４）に基づいて、摂動をＮ個サンプルして、新たにＮ個の行動出力値ａt´（行動選択肢）を定める。
【０１６９】
【数１４】
2007018490.tif 000016
・・・（１４）
【０１７０】
なお、Ｎ個の摂動には、式（１４）において、ａt´＝ａt＋０である場合、すなわち、行動出力値ａtも含まれる。
【０１７１】
計画部２０１は、予測部１３１を利用して、Ｎ個の行動を取った場合の次状態を求め、その状態を新たなノードとして現ノードからリンクを張る。
【０１７２】
以下は、Ａ*サーチのアルゴリズムを使って行動シーケンスを計画した場合と同様にして、次の状態が既にすでに到達した他の状態と等しい、または、状態間の距離が閾値以下であれば、そのノードまでの到達コスト（ここでは到達にかかる時間ステップ）を比較し、比較した結果、コストの低い方を残し、高い方を棄てる。そして、次状態において新しくノードが生成された場合、上述した式（９）に示される評価関数を計算し、候補ノードに加える。
【０１７３】
そして、計画部２０１は、全ての候補ノードの中から評価関数の最も低いものを選んで現ノードとし、現ノードとして選択されたノードは候補ノードからはずす。
【０１７４】
計画部２０１は、ゴール状態に等しく（もしくは十分近く）なるまで、上述した操作を繰り返す。
【０１７５】
このようにして、初期状態Ｓ0として、下に静止している状態(θ=0, ω=0)を与え、正確な予測部１３１を用いて探索を実行すると、図７および図８を用いて説明した場合と同様に、(θ，ω)空間でノードが広がり、十分に時間が経過すると、目標状態にたどり着くことが可能となる。
【０１７６】
すなわち、上述した計画部１３３によるＡ＊サーチを用いたプランニングにおいては、まず、現在の状態から取り得る全てのアクションを取った場合の次状態が求められ、その状態を新たなノードとして現ノードからリンクを張るようになされていた。これに対して、計画部２０１によるプランニングにおいては、現在の状態Ｓtと目標Ｓdに対して制御部２０２が過去の学習に基づいて求めた行動出力atの供給を受け、確率分布に従って、行動出力値atに加える摂動がＮ個サンプルされ、新たにＮ個の行動出力値ａt´が定められて、Ｎ個の行動を取った場合の次状態を新たなノードとして、現ノードからリンクを張るようになされている。
【０１７７】
すなわち、初期状態Ｓ０として、下に静止している状態（θ＝０，ω＝０）が与えられた場合、まず、図７に示されるように、スタート位置１５１から探索が始まり、制御部２０２が過去の学習に基づいて求めた行動出力atが得られ、確率分布に従って、行動出力値atに加える摂動がＮ個サンプルされ、新たにＮ個の行動出力値ａt´が定められ、次状態が定められる。そして、スタート位置１５１からゴール位置１５２に向かって経路が探索され、図８を用いて説明した場合と同様に（θ，ω）空間で、ノードが広がっていき、十分に時間を掛けて探索すると、図８Ｅに示されるように、目標状態にたどり着くことができる。
【０１７８】
制御部２０２は、上述したように、計画部２０１から、現在の状態Ｓtと目標Ｓdの供給を受け、過去の学習に基づいて行動出力atを求め、計画部２０１に供給する。
【０１７９】
また、制御部２０２は、制御部１３４と同様にして、計画部１３３による計画と環境とを教師とした学習を実行し、自律エージェント１のアクションを制御する。自律エージェント１のアクションが成功した場合、制御部２０２は、その入出力関係、すなわち、与えられた目標に対して実行された成功シーケンスにおける自律エージェント１の環境を示すセンサ入力と、それに対して実行されたアクションを学習する。
【０１８０】
すなわち、制御部２０２は、計画部２０１によるプランニングを基に、行動、すなわち、行動シーケンスに基づいたアクションの実行を制御する。すなわち、自律エージェント１は、図９を用いて説明した場合と同様にして、計画部２０１によるプランニングと制御部２０２による計画の実行（行動）の反復によって、目標状態にたどり着くことができる。そして、実行されたプランが成功した場合には、制御部２０２により、目標状態を固定入力として、観測した状態と選択したアクションの入出力関係が学習される。
【０１８１】
また、制御部２０２の学習には、制御部１３４と同様に、統計学習による関数近似器が用いられ、関数近似器として、例えば、上述したＳＶＲが用いられる。制御部２０２は、成功のシーケンスが実行された場合、初期状態から目標状態に至るまでの各状態とその状態で実行したアクションの関係を、上述した式（１０）に示される関数として学習する。
【０１８２】
すなわち、自律エージェント１は、制御部２０２に、図１１を用いて説明したような複数の成功シーケンス（成功体験）を繰り返し学習させることによって、図１２を用いて説明したようにして、次第にどの状態からでも目標状態へ向かうことのできるような制御器（制御部２０２が実行するべき制御）を獲得することができる。
【０１８３】
また、制御部２０２も、上述した場合と同様の学習を、目標状態をパラメータとした式（１２）（上述）に示される関数として学習した場合（目標状態と環境を入力とし、アクションを出力とした入出力を学習した場合）には、任意の状態から任意の目標状態に制御することができる制御ｇを獲得することができる。すなわち、この場合には、ゴール生成部１３２が生成する目標状態を次々と変えて、それに向かってプランの作成および作成されたプランの実行が繰り返して行われることにより、制御部２０２は、様々な成功シーケンスの体験を得ることができる。このとき、制御部２０２は、目標状態および環境を入力とし、アクションを出力とした入出力関係を学習する。
【０１８４】
なお、この例において、行動出力の次元は、トルク出力のみの一次元となっているが、行動、および、行動に加える摂動がＮ次元のケースにおいても、次元毎に処理を行うことで同様に扱うことが可能であることはいうまでもない。
【０１８５】
特に、行動出力が高次元である場合、制御部２０２の行動出力を利用して、行動に摂動を加えることによりグラフ探索を行うようにすると、組み合わせが爆発することなく、出力の分解能を荒くすることなく探索を行うことができるので、好適である。
【０１８６】
また、図１５に示されるように、摂動Ｎの確率分布の分散値σを小さく取ると摂動は狭い範囲に収まり、制御部２０２の出力を重視するようになる。一方、分散値σを大きく取ると、行動空間から一様に行動aをサンプルすることが可能となる。分散値σを大きく取った場合においても、aはランダムにサンプルされるために、予め離散化された有限個の行動を選択肢とするよりも、繰り返し行う事で連続的な値の行動を学習することができる。
【０１８７】
すなわち、計画部２０１は、摂動の分散を変えることで、制御部２０２が蓄積している知識利用と、探索とのバランスを制御することができる。換言すれば、計画部２０１は、ほどほどの分散とそれに見合ったサンプル数を設定すれば、制御部２０２の出力と探索的な行動との両方をプランニングに利用することができる。
【０１８８】
例えば、計画部２０１は、制御部２０２の学習の初期では探索的な行動を増やし（分散値σを大きく取り）、学習が収束する（学習が進んで知識が増える）につれて、制御部２０２の出力をより重視する（分散値σを小さく取る）ようにすると好適である。
【０１８９】
計画部２０１がプランニングを行うことにより、最も良い一連の行動シーケンスと状態の遷移が一つ生成される。この状態の遷移に対して、制御部２０２が自動生成した行動と計画部２０１のプランニングとの差が小さい場合、制御部２０２の学習は進んでいると考えられるので、分散値σをより小さくする設定すると好適であるし、制御部２０２が自動生成した行動と計画部２０１のプランニングとの差が大きい場合、制御部２０２の学習はあまり進んでいないと考えられるので、分散値σは大きな値とし、探索的な行動を増やすものとすると好適である。
【０１９０】
摂動の分散を変更する方法の具体例を２つしめす。
【０１９１】
まず、１つ目の方法について、図１６を用いて説明する。
【０１９２】
計画部２０１がプランニングを行うことにより得られた状態シーケンスＳ1乃至Ｓnのそれぞれに対して、制御部２０２は、上述した式（１０）、式（１２）を用いて、行動ａｃを生成する。計画部２０１は、制御部２０２が生成した行動ａｃによって得られると予測される環境と、自分自身がプランニングした行動シーケンスａｐによって得られると予測される環境とをそれぞれ比較し、それらの誤差α1乃至αnを求める。そして、計画部２０１は、誤差α1乃至αnを基に、摂動の分散を決定する。
【０１９３】
計画部２０１は、例えば、この誤差αの分散が所定の閾値より小さければ、制御部２０２の出力が信頼に足るものとして、摂動の分散をΔσだけ減少させ、逆に誤差αの分散が大きければ、制御部２０２の出力の信頼がないので摂動の分散をΔσだけ増加させるようにしてもよいし、摂動の分散σを、誤差αの積算値に対して所定の係数で比例する値として設定するようにしてもよい。
【０１９４】
次に、２つ目の方法について、図１７を用いて説明する。
【０１９５】
制御部２０２は、上述した式（１０）、式（１２）を用いて、初期状態Ｓ0から、行動ａｃ1を生成する。計画部２０１は、行動ａｃ1を予測部１３１に供給することにより、次状態ＳＣ1を得ることができるので、さらに、状態ＳＣ1を基に、制御部２０２に行動ａｃ2を生成させ、予測部１３１に供給することにより、次状態ＳＣ2を得、これをｎ回繰り返すことにより、目標状態にできるだけ近づくような状態ＳＣnを得る。計画部２０１は、制御部２０２のみの能力により到達した状態ＳＣnと、自分自身がプランニングした行動シーケンスにより到達する状態Ｓnとを比較して、これを基に、摂動の分散を決定する。
【０１９６】
例えば、計画部２０１は、状態ＳＣnと状態Ｓnとの距離βと所定の閾値とを比較して、βの値が閾値より小さければ、制御部２０２の出力が信頼に足るものとして、摂動の分散をΔσだけ減少させ、逆にβの値が閾値より大きければ摂動の分散をΔσだけ増加させるようにしてもよいし、摂動の分散σを、βに対して所定の係数で比例する値として設定するようにしてもよい。
【０１９７】
このようにすることにより、制御部２０２の学習の程度に応じて、学習結果を利用することができる。
【０１９８】
換言すれば、摂動の分散が最大の場合、Ａ＊サーチとほぼ同様の探索処理が実行され、摂動の分散が０に近い値である場合、制御部２０２により得られる行動出力値atの近傍の範囲で探索処理が実行される。
【０１９９】
以上においては、制御部２０２の学習により得られた知識、すなわち、現在の状態Ｓtと目標Ｓdに対する行動出力値atを利用するものとして説明したが、この手法を、制御部２０２がまったく学習を行っていない状態に適用しても、充分な時間をかけて探索を行うことにより、目標状態までの行動シーケンスを得ることができる。
【０２００】
すなわち、まったく学習を行っていない状態の制御部２０２に現在の状態Ｓtと目標Ｓdを与えることによって得られる行動出力値atは、目標状態に対して正しい方向に向いているとは限らないが、摂動の分散σを大きな値とすることにより、探索の範囲が広がるため、充分な時間をかけて探索を行うことにより、目標状態までの行動シーケンスを得ることができる。
【０２０１】
次に、図１８のフローチャートを参照して、制御部２０２の学習により得られた知識、すなわち、現在の状態Ｓtと目標Ｓdに対する行動出力値atを利用して探索を行う自律エージェント１が実行する処理２について説明する。
【０２０２】
ステップＳ２１において、ゴール生成部１３２は、目標を設定し、計画部２０１に目標状態を指示する。
【０２０３】
ステップＳ２２において、図１９を用いて後述する行動シーケンス計画処理が実行される。
【０２０４】
そして、ステップＳ２３乃至ステップＳ２８において、図１３のステップＳ３乃至ステップＳ８と基本的に同様の処理が実行される（計画部１３３に代わって計画部２０１が、制御部１３４に代わって制御部２０２が基本的に同様の処理を実行する）。
【０２０５】
すなわち、制御部２０２の学習により得られた知識、すなわち、現在の状態Ｓtと目標Ｓdに対する行動出力値atを利用して探索を行う自律エージェント１が実行する処理は、行動シーケンスの計画手法がＡ＊サーチとは異なる方法であるが、計画された行動シーケンスの実行、行動の実行に伴って変化する環境の取得および記録、行動と環境の状態の変化の学習、目標が達成したか否かの判断、および、成功シーケンスの学習については、図１３を用いて説明した場合と同様であり、同様の作用効果を奏するものである。
【０２０６】
次に、図１９のフローチャートを参照して、図１８のステップＳ２２において実行される行動シーケンス計画処理について説明する。
【０２０７】
ステップＳ４１において、計画部２０１は、制御部２０２から得られる行動出力atに対して加えられる摂動の分散値σを決定する。具体的には、計画部２０１は、１回目の施行においては、分散値σが大きな値となるように設定し、２回目以降の施行においては、図１６または図１７を用いて説明したようにして、前回の施行において計画部２０１によりプランニングされた行動シーケンスと、制御部２０２が自動生成した行動とを比較し、これらの差が小さい場合、制御部２０２の学習は進んでいると考えられるので、分散値σをより小さく設定し、差が大きい場合、制御部２０２の学習はあまり進んでいないと考えられるので、分散値σは大きな値として探索的な行動を増やすものとする。
【０２０８】
ステップＳ４２において、計画部２０１は、現在の状態Ｓtと目標Ｓdを制御部２０２に供給する。
【０２０９】
ステップＳ４３において、制御部２０２は、ステップＳ４２において計画部２０１から供給された現在の状態Ｓtと目標Ｓdに基づいて、行動出力atを求め、計画部２０１に供給する。計画部２０１は、制御部２０２により求められた行動出力atを取得する。
【０２１０】
ステップＳ４４において、計画部２０１は、上述した式（１３）を用いて、ステップＳ４１によって得られた確率分布に従って、ステップＳ４３において取得した行動出力値atに加える摂動をＮ個サンプルする。
【０２１１】
ステップＳ４５において、計画部２０１は、ステップＳ４４においてサンプルされたＮ個の摂動を用いて、上述した式（１４）に示されるようにして、新たに行動出力値をＮ個（式（１４）において、ａt´＝ａt＋０である場合、すなわち、行動出力値ａtも含む）求める。
【０２１２】
ステップＳ４６において、計画部２０１は、予測部１３１を用いてＮ個の行動を取った場合の次状態を求め、その状態を新たなノードとして現ノードからリンクを張る。
【０２１３】
ステップＳ４７において、計画部２０１は、ステップＳ４６において求められた次状態が既にすでに到達した他の状態と等しいか、または、状態間の距離が閾値以下であれば、それらのノードまでの到達コストを比較する。
【０２１４】
ステップＳ４８において、計画部２０１は、ステップＳ４７の処理により到達コストを比較した結果、コストの低い方を残し、高い方を棄てる。
【０２１５】
ステップＳ４９において、計画部２０１は、次状態として新しくノードが生成された場合、新しく生成されたノードのそれぞれに対して、式（９）を用いて説明した評価関数を計算し、候補ノードに加える。
【０２１６】
ステップＳ５０において、計画部２０１は、すべての候補ノードの中から評価関数の最も低いものを選んで現ノードとする。
【０２１７】
ステップＳ５１において、計画部２０１は、ステップＳ５０において現ノードに選択されたノードを候補ノードからはずす。
【０２１８】
ステップＳ５２において、計画部２０１は、現ノードが、ゴール状態に到達、または、近づいたか否かを判断する。ステップＳ５２において、ゴール状態に到達、または、近づいていないと判断された場合、処理は、ステップＳ４２に戻り、それ以降の処理が繰り返される。ステップＳ５２において、ゴール状態に到達、または、近づいたと判断された場合、行動シーケンスの計画が終了されたので、処理は、図１８のステップＳ２２に戻り、ステップＳ２３に進む。
【０２１９】
このような処理により、学習した制御器（ここでは、制御部２０２）を、プランニングに利用することができる。
【０２２０】
また、同時に、行動選択肢が増えすぎて探索の組み合わせが爆発してしまう問題に対して、確率的サンプリングを実行する（分散値σに基づいて得られるＮ個の摂動を用いる）ことで、探索可能な数の選択肢を抽出して、探索を行うことが可能となる。
【０２２１】
このように、本発明を適用した自律エージェントにおいては、学習した知識をプランニングに利用する（制御部２０２が生成する行動を、計画部２０１におけるヒューリスティクス探索の行動選択肢として利用する）ことにより、探索の効率を大幅に向上させることが可能である。
【０２２２】
また、状態空間（行動値空間）を均等に離散化した場合に行動出力の次元が増えると、離散化された行動の数（行動の選択肢）が増えすぎてしまい、探索ができなくなってしまうが、制御器が生成する行動に対して確率的なサンプリングをおこなうことにより、選択肢の数を、行動空間の広さと関係なくコントロールすることができる。
【０２２３】
すなわち、制御器が生成する行動に対して摂動を加えることにより、探索が行われ、加えられる摂動を、０をピークとする確率分布（例えば正規分布）からサンプルし、探索のための有限個の行動選択肢として利用することにより、制御器の知識を利用することができる。
【０２２４】
さらに、行動の選択肢が連続空間からサンプルされるために、固定値で離散化された行動ではなく、連続値出力の制御器を学習することができるので、学習が進んだ制御器は、離散値出力を学習した制御器と比較して、きめ細かい制御が可能になる。
【０２２５】
さらに、本発明を適用することにより、知識の利用と探索とのバランスを、加える摂動の確率分布のパラメータ（ここでは、分散値σ）によってコントロールすることができる。そして、確率分布のパラメータは、制御器の学習の進捗によって設定することができる。制御器の学習の進捗は、計画器によるプランニングと、制御器が自動生成した行動との誤差により推定することが可能である。
【０２２６】
上述した一連の処理は、ソフトウェアにより実行することができ、また、同様の機能を有するハードウェアにより実現することも可能である。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２２７】
この記録媒体は、図４に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク（ＭＤ(Mini-Disk)（商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア４３などにより構成される。
【０２２８】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０２２９】
【図１】自律エージェントの構成を示す図である。
【図２】内部状態を有する自律エージェントについて説明するための図である。
【図３】図２の自律エージェントの構成例について説明するための図である。
【図４】図３のアームを有する自律エージェントを制御する制御部の構成例について説明するための図である。
【図５】図３のアームを有する自律エージェントを制御する制御部の異なる構成例について説明するための図である。
【図６】自律行動制御モデルの基本構成例を示す図である。
【図７】プランニングと実行の反復について説明するための図である。
【図８】プランニングと実行の反復について説明するための図である。
【図９】プランと実行を繰り返しにより目標状態にたどり着くようなシーケンスを得ることについて説明するための図である。
【図１０】初期状態から目標状態に至るまでの各状態とその状態で実行したアクションの関係を関数として学習する場合のデータの関係を示す図である。
【図１１】学習サンプルとして与えられる複数の状態から目標状態までの成功シーケンスを示す図である。
【図１２】任意の状態から目標状態へ向かう構造を示す図である。
【図１３】本発明を適用した自律エージェントが実行する処理１について説明するためのフローチャートである。
【図１４】自律行動制御モデルの異なる例を示す図である。
【図１５】確率分布について説明するための図である。
【図１６】摂動の分散を変更する方法ついて説明するための図である。
【図１７】摂動の分散を変更する方法ついて説明するための図である。
【図１８】本発明を適用した自律エージェントが実行する処理２について説明するためのフローチャートである。
【図１９】行動シーケンス計画処理について説明するためのフローチャートである。
【符号の説明】
【０２３０】
１  自律エージェント，  １１  餌，  １２  エネルギー，  １３  乳酸量，  １３１  予測部，  １３２  ゴール生成部，  １３３  計画部，  １３４  制御部，  １４１  状態空間，  １５１  スタート位置，  １５２  ゴール位置，  ２０１  計画部，  ２０２  制御部
【図１】
2007018490.tif 000017
【図２】
2007018490.tif 000018
【図３】
2007018490.tif 000019
【図４】
2007018490.tif 000020
【図５】
2007018490.tif 000021
【図６】
2007018490.tif 000022
【図７】
2007018490.tif 000023
【図８】
2007018490.tif 000024
【図９】
2007018490.tif 000025
【図１０】
2007018490.tif 000026
【図１１】
2007018490.tif 000027
【図１２】
2007018490.tif 000028
【図１３】
2007018490.tif 000029
【図１４】
2007018490.tif 000030
【図１５】
2007018490.tif 000031
【図１６】
2007018490.tif 000032
【図１７】
2007018490.tif 000033
【図１８】
2007018490.tif 000034
【図１９】
2007018490.tif 000035