(57)【特許請求の範囲】
【請求項１】
タスクを実行するロボットと、
前記ロボットが存在する実環境中のパターンをパターン情報として取得するパターン情報取得手段と、
前記パターン情報取得手段で取得したパターン情報と、与えられるパターン情報の概念情報と、与えられるロボットの動作情報と、に基づいて、前記ロボット自身による行動と実環境の変化との因果関係を表現するオペレータを生成する問題解決支援手段と、
前記問題解決支援手段で生成したオペレータの集合を用いて、与えられるタスクの初期状態から目標状態へと至るプランをプランニングするプランナと、を備え、
前記問題解決支援手段は、
前記取得したパターン情報と、前記パターン情報の概念情報と、前記ロボットの動作情報と、を入力として受け付ける入力層と、
前記入力層を介して入力される、前記パターン情報と、当該パターン情報の概念情報と、前記ロボットの動作情報と、を保持するパターン記憶層と、
実環境の状態を記述する述語であって、前記パターン記憶層に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルと、前記述語及び前記ロボットの動作情報を含むオペレータと、を保持するシンボル記憶層と、を有し、
記号接地フェーズでは、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習し、
知識獲得フェーズでは、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得して、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、前記ロボットの動作情報と、を含むオペレータを生成し、
問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力してプランニングを実行し、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させる問題解決システム。
【請求項２】
前記自己増殖型ニューラルネットワークとしてSelf-Organizing Incremental Neural Networkを用いる
ことを特徴とする請求項１に記載の問題解決システム。
【請求項３】
前記パターン情報取得手段は、前記パターン情報として少なくとも画像又は音声パターン情報を取得し、
前記問題解決支援手段は、
記号接地フェーズでは、少なくとも画像又は音声パターン情報に応じた画像用の自己増殖型のニューラルネットワーク又は音声用の自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習する
ことを特徴とする請求項１又は２に記載の問題解決システム。
【請求項４】
前記問題解決支援手段は、
前記タスクの初期状態及び目標状態を記述する述語であって、当該述語が参照する前記パターン記憶層に保持された前記パターン情報の概念情報が未知の物体の状態であることを示す場合には、当該述語を、前記プランナへの入力に先立って前記初期状態環境モデル及び前記目標状態環境モデルから取り除く
ことを特徴とする請求項１乃至３いずれか１項に記載の問題解決システム。
【請求項５】
前記ロボットの動作情報を取得する動作情報取得手段を更に備える、
ことを特徴とする請求項１乃至４いずれか１項に記載の問題解決システム。
【請求項６】
前記動作情報取得手段は、前記ロボットの関節角度の時系列データを取得する
ことを特徴とする請求項５に記載の問題解決システム。
【請求項７】
前記プランナは、
現在状態と目標状態との差異を減少させるオペレータを選択し、当該選択したオペレータを現在状態に再帰的に適用するプロセスを繰り返すことで、前記目標状態を達成するプランをプランニングする
ことを特徴とする請求項１乃至６いずれか１項に記載の問題解決システム。
【請求項８】
前記問題解決支援手段は、
前記プランナが出力する複数のプランのうち、前記ロボットに実行させた場合に当該ロボットが実行に要するエネルギーを最小化する一のプランを選択する
ことを特徴とする請求項１乃至７いずれか１項に記載の問題解決システム。
【請求項９】
ロボットに実行させるタスクの初期状態から目標状態へと至るプランを、プランナを用いてプランニングさせるための問題解決支援装置であって、
前記ロボットが存在する実環境中の少なくとも画像又は音声パターンのパターン情報と、前記ロボットの関節角度の時系列データであるロボットの動作情報を取得し、当該取得したパターン情報と、前記パターン情報の概念情報と、前記ロボットの動作情報と、を入力として受け付ける入力処理部と、
前記入力処理部を介して入力される、前記パターン情報と、当該パターン情報の概念情報と、前記ロボットの動作情報と、を保持するパターン記憶部と、
実環境の状態を記述する述語であって、前記パターン記憶部に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルと、前記述語及び前記ロボットの動作情報を含むオペレータと、を保持するシンボル記憶部と、を有し、
記号接地フェーズでは、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習し、
知識獲得フェーズでは、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得して、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、前記ロボットの動作情報と、を含むオペレータを生成し、
問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力し、前記知識獲得フェーズで生成したオペレータの集合を用いて前記プランナにプランニングを実行させ、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させる問題解決支援装置。
【請求項１０】
前記自己増殖型ニューラルネットワークとしてSelf-Organizing Incremental Neural Networkを用いる
ことを特徴とする請求項９に記載の問題解決支援装置。
【請求項１１】
問題解決支援手段を用いてロボット自身による行動と実環境の変化との因果関係を表現するオペレータを生成し、当該生成したオペレータの集合を用いてタスクの初期状態から目標状態へと至るプランをプランナにプランニングさせ、当該プランをロボットに実行させる問題解決方法であって、
前記ロボットが存在する実環境中の少なくとも画像又は音声パターンのパターン情報を取得するステップと、
前記ロボットの関節角度の時系列データであるロボットの動作情報を取得するステップと、
記号接地フェーズにおけるステップと、
知識獲得フェーズにおけるステップと、
問題解決フェーズにおけるステップと、を有し、
前記記号接地フェーズでは、
前記取得したパターン情報と、前記パターン情報の概念情報と、を入力層に入力として受け付け、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習してパターン記憶層に保持するステップと、を有し、
前記知識獲得フェーズでは、
実環境の状態を記述する述語であって、前記パターン記憶層に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルに関して、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得するステップと、
前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、を生成するステップと、
前記ロボットの動作情報を入力層に入力として受け付け、前記前提条件と、前記削除リストと、前記追加リストと、前記ロボットの動作情報と、を含むオペレータを生成するステップと、
前記取得した変化前環境モデル及び変化後環境モデルと、前記オペレータと、をシンボル記憶層に保持するステップと、を有し、
前記問題解決フェーズでは、
前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力ステップと、
前記知識獲得フェーズで生成したオペレータの集合を用いて前記プランナにプランニングを実行させるステップと、
前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させるステップと、を有する問題解決方法。
【請求項１２】
前記自己増殖型ニューラルネットワークとしてSelf-Organizing Incremental Neural Networkを用いる
ことを特徴とする請求項１１に記載の問題解決方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、問題解決システム、問題解決支援装置及び問題解決方法に関する。
【背景技術】
【０００２】
実世界において知的に振る舞うヒューマノイドロボットの実現には、ロボットの動作に必要な制御理論や知能に関する情報理論の他、多岐に渡る幅広い研究分野の密接な連携が必要となる。その中でもヒューマノイドロボットの運動制御に関しては、本田技研工業株式会社のＡＳＩＭＯ（登録商標）に代表されるような自律二足歩行に関する研究や、小型ヒューマノイドロボットを用いた物体操作の学習に関する研究（非特許文献１）など、民間企業や研究機関において盛んに研究が行われている。しかし一方で、ヒューマノイドロボットの知能情報処理に関しては、特に非特許文献２の要求仕様にある「非定型の作業が自律的に実行できる」とする研究はこれまでに報告されていない。そこで本願出願人は、ヒューマノイドロボットの知能、具体的には実世界における汎用的な問題解決をキーワードとし、その足がかりとなるアーキテクチャを提案する。
【０００３】
従来の知能ロボットは、予め考え得る状況や行動を設計者がロボットに組み込むことで実現されてきた。つまり、ｉｆ  Ｑ１  ｔｈｅｎ  Ａ１（Ｑ１という状況でＡ１という行動をとる）といったｉｆ−ｔｈｅｎルールを大量に組み込むことによって、あたかもロボットが状況に合わせて知的に行動しているかのように見せてきた。しかし、そのようなシステムでは、状況が想定範囲を外れた途端に破綻してしまう。特に、実世界のような常に複雑に変化する環境に対しては、その時々に適切な行動を予め組み込んでおくことは不可能である。
【０００４】
そうした従来法に代わるアプローチとして、ロボットの根本的な設計論に着眼した認知発達ロボティクス（Cognitive Developmental Robotics（非特許文献３）：以下、ＣＤＲと称する。）がある。ＣＤＲではロボットの身体性に焦点をあて、ロボット自身が自らの身体を通じて環境と接し、その結果として世界から得られる情報を理解する過程が重要であるとしている。つまり、ＣＤＲの基本概念は、環境との相互作用を通じてロボットが自らの行動を認識・学習することで、様々な状況に対応可能な、経時的に発達するシステムを構築することにある。ＣＤＲの必要性は「ロボット分野に関するアカデミック・ロードマップ（非特許文献４）」においても指摘されている。
【０００５】
さらに、非特許文献５において、Ｗｅｎｇらはロボットの知能発達という観点から、発達システムの持つべき性質を以下のようにまとめている。
１．タスクに特有なシステムではないこと。
２．タスクがシステムの設計者にとって未知であること。
３．未知のタスクに対するアプローチを生成できること。
４．オンライン学習が可能であること。
５．オープンエンド学習が可能であること。
尚、データを予め全て用意した上で学習を行うバッチ学習に対して、逐次的にデータを取得して学習が可能であることを、オンライン学習が可能であるという。また、本明細書中では、オープンエンド学習を学習に終わりがないこととして解釈した。また、後述するように、本発明では、システムのオープンエンド学習を可能にする性質として、ＳＯＩＮＮのオンライン追加学習が可能という性質や、ネットワークを自己組織的に成長させるという性質を利用する。
【０００６】
ＣＤＲに基づく手法によれば、上記３．以外の全ての性質を満たすことが原理的には可能である。しかし、性質３．は、知能レベルにおいて他の性質とは一線を画すものである。この性質は、知識（タスクに対する解決法を指し、以下では、これを知識と表現する。）を"獲得"するだけでなく、自律的に知識を"生成"する能力を求めている。これを実現するには、ＣＤＲの基本概念に加えて、既存の知識を利用して新たな知識を生み出すメカニズムが必要となる。
【０００７】
非特許文献６において、小倉らは、ヒューマノイドロボットのための簡易な教示システムを開発した。この教示システムは、オンラインでの教示が可能であり、また、ある程度環境が変化しても再現可能である。このシステムでは、人間がその場でロボットの身体を直接触って動作を教示することで、新しいタスクや環境での行動獲得が可能である。例えば、キッチンなどの生活環境においてロボットがコップの掴み方を知らない場合、人間がロボットの手先を持って即座に教示することができる。このロボットは、教示時の目標状態だけを記憶しておき、動作再現時に教示時と自己の位置が異なる、或いは、途中に障害物があるなどの場合においても、教示された動作を再現（目的再現）することができる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】M. Ito, K. Noda, Y. Hoshino, and J. Tani, "Dynamic and interactive generation of object handling behaviors by a small humanoid robot using a dynamic neural network model," Neural Networks, vol.19, pp.323-337, 2006.
【非特許文献２】比留川博久，"人間型ロボットの近未来応用，" 日本ロボット学会誌，vol.22，no.1，pp.6-9，2004.
【非特許文献３】浅田稔，國吉康夫，"認知発達ロボティクス，"ロボットインテリジェンス，" pp.304-328，岩波書店，東京，2006.
【非特許文献４】國吉康夫， "R11：創発・発達知能システム情報学（國吉康夫），" ロボット分野に関するアカデミック・ロードマップ，pp.II77-II86，March. 2007. （オンライン），入手先＜ http://www.ai-gakkai.or.jp/jsai/activity/rloadmap.html ＞，（参照2009-08-22）.
【非特許文献５】J. Weng, J. McClelland, A. Pentland, O. Sporns, I. Stockman, M. Sur, and E. Thelen, "Autonomous mental development by robots and animals, " Science, vol.291, no.5504, pp.599-600, 2001.
【非特許文献６】小倉崇，羽根田淳，岡田慧，稲葉雅幸， "自律行動の誘導に基づく等身大ヒューマノイドの全身動作のオンライン教示システム，" 第23 回ロボット学会学術講演会予稿集，pp.1F25，2005.
【非特許文献７】S. Harnad, "The symbol grounding problem, " Physica, Vol.D42, pp.335-346, 1990.
【非特許文献８】G.W. Ernst, and A. Newell, GPS: A Case Study in Generality and Problem Solving, Academic Press, New York, 1969.
【非特許文献９】F. Shen, and O. Hasegawa, "An Incremental Network for On-line Unsupervised Classification and Topology Learning, " Neural Networks, vol.19, pp.90-106, 2006.
【非特許文献１０】J. McCarthy, and P.J. Hayes, "Some philosophical problems from the standpoint of artificial intelligence, " Machine Intelligence, vol.4, pp.463-502, 1969.
【非特許文献１１】下畑光夫、山田誠二、安部憲広、辻三郎、"状態記述系列からのオペレータの生成、"情報処理学会第４１回全国大会論文集（３）、5L-1、pp.55-56、1990.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献６に開示されたロボットによる目的再現は、一見、知識を生成しているように見える。しかし、これは教示時とは動作系列が異なるという意味においては自律的な行動生成を実現しているものの、タスク全体としてはＴｅａｃｈｉｎｇ−Ｐｌａｙｂａｃｋに他ならない。つまり、知識そのものを生成してはおらず、非特許文献５でＷｅｎｇらが示した性質３．を満たしてはいない。
【００１０】
例えば、人間の教示によって、「目の前にあるコップを手に取る」という知識と「手に持っているコップを洗う」という知識をロボットが獲得したとする。このとき、非特許文献６に開示された手法では、ロボットはこれら知識に対応した２つのタスクを実行することはできるものの、「コップを手に持っていない状態で目の前にあるコップを洗う」という新しいタスクを実行することはできない。この新たなタスクを実現するには、ロボットは、「目の前にあるコップを手に取って、手に持ったコップを洗う」という一連の作業を１つの知識として獲得しておかなければならない。しかし、われわれ人間は、そうした一連の作業を直接的に教えられていなくても、既存の知識を組み合わせることで、このタスクを実行することができる。このように人間と同じようにして、汎用のタスクに対して、既存の知識を能動的に運用して、新たな知識を生成可能な知能ロボットの実現が求められる。
【００１１】
従って本発明は、非特許文献５に開示された性質３．を含めて、知能発達システムの持つべき全ての性質を満たす、実世界における一般問題解決システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る問題解決システムは、タスクを実行するロボットと、前記ロボットが存在する実環境中のパターンをパターン情報として取得するパターン情報取得手段と、前記パターン情報取得手段で取得したパターン情報と、与えられるパターン情報の概念情報と、与えられるロボットの動作情報と、に基づいて、前記ロボット自身による行動と実環境の変化との因果関係を表現するオペレータを生成する問題解決支援手段と、前記問題解決支援手段で生成したオペレータの集合を用いて、与えられるタスクの初期状態から目標状態へと至るプランをプランニングするプランナと、を備え、前記問題解決支援手段は、前記取得したパターン情報と、前記パターン情報の概念情報と、前記ロボットの動作情報と、を入力として受け付ける入力層と、前記入力層を介して入力される、前記パターン情報と、当該パターン情報の概念情報と、前記ロボットの動作情報と、を保持するパターン記憶層と、実環境の状態を記述する述語であって、前記パターン記憶層に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルと、前記述語及び前記ロボットの動作情報を含むオペレータと、を保持するシンボル記憶層と、を有し、記号接地フェーズでは、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習し、知識獲得フェーズでは、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得して、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、前記ロボットの動作情報と、を含むオペレータを生成し、問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力してプランニングを実行し、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させるものである。
【００１３】
前記自己増殖型ニューラルネットワークとしては、Self-Organizing Incremental Neural Networkを用いると好適である。
【００１４】
また、前記パターン情報取得手段は、前記パターン情報として少なくとも画像又は音声パターン情報を取得し、前記問題解決支援手段は、記号接地フェーズでは、少なくとも画像又は音声パターン情報に応じた画像用の自己増殖型のニューラルネットワーク又は音声用の自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習するようにしてもよい。
【００１５】
さらにまた、前記問題解決支援手段は、前記タスクの初期状態及び目標状態を記述する述語であって、当該述語が参照する前記パターン記憶層に保持された前記パターン情報の概念情報が未知の物体の状態であることを示す場合には、当該述語を、前記プランナへの入力に先立って前記初期状態環境モデル及び前記目標状態環境モデルから取り除くものとしてもよい。
【００１６】
また、前記ロボットの動作情報を取得する動作情報取得手段を更に備え、前記動作情報取得手段は、前記ロボットの関節角度の時系列データを取得するものとしてもよい。
【００１７】
さらにまた、前記プランナは、現在状態と目標状態との差異を減少させるオペレータを選択し、当該選択したオペレータを現在状態に再帰的に適用するプロセスを繰り返すことで、前記目標状態を達成するプランをプランニングするものとしてもよい。
【００１８】
また、前記問題解決支援手段は、前記プランナが出力する複数のプランのうち、前記ロボットに実行させた場合に当該ロボットが実行に要するエネルギーを最小化する一のプランを選択するようにしてもよい。
【００１９】
本発明に係る問題解決支援装置は、ロボットに実行させるタスクの初期状態から目標状態へと至るプランを、プランナを用いてプランニングさせるための問題解決支援装置であって、前記ロボットが存在する実環境中の少なくとも画像又は音声パターンのパターン情報と、前記ロボットの関節角度の時系列データであるロボットの動作情報を取得し、当該取得したパターン情報と、前記パターン情報の概念情報と、前記ロボットの動作情報と、を入力として受け付ける入力処理部と、前記入力処理部を介して入力される、前記パターン情報と、当該パターン情報の概念情報と、前記ロボットの動作情報と、を保持するパターン記憶部と、実環境の状態を記述する述語であって、前記パターン記憶部に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルと、前記述語及び前記ロボットの動作情報を含むオペレータと、を保持するシンボル記憶部と、を有し、記号接地フェーズでは、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習し、知識獲得フェーズでは、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得して、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、前記ロボットの動作情報と、を含むオペレータを生成し、問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力し、前記知識獲得フェーズで生成したオペレータの集合を用いて前記プランナにプランニングを実行させ、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させるものである。
【００２０】
本発明に係る問題解決方法は、問題解決支援手段を用いてロボット自身による行動と実環境の変化との因果関係を表現するオペレータを生成し、当該生成したオペレータの集合を用いてタスクの初期状態から目標状態へと至るプランをプランナにプランニングさせ、当該プランをロボットに実行させる問題解決方法であって、前記ロボットが存在する実環境中の少なくとも画像又は音声パターンのパターン情報を取得するステップと、前記ロボットの関節角度の時系列データであるロボットの動作情報を取得するステップと、記号接地フェーズにおけるステップと、知識獲得フェーズにおけるステップと、問題解決フェーズにおけるステップと、を有し、前記記号接地フェーズでは、前記取得したパターン情報と、前記パターン情報の概念情報と、を入力層に入力として受け付け、前記パターン情報の種類に応じた自己増殖型のニューラルネットワークを用いて、前記概念情報が対応付けられたパターン情報を学習してパターン記憶層に保持するステップと、を有し、前記知識獲得フェーズでは、実環境の状態を記述する述語であって、前記パターン記憶層に保持された前記パターン情報の概念情報を参照する述語について、前記述語の集合である環境モデルに関して、前記ロボット自身の行動の前後の実環境においてそれぞれ取得したパターン情報から、実環境の変化前後の環境モデルである変化前環境モデル及び変化後環境モデルをそれぞれ取得するステップと、前記取得した変化前環境モデルの述語を要素とする前提条件と、前記取得した変化前環境モデルの述語のうち前記取得した変化後環境モデルの述語には含まれていない述語を要素とする削除リストと、前記取得した変化後環境モデルの述語のうち前記取得した変化前環境モデルの述語には含まれていない述語を要素とする追加リストと、を生成するステップと、前記ロボットの動作情報を入力層に入力として受け付け、前記前提条件と、前記削除リストと、前記追加リストと、前記ロボットの動作情報と、を含むオペレータを生成するステップと、前記取得した変化前環境モデル及び変化後環境モデルと、前記オペレータと、をシンボル記憶層に保持するステップと、を有し、前記問題解決フェーズでは、前記タスクの初期状態及び目標状態をそれぞれ初期状態環境モデル及び目標状態環境モデルとして前記プランナに入力ステップと、前記知識獲得フェーズで生成したオペレータの集合を用いて前記プランナにプランニングを実行させるステップと、前記プランナが出力するプラン中の動作情報に応じた動作を、前記ロボットに実行させるステップと、を有するものである。
【発明の効果】
【００２１】
本発明によれば、知能発達システムの持つべき全ての性質を満たした、問題解決システム、問題解決支援装置及び問題解決方法を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１にかかる問題解決システムの概略構成を示すブロック図。
【図２】実施の形態１にかかるヒューマノイドロボットを示す図である。
【図３】実施の形態１にかかる実験環境を示す図である。
【図４】実施の形態１にかかる問題解決支援装置のアーキテクチャを示す図である。
【図５】実施の形態１にかかる問題解決システムを実現するためのコンピュータシステム構成を示す図である。
【図６】実施の形態１にかかるＳＯＩＮＮのフローチャートを示す図である。
【図７】実施の形態１にかかる知識獲得フェーズの流れを示す図である。
【図８】実施の形態１にかかる実環境のモデル化処理のフローチャートを示す図である。
【図９】実施の形態１にかかる問題解決フェーズのフローチャートを示す図である。
【図１０】実施の形態１にかかる問題解決フェーズの前半の流れを示す図である。
【図１１】実施の形態１にかかるプランナによるプランニングアルゴリズムを示す図である。
【図１２】実施の形態１にかかる問題解決フェーズの後半の流れを示す図である。
【図１３】実施の形態１にかかる実験で使用した４つの物体を示す図である。
【図１４】実施の形態１にかかる実験１で与えた各パターンの概念情報を示す表である。
【図１５】実施の形態１にかかる実験１でオペレータ１を獲得する過程を示す図である。
【図１６】実施の形態１にかかる実験１でオペレータ２を獲得する過程を示す図である。
【図１７】実施の形態１にかかる実験１でオペレータ３を獲得する過程を示す図である。
【図１８】実施の形態１にかかる実験１でオペレータ４を獲得する過程を示す図である。
【図１９】実施の形態１にかかる実験１で知識獲得フェーズにおいて獲得した４つのオペレータを示す表である。
【図２０】実施の形態１にかかる実験１でロボットに提示した初期状態と目標状態を示す図である。
【図２１】実施の形態１にかかる実験１でプランナから得られたプランニングの結果を示す表である。
【図２２】実施の形態１にかかる実験１での実践ステップの過程を示す図。
【図２３】実施の形態１にかかる実験１でロボットに提示した初期状態と目標状態を示す図である。
【図２４】実施の形態１にかかる実験１で得たプランニングの結果を示す表である。
【図２５】実施の形態１にかかる実験１での実践ステップの過程を示す図。
【図２６】実施の形態１にかかる実験１でロボットに提示した初期状態と目標状態と、それに対するロボットの行動を示す図である。
【図２７】実施の形態１にかかる実験２でオペレータ５を獲得する過程を示す図。
【図２８】実施の形態１にかかる実験２でオペレータ７を獲得する過程を示す図。
【図２９】実施の形態１にかかる実験２でオペレータ９を獲得する過程を示す図。
【図３０】実施の形態１にかかる実験２で知識獲得フェーズにおいて獲得した６つのオペレータを示す表である。
【図３１】実施の形態１にかかる実験２でロボットに提示した初期状態と目標状態を示す図である。
【図３２】実施の形態１にかかる実験２で得たプランニングの結果を示す表である。
【図３３】実施の形態１にかかる実験２における各プランの評価を示す表である。
【図３４】実施の形態１にかかる実験２での実践ステップの過程を示す図。
【図３５】実施の形態１にかかる実験２での実践ステップの過程を示す図。
【図３６】実施の形態１にかかる実験２での実践ステップの過程を示す図。
【図３７】実施の形態１にかかる実験２でロボットに提示した初期状態と目標状態と、それに対するロボットの行動を示す図。
【図３８】実施の形態１にかかる実験２でのロボットに提示した初期状態と目標状態と、実践ステップの過程を示す図。
【図３９】実施の形態１にかかる実験２で得たプランニングの結果を示す表である。
【発明を実施するための形態】
【００２３】
まず、各実施の形態の説明に先立ち、本発明の特長とその優位性について説明する。
＜本発明の特長＞
本発明に係る問題解決システムの機能を搭載したロボットは、以下に示す特長を有している。
（ｉ）ロボットは、視覚や聴覚から得られるパターンから、物体の概念（シンボル）を形成する。シンボルグラウンディング問題（非特許文献７）に関しては依然議論が続いているが、本発明では、パターンをシンボルにマップするインタフェースとして、オンライン追加学習が可能なニューラルネットワークを用いている。
（ｉｉ）ロボットは、環境や人間とのインタラクションによって、行動の因果関係を知識としてオンラインかつ追加的に獲得する。ロボットの動作は、非特許文献６に開示されたシステムと同様に、人間がロボットの手先を持って誘導することで教示している。
（ｉｉｉ）ロボットは、既存の知識を組み合わせることで、未知のタスクに対するアプローチを生成することができる。これは、知識を能動的に運用する手段として、古くから知られるプランナを使用することで実現している。尚、後述する実施の形態１では、プランナとして、非特許文献８に開示された一般問題解決器（General Problem Solver：以下、ＧＰＳと称する。）を使用している。
【００２４】
＜本発明の優位性＞
本発明に係る問題解決システムの問題解決支援装置は、後述する図４に示すアーキテクチャを備えている。図４に示すアーキテクチャは、パターンの入力を行う入力層２１と、知識及び知識を生成するために一時的に記憶する実環境のモデルを保持するシンボル記憶層２３との間に、パターン記憶層２２を挿入した構成を採用している。パターン記憶層２２は、パターン情報を保持する複数のニューラルネットワークを含んでおり、ニューラルネットワークとして自己増殖型のニューラルネットワークである非特許文献９に開示されたSelf-Organizing Incremental Neural Network（以下、ＳＯＩＮＮと称する。）を用いている。
【００２５】
図４に示すアーキテクチャの優位性を以下に示す。
（１）パターン記憶層２２でのパターン情報の保持にＳＯＩＮＮを採用することで、ＳＯＩＮＮの性質を引き継ぐことができる。具体的には、ＳＯＩＮＮの高いノイズ耐性を引き継ぎ、実世界における不安定なパターンに対して頑健に振る舞うことができる。また、ＳＯＩＮＮはオンライン追加学習が可能であるという性質を有しているため、知識獲得と問題解決に必要な物体の概念を、必要に応じてオンラインかつ追加的に形成できる。
（２）パターン記憶層２２にパターン情報の種類に応じた複数のニューラルネットワーク空間を用意することで、ロボットに必要とされる、視覚や聴覚といった複数の感覚を用いたマルチモーダルな情報処理が可能である。図４では、画像用と音声用のデータを扱うＳＯＩＮＮ空間（Ｉｍａｇｅ  ＳＯＩＮＮ、Ｓｏｕｎｄ  ＳＯＩＮＮ）を例示しているが、別のＳＯＩＮＮ空間をパターン記憶層２２に用意することで、画像や音声以外の各種センサデータ等についても容易に取り込むことができる。
（３）物体の概念を表現するパターンの集合を、個々のオペレータ（知識としてシンボル記憶層２３に保持されている）の中に保持するのではなく、パターン記憶層２２において概念ごとに保持する。これにより、シンボル記憶層２３では、パターン記憶層２２で形成された概念を一つ一つのシンボルとして共有することができ、シンボル記憶層２３におけるオペレータの記憶容量を大幅に節約することができる。
【００２６】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。
＜１：システムの概要＞
＜１−１：システムの概略構成＞
図１は、本実施の形態に係る問題解決システムの概略構成を示すブロック図である。問題解決システム１は、問題解決支援装置２と、プランナ３と、ロボット４と、を備えている。尚、図では、問題解決支援装置２及びプランナ３はロボット４と独立した装置として示しているが、問題解決支援装置２及びプランナ３の一部又は全ての機能を、ロボット４に搭載するものとしても良い。
【００２７】
問題解決支援装置２は、入力処理部１２と、パターン記憶部１３と、シンボル記憶部１４と、を備えている。尚、後述するように、問題解決支援装置２は、図４に示すアーキテクチャを有しており、入力処理部１２に対応する入力層２１と、パターン記憶部１３に対応するパターン記憶層２２と、シンボル記憶部１４に対応するシンボル記憶層２３と、の３層から構成される。
【００２８】
プランナ３は、問題解決支援装置２により生成されたオペレータの集合と、入力されるタスクの初期状態及び目標状態とを用いて、プランニングを行う。ロボット４は、プランナにより出力されたプランについて、その系列に含まれる動作情報に応じて、動作する。
【００２９】
ロボット４は、実環境中のパターンを取得するパターン情報取得部１１と、自身の動作情報を取得する動作情報取得部１２と、を備えている。パターン情報取得部１１は、ＣＣＤカメラやマイクロフォンなどから構成され、画像パターン情報や、音声パターン情報など、様々なパターン情報を取得することができる。動作情報取得部１２は、例えば、動作情報としてロボット４の腕の動きを取得する場合には、関節の駆動モータに備えられたエンコーダの値から、関節角度の時系列データを取得することができる。
【００３０】
＜１−２：ロボットの構成と実験環境＞
図２に、本実施の形態で使用するロボット４としてのヒューマノイドロボットを示す。本実施の形態では、富士通株式会社製の研究開発用ヒューマノイドロボットＨＯＡＰ（登録商標）−３を使用した。このロボット４は全体として２８自由度を持ち、以下では、２８自由度のうち、頭部の３自由度と両腕の８（各４）自由度を使用する。また、ロボット４は市販のＣＣＤカメラやマイクロフォンを搭載しており、画像入力と音声入力が可能である。
【００３１】
また、本実施の形態では、椅子に固定されたヒューマノイドロボットと、その前に置かれたテーブルの上とからなる環境を、実験環境とする。尚、非特許文献９に開示されたフレーム問題（非特許文献１０を参照）を擬似的に回避するため、本実験では、ロボット４の周囲環境をテーブル上に制限している。また、図３に示すように、テーブルの上に３つの位置（位置Ａ、Ｂ、Ｃ）を定義し、各位置には一度に１つの物体のみしか置けない状況を想定している。
【００３２】
＜１−３：問題解決支援装置の概念構成＞
図４は、本実施の形態に係る問題解決支援装置の概念的な構成及び動作を示す図である。図に示すように、問題解決支援装置は、入力層（Input Layer）２１と、パターン記憶層（Pattern Memory Layer）２２と、シンボル記憶層（Symbol Memory Layer）２３と、の３層構造を有している。
【００３３】
入力層２１は、３つのフェーズ（記号接地フェーズ、知識獲得フェーズ、問題解決フェーズ）に対応し、各フェーズでは、入力される情報が異なっている。入力層２１は、これら３つのフェーズにおいて、実環境から得られる画像パターンや音声パターンを、入力として受け取る。また、入力層２１は、記号接地フェーズにおいては各パターンに付加する概念情報を入力とし、知識獲得フェーズにおいてはロボット４の関節角度の時系列データ（Ａｃｔ１，Ａｃｔ２，Ａｃｔ３，...）についても入力とする。図４の入力層２１における記号（○、△、□）は、このようにフェーズによって入力されるパターンの種類が異なることを意味している。尚、各フェーズの詳細については後述する。
【００３４】
パターン記憶層２２は、入力層２１から送られるパターンを保持し、パターンをシンボルにマップするインタフェースとして機能する。尚、パターン記憶層２２の詳細については後述する。
【００３５】
シンボル記憶層２３は、実環境のモデル（Ｗｏｒｌｄ  Ｍｏｄｅｌ）やオペレータ（Ｏｐｅｒａｔｏｒ）を保持する。実環境のモデルやオペレータは、述語（ｐｒｅｄ）を要素に含む。述語は、パターン記憶層２２から送られるシンボル（Ａ，Ｂ，...）を引数にとる。シンボル記憶層２３が保持する実環境のモデルやオペレータは、プランナ３によるプランニング（Ｐｌａｎｎｉｎｇ）に利用される。尚、シンボル記憶層２３の詳細については後述する。
【００３６】
＜１−４：問題解決システムの概略動作＞
図４を参照して、問題解決システムの概略的な動作について説明する。以下、各フェーズ（（ｉ）記号接地フェーズ、（ｉｉ）知識獲得フェーズ、（ｉｉｉ）問題解決フェーズ）における動作について説明する。
【００３７】
（ｉ）記号接地フェーズ（Symbol Grounding Phase）では、問題解決システム１は、実環境から得られるパターン入力を用い、物体の画像や音声の概念をパターン記憶層２２に形成する。形成した物体の画像や音声の概念は、後のフェーズで使用する。記号接地フェーズでの画像パターンと音声パターンの学習は、自己増殖型ニューラルネットワークを用いることで実現する。実施の形態１では、自己増殖型ニューラルネットワークとして、ＳＯＩＮＮを採用する。ＳＯＩＮＮは既存の学習データを破壊することなく、オンライン追加学習が可能であるという特長を有している。また、学習データを十分に表現できるネットワークまで自己組織的に成長するため、予めネットワークサイズを決定しておく必要がないという特長を有している。
【００３８】
本実施の形態では、パターン記憶層２２に、画像パターン用と音声パターン用に２つのＳＯＩＮＮ空間（Ｉｍａｇｅ  ＳＯＩＮＮ、Ｓｏｕｎｄ  ＳＯＩＮＮ）を用意する。問題解決システム１は、各入力パターンと、実験者によって与えられる概念情報とを併せて、それぞれのＳＯＩＮＮに入力する。尚、記号接地フェーズの詳細は、後述する＜２：記号接地フェーズ＞において説明する。
【００３９】
（ｉｉ）知識獲得フェーズ（Knowledge Acquisition Phase）では、問題解決システム１は、ロボット４自身の行動によって生じた実環境の変化から、その因果関係を知識としてオンラインかつ追加的に獲得する。この因果関係を、「注意のモデル（Ａｔｔｅｎｔｉｏｎ  Ｍｏｄｅｌ）」により、それぞれ１つのオペレータとして表現する。注意のモデルは、実環境の変化からオペレータの構成に必要な前提条件を獲得し、教示された動作情報（Ａｃｔ）と併せて１つのオペレータを構成する。オペレータの構成には、前提条件（ｐｒｅＣｏｎｄ）、削除リスト（ｄｅｌＬｉｓｔ）、追加リスト（ａｄｄＬｉｓｔ）の３つの要素を必要とする。尚、知識獲得フェーズの詳細は、後述する＜３：知識獲得フェーズ＞において説明する。
【００４０】
（ｉｉｉ）問題解決フェーズ（Problem Solving Phase）では、問題解決システム１は、知識獲得フェーズで獲得したオペレータを運用して、実環境において汎用的な問題解決を行う。問題解決システム１は、実環境中で提示されたタスクに対して適切なアプローチが存在するか否かを判定する。ここで存在すると判定された場合、一定の評価基準に従ってアプローチを選択し、そのアプローチをロボット４により実環境において実行させる。このとき、ロボット４は、オペレータの実行とその実行による実環境の変化の観測を、目標状態に到達するまで繰り返す。尚、問題解決フェーズの詳細は、後述する＜４：問題解決フェーズ＞において説明する。
【００４１】
以上のような問題解決システム１の各要素（問題解決支援装置２、プランナ３、ロボット４の制御システムなど）は、専用コンピュータ、パーソナルコンピュータ（ＰＣ）などのコンピュータにより実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図５は、本実施の形態に係る問題解決システムを実現するためのコンピュータシステム構成の一例を示す図である。図５に示すように、コンピュータ４０は、ＣＰＵ４１（Central Processing Unit）、ＲＯＭ４２（Read Only Memory）及びＲＡＭ４３（Random Access Memory）を有し、これらがバス４４を介して相互に接続されている。尚、コンピュータを動作させるためのＯＳソフトなどは、説明を省略するが、この問題解決システムを構築するコンピュータも当然備えているものとする。
【００４２】
バス４４には又、入出力インタフェース４５も接続されている。入出力インタフェース４５には、例えば、キーボード、マウス、センサなどよりなる入力部４６、ＣＲＴ、ＬＣＤなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部４７、ハードディスクなどより構成される記憶部４８、モデム、ターミナルアダプタなどより構成される通信部４９などが接続されている。
【００４３】
ＣＰＵ４１は、ＲＯＭ４２に記憶されている各種プログラム、又は記憶部４８からＲＡＭ４３にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えばオペレータ生成処理やプランニング処理を実行する。各種プログラムには、後述するフローチャートにより示す処理が実装されたプログラムが含まれる。ＲＡＭ４３には又、ＣＰＵ４１が各種の処理を実行する上において必要なデータなども適宜記憶される。通信部４９は、例えば図示しないインターネットを介しての通信処理を行ったり、ＣＰＵ４１から提供されたデータを送信したり、通信相手から受信したデータをＣＰＵ４１、ＲＡＭ４３、記憶部４８に出力したりする。記憶部４８はＣＰＵ４１との間でやり取りし、情報の保存・消去を行う。通信部４９は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。入出力インタフェース４５は又、必要に応じてドライブ５０が接続され、例えば、磁気ディスク５０１、光ディスク５０２、フレキシブルディスク５０３、又は半導体メモリ５０４などが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部４８にインストールされる。
【００４４】
＜２：記号接地フェーズ＞
記号接地フェーズでは、自己増殖型のニューラルネットワークを用いて、物体の画像パターンと音声パターンを学習する。これにより、実験で使用する物体の画像パターンと音声パターンの概念を形成する。本実施の形態では、自己増殖型のニューラルネットワークとしてＳＯＩＮＮを採用する場合を例に説明を行う。尚、ＳＯＩＮＮの詳細については後述する。各パターンの学習を行うため、概念の種類（本実施の形態では、画像と音声）ごとにＳＯＩＮＮを用意し、複数のＳＯＩＮＮをパターン記憶層２２に並列に配置している。各パターンは、概念情報として実験者によって与えられる教師ＩＤ（以下、ｔｅａｃｈｅｒＩＤと称する。ｔｅａｃｈｅｒＩＤ：≧０，∈Ｚ）と併せて、対応するそれぞれのＳＯＩＮＮに入力される。ｔｅａｃｈｅｒＩＤは、後のフェーズにおいて、パターンをシンボルに接地する際に用いられる。
【００４５】
＜２−１：ＳＯＩＮＮ＞
非特許文献９に開示されたＳＯＩＮＮは、オンライン追加学習手法である。ＳＯＩＮＮは２層ネットワーク構造により学習を行うが、１層目と２層目は同じ学習アルゴリズムで動作する。本実施の形態では、これを簡略化した１層ネットワーク構造により学習を行う。そのため、１層目の学習を終了して２層目の学習を行うタイミングを決定するパラメータＬＴは不要である。ＳＯＩＮＮのより詳細なアルゴリズムについては、非特許文献９に開示されている。尚、本実施の形態では、実験において学習データが少ない状況を想定し、ノードを削除する際に、ノイズの判定基準を近傍ノードが存在しないものへと変更している。図６に、ＳＯＩＮＮのフローチャートを示す。
【００４６】
図６を参照して、ＳＯＩＮＮの動作について説明する。
Ｓ１０１：ＳＯＩＮＮは、ネットワーク内のノード集合と、エッジ集合を初期化する。
Ｓ１０２、Ｓ１０３：ＳＯＩＮＮは、入力パターンである入力ベクトルが与えられると、与えられた入力ベクトルと、ネットワーク内ノードの重みベクトルとのユークリッド距離を計算し、入力ベクトルに最も近いノード（以下、第１勝者ノードと称する。）と２番目に近いノード（以下、第２勝者ノードと称する。）を探索する。
Ｓ１０４：ＳＯＩＮＮは、類似度閾値という基準を用いて、入力ベクトルが第１勝者ノードと同一のクラスタに属するか否かを判定する。
Ｓ１０５：判定の結果、異なるクラスタに属する場合には、ＳＯＩＮＮは、入力ベクトルを重みベクトルとして持つ新たなノードをネットワークに挿入する。このときの挿入を、クラス間挿入と呼ぶ。尚、本実施の形態では、実験者によって与えられるｔｅａｃｈｅｒＩＤを、このクラス間挿入時にノードに付加する。
【００４７】
Ｓ１０６、Ｓ１０７、Ｓ１０８：判定の結果、同一のクラスタに属する場合には、ＳＯＩＮＮは、第１勝者ノードと第２勝者ノードとがエッジにより接続されているか否かを判定し、エッジにより接続されていない場合には、第１勝者ノードと第２勝者ノードの間にエッジを生成する。そして、ＳＯＩＮＮは、第１勝者ノードとその近傍ノードの重みベクトルを更新する。このときの動作を、クラス内挿入と呼ぶ。ＳＯＩＮＮは、この２種類の挿入法（クラス間挿入、クラス内挿入）によって、オンラインかつ追加的に学習を行う。
【００４８】
Ｓ１０９：ＳＯＩＮＮは、「エッジの年齢」という基準を用いて、第１勝者ノードに接続しているエッジのうち、閾値ａｇｅｄｅａｄを超えた年齢のエッジを不要と判定し、不要なエッジを削除する。
Ｓ１１０、Ｓ１１１：ＳＯＩＮＮは、入力がλ回与えられるごとに、近傍ノード数が１以下のノードをノイズと判定して、削除する。これにより、既存のネットワーク構造を破壊することなく、ノイズに影響を受けたと想定されるデータのみをネットワークから削除することができる。尚、ここでの近傍ノードとは、ノードとエッジによって直接的に接続している他のノードを示す。
Ｓ１１２、Ｓ１１３：学習を終了する場合には、ＳＯＩＮＮは、学習による処理結果を出力する。これにより、パターン記憶層２２のＩｍａｇｅ  ＳＯＩＮＮ空間には、画像パターンが学習され、Ｓｏｕｎｄ  ＳＯＩＮＮ空間には、音声パターンが学習されて、それらパターンの概念が形成される。
【００４９】
＜３：知識獲得フェーズ＞
図７に、知識獲得フェーズの流れを示す。ここで、「ターム（ｔｅｒｍ）」という概念を導入する。以下では、ロボット４が現在の実環境を観測している期間を１タームとし、同一のターム内では実環境が変化しないものとして説明する。知識獲得フェーズは、図７に示す時間軸（Ｔｉｍｅ）に沿って左から右へと処理が進む。
【００５０】
まず、ロボット４は、オペレータを実行する前の環境として、現在の実環境を観測する。そして、問題解決支援装置２は、ロボット４が観測した情報をもとに、オペレータの実行前の実環境をモデル化する（ｐｒｅＷＭ）。具体的には、ロボット４は、実環境の観測として、音声入力（Ｓｏｕｎｄ  Ｉｎｐｕｔ）と、各位置（Ａ、Ｂ、Ｃ）での画像入力（Ｉｍａｇｅ  Ｉｎｐｕｔ）を行う。ここでは、音声入力（Ｓｏｕｎｄ  Ｉｎｐｕｔ）を開始するのと同時に、位置Ａから順に画像入力（Ｉｍａｇｅ  Ｉｎｐｕｔ）を行い、位置Ｃの画像入力を終了するのと同時に音声入力を終了する。これで１タームが終了する（ｔｅｒｍ１  ｅｎｄｓ）。問題解決支援装置２は、１ターム終了時点で、３つの画像パターンと１つの音声パターンを獲得しており、これらの状態を事前に定義された述語を用いて記述することで、この環境をモデル化する（ｐｒｅＷＭ）。尚、実環境のモデル化については後述する＜３−１：実環境のモデル化＞において詳細に説明する。
【００５１】
次に、ロボット４に対して、オペレータに伴う動作が教示される（Ａｃｔｉｏｎ）。具体的には、実験者が、オペレータに伴う動作として、ロボット４の腕を持って動かす。ロボット４は、その間の腕の動きを８次元の時系列データとして記録する。尚、ここでは、教示する動作によって音が発生する場合に備えるため、動作の教示を開始するのと同時に、ロボット４に音声入力を開始させている。
【００５２】
実験者による動作の教示が終了した後、ロボット４は、オペレータの実行後の環境として現在の実環境を観測する。そして、問題解決支援装置２は、ロボット４が観測した情報をもとに、オペレータの実行後の実環境をモデル化する（ｐｏｓｔＷＭ）。ここでは、ロボット４は、動作の教示と同時に開始した音声入力を続けながら、位置Aから順に画像入力を行い、位置Cの画像入力を終了するのと同時に、音声入力を終了する。これで１タームが終了する（ｔｅｒｍ２  ｅｎｄｓ）。問題解決支援装置２は、獲得した情報をもとに、この環境をモデル化する（ｐｏｓｔＷＭ）。
【００５３】
最後に、問題解決支援装置２は、この２つの環境モデル（ｐｒｅＷＭ、ｐｏｓｔＷＭ）を「注意のモデル（Ａｔｔｅｎｔｉｏｎ  Ｍｏｄｅｌ）」に入力して、オペレータを獲得する（ａｃｑｕｉｒｅ  ｏｐｅｒａｔｏｒ）。これにより獲得したオペレータは、知識としてシンボル記憶層２３に保持される。尚、注意のモデルについては後述する＜３−２：注意のモデル＞においての詳細に説明する。
【００５４】
＜３−１：実環境のモデル化＞
問題解決支援装置２は、ロボット４が実環境から得たパターンを、１−ＮＮ法（１-Nearest Neighbor Method）を用いて、学習済みの概念（シンボル）に接地する。尚、１−ＮＮ法に限定されず、他の公知のクラスタリング手法を用いてシンボルの接地を行うものとしてもよい。図８に、実環境のモデル化処理のフローチャートを示す。
【００５５】
図８を参照して、実環境のモデル化手順について説明する。
Ｓ２０１：ＳＯＩＮＮ空間内のノード集合Ａの中で、入力パターンξとの最近傍ノードｓを探索する。尚、以下の式（１）において、Ｗｋをノードｋの持つ結合重み、||ａ−ｂ||をａとｂのユークリッド距離とする。
【数１】
0005499759.tif 000002
Ｓ２０２：入力パターンξと最近傍ノードｓとの距離が所定の閾値Ｔ以下であるか否かを判定する。
Ｓ２０３：判定の結果、入力パターンξと最近傍ノードｓとの距離が閾値Ｔ以下の場合には、入力パターンξの概念は既知であるものと判定し、最近傍ノードｓに付加されているｔｅａｃｈｅｒＩＤ（≧０，∈Ｚ)を出力する。
Ｓ２０４：判定の結果、閾値Ｔを超えている場合には、入力パターンξの概念は未知であるものと判定し、ｔｅａｃｈｅｒＩＤの値に代えて、"−１"を出力する。
すなわち、Ｓ２０２〜２０４にかけて以下の式（２）に示す処理を行う。尚、以下では、ｔｅａｃｈｅｒＩＤｋをノードｋに付加されているｔｅａｃｈｅｒＩＤとする。
【数２】
0005499759.tif 000003
【００５６】
入力パターンξをｔｅａｃｈｅｒＩＤに接地した後、述語Ａｔ（ｘ，ｙ）と、述語Ｒｉｎｇ（ｘ）とを用いて、実環境に存在する物体の状態を記述する。Ａｔ（ｘ，ｙ）は、物体ｘが位置ｙにあることを表わす述語である。Ｒｉｎｇ（ｘ）は、物体ｘの音が発生していることを表わす述語である。例えば、位置Ａで入力された画像パターンがｔｅａｃｈｅｒＩＤ＝１と認識された場合には、Ａｔ（１，Ａ）と記述し、また、入力された音声パターンがｔｅａｃｈｅｒＩＤ＝２と認識された場合には、Ｒｉｎｇ（２）と記述する。尚、述語は、位置や音を記述するものに限定されず、他の種類の述語を用いるものとしてもよい。
【００５７】
問題解決支援装置２は、１ターム終了時点で位置Ａ、位置Ｂ、位置Ｃの３つの画像パターンと、１つの音声パターンとを獲得しており、獲得したそれぞれのパターンを述語により記述する。１ターム内に含まれる述語の集合を、「環境モデル（Ｗｏｒｌｄ  Ｍｏｄｅｌ：以下、ＷＭと称する。）」と表現する。すなわち、ｐｒｅＷＭとｐｏｓｔＷＭは、各位置でのＡｔ（ｘ，ｙ）と、１つのＲｉｎｇ（ｘ）とから構成されている。
【００５８】
＜３−２：注意のモデル＞
一般に、人間は環境の変化を注意深く観察することで、物事の因果関係を理解する。注意のモデルはこれと同じようにして、ロボット４の行動によって生じた実環境の変化から、その因果関係をそれぞれ１つのオペレータで表現する。注意のモデルは、オペレータの実行前後の２つのＷＭ（ｐｒｅＷＭ、ｐｏｓｔＷＭ）から、オペレータの構成に必要な３つの要素（前提条件、削除リスト、追加リスト）を獲得し、教示された動作情報と併せて、１つのオペレータを構成する。
【００５９】
以下、オペレータの各要素の獲得手順について説明する。オペレータの削除リスト、追加リストは、その定義から、２つのＷＭの差集合を考えることで容易に求めることができる。一方、オペレータの前提条件はヒューリスティックに求める他はない（非特許文献１１）。本実施の形態では、オペレータ実行前のＷＭ全てを前提条件とする方法を採用する。
また、本実施の形態では、未知の物体の状態を表わす述語を「不要な述語」とみなし、オペレータの各要素から不要な述語を取り除く処理（以下の式（３）に示す処理）を行う。尚、ａｒｇｘ（ｐ）は述語ｐの引数ｘを表わす。
【数３】
0005499759.tif 000004
以上から、オペレータの前提条件（ｐｒｅＣｏｎｄ）、削除リスト（ｄｅｌＬｉｓｔ）、追加リスト（ａｄｄＬｉｓｔ）を、以下の式（４）に示すようにして求める。すなわち、オペレータの実行前のＷＭの述語を前提条件とし、オペレータの実行前のＷＭの述語のうちで、オペレータの実行後のＷＭの述語には含まれない述語を削除リストの要素とし、オペレータの実行後のＷＭの述語のうち、オペレータの実行前のＷＭの述語には含まれない述語を追加リストの要素とする。
【数４】
0005499759.tif 000005
【００６０】
尚、「注意のモデル」とは、（ｉ）オペレータ実行前後の実環境をモデル化し、（ｉｉ）２つの実環境を"比較"することでオペレータを獲得する、という手順である。本実施の形態では、注意のモデルの手順（ｉｉ）の"比較"を、式（４）に示したようにして行うものとして説明しているが、オペレータの各要素を獲得する手法はこれに限定されない。例えば、オペレータの前提条件（ｐｒｅＣｏｎｄ）をｐｒｅＷＭの一部とするなどとしてもよい。
【００６１】
＜４：問題解決フェーズ＞
図９に、問題解決フェーズのフローチャートを示す。問題解決フェーズは主に２つのステップから構成され、プランニングを行うステップ（Ｓ３０１、Ｓ３０２、Ｓ３０９）と、プランニングによって得られたプラン（オペレータの系列）を実環境において実行する実践ステップ（Ｓ３０３〜Ｓ３０８）とに分かれる。すなわち、図９において、目標状態と初期状態をプランナ３に入力してプランニングを行う部分が前者に相当し、プランナ３から得られたプランに含まれるオペレータを繰り返し実行している部分が後者に相当する。
【００６２】
まず、図９に示したプランニングを行うステップ（Ｓ３０１、Ｓ３０２、Ｓ３０９）について、図１０及び図１１を参照しながら以下に説明する。図１０は、問題解決フェーズの前半の流れを示す図であり、図１１は、プランナによるプランニングアルゴリズムを示すフローチャートである。問題解決フェーズの前半では、図１０に示す時間軸（Ｔｉｍｅ）に沿って左から右へと処理が進む。
【００６３】
図１０に示すように、まず、実験者は、タスクの目標状態と初期状態を、実環境中でロボット４に順に提示する（ｔｅｒｍ１  ｅｎｄｓ，ｔｅｒｍ２  ｅｎｄｓ）。問題解決支援装置２は、各タームでのロボット４による環境の観測から、目標状態となるＷＭと初期状態となるＷＭの２つのＷＭ（ｇｏａｌＷＭ，ｓｔａｒｔＷＭ）を取得する。そして、問題解決支援装置２は、上述した式（３）を用いて不要な述語を取り除いた後に、取得した２つのＷＭ（ｇｏａｌＷＭ，ｓｔａｒｔＷＭ）を、プランナ３（Ｐｌａｎｎｅｒ）に入力する（図９に示したＳ３０１の処理に相当する。）。プランナ３は、ｇｏａｌＷＭとｓｔａｒｔＷＭの２つのＷＭの入力を受けて、知識獲得フェーズで獲得したオペレータの集合を用いて、プランニングを行う。尚、プランニングの詳細は、後述する＜４−１：プランニング＞において説明する。
【００６４】
プランニングが実行された後、問題解決支援装置２は、初期状態から目標状態に至るプランをプランナ３から得たか否かにより、問題が解決可能であるか否かを判定する（図９に示したＳ３０２の処理に相当する。）。
【００６５】
判定の結果、初期状態から目標状態に至るプランについて、プランナ３によってタスクが解決可能と判定された場合（ｉｆ  ｓｏｌｖａｂｌｅ）、問題解決支援装置２は、事前に実験者によって指定された評価基準に従ってプランを選択し（ｔｈｅｎ  ｃｏｎｔｉｎｕｅ）、そのプランを実環境においてロボット４に実行させる実践ステップに移る（図９に示したＳ３０４の処理へと進む。）。尚、プランの評価については、後述する＜４−２：プランの評価＞において詳細に説明する。実践ステップについては、後述する＜４−３：実践ステップ＞において詳細に説明する。
【００６６】
判定の結果、プランナ３によってタスクが解決不可能と判定された場合（ｉｆ  ｕｎｓｏｌｖａｂｌｅ）、問題解決支援装置２は、問題が解決不可能であると判定し（ｔｈｅｎ  ｓｔｏｐ）、ロボット４に首を横に振らせることで、実験者にそれを示す（図９に示したＳ３０９の処理に相当する）。
【００６７】
＜４−１：プランニング＞
本実施の形態では、プランニングアルゴリズムとして、非特許文献８に開示された一般問題解決器（General Problem Solver：以下、ＧＰＳと称する。）の手段目標分析（Means-Ends Analysis：以下、ＭＥＡと称する。）を用いている。ＭＥＡは、現在状態と目標状態の差異を減少させるオペレータを選択し、現在状態にそのオペレータを適用するプロセスを繰り返すことで、目標状態を達成する手法である。尚、プランニングアルゴリズムはＭＥＡに限定されず、他の公知のプランニングアルゴリズムを用いるものとしてもよい。
【００６８】
図１１を参照して、本実施の形態におけるプランナ３によるプランニングアルゴリズムについて説明する。本実施の形態におけるプランニングアルゴリズムは、標準的なＭＥＡを複数のプランが生成可能となるように拡張したものである。ここで、ｐｌａｎｎは、オペレータ系列（ｏｐ１，ｏｐ２，...，ｏｐｎ）と、初期状態Ｓ（＝Ｓ０）にそのオペレータ系列を適用した状態Ｓｎから構成される。Ｐｌａｎｎｉｎｇ(ｐｌａｎｎ，Ｇ)は、初期状態ＳからＳｎを経て、目標状態Ｇを満たす状態へと変換するオペレータ系列の集合を求める手続きである。
【００６９】
Ｓ４０１：プランナ３は、Ｓを初期状態となるＷＭ、Ｇを目標状態となるＷＭとして、ＧがＳによって満たされているか否かを判定する。判定の結果、成立する場合には、Ｓ４１７の処理（ｐｌａｎｎを返す）を行う。すなわち、目標状態のＷＭであるＧが、初期状態のＷＭで満たされている場合には、ｐｌａｎｎを出力する。
【００７０】
Ｓ４０２：判定の結果、ＧがＳで満たされていない場合には、プランナ３は、ＧからＳを引いた差集合として、集合ｄｉｆｆを求める。
【００７１】
Ｓ４０３：プランナ３は、差異ｄｉｆｆを減少させるのに有効なオペレータ集合として、集合ｅｆｆｅｃｔｉｖｅＯｐＬｉｓｔを求める。ｅｆｆｅｃｔｉｖｅＯｐＬｉｓｔは、知識獲得フェーズで獲得したオペレータの集合に含まれるオペレータであって、追加リストにｄｉｆｆに含まれる述語を含むオペレータの集合を示す。
【００７２】
Ｓ４０４：プランナ３は、ｓｕｃｃｅｓｓｆｕｌＰｌａｎＬｉｓｔを、ＳからＳｎを経てＧを満たす状態へ変換するオペレータ系列の集合とし、空集合に初期化する。
【００７３】
Ｓ４０５：プランナ３は、ｅｆｆｅｃｔｉｖｅＯｐＬｉｓｔが空集合であるか否かを判定する。判定の結果、空集合である場合には、後述するＳ４１６の処理を行う。
Ｓ４０６：判定の結果、空集合でない場合には、プランナ３は、ｅｆｆｅｃｔｉｖｅＯｐＬｉｓｔからオペレータを１つ選択し、これをopとする。
Ｓ４０７：プランナ３は、以下の式（５）に示すようにして、ＳからＳｎを経てｏｐの前提条件を満たす状態へ変換するオペレータ系列の集合として、ｐｌａｎＬｉｓｔ１を求める。尚、ｐｒｅＣｏｎｄｏｐを、ｏｐの前提条件とする。
【数５】
0005499759.tif 000006
【００７４】
Ｓ４０８：プランナ３は、求めたｐｌａｎＬｉｓｔ１が空集合であるか否かを判定する。
Ｓ４０９：判定の結果、ｐｌａｎＬｉｓｔ１が空集合である場合には、プランナ３は、ｅｆｆｅｃｔｉｖｅＯｐＬｉｓｔからｏｐを削除し、Ｓ４０５へと進む。
Ｓ４１０：判定の結果、ｐｌａｎＬｉｓｔ１が空集合でない場合には、プランナ３は、ｐｌａｎＬｉｓｔ１からオペレータ系列を１つ選択し、これをｐｌａｎｍ（ｍ≧ｎ）とする。
Ｓ４１１：プランナ３は、ｏｐをｏｐｍ＋1とし、ｐｌａｎｍのＳｍにｏｐｍ＋1を適用したものをＳｍ＋1として、これらからｐｌａｎｍ＋1を構成する。
【００７５】
Ｓ４１２：プランナ３は、以下の式（６）に示すようにして、ＳからＳｍ＋１を経てＧを満たす状態へ変換するオペレータ系列の集合として、ｐｌａｎＬｉｓｔ２を求める。
【数６】
0005499759.tif 000007
【００７６】
Ｓ４１３：プランナ３は、求めたｐｌａｎＬｉｓｔ２が空集合であるか否かを判定する。判定の結果、ｐｌａｎＬｉｓｔ２が空集合である場合には、Ｓ４１５へと進む。
Ｓ４１４：判定の結果、ｐｌａｎＬｉｓｔ２が空集合でない場合には、プランナ３は、ｓｕｃｃｅｓｓｆｕｌＰｌａｎＬｉｓｔにｐｌａｎＬｉｓｔ２を加える。
Ｓ４１５：プランナ３は、ｐｌａｎＬｉｓｔ１からｐｌａｎｍを削除し、Ｓ４０８へと進む。
【００７７】
Ｓ４１６：プランナ３は、ｓｕｃｃｅｓｓｆｕｌＰｌａｎＬｉｓｔを返す。
Ｓ４１７：プランナ３は、ｐｌａｎｎを返す。
【００７８】
＜４−２：プランの評価＞
問題解決支援装置２は、プランナ３からロボット４への複数のプランが得られた場合に、一定の評価基準に従ってプランを選択する。尚、評価基準の切り替えは実験者により行う。
本実施の形態では、以下の２つの評価基準（コスト）を事前に用意し、得られた複数のプランのうち、実験者によって指定された方のコストがより少ないプランを選択する。ただし、最小コストを持つプランが複数存在する場合には、その中からランダムに１つのプランが選択されるものとする。
（１）オペレータ数
（２）実行時間（各オペレータの実行時間の総和）
【００７９】
尚、複数のプランから一のプランを選択するための評価基準については、選択したプランをロボット４に実行させた場合に、ロボット４が実行に要するエネルギーを最小化する一のプランを選択可能な評価基準を採用することができる。問題解決システム１は、問題解決支援装置２に対してプランナ３を独立して備える構成とし、さらに、複数のプランから一のプランを選択するものであるため、複数のプランが存在するタスクに対しても対処可能であるという特長を有している。
【００８０】
＜４−３：実践ステップ＞
図９に示した実践ステップ（Ｓ３０３〜Ｓ３０８）について、図９及び図１２を参照しながら以下に説明する。図１２に、問題解決フェーズの後半の流れを示す。問題解決フェーズの後半では、図１２に示す時間軸（Ｔｉｍｅ）に沿って左から右へと処理が進む。
【００８１】
図１２に示すように、問題解決支援装置２は、プランナ３から得られるプランに含まれるオペレータを、初期状態から順に繰り返しロボット４に実行させる。このとき、問題解決支援装置２は、オペレータの実行（Ａｃｔｉｏｎ）後に、実環境をロボット４に観測させることで得たＷＭ（ｐｏｓｔＷＭ）と、プランニングの結果に従うＷＭ、つまりオペレータの実行後に想定されるＷＭとを比較する必要がある。これはロボット４が動作を実行したとしても、実環境が想定通りに変化するとは必ずしも限らないためである。実環境の観測後（ｔｅｒｍ  ｅｎｄｓ）、ロボット４に実行させる動作として、以下の３つの選択肢が与えられる。
（ｉ）実環境が想定通りに変化していない場合（ｉｆ  ＮＯＴ  ｃｈａｎｇｅｄ  ａｓ  ｅｘｐｅｃｔｅｄ）には、ロボット４に首を傾けさせることで実験者にそれを示し、再度、同じオペレータの実行を試みる（ｔｈｅｎ  ｅｘｅｃｕｔｅ  ｓａｍｅ  ｏｐｅｒａｔｏｒ）。
（ｉｉ）実環境が想定通りに変化しており、かつ、実環境が目標状態に到達していない場合（ｉｆ  ｃｈａｎｇｅｄ  ａｓ  ｅｘｐｅｃｔｅｄ）には、ロボット４に、残っている次のオペレータの実行に移させる（ｔｈｅｎ  ｅｘｅｃｕｔｅ  ｎｅｘｔ  ｏｐｅｒｔａｔｏｒ）。
（ｉｉｉ）実環境が想定通りに変化しており、かつ、実環境が目標状態に到達している場合（ｉｆ  ａｃｈｉｅｖｅｄ  ｇｏａｌ  ｓｔａｔｅ）には、ロボット４にうなずかせることで実験者にそれを示す（ｔｈｅｎ  ｓｔｏｐ）。
【００８２】
再び図９を参照しながら、Ｓ３０３〜Ｓ３０７（実践ステップ）の処理を以下に説明する。尚、ｓｔａｒｔＷＭとｇｏａｌＷＭは、上述した式（３）によって不要な述語が取り除かれているものとする。また、ｓｔａｒｔＷＭは、初期状態となるＷＭを示す。ｇｏａｌＷＭは、目標状態となるＷＭを示す。
【００８３】
Ｓ３０３：まず、問題が解決可能と判定された場合に、問題解決支援装置３は、ｐｌａｎＷＭをプランニング結果に従うＷＭとし、ｐｌａｎＷＭをｓｔａｒｔＷＭとし、カウンタｃを１に初期化する。
【００８４】
Ｓ３０４：問題解決支援装置３は、プランのｃ番目のオペレータｏｐｃに付加されている動作をロボット４に実行させる。そして、動作の実行後にロボット４に実環境を観測させて、観測により取得するＷＭをｐｏｓｔＷＭとする。また、上述した式（３）に示すようにして、ｐｏｓｔＷＭから不要な述語を取り除く。さらに、ｏｐｃをｐｌａｎＷＭに適用し、適用後のＷＭをｅｘｐｅｃｔｅｄＷＭとする。
【００８５】
Ｓ３０５：問題解決支援装置３は、実環境が想定通りに変化しているか否かを判定する。ここでは、以下に示す式（７）が成立する場合には実環境が想定通りに変化していないと判定し、不成立の場合には想定通りに変化していると判定する。
【数７】
0005499759.tif 000008
判定の結果、実環境が想定どおりに変化していない場合には、ロボット４に首を傾けさせ（Ｓ３０６）、Ｓ３０４の処理へと戻る。
【００８６】
Ｓ３０７：判定の結果、実環境が想定通りに変化している場合には、問題解決支援装置３は、実環境が目標状態に到達しているか否かを判定する。ここでは、以下に示す式（８）が成立する場合には実環境が目標状態に到達していると判定し、不成立の場合には目標状態に到達していないと判定する。
【数８】
0005499759.tif 000009
判定の結果、実環境が目標状態に到達していない場合には、問題解決支援装置３は、ｐｌａｎＷＭをｅｘｐｅｃｔｅｄＷＭとし、ｃを１増やす。そして、Ｓ３０４の処理へと戻る。
【００８７】
Ｓ３０８：判定の結果、実環境が目標状態に到達している場合には、問題解決支援装置３は、ロボット４をうなずかせ、目標状態に到達したとして処理を終了する。
【００８８】
＜５：実験１  基本動作の確認＞
続いて、本実施の形態に係る問題解決システムによる効果について説明する。このため、ヒューマノイドロボットを用いて行った評価実験について説明する。
以下、実験５−１から５−２で、記号接地フェーズ、知識獲得フェーズ、問題解決フェーズにおける各実験について説明する。本実施の形態に係る問題解決支援装置３を実装したヒューマノイドロボットを用いて、基本動作を確認する。このため、本実験ではロボットによる少数（４つ）のオペレータの獲得とそれによる問題解決を扱う。
【００８９】
＜５−１：記号接地フェーズ＞
記号接地フェーズでの実験では、画像特徴には、グレースケール変換後の３６次元ＤＣＴ低周波係数を用いた。また、音声特徴には、サンプリング周波数２０ｋＨｚ、フレーム長５０ｍｓによる１５次元スペクトル特徴を用いた。ただし、音声については、短時間の音について、録音区間内の周波数係数を各次元において最大値を取り、単一ベクトル表現として構成した。各パターンの学習に用いるＳＯＩＮＮのパラメータは、いずれもａｇｅｄｅａｄ＝１０、λ＝２０とした。
【００９０】
図１３は、本実験で使用した４つの物体を示す画像である。左上の物体はベルを示し、右上の物体はドラムを示し、左下の物体はりんごを示し、右下の物体はみかんを示している。ベルとドラムについては、各位置（Ａ、Ｂ、Ｃ）あたり１００回（計３００回）の画像入力と、実験者が音を発生させることで１００回の音声入力とを行った。りんごとみかんについては、各位置あたり１００回（計３００回）の画像入力のみを行った。また、図１４に示す表のように、各パターンについての概念情報（ｔｅａｃｈｅｒＩＤ）を与えた。
【００９１】
＜５−２：知識獲得フェーズ＞
知識獲得フェーズでの実験では、実験者のサポートのもと、以下の４つのオペレータを問題解決支援装置３に獲得させた。尚、オペレータ２、４は、オペレータ１、３とそれぞれ対称の関係にあり、ベルをドラムに、りんごをみかんに置き換えたものである。
オペレータ１．ベルを押すと音が鳴る。
オペレータ２．ドラムを押すと音が鳴る。
オペレータ３．ベルの音が鳴っているときに"ちょうだい"をするとりんごが目の前（位置Ｂ）に移動する。
オペレータ４．ドラムの音が鳴っているときに"ちょうだい"をするとみかんが目の前（位置Ｂ）に移動する。
尚、上述した＜３−１：実環境のモデル化＞で説明した所定の閾値Ｔについては、画像パターンに関してはＴ＝５０とし、音声パターンに関してはＴ＝０．０３とした。実験中、リジェクトを含む各物体の認識率は、画像パターンと音声パターン合わせて平均９７%であった。
【００９２】
＜５−２−１：オペレータ１＞
図１５に、オペレータ１を獲得する過程を示す。図では、左から順に、オペレータの実行前の環境、動作の教示の様子、オペレータの実行後の環境を表している。実験者は位置Ａにベルを置き、これをオペレータの実行前の環境としてロボット４に提示する。これにより、問題解決支援装置３は、ｐｒｅＷＭ＝{Ａｔ(０，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(?１)}を得た。次に、実験者は、ベルを押す動作をロボット４に教示する。これにより、ロボット４が音が発生したことを観測し、問題解決支援装置３は、ｐｏｓｔＷＭ＝{Ａｔ(０，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(４)}を得た。問題解決支援装置３は、これら取得した２つのＷＭ（ｐｒｅＷＭ、ｐｏｓｔＷＭ）を注意のモデルに入力し、オペレータ１を獲得した。
【００９３】
＜５−２−２：オペレータ２＞
図１６に、オペレータ２を獲得する過程を示す。尚、オペレータ２は、オペレータ１のベルをドラムに置き換えたものである。この際、問題解決支援装置３は、ｐｒｅＷＭ＝{Ａｔ(１，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(?１)}，ｐｏｓｔＷＭ＝{Ａｔ(１，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(５)}を得た。
【００９４】
＜５−２−３：オペレータ３＞
図１７に、オペレータ３を獲得する過程を示す。実験者は、位置Ｃにりんごを置くとともに、ロボット４がオペレータの実行前の環境を観測しているときに、ベルの音を発生させる。これにより、問題解決支援装置３は、ｐｒｅＷＭ＝{Ａｔ(−１，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(２，Ｃ)，Ｒｉｎｇ(４)}を得た。
【００９５】
次に、実験者は、"ちょうだい"をする動作をロボット４に教示する。実験者は、動作の教示後、りんごを位置Ｂに移動させる。これにより、問題解決支援装置３は、ｐｏｓｔＷＭ＝{Ａｔ(−１，Ａ)，Ａｔ(２，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(−１)}を得た。問題解決支援装置３は、これら２つのＷＭを注意のモデルに入力し、オペレータ３を獲得した。
【００９６】
＜５−２−４：オペレータ４＞
図１８に、オペレータ４を獲得する過程を示す。尚、オペレータ４は、オペレータ３のベルをドラムに、りんごをみかんにそれぞれ置き換えたものである。この際、問題解決支援装置３は、ｐｒｅＷＭ＝{Ａｔ(−１，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(３，Ｃ)，Ｒｉｎｇ(５)}，ｐｏｓｔＷＭ＝{Ａｔ(−１，Ａ)，Ａｔ(３，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(−１)}を得た。図１９に、知識獲得フェーズにおいて問題解決支援装置３が獲得した４つのオペレータを示す。
【００９７】
＜５−３：問題解決フェーズ＞
問題解決フェーズでの実験では、汎用のタスクとして、実環境中で以下の３つのタスクをロボット４に提示した。これらのタスクは、タスクを提示される以前にロボット４は直接的に経験したことのないものである。尚、タスク２は、タスク１と対称の関係にあり、ベルをドラムに、りんごをみかんに置き換えたものである。
タスク１．ベルを使ってりんごを目の前（位置Ｂ）に移動させる。
タスク２．ドラムを使ってみかんを目の前（位置Ｂ）に移動させる。
タスク３．ベルを使ってみかんを目の前（位置Ｂ）に移動させる。
【００９８】
＜５−３−１：タスク１＞
タスク１について、図２０に示す初期状態と目標状態をロボット４に提示した。問題解決支援装置３は、これらの状態をプランナ３に入力し、このタスクが解決可能であると判定した。このときにプランナ３から得られたプランニングの結果を、図２１に示す。問題解決支援装置３は、図２１に示した結果をもとに、実践ステップにてオペレータをロボット４に実行させ、最終的に目標状態に到達することができた。図２２に、その過程を示す。尚、図２２では、左から順に、初期状態（ターム１の状態）、オペレータ１を実行している様子、ターム２の状態、オペレータ３を実行している様子、ターム３の状態、目標状態に到達でき、うなずいている様子をそれぞれ表している。
【００９９】
＜５−３−２：タスク２＞
タスク２について、図２３に示す初期状態と目標状態をロボット４に提示した。ロボット４は、タスク１と同様に、図２４に示すプランニングの結果をもとに実践ステップにてオペレータを実行し、最終的に目標状態に到達することができた。図２５にその過程を示す。
【０１００】
＜５−３−３：タスク３＞
図２６の左図を目標状態、中央図を初期状態とするタスク３は、知識獲得フェーズで獲得したオペレータでは解決することができない。このため、ロボット４は、プランナ３によってこのタスクが解決不可能であると判定し、首を横に振ってそれを示した。図２６に、その過程を示す。
【０１０１】
＜６：実験２  知識のオンラインかつ追加的な獲得による問題解決能力の向上＞
続いて、実験２では、実験１で用いたロボット４に対して、知識のオンラインかつ追加的な獲得による問題解決能力の向上を確認する。本実験では、実験１と比較して知識の組み合わせ数が多く、さらに複数の組み合わせ方法が存在するタスクを扱う。尚、本実験は実験１に続いて行われ、本実験で用いるロボット４は、実験１で形成したパターン記憶層２２とシンボル記憶層２３における記憶を保持している。
【０１０２】
＜６−１：知識獲得フェーズ＞
本実験では実験１で用いた４つのオペレータ（オペレータ１〜４）に加えて、さらに６つのオペレータ（オペレータ５〜１０）をロボット４に獲得させた。このうち、オペレータ５、７、９の内容を以下に示す。尚、実験１と同様に、オペレータ６、８、１０は、オペレータ５、７、９とそれぞれ対称の関係にあり、これらのオペレータと同様の結果になったため、その説明を省略する。
オペレータ5．右手を挙げると、りんごが手元（位置Ｃ）に置かれる。
オペレータ7．"だだをこねる"と、りんごが目の前（位置Ｂ）に移動する。
オペレータ9．左手を挙げると、ベルが手元（位置Ａ）に置かれる。
【０１０３】
＜６−１−１：オペレータ５＞
図２７に、オペレータ５を獲得する過程を示す。この際、問題解決支援装置３は、ｐｒｅＷＭ＝{Ａｔ(−１，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(?１)}，ｐｏｓｔＷＭ＝{Ａｔ(−１，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(２，Ｃ)，Ｒｉｎｇ(−１)}を得た。
【０１０４】
＜６−１−２：オペレータ７＞
図２８に、オペレータ７を獲得する過程を示す。この際、問題解決支援装置３は、ｐｒｅＷＭ＝{Ａｔ(−１，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(２，Ｃ)，Ｒｉｎｇ(?１)}，ｐｏｓｔＷＭ＝{Ａｔ(−１，Ａ)，Ａｔ(２，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(−１)}を得た。
【０１０５】
＜６−１−３：オペレータ９＞
図２９に、オペレータ９を獲得する過程を示す。この際、問題解決支援装置３は、ｐｒｅＷＭ＝{Ａｔ(−１，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(?１)}，ｐｏｓｔＷＭ＝{Ａｔ(０，Ａ)，Ａｔ(−１，Ｂ)，Ａｔ(−１，Ｃ)，Ｒｉｎｇ(−１)}を得た。図３０に、知識獲得フェーズにおいて問題解決支援装置３が獲得した６つのオペレータを示す。
【０１０６】
＜６−２：問題解決フェーズ＞
本実験ではロボットに５つのタスク（タスク４〜７、３'）を提示した。このうち、タスク４、６、３'の内容を以下に示す。尚、実験１と同様に、タスク５、７は、タスク４、６とそれぞれ対称の関係にあり、これらのタスクと同様の結果になったため、その説明を省略する。また、タスク３'は、実験１においてロボット４が解決不可能と判定したタスク３と同じ内容である。
タスク４．テーブルの上に何も置かれていない状態から目の前（位置Ｂ）にりんごを置く。
タスク６．テーブルの上に何も置かれていない状態から手元（位置Ａ）にりんごを置く。
タスク３'．ベルを使って目の前（位置Ｂ）にみかんを移動させる。
【０１０７】
＜６−２−１：タスク４＞
図３１に示す初期状態と目標状態をロボット４に提示した。問題解決支援装置３は、これらの状態をプランナ３に入力し、このタスクが解決可能であると判定した。このときにプランナ３から得られたプランニングの結果を、図３２に示す。このように、今回のプランニング結果には３つのプランが含まれていたため、ロボット４は、事前に指定された評価基準に従って、プランを１つ選択した。
具体的には、上述したように、本実験では（１）オペレータ数と（２）実行時間という２つの評価基準を用意した。その結果、図３３の表に示すように、オペレータ数を評価基準として指定した場合にはプラン１が選択され、実行時間を評価基準として指定した場合にはプラン２、またはプラン３が選択された。以下では、各プランの実践ステップの結果について述べる。
【０１０８】
（１）ロボット４は、プラン１に基づいて実践ステップにおいてオペレータを実行し、最終的に目標状態に到達できた。図３４にその様子を示す。
（２）ロボット４は、プラン２に基づいて実践ステップにおいてオペレータを実行し、最終的に目標状態に到達できた。図３５にその様子を示す。
（３）ロボット４は、プラン３に基づいて実践ステップにおいてオペレータを実行したが、その途中、実環境がプランニング結果通りに変化せず、最終的に目標状態に到達できなかった。図３６にその様子を示す。ここで図３２の表に示したように、ロボット４がオペレータ５の実行後にターム４として想定したＷＭは｛Ａｔ（０，Ａ），Ａｔ（２，Ｃ），Ｒｉｎｇ（４）｝であった。しかし、実際に観測したＷＭは｛Ａｔ（０，Ａ），Ａｔ（２，Ｃ）｝であった。このため、ロボット４はその後、この環境に対してオペレータ５の実行を繰り返したが、結果的に想定通りの環境に到達できなかった。
【０１０９】
＜６−２−２：タスク６＞
図３７の左図を初期状態、中央図を目標状態とするタスク６は、実験１、２で獲得したオペレータでは解決できない。ロボット４は、プランナ３によってこのタスクを解決不可能と判定し、首を横に振ってそれを示した。図３７にその様子を示す。
【０１１０】
＜６−２−３：タスク３'＞
図３８の左図から１枚目を初期状態、２枚目を目標状態とするタスク３'は、実験１においてロボットが解決不可能と判定したものである。しかし、本実験においては、ロボット４は実験１、２で獲得した複数のオペレータを複合的に運用することで、このタスクを解決可能と判定した。このときに、プランナ３から得られたプランニング結果を図３９に示す。このうち、プラン１の実践ステップの様子を図３８に示した。ロボット４は、プラン１に基づいて実践ステップにおいてオペレータを実行し、最終的に目標状態に到達できた。
【０１１１】
＜７：考察＞
以上の説明より、本実施の形態に係る問題解決システムは、非特許文献５で示された性質を全て満たし、また、冒頭で説明した優位性を備えている。また、ヒューマノイドロボット４を用いた実験により、実世界における汎用のタスクに対して有効であることを示した。具体的には、各実験により問題解決支援装置２を実装したロボット４は以下の特長を持つことが確認できた。
（１）ロボット４は、直接的に経験したことのないタスクに対しても適切に行動できる。ここで言う行動とは、自らの問題解決能力では実行できないタスクに対して、実行できないことを示す行為も含まれる。例えば、実験１のタスク１、２に関しては、ロボット４がタスクを提示される以前に直接的に経験したことのないものであるが、ロボット４はこれらのタスクを実行することができた。一方、タスク３に関しては、ロボット４はこのタスクが実験１で獲得したオペレータでは実行できないことを示した。
（２）ロボット４は、知識をオンラインかつ追加的に獲得することで自らの問題解決能力を向上させることができる。具体的には、従来よりも複雑なタスク（オペレータの組み合わせ数が多いものや複数のプランが存在するもの）や、従来では実行できなかったタスクを実行できるようになる。
例えば、実験２のタスク４、５に関しては、実験１のタスク１、２と比較してオペレータの組み合わせ数が多く、さらに複数のプランが存在するものであるが、ロボット４はこれらのタスクに対して適切に行動できた。また、タスク６、７に関しては、ロボット４はこれらのタスクが実験１、２で獲得したオペレータでは実行できないことを示した。そしてタスク３'に関しては、実験１においてロボット４が解決不可能と判定したものであるが、ロボット４は実験１、２で獲得した複数のオペレータを複合的に運用することでこのタスクを実行できた。
【０１１２】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、本発明はヒューマノイドロボットに限定されず、ヒューマノイドロボット以外の形態のロボット（移動ロボット等）にも搭載可能である。
【符号の説明】
【０１１３】
１  問題解決システム、
２  問題解決支援装置、
３  プランナ、
４  ロボット、
１１  パターン情報取得部、
１２  動作情報取得部、
１３  入力処理部、
１４  パターン記憶部、
１５  シンボル記憶部、
２１  入力層、
２２  パターン記憶層、
２３  シンボル記憶層、
４０  コンピュータ、
４１  ＣＰＵ、
４２  ＲＯＭ、
４３  ＲＡＭ、
４４  バス、
４５  入出力インタフェース、
４６  入力部、
４７  出力部、
４８  記憶部、
４９  通信部、
５０  ドライブ、
５０１  磁気ディスク、
５０２  光ディスク、
５０３  フレキシブルディスク、
５０４  半導体メモリ、
【図１】
0005499759.tif 000010
【図４】
0005499759.tif 000011
【図５】
0005499759.tif 000012
【図６】
0005499759.tif 000013
【図７】
0005499759.tif 000014
【図８】
0005499759.tif 000015
【図９】
0005499759.tif 000016
【図１０】
0005499759.tif 000017
【図１１】
0005499759.tif 000018
【図１２】
0005499759.tif 000019
【図１４】
0005499759.tif 000020
【図１９】
0005499759.tif 000021
【図２１】
0005499759.tif 000022
【図２４】
0005499759.tif 000023
【図３０】
0005499759.tif 000024
【図３２】
0005499759.tif 000025
【図３３】
0005499759.tif 000026
【図３９】
0005499759.tif 000027
【図２】
0005499759.tif 000028
【図３】
0005499759.tif 000029
【図１３】
0005499759.tif 000030
【図１５】
0005499759.tif 000031
【図１６】
0005499759.tif 000032
【図１７】
0005499759.tif 000033
【図１８】
0005499759.tif 000034
【図２０】
0005499759.tif 000035
【図２２】
0005499759.tif 000036
【図２３】
0005499759.tif 000037
【図２５】
0005499759.tif 000038
【図２６】
0005499759.tif 000039
【図２７】
0005499759.tif 000040
【図２８】
0005499759.tif 000041
【図２９】
0005499759.tif 000042
【図３１】
0005499759.tif 000043
【図３４】
0005499759.tif 000044
【図３５】
0005499759.tif 000045
【図３６】
0005499759.tif 000046
【図３７】
0005499759.tif 000047
【図３８】
0005499759.tif 000048