(57)【特許請求の範囲】
【請求項１】
ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成する問題解決器として動作するデータ処理装置であって、
前記状態空間中における任意の状態から前記目標状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習する認知距離学習手段と、
前記認知距離学習手段による認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動である次行動を決定する次行動決定手段と、
を有しており、
前記認知距離学習手段は、前記任意の状態と前記目標状態と該目標状態での前記行動とに基づき、該任意の状態と該任意の状態において実行し得る行動とよりなるベクトルから該目標状態と該目標状態での前記行動とよりなるベクトルへの移動に要する距離を、前記認知距離として算出して、該任意の状態において実行し得る行動と該認知距離との関係を示す距離リストを生成し、
前記次行動決定手段は、前記任意の状態において前記認知距離が最も短くなる行動を、前記次行動として、前記距離リストに基づき選択し、
前記任意の状態と、該任意の状態において前記次行動決定手段が選択した行動とよりなるベクトルを、該次行動決定手段による選択の履歴として保持する状態−行動保持手段を更に有しており、
前記認知距離学習手段は、前記認知距離の算出を行うときに、該認知距離の算出の対象である、状態と該状態において実行し得る行動とよりなるベクトルが前記状態−行動保持手段に保持されていた場合には、前記距離リストにおいて該ベクトルに関係付けられている認知距離と該算出により算出された認知距離とを比較し、該算出された認知距離の方が短い場合には、該距離リストにおいて該ベクトルに関係付けられている認知距離を、該算出された認知距離に変更する、
ことを特徴とするデータ処理装置。
【請求項２】
前記状態空間中における任意の状態において実行し得る次の行動を提示する行動提示手段を更に有し、
前記次行動決定手段は、前記行動提示手段により提示される行動のうち、該行動を行なったときに到達する状態から前記目標状態までの認知距離が少なくなるものを選択する、
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成する問題解決器として動作するデータ処理装置であって、
前記状態空間中における任意の状態から前記目標状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習する認知距離学習手段と、
前記認知距離学習手段による認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動を実行することによって到達する状態である次状態を決定する次状態決定手段と、
前記任意の状態と、該任意の状態の直前の状態において該任意の状態に至るために実行された行動とよりなるベクトルを状態の履歴として保持する状態保持手段と、
を有しており、
前記認知距離学習手段は、前記任意の状態と前記状態保持手段に保持されている該任意の状態に至るために実行された前記行動と前記目標状態とに基づき、該任意の状態と該任意の状態に至るために実行された行動とよりなるベクトルから該目標状態と該目標状態の直前の状態において該目標状態に至るために実行される前記行動とよりなるベクトルへの移動に要する距離を、前記認知距離として算出して、該任意の状態と該認知距離との関係を示す距離リストを生成し、
前記次状態決定手段は、前記任意の状態において前記認知距離が最も短くなる状態を、前記次状態として、前記距離リストに基づき選択し、
前記認知距離学習手段は、前記認知距離の算出を行うときに、該認知距離の算出の対象である、状態と該状態に至るために該状態の直前の状態において実行された行動とよりなるベクトルが前記状態保持部に保持されていた場合には、前記距離リストにおいて該ベクトルに関係付けられている認知距離と該算出により算出された認知距離とを比較し、該算出された認知距離の方が短い場合には、該距離リストにおいて該ベクトルに関係付けられている認知距離を、該算出された認知距離に変更する、
ことを特徴とするデータ処理装置。
【請求項４】
前記状態空間中における任意の状態において実行し得る次の行動を実行することによって到達する状態を提示する状態提示手段を更に有し、
前記次状態決定手段は、前記状態提示手段により提示される状態のうち、該状態から前記目標状態までの認知距離が少なくなるものを選択する、
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記状態空間中の状態が属する範囲であって、前記認知距離学習手段によって認知距離を学習することの可能な状態が属する該範囲を、該状態空間を階層化した上位の状態空間におけるひとつの状態に対応付ける分節化手段と、
前記上位の状態空間における状態を、該状態に対応する下位の状態空間の範囲に属し、該範囲を代表する状態であるランドマークに対応付けるランドマーク位置手段と、
前記上位の状態空間中における任意の状態から、前記分節化手段によって前記目標状態に対応付けられた前記上位の状態空間における目標状態に到達するまでの前記認知距離を学習する上位認知距離学習手段と、
前記上位認知距離学習手段による前記上位の状態空間中における認知距離の学習結果に基づいて、前記分節化手段によって前記目標状態に対応付けられた前記上位の状態空間における目標状態に至るために、該分節化手段によって前記下位の状態空間中の特定の状態に対応付けられた該上位の状態空間における特定の状態において次に実行すべき該行動を実行することによって到達する該上位の状態空間における前記次状態を決定する上位次状態決定手段と、
を更に有し、
前記認知距離学習手段は、前記下位の状態空間についての前記認知距離を学習し、
前記次状態決定手段は、前記認知距離学習手段による前記下位の状態空間についての認知距離の学習結果に基づいて、前記ランドマーク位置手段によって前記上位の状態空間における次状態に対応付けられているランドマークに至るために前記下位の状態空間中の特定の状態において次に実行すべき前記行動を実行することによって到達する前記次状態を決定する、
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項６】
コンピュータに実行させることによって、ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成させる制御を該コンピュータに行なわせる制御プログラムを記憶した該コンピュータで読み取り可能な記憶媒体であって、
前記状態空間中における任意の第一の状態から該第一の状態とは異なる第二の状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習する認知距離学習制御と、
前記認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動を決定する次行動決定制御と、
を前記コンピュータに行なわせる制御プログラムを記憶しており、
前記認知距離学習制御では、前記任意の状態と前記目標状態と該目標状態での前記行動とに基づき、該任意の状態と該任意の状態において実行し得る行動とよりなるベクトルから該目標状態と該目標状態での前記行動とよりなるベクトルへの移動に要する距離を、前記認知距離として算出して、該任意の状態において実行し得る行動と該認知距離との関係を示す距離リストを生成し、
前記次行動決定制御では、前記任意の状態において前記認知距離が最も短くなる行動を、前記次行動として、前記距離リストに基づき選択し、
前記制御プログラムは、前記任意の状態と、該任意の状態において前記次行動決定制御により選択された行動とよりなるベクトルを、該次行動決定制御による選択の履歴として、前記コンピュータが有している記憶部で保持する状態−行動保持制御を前記コンピュータに更に行なわせ、
前記認知距離学習制御では、前記認知距離の算出を行うときに、該認知距離の算出の対象である、状態と該状態において実行し得る行動とよりなるベクトルが前記記憶部で保持されていた場合には、前記距離リストにおいて該ベクトルに関係付けられている認知距離と該算出により算出された認知距離とを比較し、該算出された認知距離の方が短い場合には、該距離リストにおいて該ベクトルに関係付けられている認知距離を、該算出された認知距離に変更する、
ことを特徴とする記憶媒体。
【請求項７】
コンピュータに実行させることによって、ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成させる制御を該コンピュータに行なわせる制御プログラムを記憶した該コンピュータで読み取り可能な記憶媒体であって、
前記状態空間中における任意の第一の状態から該第一の状態とは異なる第二の状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習する認知距離学習制御と、
前記認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動を実行することによって到達する状態である次状態を決定する次状態決定制御と、
前記任意の状態と、該任意の状態の直前の状態において該任意の状態に至るために実行された行動とよりなるベクトルを、状態の履歴として、前記コンピュータが有している記憶部で保持する状態保持制御と、
を前記コンピュータに行なわせる制御プログラムを記憶しており、
前記認知距離学習制御では、前記任意の状態と前記記憶部で保持されている該任意の状態に至るために実行された前記行動と前記目標状態とに基づき、該任意の状態と該任意の状態に至るために実行された行動とよりなるベクトルから該目標状態と該目標状態の直前の状態において該目標状態に至るために実行される前記行動とよりなるベクトルへの移動に要する距離を、前記認知距離として算出して、該任意の状態と該認知距離との関係を示す距離リストを生成し、
前記次状態決定制御では、前記任意の状態において前記認知距離が最も短くなる状態を、前記次状態として、前記距離リストに基づき選択し、
前記認知距離学習制御では、前記認知距離の算出を行うときに、該認知距離の算出の対象である、状態と該状態に至るために該状態の直前の状態において実行された行動とよりなるベクトルが前記記憶部で保持されていた場合には、前記距離リストにおいて該ベクトルに関係付けられている認知距離と該算出により算出された認知距離とを比較し、該算出された認知距離の方が短い場合には、該距離リストにおいて該ベクトルに関係付けられている認知距離を、該算出された認知距離に変更する、
ことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置に関し、更に詳しくは、ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに初期状態から目標状態に至るまでの行動系列を生成する問題解決器に関する。
【０００２】
【従来の技術】
ある問題により定義される状態空間中で初期状態と目標状態が与えられたときに、初期状態から目標状態に至るまでの行動系列を生成する問題解決器として、一般問題解決器（ＧＰＳ：General Problem Solver）がよく知られている。
【０００３】
ＧＰＳは、図１７に示すように、ある状態ｓｔａｔｅ（ｔ）に対して行動ａｃｔｉｏｎ（ｔ）を適用した（すなわち、行動を起こした）場合に到達する状態ｓｔａｔｅ（ｔ＋１）を予測するモデル（このモデルは世界モデルあるいはフォワードモデルなどと呼ばれている）を有している。
【０００４】
ＧＰＳによる行動系列の生成では、問題により定義される状態空間中で、まず初期状態と目標状態との差異が取り出される。そして、その差異を減少させるような行動（オペレータ）が選択される。
【０００５】
ここで、そのオペレータが適用されること、つまりそのオペレータの適用条件が満たされることを次の副目標とし、以降、差異の検出とオペレータの選択とが繰り返される。その結果、差異がなくなったときに、初期状態から目標状態に至るまでのオペレータの系列、すなわちプランが得られる。そして最後にこのプランが実行される。
【０００６】
上述したモデルを用いた行動系列の生成（古典的プランニングなどとも呼ばれている）は、行動実行時の計算量が多量になる（計算コストが大きい）という問題点を抱えている。
【０００７】
一方で、図１８に示すように、ある状態ｓｔａｔｅ（ｔ）（以下、「ｓ（ｔ）」と略す）から直接に行動ａｃｔｉｏｎ（ｔ）（以下、「ａ（ｔ）」と略す）を導くようにして、実時間動作を必要とするシステムへの適用を可能にした即応的行動決定（リアクティブプランニング）がある。これは、行動実行時の計算コストは小さいものの、目標状態の変更に対して行動を変化させることができないため、柔軟性に乏しいという問題がある。
【０００８】
この問題を克服する技術として目標状態を報酬（または効用）として表現し、実行すべき行動系列の途中の予測評価を用いることで、目標状態の変更に対し、実行すべき行動を学習によって変化させる技法である強化学習というものがある。
【０００９】
強化学習の代表的なアルゴリズムであるＱ学習は、状態ｓ（ｔ）から行動ａ（ｔ＋１）へのマッピングを外界から得られる報酬に基づいて変更する。図１９に（ａ）として示すように、Ｑ学習においては、状態ｓ（ｔ）における行動ａ（ｔ＋１）に対応する予測報酬としてのＱ値であるＱ（ｓ（ｔ）＋ａ（ｔ））をＱモジュールが見積もり、そのＱ値の大きい（予測報酬の高い）行動ａ（ｔ＋１）を優先的に選択するようにすることで合理的な行動選択が行なわれる。
【００１０】
また、強化学習のもうひとつの有名なモデルであるActor-Criticモデルでは、図１９に（ｂ）として示すCriticモジュールが状態ｓ（ｔ）により決定される予測報酬としてのＶ値であるｖａｌｕｅ（ｓ（ｔ））を見積もり、ここから得られる予測報酬の誤差に基づいて実行すべき行動の選択確率をActor モジュールが変化させるというものである。
【００１１】
以上のような仕組みにより、いずれの強化学習モデルにおいても行動実行時には迅速な行動決定が行なえる。
なお、プランニングについては、例えば、Russel, S. J. & Norvig, P. : Artifical Intelligence: Modern Approach, Prentice-Hall International, Inc. （邦訳：エージェントアプローチ  人工知能、共立出版）に詳細に説明されており、強化学習については、例えば、Kaelbling, L. P., Littman, M. L., & Moore, A. W. : Reinforcement Learning: A Survey, J. Artifical Intelligence Reserch, Vol.4, pp237-285(1996)に詳細に説明されている。
【００１２】
【発明が解決しようとする課題】
上述したように、古典的プランニングは行動実行時の計算のコストが大きい問題を有していた。
【００１３】
また、即応的行動決定は、古典的プランニングよりも行動実行時の計算コストを低減させることができるものの、目標状態の変更に対して行動を変化させることができないため、柔軟性に乏しいという問題を有していた。
【００１４】
更に、強化学習については、目標状態の変更に対して行動を変化させることが一応可能ではあるものの、目標状態が変更されたときにはそれまでの学習結果は基本的には再利用できないので学習をやり直す必要がある。ところが、特定された目標状態に対する学習に要する学習量（学習コスト）は多大であるので、結果的に目標状態を変更することの許容される場合は限られてしまうため、柔軟性の確保は不十分であった。
【００１５】
以上の問題を鑑み、行動実行時の計算コストを低く抑えつつ、目標状態の変更に対する柔軟性を確保する問題解決器を提供することが本発明が解決しようとする課題である。
【００１６】
【課題を解決するための手段】
図１は本発明の原理構成図であり、（ａ）は本発明に係る問題解決器の第一の構成を、（ｂ）は本発明に係る問題解決器の第二の構成を、それぞれ示している。
【００１７】
同図（ａ）及び（ｂ）にそれぞれ示す本発明に係る問題解決器（１ａ、１ｂ）は、どちらも、ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成するものである。
【００１８】
同図（ａ）及び（ｂ）にそれぞれ示す、認知距離学習手段（２ａ、２ｂ）は、どちらも、上述した状態空間中における任意の状態から上述した目標状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習するものである。なお、この認知距離は、状態空間中における任意の２つの状態に対応して得られる値であり、２つの状態の単なる物理的な隔たりの大きさを示す値（すなわち距離）を具体例のひとつに挙げることができるが、これに限定されるものではない。
【００１９】
同図（ａ）に示す次行動決定手段３ａは、認知距離学習手段（２ａ）による認知距離の学習結果に基づいて、上述した行動系列に属することとなる行動であって、目標状態に至るために上述した状態空間中の特定の状態において次に実行すべき該行動である次行動を決定するものである。
【００２０】
この次行動の決定については、例えば、問題解決器１ａが状態空間中における任意の状態において実行し得る次の行動を提示する行動提示手段を更に有し、次行動決定手段３ａが、この行動提示手段により提示される行動のうち、該行動を行なったときに到達する状態から目標状態までの認知距離が少なくなるものを選択するようにするとよい。
【００２１】
また、同図（ｂ）に示す次状態決定手段３ｂは、認知距離学習手段（２ａ）による認知距離の学習結果に基づいて、上述した行動系列に属することとなる行動であって、目標状態に至るために上述した状態空間中の特定の状態において次に実行すべき該行動を実行することによって到達する状態である次状態を決定するものである。
【００２２】
この次状態の決定については、例えば、問題解決器１ｂが状態空間中における任意の状態において実行し得る次の行動を実行することによって到達する状態を提示する状態提示手段を更に有し、次状態決定手段３ｂが、この状態提示手段により提示される状態のうち、該状態から目標状態までの認知距離が少なくなるものを選択するようにするとよい。
【００２３】
本発明は、上述したような図１（ａ）若しくは図１（ｂ）に示す構成を有することによって、認知距離学習手段（２ａ、２ｂ）において状態空間中における任意の状態から目標状態までの認知距離の学習が行なわれ、そしてこの認知距離の学習結果に基づいて行動系列の生成が行なわれる。この認知距離は、強化学習における予測評価と異なり、学習中に目標状態が変更するとその変更が学習結果に直ちに反映される。しかも、次行動決定手段３ａによる次行動の決定、及び次状態決定手段３ｂによる次状態の決定は、認知距離学習手段（２ａ、２ｂ）の学習結果である認知距離の単純な大小判断によって行なうことができる。従って行動実行時の計算コストは低く抑えられ、且つ、目標状態の変更に対する柔軟性が確保される。
【００２４】
なお、図１（ａ）（若しくは（ｂ））に示す構成において、認知距離学習手段２ａ（若しくは２ｂ）が、学習結果である認知距離を保持し、次行動決定手段３ａ（若しくは次状態決定手段３ｂ）が、認知距離学習手段２ａ（若しくは２ｂ）に保持されている認知距離の学習結果に基づいて次行動（次状態）を決定し、認知距離学習手段２ａ（若しくは２ｂ）が、同一の状態間についての認知距離を再度学習したときには、保持している認知距離を更新するように構成してもよく、この構成によれば、行動実行時の経験をも学習に反映させることができ、目標状態の変更に対する柔軟性が更に向上する。
【００２５】
また、図１（ｂ）に示す構成において、状態空間中の状態が属する範囲であって、認知距離学習手段２ｂによって認知距離を学習することの可能な状態が属する該範囲を、該状態空間を階層化した上位の状態空間におけるひとつの状態に対応付ける分節化手段と、該上位の状態空間における状態を、該状態に対応する下位の状態空間の範囲に属し、該範囲を代表する状態であるランドマークに対応付けるランドマーク位置手段と、該上位の状態空間中における任意の状態から、該分節化手段によって該目標状態に対応付けられた該上位の状態空間における目標状態に到達するまでの該認知距離を学習する上位認知距離学習手段と、該上位認知距離学習手段による該上位の状態空間中における認知距離の学習結果に基づいて、該分節化手段によって該目標状態に対応付けられた該上位の状態空間における目標状態に至るために、該分節化手段によって該下位の状態空間中の特定の状態に対応付けられた該上位の状態空間における特定の状態において次に実行すべき該行動を実行することによって到達する該上位の状態空間における該次状態を決定する上位次状態決定手段と、を問題解決器１ｂが更に有し、認知距離学習手段２ｂが、該下位の状態空間についての該認知距離を学習し、次状態決定手段３ｂが、認知距離学習手段２ｂによる該下位の状態空間についての認知距離の学習結果に基づいて、該ランドマーク位置手段によって該上位の状態空間における次状態に対応付けられているランドマークに至るために該下位の状態空間中の特定の状態において次に実行すべき該行動を実行することによって到達する該次状態を決定するように構成してもよく、この構成によれば、認知距離の学習結果の保持量を制限しつつ、状態空間中で遠く離れた状態間での行動決定が行なえるようになる。
【００２６】
なお、上述した本発明に係る問題解決器（１ａ、１ｂ）の備える各構成により行なわれる機能と同様の制御をコンピュータに行なわせる制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体から、その制御プログラムをコンピュータに読み出させて実行させることによっても、前述した課題を解決することができる。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。なお、ここでは、本発明を実施する問題解決器に図２に示す問題を解決させる場合を例にして説明する。
【００２８】
図２に示す問題は、移動ロボットのナビゲーションタスクである。同図に示されている問題は、移動ロボット１０がゴール１１に到達する経路を求めるというものである。ここで、移動ロボット１０は、同図に示すフィールド１２のマス目のどこに自分が現在位置しているかを示す情報（例えば２次元の座標情報）を得ることができるものとし、更に、このフィールド１２のマス目間を上下左右に１マスずつ移動することができるものとする。但し、フィールド１２の四方を取り囲む壁１３にぶつかっているときには、移動ロボット１０はその壁１３の方向への移動は行なえないものとする。
【００２９】
まず、図３について説明する。同図は、Ｑ学習を用いた問題解決器と、本発明に係る、認知距離に基づく問題解決器との構成を比較する図である。なお、同図においては、図４に示すように、現在の状態ｓ（ｔ）と、その状態において行なう行動ａ（ｔ＋１）とをペアとするベクトルが取り扱われる。
【００３０】
図３に（ａ）として示しているＱ学習を用いた問題解決器について先に説明する。
同図に示している問題解決器２０は、行動モデル生成部２１、Ｑモジュール２２、及び選択器２３を備えて構成されており、現在の状態ｓ（ｔ）とその状態において試行した行動ａ（ｔ＋１）とに応じて与えられる報酬（ｒｅｗａｒｄ）を、問題が定義されている状態空間２４から受け取ることで学習を繰り返し、十分な学習を終えた後には、現在の状態ｓ（ｔ）において次に行なう適切な行動ａ（ｔ＋１）を迅速に出力できるようになるというものである。
【００３１】
行動モデル生成部２１は、現在の状態ｓ（ｔ）におけるとり得る行動の一覧（行動リスト）を生成して出力する。図２の問題例で説明すれば、移動ロボット１０の現在の位置において可能な行動（フィールド１２における１マス移動）の一覧を生成し、行動リストとして出力する。
【００３２】
Ｑモジュール２２は、状態空間２４から入力される現在の状態ｓ（ｔ）と学習中に状態空間２４から入力される報酬（ｒｅｗａｒｄ）とに基づいて、その状態において実行し得る行動ａ（ｔ＋１）に対して期待される報酬を算定する。
【００３３】
図２の問題例で説明すれば、移動ロボット１０は、学習時にはフィールド１２上の様々なマスにおいて実際に上下左右への１マスの移動を実行する。このとき、この移動の実行によって移動ロボット１０がゴール１１に到達したときのみ報酬が与えられる（他の状態では報酬が無い）ようにしておく。この報酬は即時評価と呼ばれている。Ｑモジュール２２は、この報酬と、この報酬を得たときの移動ロボット１０のフィールド１２上の直前の位置（状態）及びその位置で実行された移動（行動）の内容とに基づいて、フィールド１２上の各位置で実行する各移動行動に対して期待される報酬（この期待される報酬の期待値は遅延評価と呼ばれている）をＱ値として見積もり、この結果をＱ値リストとして出力する。Ｑモジュール２２は、十分な学習を行なうことによってこの見積もりの確度を向上させる。
【００３４】
Ｑモジュール２２によって行なわれる学習処理の手順を示すフローチャートを図５に示し、同図に従ってその手順を説明する。図２の問題例で説明すれば、この学習処理は、学習中に移動ロボット１０がフィールド１２上を移動する度に行なわれる。
【００３５】
まず、現在の状態ｓ（ｔ）及びこの状態における報酬ｒが状態空間２４から、また前述した行動リストＬａが行動モデル生成部２１から、それぞれ取得され、更に、この状態ｓに至った直前の行動ａ（ｔ）、すなわち、問題解決器２０による直前の出力も取得される（Ｓ１０１）。
【００３６】
続いて、行動リストＬａから現在の状態ｓ（ｔ）において行ない得る行動ａがひとつ取得される（Ｓ１０２）。そして、この行動ａを実行したときに到達する状態ｓ（ｔ＋１）が求められる（Ｓ１０３）。
【００３７】
ここで、Ｑモジュール２２の内部に設けられているハッシュテーブルが参照され、ｓ（ｔ＋１）＋ａなるベクトルをキーとしたときにそのキーに対応付けられているＱ値ｑ（ｔ＋１）が取得される（Ｓ１０４）。なお、このハッシュテーブルにおけるＱ値の初期値は全てゼロ（ヌル）であるが、後述する処理ステップの作用によってＱ値が更新される。
【００３８】
その後、前ステップの処理によって取得されたＱ値ｑ（ｔ＋１）が、Ｑモジュール２２の出力情報である前述したＱ値リストＬｑに追加される（Ｓ１０５）。
ここで、行動リストＬａに含まれている全ての行動ａの要素について、上述したＳ１０３からＳ１０５にかけての処理が実行されたか否かが判定され（Ｓ１０６）、この判定結果がＮｏならばＳ１０２へ戻って上述した処理が繰り返される。
【００３９】
一方、Ｓ１０６の判定結果がＹｅｓであった場合には、Ｑ値リストＬｑが参照され、そこからＱ値ｑ（ｔ＋１）の最大値ｍａｘＱが求められる（Ｓ１０７）。更に、前述したハッシュテーブルが参照され、そこからｓ（ｔ）＋ａ（ｔ＋１）なるベクトルをキーとしたときに対応するＱ値ｑ（ｔ）が取得される（Ｓ１０８）。
【００４０】
ここで、前ステップの処理によって得られた値に基づき、ハッシュテーブルに示されているＱ値ｑ（ｔ）が下記の式に従って更新される（Ｓ１０９）。
ｑ（ｔ）＋α（ｒ＋γｍａｘＱ−ｑ（ｔ））→ｑ（ｔ）
上式はＱ学習における基本的なＱ値の更新式であり、良く知られている。なお、上式において、γ（０≦γ＜１）は割引率と呼ばれ、ある状態の次の状態において獲得される将来の報酬を、現在の状態においてはどの程度割り引いて評価するかを決めるために用いられる。また、α（０＜α≦１）は学習率と呼ばれ、学習中における１回毎の試行の結果を学習結果へどの程度反映させるかを決定するために用いられる。
【００４１】
Ｑモジュール２２は、問題解決器２０の学習時には上述した処理が行なわれる。
次に図６について説明する。同図は十分な学習が行なわれた後にＱモジュール２２によって行なわれる処理の手順を示すフローチャートである。
【００４２】
まず、現在の状態ｓ（ｔ）が状態空間２４から、また前述した行動リストＬａが行動モデル生成部２１から、それぞれ取得される（Ｓ２０１）。
続いて、行動リストＬａから現在の状態ｓ（ｔ）において行ない得る行動ａがひとつ取得される（Ｓ２０２）。
【００４３】
ここで、Ｑモジュール２２の内部に設けられている前述したハッシュテーブルが参照され、そこからｓ  （ｔ）＋ａなるベクトルをキーとしたときに対応するＱ値ｑ（ｔ）が取得される（Ｓ２０３）。
【００４４】
その後、前ステップの処理によって取得されたＱ値ｑ（ｔ）が、Ｑモジュール２２の出力情報である前述したＱ値リストＬｑに追加される（Ｓ２０４）。
ここで、行動リストＬａに含まれている全ての行動ａの要素について、上述したＳ２０３及びＳ２０４の処理が実行されたか否かが判定され（Ｓ２０５）、この判定結果がＮｏならばＳ２０２へ戻って上述した処理が繰り返される。
【００４５】
一方、Ｓ２０５の判定結果がＹｅｓであった場合にはＱ値リストＬｑが選択器２３へと出力される（Ｓ２０６）。
以上のように、Ｑモジュール２２は、十分な学習が行なわれた後には、現在の状態ｓ（ｔ）に対応するＱ値リストＬｑを直ぐに作成し出力することができるようになる。
【００４６】
図３（ａ）の説明に戻る。
選択器２３は、十分な学習を行なったＱモジュール２２から出力されるＱ値リストに基づいて、期待される報酬の最も高い（遅延評価の最も良い）行動を行動モデル生成部２１から出力される行動リストより選択し、その選択結果を行動ａ（ｔ＋１）として出力する。図２の問題例で説明すれば、移動ロボット１０のフィールド１２上の現在の位置において可能な１マス行動のうち、ゴール１１へ到達できる期待が最も高くなるものを選択することになり、そのマスに移動ロボット１０を移動させる指示が出力される。
【００４７】
問題解決器２０の各構成要素が以上のように動作することによって、ある状態とその状態において行なう行動に対するＱ値の学習が行なわれ、行動実行時にはこの学習結果に基づいた適切な行動の選択が迅速に行なわれるようになる。但し、図２に示す問題においては得られる報酬とゴール１１の位置との間に依存性があるために、この問題においてゴール１１が移動する場合には、それまでのＱ値の学習結果を再利用できず、再学習が必要となってしまう。
【００４８】
次に、図３に（ｂ）として示している、本発明に係る認知距離に基づく問題解決器について説明する。
この図に示す問題解決器３０は、基本的には（ａ）に示したＱ学習を用いた問題解決器２０に設けられているＱモジュール２２が認知距離モジュール３２に置き換えられ、更に状態−行動バッファ３５が追加されて構成されている。そして、与えられる現在の自己の状態ｓ（ｔ）と到達すべき目標状態を示す“ｇｏａｌ（状態＋行動）" ベクトルとを、問題により定義されている状態空間３４から受け取るという試行を繰り返し、十分な試行が行なわれるにつれて、現在の自己の状態ｓ（ｔ）及び到達すべき目標状態ベクトルｇｏａｌ（状態＋行動）の入力に対し、次に行なう適切な行動ａ（ｔ＋１）が迅速に出力できるようになるというものである。
【００４９】
行動モデル生成部３１は、図３（ａ）の行動モデル生成部２１と同様に、現在の状態ｓ（ｔ）におけるとり得る行動の一覧（行動リスト）を生成して出力する。
【００５０】
認知距離モジュール３２は、十分な学習を終えた後には、図７に示すように、移動元である“ｆｒｏｍ（状態＋行動）”ベクトルと移動先である“ｔｏ（状態＋行動）”ベクトルとの２つのベクトルの入力に応じ、ｆｒｏｍベクトルからｔｏベクトルへのベクトル間の移動に要する距離（distance）を出力するものである。この距離が認知距離（Cognitive Distance）である。
【００５１】
図３（ｂ）では、認知距離モジュール３２は、センサ入力Ａに入力される状態空間３４の現在の状態ｓ  （ｔ）、及びセンサ入力Ｂに入力される到達すべき状態空間３４中の目標状態ｇｏａｌ（ｓｔａｔｅ＋ａｃｔｉｏｎ）に基づいて、状態ｓ（ｔ）とその状態において実行し得る行動ａ（ｔ＋１）とよりなるベクトルから目標状態を示すベクトルへの移動に要する距離を算出し、距離リストとして出力する。また、算出された距離の値はテーブルにして蓄積する。
【００５２】
図２の問題例で説明すれば、認知距離モジュール３２は、移動ロボット１０のフィールド１２の現在の位置とゴール１１の位置及びその行動の状況とに基づいて、移動ロボット１０のフィールド１２の現在の位置において実行し得る移動と、その移動の結果の移動ロボット１０−ゴール１１間の認知距離（移動に要するマスの数）との関係を示す距離リストを生成して出力する。
【００５３】
選択器３３は、認知距離モジュール３２から出力される距離リストに基づいて、認知距離が最も短くなる行動を行動モデル生成部２１から出力される行動リストより選択し、その選択結果を行動ａ（ｔ＋１）として出力する。図２の問題例で説明すれば、移動ロボット１０のフィールド１２上の現在の位置において可能な１マス移動のうち、ゴール１１との距離が最も短くなるものを選択することになり、そのマスに移動ロボット１０を移動させる指示を出力する。
【００５４】
また、認知距離と行動の選択確率とを対応させるようにして、認知距離が短くなる行動ほど高い確率で選択されるように選択器３３を構成してもよい。
状態−行動バッファ３５は、状態ｓ（ｔ）において行なった行動ａ（ｔ＋１）の過去の経験を保持するバッファであり、状態ｓ（ｔ）と、その状態において行なった行動ａ（ｔ＋１）とをペアとするベクトルを保持する。なお、状態−行動バッファ３５のサイズは有限とし、保持量を超えたときには、新規のベクトルを、保持されている最古のベクトルと入れ替えて保持するようにする。
【００５５】
認知距離モジュール３２は状態−行動バッファ３５を参照し、距離の導出の対象である状態ととり得る行動とのペアのベクトルが状態−行動バッファ３５に既に保持されているときには、認知距離モジュール３２が蓄積している距離のテーブルを参照し、そこに示されているそのベクトルに対応する距離と今回改めて導出した距離とを比較し、改めて導出した距離の方が短いのであればその距離テーブルを更新して距離の値を改めて導出したものに変更する。この距離テーブルの更新を行なうことによって、それまでになされた試行に基づく学習結果が修正されるので、目標状態の変化への対応が柔軟に行なわれる。
【００５６】
ここで図８について説明する。同図は、図７に示す入出力関係を有する認知距離モジュール３２において行なわれる、学習処理の手順を示すフローチャートである。この学習処理は、状態空間における状態＋行動を特定する、前述したｆｒｏｍベクトル（ｆベクトルと略す）とｔｏベクトル（ｔベクトルと略す）との２つの任意のベクトル間の距離の学習を行なうものである。この学習処理は、ｆベクトル若しくはｔベクトルが変化する度に行なわれる。
【００５７】
まず、ｆベクトル及びｔベクトルが取得され、更に、両ベクトルで示される状態間の距離ｄが両ベクトルに基づいて求められる（Ｓ３０１）。
ここで、ｆベクトル及びｔベクトルからハッシュコードであるベクターキーｖが作成される（Ｓ３０２）。
【００５８】
ここで、ｆベクトルとｔベクトルとが一致するか否かが判定される（Ｓ３０３）。判定結果がＹｅｓならば距離が代入される変数Ｄに値「０」が代入され（Ｓ３０４）、その後はＳ３０９に進む。
【００５９】
一方、Ｓ３０３の判定処理の結果がＮｏならば、認知距離モジュール３２の内部に設けられているハッシュテーブルが参照され、ベクターキーｖをキーとしたときにそのキーに対応付けられている距離が取得され、上述した変数Ｄに代入される（Ｓ３０５）。
【００６０】
ここで、この変数Ｄの値がヌルであるか否か、すなわち、上述したハッシュテーブルにおいてベクターキーｖに対応付けられている値が空であるか否かが判定され（Ｓ３０６）、この判定結果がＮｏならば変数Ｄの値がＳ３０１の処理によって取得されていた距離ｄの値よりも大きいか否かが更に判定され（Ｓ３０７）、この判定結果がＮｏならばこの学習処理が終了する。
【００６１】
ところで、上述したＳ３０６若しくはＳ３０７のいずれかの判定処理での判定結果がＹｅｓであったときには、Ｓ３０１の処理によって取得されていた距離ｄの値を変数Ｄに代入する（Ｓ３０８）。
【００６２】
その後、上述したハッシュテーブルが参照され、上述したベクターキーｖに対応付けられている値が変数Ｄの現在の値に更新される（Ｓ３０９）。この判定結果がＮｏならばこの学習処理が終了する。
【００６３】
認知距離モジュール３２では、以上のようにして学習処理が行なわれる。
なお、図３（ｂ）に示す問題解決器３０においては、上述した学習処理は、認知距離モジュール３２と状態−行動バッファ３５との組み合わせにより実行される。
【００６４】
すなわち、学習時には、認知距離モジュール３２には、目標状態を示すベクトルｇｏａｌ（ｓｔａｔｅ＋ａｃｔｉｏｎ）とが状態空間３４から入力され、このベクトルは上述したｔベクトルとして扱われる。その一方で、現在の自己の状態ｓ（ｔ）と、この状態ｓにおける学習行動において実際に試行された移動行動ａ（ｔ＋１）とが状態−行動バッファ３５に入力されてｆベクトルが生成され、認知距離モジュール３２に入力される。更に、状態−行動バッファ３５の履歴が参照されて同一のｆベクトルの存在の有無が調べられ、存在するのであれば、ハッシュテーブルに示されている距離と上述した距離ｄとの長短が判定され、ハッシュテーブルにおいてｆベクトルに対応するデータがその判定結果における短い方の距離の値となるようにハッシュテーブルが更新される。なお、このときのハッシュテーブルのサイズ（記憶容量）は状態−行動バッファ３５のサイズに対応して設定される。
【００６５】
次に図９について説明する。同図は、十分な学習が行なわれた後に図３（ｂ）に設けられている認知距離モジュール３２によって行なわれる処理の手順を示すフローチャートである。
【００６６】
まず、現在の自己の状態ｓと目標状態を示すベクトルｇｏａｌ（ｓｔａｔｅ＋ａｃｔｉｏｎ）（ｇベクトルと略す）とが状態空間３４から、また前述した行動リストＬａが行動モデル生成部３１からそれぞれ取得される（Ｓ４０１）。
【００６７】
続いて、行動リストＬａから現在の状態ｓにおいて行ない得る行動ａがひとつ取得される（Ｓ４０２）。
ここで、状態ｓと行動ａとからなるベクトル及びｇベクトルから、前述した学習処理で用いた認知距離モジュール３２内のハッシュテーブルを参照するためのハッシュコードであるベクターキーｖが作成される  （Ｓ４０３）。そして、そのハッシュテーブルが参照され、ベクターキーｖをキーとしたときにそのキーに対応付けられている距離ｄが取得される（Ｓ４０４）。
【００６８】
その後、前ステップの処理によって取得された距離ｄが、認知距離モジュール３２の出力情報である前述した距離リストＬｄに追加される（Ｓ４０５）。
ここで、行動リストＬａに含まれている全ての行動ａの要素について、上述したＳ４０３からＳ４０５にかけての処理が実行されたか否かが判定され（Ｓ４０６）、この判定結果がＮｏならばＳ４０２へ戻って上述した処理が繰り返される。
【００６９】
一方、Ｓ４０６の判定結果がＹｅｓであった場合には距離リストＬｄが選択器２３へと出力される（Ｓ４０７）。
以上のように、認知距離モジュール３２は、十分な学習が行なわれた後には、現在の状態ｓに対応する距離リストＬｄを直ぐに作成して出力することができるようになる。
【００７０】
以下の説明においては、以上までに説明した、図３（ｂ）に示す問題解決器３０を「第一実施例における問題解決器」と称することとする。
今までに説明した第一実施例における問題解決器では、問題により定義される状態空間における状態とそこで実行される行動とは区別して扱っていた。以降の説明においては、状態と行動とを区別しない一つの状態として扱うようにし、図１０に示すように、同一時刻ｔにおける状態ｓ（ｔ）と行動ａ（ｔ）（状態ｓ（ｔ）に至るために実行された行動）とを纏めたひとつの一般化状態Ｓａ（ｔ）を定義し、この一般化状態に対応する一般化認知距離に基づいた問題解決器を第二実施例として説明する。
【００７１】
図１１は一般化認知距離に基づいた問題解決器の構成を示している。なお、同図に示す第二実施例の構成においては、第一実施例とは異なり、図１２に示すように、現在の状態ｓ（ｔ）と、その状態に至るために実行される行動ａ（ｔ）とをペアとするベクトルが取り扱われる。
【００７２】
図１１に示す問題解決器４０は、移動可能状態モデル生成部４１、一般化認知距離モジュール４２、選択器４３、及び状態バッファ４５を備えて構成されており、問題により定義されている状態空間４４から、現在の一般化状態Ｓａ（ｔ）［＝ｓ（ｔ）＋ａ（ｔ）］と、到達すべき目標状態である一般化状態Ｇ（ｔ）とを受け取るという試行を繰り返し、十分な試行が行なわれるにつれて、現在の自己の一般化状態Ｓａ（ｔ）及び到達すべき目標状態であるＧ（ｔ）の入力に対し、次に行なう適切な行動を成分に含む一般化状態であるサブゴールＳＧ（ｔ）＝Ｓａ（ｔ＋１）［＝ｓ（ｔ＋１）＋ａ（ｔ＋１）］が迅速に出力できるようになるというものである。
【００７３】
状態バッファ４５は、この問題解決器４０に入力された一般化状態Ｓａ（ｔ）の履歴の保持、すなわち、状態ｓ（ｔ）に至った行動ａ（ｔ）の経験を蓄えるものであり、図３（ｂ）に示した状態−行動バッファ３５と同様の構成・機能を有するものである。
【００７４】
移動可能状態モデル生成部４１は、現在の一般化状態Ｓａ（ｔ）から直接遷移（移動）可能な一般化状態の一覧（移動可能状態リスト）を生成して出力するものであり、図１７に示した従来の世界モデル（フォワードモデル）を一般化状態のフレームワークに適合させたモジュールと考えることができる。移動可能状態モデル生成部４１は、状態バッファ４５の履歴を参照して実際に試行された移動の経験を蓄積する学習を行なうことによって、移動可能状態リストの生成が行なえるようになる。
【００７５】
移動可能状態モデル生成部４１において行なわれる、この学習処理の手順を示すフローチャートを図１３に示す。この学習処理は、状態空間におけるある一般化状態を特定するｆｒｏｍベクトル（ｆベクトルと略す）とｔｏベクトル（ｔベクトルと略す）との２つの任意のベクトルにおいて、ｆベクトルからｔベクトルへの行動が直接可能であることが学習処理における試行によって判明したときに、その経験を蓄積していく処理である。
【００７６】
まず、ｆベクトル及びｔベクトルが取得され（Ｓ５０１）、このうちのｆベクトルをキーにして移動可能状態モデル生成部４１の内部に設けられているハッシュテーブルが参照され、ｆベクトルをキーとしたときにそのキーに対応付けられているリストｌ（過去の経験によってｆベクトルから直接移動可能であることが判明した状態を示すベクトルが格納されるリスト）が取得される（Ｓ５０２）。
【００７７】
ここで、取得されたリストｌがヌルであるか否か、すなわち、リストｌが存在しないか否かが判定され  （Ｓ５０３）、この判定結果がＮｏである場合にのみ、その内容にｔベクトルを含むリストｌが作成され  （Ｓ５０４）、ｆベクトルのキーに対応付けられて上述したハッシュテーブルに登録される（Ｓ５０５）。
【００７８】
続いて、リストｌにｔベクトルが含まれているか否かが判定され（Ｓ５０６）、この判定結果がＮｏの場合にのみ、リストｌにｔベクトルが追加される（Ｓ５０７）。
【００７９】
移動可能状態モデル生成部４１では、以上のようにして学習が行なわれる。
なお、図１１においては、移動可能状態モデル生成部４１には現在の一般化状態Ｓａ（ｔ）が状態空間４４から入力され、このＳａ（ｔ）が上述した学習処理におけるｔベクトルとして扱われる。また、Ｓａ（ｔ）の直前の状態Ｓａ（ｔ−１）が状態バッファ４５から入力され、このＳａ（ｔ−１）が上述した学習処理におけるｆベクトルとして扱われる。そして、十分な学習が行なわれた後には、状態空間４４から入力される般化状態Ｓａ（ｔ）をキーとして上述したハッシュテーブルが参照され、対応するリストｌがハッシュテーブルから取り出されて移動可能状態リストとして選択器４３に直ちに出力されるようになる。
【００８０】
一般化認知距離モジュール４２は、移動可能状態モデル生成部４１から出力される移動可能状態リストに示されている各一般化状態、及びセンサ入力Ｂに入力される到達すべき状態空間４４中の目標状態の一般化状態Ｇ（ｔ）に基づいて、各一般化状態のベクトルから目標状態の一般化状態Ｇ（ｔ）ベクトルへの移動に要する距離（一般化認知距離）を算出し、距離リストとして出力するものであり、図３（ｂ）に示した認知距離モジュール３２と同様の構成・機能を有するものである。また、この一般化認知距離モジュール４２は、距離テーブルの蓄積も同様に行ない、更に、状態バッファ４５に基づくこの距離テーブルの更新も同様に行なう。
【００８１】
選択器４３は、一般化認知距離モジュール４２から出力される距離リストに基づいて、認知距離が最も短くなる一般化状態を移動可能状態モデル生成部４１から出力される移動可能状態リストより選択し、その選択結果をサブゴールＳＧ（ｔ）として出力するものであり、これも、図３（ｂ）に示した選択器３３と同様の構成・機能を有するものである。
【００８２】
問題解決器４０は、以上のような構成を備えることで、ある一般化状態Ｓａ（ｔ）における、目標状態に到達するための最適なサブゴールＳＧ（ｔ）を迅速に出力することが学習によって可能となる。
【００８３】
次に、本発明の第三実施例について説明する。
今まで説明した本発明の第一及び第二実施例の認知距離（あるいは一般化認知距離）に基づく問題解決器には多量の情報の記憶が必要であり、以下のような２つの問題がある。
【００８４】
（１）認知距離を保持する組み合わせの爆発
問題により定義される状態空間に存在する一般化状態の状態数をＮｓとすると、認知距離の組み合わせはＯ（Ｎｓ×Ｎｓ）にもなり、状態数の二乗のオーダーで増加してしまう。従って、状態空間が大きくなるときには全ての認知距離についての情報を保持することは現実的でない。
【００８５】
なお、この点において、従来のＧＰＳで用いられるオペレータの総数は、各状態で直接移動可能な状態数の平均をｍとするならば、その記憶容量は高々Ｏ（Ｎｓ×ｍ）程度のオーダーであり、また、強化学習でのその記憶容量はＯ（Ｎｓ）程度のオーダーであった。
【００８６】
（２）認知距離の保持量の制限に起因する問題
上記（１）の問題を回避するために、認知距離の保持量に最大値θを設けるようにすることが考えられる。こうすれば、Ｏ（Ｎｓ×（ｍのθ乗））程度に押さえ込むことができるし、前述した状態バッファ４５（図１１）による一般化状態の履歴の保持量もθ程度に留めることも可能となり、更に、認知距離の更新処理のための演算量の抑制も可能となるので、有益である。しかしながら、この手法ではある上限以上に離れた状態間での行動決定が行なえなくなってしまうという問題が生じてしまう。
【００８７】
上述した問題に対処するために、本発明の第三実施例では一般化状態を用いた問題解決器を階層化する。図１４は、階層化された一般化認知距離に基づく問題解決器の構成を示している。なお、同図において、問題解決器５０はレイヤ１及びレイヤ２についての構成のみを示しており、レイヤ３以上については、レイヤ１若しくはレイヤ２と同様の構成であるため、描画を略している。
【００８８】
同図を既に説明した図１１と比較すると分かるように、図１４に示す問題解決器５０は、基本的には図１１に示した問題解決器４０を積み重ねたような構成を有している。
【００８９】
ここで、一般化状態で示される状態空間の階層化について、図１５を用いて説明する。なお、同図の例は、３レイヤ（階層）の構造を示している。
まず、下位レイヤから上位レイヤへの対応を示す関数が定義されると同時に、上位レイヤから下位レイヤのランドマークを取り出す関数が定義される。ここで、ランドマークとは、上位レイヤにおけるある状態に対応する下位レイヤの１以上の状態のうち、それらを代表するひとつの状態を示すものである。
【００９０】
なお、ここでは、前者の関数を分節化関数（Segmentation Function ）、後者の関数をランドマーク位置関数（Landmark Position Function）と称することとする。
【００９１】
例えば、図１５において、分節化関数は、レイヤ２であるフィールド６０−２上に示されている（ａ）の範囲を、レイヤ３であるフィールド６０−３上にスタート６１−３として示されている位置（状態）に集約させるものであり、ランドマーク位置関数は、レイヤ３であるフィールド６０−３上に示されている白丸印の位置からレイヤ２であるフィールド６０−２上に示されている対応する星印の位置（ランドマーク）に写像するものである。
【００９２】
ここで、レイヤ間の関係の理解を容易にするために、以下の２つの性質を定義する。
（１）直接移動可能性
当該レイヤにおいて、現在の状態からある目標の状態へ直接移動できる性質。
つまり、当該レイヤよりも下位のレイヤのみを利用して移動できる性質を示す。
【００９３】
（２）到達可能性
当該レイヤにおいて、現在の状態からの行動（何回でも可）によって目標状態へ到達することが可能である性質。図１５には、各スタート（６１−１、６１−２、６１−３）から到達可能である各レイヤのフィールド（６０−１、６０−２、６０−３）上の範囲を破線の枠で示している。
【００９４】
ある２つのレイヤに注目した場合、下位のレイヤについての問題解決器はある状態の近傍での詳細な移動についての知識を獲得できるが、遠方の目標状態への移動についての知識を獲得することはできない。その一方で、上位のレイヤについての問題解決器は遠方の目標状態への大まかな移動についての知識を獲得することはできるが、詳細な状態遷移の手続についての知識を獲得することはできない。つまり、問題解決器を階層化することによって、下位レイヤの到達可能性が上位レイヤの直接移動可能性に置き換わるのである。
【００９５】
例えば、図１５において、レイヤ３であるフィールド６０−３上において１マス分の距離であり、直接移動可能であるスタート６１−３と白印とは、その下位層であるレイヤ２においては、それぞれがスタート６１−２と星印とに置き換わり、それらは共にフィールド６１−２上の到達可能な範囲内に位置するようになる。つまりそれらはレイヤ２の問題解決器によって認知距離の算出が可能であり、行動系列の生成が可能であることを示している。
【００９６】
階層化を利用して一般化状態空間中でスタートからゴールまで移動する経路を求める課題を考える。図１５で説明すれば、レイヤ１であるフィールド６０−１上において、スタート６１−１からゴール６２−１までの経路を求める課題を考える。
【００９７】
フィールド６０−１に示されているように、ゴール６２−１は、スタート６１−１の到達可能範囲外に位置している。すなわち、レイヤ１の問題解決器のみによる認知距離の算出は不能であり、行動系列の生成は行なえない。
【００９８】
そこで、分節化関数を用い、スタート６１−１及びゴール６２−１をレイヤ２であるフィールド６０−２上のスタート６１−２及びゴール６２−２に抽象化する。しかしながらレイヤ２においてもゴール６２−２はスタート６１−２の到達可能範囲外である。
【００９９】
このため、分節化関数を更に適用し、スタート６１−２及びゴール６２−２をレイヤ３であるフィールド６０−３上のスタート６１−３及びゴール６２−３に抽象化する。このレイヤ３においては、ゴール６２−３はスタート６１−２の到達可能範囲内に位置している。そこで、レイヤ３についての問題解決器により具体的な状態の移動の決定がなされてサブゴールが出力される。その後、このサブゴールのランドマーク位置関数による写像であるランドマークが求められ、このランドマークがレイヤ２に送り返される。
【０１００】
レイヤ２についての問題解決器では、スタート６１−２からこのランドマークに到達するまでの適切な具体的な状態の移動の決定が行なわれ、そのためのサブゴールが出力される。その後、このサブゴールのランドマーク位置関数による写像であるランドマークが更に求められ、このランドマークがレイヤ１に送り返される。
【０１０１】
レイヤ１についての問題解決器では、スタート６１−１からこの送り返されてきたランドマークに到達するまでの適切な具体的な状態の移動の決定が行なわれ、そのためのサブゴールが出力される。この後は、このサブゴールからゴール６２−１までの移動経路を求めることとなる。
【０１０２】
以上のような操作が各レイヤで繰り返されることによって最終的にスタート６１−１からゴール６２−１までの移動経路を求めることができる。
以下、図１４に示した問題解決器５０の構成について説明する。
【０１０３】
問題解決器５０において、移動可能状態モデル生成部（４１−１、４１−２）、一般化認知距離モジュール（４２−１、４２−２）、選択器（４３−１、４３−２）、状態バッファ（４５−１、４５−２）は、各々図１１の問題解決器４０における同名の構成要素と同様のものである。
【０１０４】
スイッチャ（５１−１、５１−２）は、一般化認知モジュール（４２−１、４２−２）への入力のひとつとして、下位のレイヤ（若しくは状態空間５６）から得られるゴールと、下位のレイヤから送り返されてくるサブゴールのランドマークとのどちらかを選択するものである。スイッチャ（５１−１、５１−２）は、下位レイヤから与えられるゴールを優先的に選択し、まず、一般化認知モジュール（４２−１、４２−２）による一般化認知距離の生成を試みる。ここで一般化認知距離の生成が行なえなかったときには上位レイヤから送り返されてくるサブゴールのランドマークを選択して一般化認知モジュール（４２−１、４２−２）に一般化認知距離の生成を行なわせる。
【０１０５】
ランドマークデータベース（５２−１、５２−２）は当該レイヤとその当該レイヤに隣接する上位のレイヤとにおける一般化状態の関係情報が格納されているデータベースであり、前述した分節化関数及びランドマーク位置関数を構成する元となるものである。
【０１０６】
本実施例においては、分節化関数に関し、ＴＬＭ−ＳＦ（To Landmark Segmentation Function ）部（５３−１、５３−２）とＦＬＭ−ＳＦ（From Landmark Segmentation Function ）部（５４−１、５４−２）という２種類の分節化関数を適用する情報変換部を用意している。
【０１０７】
ＴＬＭ−ＳＦ部（５３−１、５３−２）は、ランドマークデータベース（５２−１、５２−２）に格納されている関係情報に基づいて、下位レイヤのある一般化状態を示す情報が入力されると、その状態から到達可能である当該レイヤの範囲を集約する上位レイヤにおける一般化状態に対応するＩＤ（識別データ）を出力するものであり、現在の一般化状態を示す情報の変換に用いられる。
【０１０８】
ＦＬＭ−ＳＦ部（５４−１、５４−２）は、ランドマークデータベース（５２−１、５２−２）に格納されている関係情報に基づいて、下位レイヤのある一般化状態を示す情報が入力されると、その状態に到達可能である当該レイヤの範囲を集約する上位レイヤにおける一般化状態に対応するＩＤを出力するものであり、目標（ゴール）である一般化状態を示す情報の変換に用いられる。
【０１０９】
ＬＭＰＦ（Landmark Position Function）部（５５−１、５５−２）はランドマーク位置関数を適用する情報変換を行なうものであり、上位レイヤのある一般化状態を示す情報が入力されると、その状態に対応する下位レイヤにおける到達可能範囲中の状態であってその範囲を代表するランドマークについての一般化状態を出力するものであり、上位レイヤから送り返されてくるサブゴールの一般化状態を示す情報の変換に用いられる。
【０１１０】
問題解決器５０はこれらの各要素を備えて構成されることで、遠く離れた状態間の行動決定を実現する。
なお、上述した階層化した構成による一般化状態を用いた問題解決器において、認知距離の情報の保持に要する記憶量は、図１５を参照しても容易に分かるように、その殆どが最下層のレイヤに関するものとなる。そしてその記憶量は、その最下層のレイヤにおけるある状態から直接移動可能な状態数の平均をｍとし、認知距離の保持量の上限をθするならば、Ｏ（Ｎｓ×（ｍのθ乗））のオーダーとなる。このように、第三実施例は、認知距離の学習結果の保持量を制限しつつ、遠く離れた状態間での行動決定を可能にしている。
【０１１１】
なお、以上までに説明した第一、第二、及び第三実施例における問題解決によってなされる行動系列の生成処理をコンピュータに行なわせるための制御プログラムを作成してコンピュータ読み取り可能な記憶媒体に記憶させ、そのプログラムを記憶媒体からコンピュータに読み出させて実行させることにより、本発明に係る問題解決器による行動系列の生成機能を汎用コンピュータに行なわせることも可能である。
【０１１２】
記憶させた制御プログラムをコンピュータで読み取ることの可能な記憶媒体の例を図１６に示す。同図に示すように、記憶媒体としては、例えば、コンピュータ７１に内蔵若しくは外付けの付属装置として備えられるＲＯＭやハードディスク装置などのメモリ７２、フロッピー（登録商標）ディスク、ＭＯ（光磁気ディスク）、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどといった可搬型記憶媒体７３等が利用できる。また、記憶媒体は回線７４を介してコンピュータ７１と接続されるコンピュータであるプログラムサーバ７５が備える記憶装置７６であってもよい。この場合には、制御プログラムを表現するデータ信号で搬送波を変調して得られる伝送信号を、プログラムサーバ７５から伝送媒体である回線７４を通じて伝送し、コンピュータ７１では受信した伝送信号を復調して制御プログラムを再生することで当該制御プログラムの実行が可能となる。
（付記１）  ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成する問題解決器であって、
前記状態空間中における任意の第一の状態から該第一の状態とは異なる第二の状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習する認知距離学習手段と、
前記認知距離学習手段による認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動を決定する次行動決定手段と、
を有することを特徴とする問題解決器。
【０１１３】
（付記２）  前記状態空間中における任意の状態において実行し得る次の行動を提示する行動提示手段を更に有し、
前記次行動決定手段は、前記行動提示手段により提示される行動のうち、該行動を行なったときに到達する状態から前記目標状態までの認知距離が少なくなるものを選択する、
ことを特徴とする付記１に記載の問題解決器。
【０１１４】
（付記３）  前記認知距離学習手段は、学習結果である前記認知距離を保持し、
前記次行動決定手段は、前記認知距離学習手段に保持されている認知距離の学習結果に基づいて前記行動を決定し、
前記認知距離学習手段は、同一の状態間についての認知距離を再度学習したときには、保持されている認知距離を更新する、
ことを特徴とする付記１に記載の問題解決器。
【０１１５】
（付記４）  ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成する問題解決器であって、
前記状態空間中における任意の第一の状態から該第一の状態とは異なる第二の状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習する認知距離学習手段と、
前記認知距離学習手段による認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動を実行することによって到達する状態である次状態を決定する次状態決定手段と、
を有することを特徴とする問題解決器。
【０１１６】
（付記５）  前記状態空間中における任意の状態において実行し得る次の行動を実行することによって到達する状態を提示する状態提示手段を更に有し、
前記次状態決定手段は、前記状態提示手段により提示される状態のうち、該状態から前記目標状態までの認知距離が少なくなるものを選択する、
ことを特徴とする付記４に記載の問題解決器。
【０１１７】
（付記６）  前記認知距離学習手段は、学習結果である前記認知距離を保持し、
前記次状態決定手段は、前記認知距離学習手段に保持されている認知距離の学習結果に基づいて前記次状態を決定し、
前記認知距離学習手段は、同一の状態間についての認知距離を再度学習したときには、保持されている認知距離を更新する、
ことを特徴とする付記４に記載の問題解決器。
【０１１８】
（付記７）  前記状態空間中の状態が属する範囲であって、前記認知距離学習手段によって認知距離を学習することの可能な状態が属する該範囲を、該状態空間を階層化した上位の状態空間におけるひとつの状態に対応付ける分節化手段と、
前記上位の状態空間における状態を、該状態に対応する下位の状態空間の範囲に属し、該範囲を代表する状態であるランドマークに対応付けるランドマーク位置手段と、
前記上位の状態空間中における任意の第一の状態から該第一の状態とは異なる第二の状態に到達するまでの前記認知距離を学習する上位認知距離学習手段と、
前記上位認知距離学習手段による前記上位の状態空間中における認知距離の学習結果に基づいて、前記分節化手段によって前記目標状態に対応付けられた前記上位の状態空間における目標状態に至るために、該分節化手段によって前記下位の状態空間中の特定の状態に対応付けられた該上位の状態空間における特定の状態において次に実行すべき該行動を実行することによって到達する該上位の状態空間における前記次状態を決定する上位次状態決定手段と、
を更に有し、
前記認知距離学習手段は、前記下位の状態空間についての前記認知距離を学習し、
前記次状態決定手段は、前記認知距離学習手段による前記下位の状態空間についての認知距離の学習結果に基づいて、前記ランドマーク位置手段によって前記上位の状態空間における次状態に対応付けられているランドマークに至るために前記下位の状態空間中の特定の状態において次に実行すべき前記行動を実行することによって到達する状態である次状態を決定する、
ことを特徴とする付記４に記載の問題解決器。
【０１１９】
（付記８）  コンピュータに実行させることによって、ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成させる制御を該コンピュータに行なわせる制御プログラムを記憶した該コンピュータで読み取り可能な記憶媒体であって、
前記状態空間中における任意の第一の状態から該第一の状態とは異なる第二の状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習する制御と、
前記認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動を決定する制御と、
をコンピュータに行なわせる制御プログラムを記憶した記憶媒体。
【０１２０】
（付記９）  コンピュータに実行させることによって、ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成させる制御を該コンピュータに行なわせる制御プログラムを記憶した該コンピュータで読み取り可能な記憶媒体であって、
前記状態空間中における任意の第一の状態から該第一の状態とは異なる第二の状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習する制御と、
前記認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動を実行することによって到達する状態である次状態を決定する制御と、
をコンピュータに行なわせる制御プログラムを記憶した記憶媒体。
【０１２１】
（付記１０）  コンピュータに実行させることによって、ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成させる制御を該コンピュータに行なわせる制御プログラムを含む搬送波に具現化されたコンピュータ・データ・シグナルであって、該制御プログラムは以下のステップをコンピュータに実行させる：
前記状態空間中における任意の第一の状態から該第一の状態とは異なる第二の状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習し、
前記認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動を決定する。
【０１２２】
（付記１１）  コンピュータに実行させることによって、ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに該初期状態から該目標状態に至るまでの行動系列を生成させる制御を該コンピュータに行なわせる制御プログラムを含む搬送波に具現化されたコンピュータ・データ・シグナルであって、該制御プログラムは以下のステップをコンピュータに実行させる：
前記状態空間中における任意の第一の状態から該第一の状態とは異なる第二の状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習し、
前記認知距離の学習結果に基づいて、前記行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動を実行することによって到達する状態である次状態を決定する。
【０１２３】
【発明の効果】
以上詳細に説明したように、本発明は、ある問題により定義される状態空間中で初期状態と目標状態とが与えられたときに、該初期状態から該目標状態に至るまでの行動系列を生成する問題解決器で、該状態空間中における任意の状態から前記目標状態に到達するまでの行動系列の実行によって費やされる、該状態空間の環境に対して作用させるコストを示す認知距離を学習するようにし、その認知距離の学習結果に基づいて、該行動系列に属することとなる行動であって、前記目標状態に至るために前記状態空間中の特定の状態において次に実行すべき該行動である次行動を決定する、若しくはその次行動を実行することによって到達する状態である次状態を決定するように構成する。
【０１２４】
そして、この構成により、本発明は、行動実行時の計算コストが低く抑えられ、且つ、目標状態の変更に対する柔軟性が確保されるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の原理構成を示す図である。
【図２】本発明を実施する問題解決器に解決させる問題の例を説明する図である。
【図３】Ｑ学習を用いた問題解決器と認知距離に基づく問題解決器との構成を比較する図である。
【図４】図３に示す問題解決器で取り扱うベクトルの成分を示す図である。
【図５】Ｑモジュールにおいて行なわれる学習処理の手順を示すフローチャートである。
【図６】十分な学習が行なわれた後にＱモジュールによって行なわれる処理の手順を示すフローチャートである。
【図７】認知距離モジュールの入出力を説明する図である。
【図８】認知距離モジュールにおいて行なわれる学習処理の手順を示すフローチャートである。
【図９】十分な学習が行なわれた後に認知距離モジュールによって行なわれる処理の手順を示すフローチャートである。
【図１０】一般化状態の定義を図２に導入した場合を示す図である。
【図１１】一般化認知距離に基づく問題解決器の構成を示す図である。
【図１２】図１１に示す問題解決器で取り扱うベクトルの成分を示す図である。
【図１３】移動可能状態モデル生成部において行なわれる学習処理の手順を示すフローチャートである。
【図１４】階層化された、一般化認知距離に基づく問題解決器の構成を示す図である。
【図１５】一般化状態で示される状態空間の階層化を説明する図である。
【図１６】記憶された制御プログラムをコンピュータで読み取ることの可能な記憶媒体の例を示す図である。
【図１７】オペレータ／世界モデル／順モデルを説明する図である。
【図１８】即応的行動決定を説明する図である。
【図１９】強化学習（Ｑモジュール／Ｃｒｉｔｉｃ）を説明する図である。
【符号の説明】
１ａ、１ｂ、２０、３０、４０、５０  問題解決器
２ａ、２ｂ  認知距離学習手段
３ａ  次行動決定手段
３ｂ  次状態決定手段
４ａ、４ｂ、２４、３４、４４、５６  状態空間
１０  移動ロボット
１１、６２−１、６２−２、６２−３  ゴール
１２、６０−１、６０−２、６０−３  フィールド
１３  壁
２１、３１  行動モデル生成部
２２  Ｑモジュール
２３、３３、４３、４３−１、４３−２  選択器
３２  認知距離モジュール
３５  状態−行動バッファ
４１、４１−１、４１−２  移動可能状態モデル生成部
４２、４２−１、４２−２  一般化認知距離モジュール
４５、４５−１、４５−２  状態バッファ
５１−１、５１−２  スイッチャ
５２−１、５２−２  ランドマークデータベース
５３−１、５３−２  ＴＬＭ−ＳＦ部
５４−１、５４−２  ＦＬＭ−ＳＦ部
５５−１、５５−２  ＬＭＰＦ部
６１−１、６１−２、６１−３  スタート
７１  コンピュータ
７２  メモリ
７３  可搬型記憶媒体
７４  回線
７５  プログラムサーバ
７６  記憶装置
【図１】
0004699598.tif 000002
【図２】
0004699598.tif 000003
【図３】
0004699598.tif 000004
【図４】
0004699598.tif 000005
【図５】
0004699598.tif 000006
【図６】
0004699598.tif 000007
【図７】
0004699598.tif 000008
【図８】
0004699598.tif 000009
【図９】
0004699598.tif 000010
【図１０】
0004699598.tif 000011
【図１１】
0004699598.tif 000012
【図１２】
0004699598.tif 000013
【図１３】
0004699598.tif 000014
【図１４】
0004699598.tif 000015
【図１５】
0004699598.tif 000016
【図１６】
0004699598.tif 000017
【図１７】
0004699598.tif 000018
【図１８】
0004699598.tif 000019
【図１９】
0004699598.tif 000020