(57)【要約】【課題】一度環境が特定状態になった場合に、再度同じ状態にならないようにエージェントを制御する。【解決手段】エージェントの行動に伴って変化する環境の状態が特定状態になるのを回避しつつ目標状態になるようにエージェントを制御する情報処理装置であって、環境の状態を所定タイミングで繰り返し検知する状態検知部と、初期状態から目標状態又は特定状態までの環境の各状態においてエージェントに実行させる行動を所定のルールに従って決定する行動決定部と、環境が特定状態になった場合に、特定状態の前の状態にてエージェントが行った行動の内容を回避すべきエピソードとして記憶する回避エピソード記憶部とを備え、行動決定部は、環境の現在の状態及びエージェントの次の行動に一致する回避すべきエピソードが記憶されている場合には、回避すべきエピソードとは異なる行動に変更する。【選択図】図１
2019139352.tif 000002
【特許請求の範囲】
【請求項１】
エージェントの行動に伴って変化する環境の状態が特定状態になるのを回避しつつ所定の目標状態になるように、前記エージェントを制御する情報処理装置であって、
前記環境の状態を所定タイミングで繰り返し検知する状態検知部と、
初期状態から前記目標状態又は前記特定状態になるまでに検知される前記環境の各状態において、前記エージェントに実行させる行動を所定のルールに従って決定する行動決定部と、
前記環境が前記特定状態になった場合に、前記特定状態の前の状態にて前記エージェントが行った行動の内容を、回避すべきエピソードとして記憶する回避エピソード記憶部と、
を備え、
前記行動決定部は、前記エージェントに実行させる行動を決定する際に、前記環境の現在の状態及び前記エージェントの次の行動に一致する回避すべきエピソードが前記回避エピソード記憶部に記憶されている場合には、前記回避すべきエピソードとは異なる行動に変更する
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記環境が前記目標状態になった場合に前記エージェントに報酬を与える報酬付与部と、
前記環境が前記目標状態になった場合に、前記初期状態から前記目標状態までの間に検出された各状態毎に、前記状態を示す情報と、前記状態における前記エージェントの行動の内容と、前記報酬に基づいて算出される所定の評価値と、を対応付けてなる成功エピソードを生成する成功エピソード生成部と、
第１状態を最終状態とする成功エピソードと前記第１状態を開始状態とする成功エピソードとを用いて前記各成功エピソード内の各状態を遷移順に連結し、前記各状態を表す情報と、前記各状態における前記エージェントの行動の内容と、前記報酬に基づいて算出される所定の評価値と、を対応付けることにより、新たな成功エピソードを生成する成功エピソード編集部と、
前記成功エピソードを記憶する成功エピソード記憶部と、
をさらに備え、
前記行動決定部は、前記エージェントに実行させる行動を決定する際に、前記環境の現在の状態を前記エージェントの行動の起点とする成功エピソードが、前記成功エピソード記憶部に記憶されている場合には、該当する成功エピソードの中から評価値が最大の成功エピソードを選択し、前記成功エピソードに従って前記エージェントに実行させる行動を決定する
ことを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記行動決定部は、前記環境の現在の状態を前記エージェントの行動の起点とする成功エピソードが、前記成功エピソード記憶部に記憶されていない場合には、所定の複数の候補の中からランダムに行動を決定する
ことを特徴とする情報処理装置。
【請求項４】
請求項２又は３に記載の情報処理装置であって、
前記評価値は、
前記目標状態を最終状態として含む成功エピソードに対しては、前記成功エピソード内の状態の数が少ない程大きな値になるように算出され、
前記目標状態を最終状態として含まない成功エピソードに対しては、前記目標状態を最終状態として含むいずれの成功エピソードよりも小さな値になるように算出される
ことを特徴とする情報処理装置。
【請求項５】
請求項２〜４のいずれかに記載の情報処理装置であって、
前記成功エピソードには、前記成功エピソード記憶部に記憶された時点を示す情報がさらに含まれ、
前記行動決定部は、前記エージェントに実行させる行動を決定する際に、前記成功エピソード記憶部へ記憶された時点からの経過時間が所定時間以内であり、かつ、前記環境の現在の状態を前記エージェントの行動の起点とする成功エピソードが、前記成功エピソード記憶部に記憶されている場合には、該当する成功エピソードの中から評価値が最大の成功エピソードを選択し、前記成功エピソードに従って前記エージェントに実行させる行動を決定する
ことを特徴とする情報処理装置。
【請求項６】
請求項１〜５のいずれかに記載の情報処理装置であって、
前記回避すべきエピソードには、前記回避エピソード記憶部に記憶された時点を示す情報がさらに含まれ、
前記行動決定部は、前記エージェントに実行させる行動を決定する際に、前記環境の現在の状態及び前記エージェントの次の行動に一致し、かつ、前記回避エピソード記憶部へ記憶された時点からの経過時間が所定時間以内である回避すべきエピソードが、前記回避エピソード記憶部に記憶されている場合には、前記回避すべきエピソードとは異なる行動に変更する
ことを特徴とする情報処理装置。
【請求項７】
網目状の移動路の交点に設けられるスタート地点からゴール地点まで、障害物を回避しながら移動できるように移動体を制御する情報処理装置であって、
前記移動体及び前記障害物の現在位置を前記各交点においてそれぞれ検知する状態検知部と、
前記移動体が前記ゴール地点に到達するか、前記障害物と衝突するまで、前記移動路の各交点において、前記移動体の移動方向を所定のルールに従って決定する行動決定部と、
前記移動体が前記障害物と衝突した場合に、前記障害物との衝突地点の手前の交点での前記移動体の移動方向、及び前記移動体が前記手前の交点に位置した時点における、前記手前の交点を起点とした前記障害物の相対位置を、回避すべきエピソードとして記憶する回避エピソード記憶部と、
を備え、
前記行動決定部は、
前記移動路の交点において前記移動体の移動方向を決定する際に、前記移動体の現在位置に対する前記障害物の相対位置と、前記移動体の移動方向が前記回避すべきエピソードに一致した場合には、前記回避すべきエピソードとは異なる方向に移動方向を変更する
ことを特徴とする情報処理装置。
【請求項８】
請求項７に記載の情報処理装置であって、
前記移動体が前記ゴール地点に到達した場合に前記移動体に報酬を与える報酬付与部と、
前記移動体に前記報酬が与えられた場合に、前記スタート地点から前記ゴール地点までの前記移動体の移動経路上の交点毎に、前記交点の位置情報と、前記交点における前記移動体の移動方向と、前記報酬に基づいて算出される所定の評価値と、を対応付けてなる成功エピソードを生成する成功エピソード生成部と、
第１交点を終点とする成功エピソードと前記第１交点を起点とする成功エピソードとを用いて前記各成功エピソード内の各交点を移動経路順に連結し、前記各交点の位置情報と、前記各交点での移動方向と、前記報酬に基づいて算出される所定の評価値と、を対応付けることにより、新たな成功エピソードを生成する成功エピソード編集部と、
前記成功エピソードを記憶する成功エピソード記憶部と、
をさらに備え、
前記行動決定部は、前記移動路の交点において前記移動体の移動方向を決定する際に、前記交点を起点とする成功エピソードが前記成功エピソード記憶部に記憶されている場合には、該当する成功エピソードの中から評価値が最大の成功エピソードを選択し、前記成功エピソードに従って前記移動体の移動方向を決定する
ことを特徴とする情報処理装置。
【請求項９】
請求項８に記載の情報処理装置であって、
前記行動決定部は、前記交点を起点とする成功エピソードが前記成功エピソード記憶部に記憶されていない場合には、前記交点から移動可能な各方向の中からランダムに移動方向を決定する
ことを特徴とする情報処理装置。
【請求項１０】
請求項８又は９に記載の情報処理装置であって、
前記評価値は、
前記ゴール地点を終点として含む成功エピソードに対しては、前記成功エピソード内の交点の数が少ない程大きな値になるように算出され、
前記ゴール地点を終点として含まない成功エピソードに対しては、前記ゴール地点を終点として含むいずれの成功エピソードよりも小さな値になるように算出される
ことを特徴とする情報処理装置。
【請求項１１】
請求項８〜１０のいずれかに記載の情報処理装置であって、
前記成功エピソードには、それぞれ、前記成功エピソード記憶部に記憶された時点を示す情報がさらに含まれ、
前記行動決定部は、前記移動路の交点において前記移動体の移動方向を決定する際に、前記成功エピソード記憶部へ記憶された時点からの経過時間が所定時間以内であり、かつ、前記交点を起点とする成功エピソードが、前記成功エピソード記憶部に記憶されている場合には、該当する成功エピソードの中から評価値が最大の成功エピソードを選択し、前記成功エピソードに従って前記移動体の移動方向を決定する
ことを特徴とする情報処理装置。
【請求項１２】
請求項７〜１１のいずれかに記載の情報処理装置であって、
前記回避すべきエピソードには、それぞれ、前記回避エピソード記憶部に記憶された時点を示す情報がさらに含まれ、
前記行動決定部は、前記移動路の交点において前記移動体の移動方向を決定する際に、前記移動体の現在位置に対する前記障害物の相対位置と、前記移動体の移動方向が一致し、かつ、前記回避エピソード記憶部へ記憶された時点からの経過時間が所定時間以内である回避すべきエピソードが、前記回避エピソード記憶部に記憶されている場合には、前記回避すべきエピソードとは異なる方向に移動方向に変更する
ことを特徴とする情報処理装置。
【請求項１３】
請求項７〜１２のいずれかに記載の情報処理装置であって、
前記障害物は、前記移動路上を所定方向に直線状に移動する
ことを特徴とする情報処理装置。
【請求項１４】
検索キーワード内の単語を他の単語に変換することにより、前記検索キーワード内の単語を含まない文書を検索可能な情報処理装置であって、
前記検索キーワード内の単語を所定のルールに従って他の単語に変換することにより検索された文書のリストを検索結果として出力する行動決定部と、
前記検索結果内の各文書に対するユーザによる採否の判定結果を取得する状態検知部と、
前記ユーザから否定的な判定結果を得た文書がある場合に、前記否定的な判定結果を得た文書と、前記検索キーワード内の単語から変換された他の単語のリストと、を回避すべきエピソードとして記憶する回避エピソード記憶部と、
を備え、
前記行動決定部は、新たな検索キーワードに対する文書の検索を行う際に、前記新たな検索キーワード内の単語から変換された他の単語のリストが、前記回避すべきエピソードとして記憶されている他の単語のリストに一致した場合には、前記回避すべきエピソードに記憶されている文書を検索結果として出力しない
ことを特徴とする情報処理装置。
【請求項１５】
請求項１４に記載の情報処理装置であって、
前記ユーザから肯定的な判定結果を得た文書に報酬を与える報酬付与部と、
前記肯定的な判定結果を得た文書と、前記検索キーワード内の単語から変換された他の単語のリストと、前記文書に与えられた報酬と、を対応づけて成功エピソードとして記憶する成功エピソード記憶部と、
をさらに備え、
前記行動決定部は、前記新たな検索キーワードに対する文書の検索を行う際に、前記新たな検索キーワード内の単語から変換された他の単語のリストが、前記成功エピソードとして記憶されている他の単語のリストに一致した場合には、前記成功エピソードに記憶されている文書を検索結果として出力する
ことを特徴とする情報処理装置。
【請求項１６】
エージェントの行動に伴って変化する環境の状態が特定状態になるのを回避しつつ所定の目標状態になるように、前記エージェントを制御する情報処理装置の制御方法であって、
前記情報処理装置が、
前記環境の状態を所定タイミングで繰り返し検知し、
初期状態から前記目標状態又は前記特定状態になるまでに検知される前記環境の各状態において、前記エージェントに実行させる行動を所定のルールに従って決定し、
前記環境が前記特定状態になった場合に、前記特定状態の前の状態にて前記エージェントが行った行動の内容を、回避すべきエピソードとして記憶し、
前記エージェントに実行させる行動を決定する際に、前記環境の現在の状態及び前記エージェントの次の行動に一致する回避すべきエピソードが記憶されている場合には、前記回避すべきエピソードとは異なる行動に変更する
ことを特徴とする情報処理装置の制御方法。
【請求項１７】
網目状の移動路の交点に設けられるスタート地点からゴール地点まで、障害物を回避しながら移動できるように移動体を制御する情報処理装置の制御方法であって、
前記情報処理装置が、
前記移動体及び前記障害物の現在位置を前記各交点においてそれぞれ検知し、
前記移動体が前記ゴール地点に到達するか、前記障害物と衝突するまで、前記移動路の各交点において、前記移動体の移動方向を所定のルールに従って決定し、
前記移動体が前記障害物と衝突した場合に、前記障害物との衝突地点の手前の交点での前記移動体の移動方向、及び前記移動体が前記手前の交点に位置した時点における、前記手前の交点を起点とした前記障害物の相対位置を、回避すべきエピソードとして記憶し、
前記移動路の交点において前記移動体の移動方向を決定する際に、前記移動体の現在位置に対する前記障害物の相対位置と、前記移動体の移動方向が前記回避すべきエピソードに一致した場合には、前記回避すべきエピソードとは異なる方向に移動方向を変更する
ことを特徴とする情報処理装置の制御方法。
【請求項１８】
検索キーワード内の単語を他の単語に変換することにより、前記検索キーワード内の単語を含まない文書を検索可能な情報処理装置の制御方法であって、
前記情報処理装置は、
前記検索キーワード内の単語を所定のルールに従って他の単語に変換することにより検索された文書のリストを検索結果として出力し、
前記検索結果内の各文書に対するユーザによる採否の判定結果を取得し、
前記ユーザから否定的な判定結果を得た文書がある場合に、前記否定的な判定結果を得た文書と、前記検索キーワード内の単語から変換された他の単語のリストと、を回避すべきエピソードとして記憶し、
新たな検索キーワードに対する文書の検索を行う際に、前記新たな検索キーワード内の単語から変換された他の単語のリストが、前記回避すべきエピソードとして記憶されている他の単語のリストに一致した場合には、前記回避すべきエピソードに記憶されている文書を検索結果として出力しない
ことを特徴とする情報処理装置の制御方法。
【請求項１９】
エージェントの行動に伴って変化する環境の状態が特定状態になるのを回避しつつ所定の目標状態になるように、前記エージェントを制御するコンピュータに、
前記環境の状態を所定タイミングで繰り返し検知する手順と、
初期状態から前記目標状態又は前記特定状態になるまでに検知される前記環境の各状態において、前記エージェントに実行させる行動を所定のルールに従って決定する手順と、
前記環境が前記特定状態になった場合に、前記特定状態の前の状態にて前記エージェントが行った行動の内容を、回避すべきエピソードとして記憶する手順と、
前記エージェントに実行させる行動を決定する際に、前記環境の現在の状態及び前記エージェントの次の行動に一致する回避すべきエピソードが記憶されている場合には、前記回避すべきエピソードとは異なる行動に変更する手順と、
を実行させるためのプログラム。
【請求項２０】
網目状の移動路の交点に設けられるスタート地点からゴール地点まで、障害物を回避しながら移動できるように移動体を制御するコンピュータに、
前記移動体及び前記障害物の現在位置を前記各交点においてそれぞれ検知する手順と、
前記移動体が前記ゴール地点に到達するか、前記障害物と衝突するまで、前記移動路の各交点において、前記移動体の移動方向を所定のルールに従って決定する手順と、
前記移動体が前記障害物と衝突した場合に、前記障害物との衝突地点の手前の交点での前記移動体の移動方向、及び前記移動体が前記手前の交点に位置した時点における、前記手前の交点を起点とした前記障害物の相対位置を、回避すべきエピソードとして記憶する手順と、
前記移動路の交点において前記移動体の移動方向を決定する際に、前記移動体の現在位置に対する前記障害物の相対位置と、前記移動体の移動方向が前記回避すべきエピソードに一致した場合には、前記回避すべきエピソードとは異なる方向に移動方向を変更する手順と、
を実行させるためのプログラム。
【請求項２１】
検索キーワード内の単語を他の単語に変換することにより、前記検索キーワード内の単語を含まない文書を検索可能なコンピュータに、
前記検索キーワード内の単語を所定のルールに従って他の単語に変換することにより検索された文書のリストを検索結果として出力する手順と、
前記検索結果内の各文書に対するユーザによる採否の判定結果を取得する手順と、
前記ユーザから否定的な判定結果を得た文書がある場合に、前記否定的な判定結果を得た文書と、前記検索キーワード内の単語から変換された他の単語のリストと、を回避すべきエピソードとして記憶する手順と、
新たな検索キーワードに対する文書の検索を行う際に、前記新たな検索キーワード内の単語から変換された他の単語のリストが、前記回避すべきエピソードとして記憶されている他の単語のリストに一致した場合には、前記回避すべきエピソードに記憶されている文書を検索結果として出力しない手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ロボット制御をはじめ、囲碁などのゲーム、金融予測など様々な分野で強化学習が用いられている。
【０００３】
強化学習にはいくつかの種類があるが、プロフィットシェアリング法のような経験強化型の強化学習は、Ｑ学習などの環境同定型と比べて、少ない試行数で学習が行えることが知られている（例えば非特許文献１参照）。
【０００４】
またこのような経験強化型の強化学習に関して様々な技術が開発されており、例えば、迷路課題においてゴールの位置が変化する場合であっても有効なアルゴリズムが提案されている（例えば非特許文献２、３参照）。
【０００５】
また経験強化型の強化学習では、環境が所定の目標状態になってエージェントに報酬が与えられたときに、それまでのエージェントの各行動に対して報酬が強化値として分配されることで学習が行われるが、報酬と罰とが混在する環境においても、強化学習を行うような技術も開発されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２０４０３６号公報
【非特許文献】
【０００７】
【非特許文献１】山口、外３名、「経験強化型学習における仮想個体から実ロボットへの学習行動の伝播」、人工知能学会誌、Vol.12 No.4、pp.570-581(1997)
【非特許文献２】青田、外１名、「エピソード記憶編集による迷路課題の学習アルゴリズムの提案」、情報処理学会論文誌、Vol.47 No.SIG 1(TOM 15)、pp.93-107(2006)
【非特許文献３】青田、外１名、「エピソード記憶編集による学習アルゴリズムの経験累積効果と課題構造の関係」、情報処理学会論文誌、Vol.48 No.SIG 6(TOM 17)、pp.12-22(2007)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、罰を強化値として用いる場合、エージェントは罰を避けるような行動を選択できるようにはなるが、そのような選択ができるようになるまでの間は、エージェントはやはり罰を受けるような行動を選択する可能性がある。
【０００９】
本発明はこのような課題を鑑みてなされたものであり、環境が本来の目標状態とは異なる特定状態になった場合には、それ以降は再び特定状態にならないようにエージェントを制御することが可能な情報処理装置、情報処理装置の制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一実施形態に係る情報処理装置は、エージェントの行動に伴って変化する環境の状態が特定状態になるのを回避しつつ所定の目標状態になるように、前記エージェントを制御する情報処理装置であって、前記環境の状態を所定タイミングで繰り返し検知する状態検知部と、初期状態から前記目標状態又は前記特定状態になるまでに検知される前記環境の各状態において、前記エージェントに実行させる行動を所定のルールに従って決定する行動決定部と、前記環境が前記特定状態になった場合に、前記特定状態の前の状態にて前記エージェントが行った行動の内容を、回避すべきエピソードとして記憶する回避エピソード記憶部と、を備え、前記行動決定部は、前記エージェントに実行させる行動を決定する際に、前記環境の現在の状態及び前記エージェントの次の行動に一致する回避すべきエピソードが前記回避エピソード記憶部に記憶されている場合には、前記回避すべきエピソードとは異なる行動に変更する。
【００１１】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄の記載、及び図面の記載等により明らかにされる。
【発明の効果】
【００１２】
一度環境が特定状態になった場合に、再度同じ状態にならないようにエージェントを制御することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る移動路、移動体、及び障害物を示す図である。
【図２】実施形態に係る情報処理装置のシステム構成を示す図である。
【図３】実施形態に係る情報処理装置の機能構成を示す図である。
【図４】実施形態に係る処理の流れを示すフローチャートである。
【図５】実施形態に係る移動体が移動路を移動する様子を示すである。
【図６Ａ】実施形態に係る状態管理図を示す図である。
【図６Ｂ】実施形態に係る状態管理図を示す図である。
【図７】実施形態に係る成功エピソードを説明するための図である。
【図８】実施形態に係る成功エピソードを説明するための図である。
【図９】実施形態に係るバッドエピソードを説明するための図である。
【図１０】実施形態に係るバッドエピソードを説明するための図である。
【図１１】実施形態に係るバッドエピソードを説明するための図である。
【図１２】実施形態に係る処理の流れを示すフローチャートである。
【図１３】実施形態に係る処理の流れを示すフローチャートである。
【図１４】実施形態に係る処理の流れを示すフローチャートである。
【図１５】実施形態に係る情報処理装置による画面表示例を示す図である。
【図１６】実施形態に係る情報処理装置による画面表示例を示す図である。
【図１７】実施形態に係る情報処理装置による画面表示例を示す図である。
【図１８】実施形態に係る情報処理装置による画面表示例を示す図である。
【図１９】実施形態に係る情報処理装置による画面表示例を示す図である。
【図２０】実施形態に係る情報処理装置による画面表示例を示す図である。
【図２１】実施形態に係る情報処理装置による画面表示例を示す図である。
【図２２】実施形態に係る情報処理装置による画面表示例を示す図である。
【図２３】実施形態に係る処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。以下、本発明をその一実施形態に即して添付図面を参照しつつ説明する。
【００１５】
[第１実施形態]
第１実施形態に係る情報処理装置１００は、図１に示すような、網目状の移動路２００の交点２１０に設けられるスタート地点２１１（図１では「６」の位置）からゴール地点２１２（図１では「１」の位置）まで、障害物３１０を回避しながら移動できるように移動体３００を制御する。
【００１６】
移動体３００は、強化学習におけるエージェントに対応し、移動体３００の位置は、環境の状態に対応する。移動体３００は、移動路２００の各交点２１０において移動方向を選択しながら進む。移動体３００は、ランダムに選択した移動方向に進む場合と、以下に述べる成功エピソードに従った移動方向に進む場合がある。移動体３００がゴール地点２１２に到達し、目標状態になると、移動体３００に報酬が与えられる。
【００１７】
そしてスタート地点２１１からゴール地点２１２までに移動体３００が経由した各交点２１０の位置情報と、各交点２１０での移動方向は、移動体３００に与えられた報酬を元に所定の算出式を用いて算出される評価値と対応付けて、後述する成功エピソード記憶部１０４Ａに生成エピソードとして記憶される。
【００１８】
また本実施形態に係る情報処理装置１００は、複数の成功エピソードを組み合わせて（編集して）、移動経路に沿って連続する複数の交点２１０での各移動方向を含む、新たな成功エピソードを生成する。
【００１９】
具体的には、情報処理装置１００は、第１交点２１０を終点とする成功エピソードと第１交点２１０を起点とする成功エピソードを用いて、これらの成功エピソードに含まれる各交点２１０を移動経路順に連結し、各交点２１０の位置情報と、各交点２１０での移動体３００の移動方向と、報酬に基づいて算出される所定の評価値と、を対応付けるように編集（エピソード編集と呼ぶ）することにより、新たな成功エピソードを生成する。
【００２０】
例えば本実施形態では、移動体３００の移動経路に沿ってゴール地点２１２まで連続する２以上の交点２１０における各成功エピソードを編集し、これらのゴール地点２１２まで連続する２以上の交点での移動体３００の各移動方向と、報酬を元に算出される評価値とを対応付けて、新たな成功エピソードを生成する。詳細は後述する。
【００２１】
これらの成功エピソードは、成功エピソード記憶部１０４Ａに記憶される。
【００２２】
また、移動体３００が障害物３１０と衝突した場合（目標状態とは異なる特定状態になった場合）には、情報処理装置１００は、障害物３１０との衝突地点の手前の交点２１０での移動体３００の移動方向と、移動体３００がその交点２１０に位置した時の障害物３１０までの相対位置を対応付けて、バッドエピソード（回避すべきエピソード）を生成する。バッドエピソードは、バッドエピソード記憶部１０４Ｂに記憶される。
【００２３】
そして本実施形態に係る情報処理装置１００は、移動体３００が一度障害物３１０と衝突すると、それ以降は、再度衝突しないように移動体３００を制御することができる。
【００２４】
なお、障害物３１０は移動路２００の特定の位置に静止していてもよいし、本実施形態のように、所定方向に直線状に移動しても良い。本実施形態では、障害物３１０は「１」または「４」で示す交点２１０に不定期に現れ、その後、右方向に移動する。このように障害物３１０の位置が動的に変化する場合であっても、本実施形態に係る情報処理装置１００は移動体３００が障害物３１０に再度衝突しないように制御することができる。
【００２５】
本実施形態に係る情報処理装置１００は、このようにして移動体３００の行動に伴って変化する環境の状態（移動体３００の位置）が特定状態（障害物３１０との衝突）になるのを回避しつつ所定の目標状態（ゴール地点２１２）になるように、移動体３００を制御する。
【００２６】
なお、情報処理装置１００は、以下に述べる制御プログラム７０１を実行することにより移動体３００の制御を行う。この場合、情報処理装置１００は、実空間においてロボットや車両などの移動体３００に搭載され、移動体３００と共に移動しながら移動体３００の制御を行うようにしても良いが、本実施形態に係る情報処理装置１００は、以下に述べるシミュレーションプログラム７００を実行することにより、上述した移動路２００や移動体３００、障害物３１０を仮想空間上に再現した上で、上記の制御プログラム７０１を実行することで、仮想空間上で移動体３００を制御する。
【００２７】
以下具体的に説明する。
【００２８】
＜情報処理装置のシステム構成＞
図２に、本実施形態に係る情報処理装置１００のシステム構成図を示す。
【００２９】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１１０、メモリ１２０、通信装置１３０、記憶装置１４０、入力装置１５０、出力装置１６０、及び記録媒体読取装置１７０を備えて構成されるコンピュータである。
【００３０】
記憶装置１４０は、ＣＰＵ１１０によって実行されるシミュレーションプログラム７００や制御プログラム７０１、後述するエピソード記憶部１０４等の各種のプログラムやデータを格納する。記憶装置１４０は例えばハードディスクやＳＳＤ（Solid State Drive）、フラッシュメモリ等の不揮発性の記憶装置である。
【００３１】
シミュレーションプログラム７００は、仮想空間上に移動路２００や移動体３００、障害物３１０を再現するプログラムである。制御プログラム７０１は、移動体３００がスタート地点２１１からゴール地点２１２に到達できるように制御するためのプログラムである。
【００３２】
記憶装置１４０に記憶されている上記シミュレーションプログラム７００や制御プログラム７０１、各種のデータがメモリ１２０に読み出されてＣＰＵ１１０によって実行あるいは処理されることにより、上記仮想空間が構築されると共に、図３に示すような移動体３００を制御するための各種機能が実現される。これらの各機能については後述する。
【００３３】
記録媒体読取装置１７０は、ＣＤやＤＶＤ、ＳＤカード等の記録媒体８００にシミュレーションプログラム７００や制御プログラム７０１、各種のデータが記録されている場合に、これらの記録媒体８００から、シミュレーションプログラム７００や制御プログラム７０１、データを読み取り、記憶装置１４０に格納する。
【００３４】
通信装置１３０は、ネットワーク５００を介して不図示の他のコンピュータと各種データやシミュレーションプログラム７００、制御プログラム７０１の授受を行う。例えば他のコンピュータに上述したシミュレーションプログラム７００や制御プログラム７０１、データを格納しておき、情報処理装置１００がこのコンピュータからこれらのプログラム７００、７０１やデータをダウンロードするようにすることができる。また、エピソード記憶部１０４を、ネットワーク５００を介して接続される他のコンピュータ上に設けるようにしてもよい。
【００３５】
入力装置１５０は、ユーザによるコマンドやデータの入力を受け付ける各種ボタンやスイッチ、マウス、キーボードなどの装置である。
【００３６】
また出力装置１６０は、例えばディスプレイなどの表示装置、スピーカなどの装置である。
【００３７】
＜情報処理装置の機能構成＞
次に、図３に示した情報処理装置１００の機能構成について説明する。
【００３８】
情報処理装置１００は、行動決定部１０１、状態検知部１０２、報酬付与部１０３、エピソード記憶部１０４、成功エピソード生成部１０５、成功エピソード編集部１０６の各機能を有する。
【００３９】
行動決定部１０１は、移動体３００がゴール地点２１２に到達するか、障害物３１０と衝突するまで、移動路２００の各交点２１０において、移動体３００の移動方向を所定のルールに従って決定する。
【００４０】
なお、移動体３００がゴール地点２１２に到達するか障害物３１０に衝突した場合には、移動体３００はスタート地点２１１に戻って、再度ゴール地点２１２を目指して移動を開始する。
【００４１】
行動決定部１０１は、後述する成功エピソード記憶部１０４Ａに、移動体３００の現在位置を行動の起点とする成功エピソードが記憶されている場合には、この成功エピソードに従って移動方向を決定する。
【００４２】
また成功エピソード記憶部１０４Ａに該当する成功エピソードが記憶されていない場合には、行動決定部１０１は、現在位置から移動可能な各方向の中からランダムに移動方向を決定する。あるいは行動決定部１０１は、Ｑ学習を行う場合と同様に、各交点２１０で選択可能な移動方向についてＱ値を計算しておき、このＱ値に基づいて移動方向を決定するようにしても良い。
【００４３】
また行動決定部１０１は、移動体３００の現在位置に対する障害物３１０の相対位置、及び移動体３００の移動方向の組が、後述するバッドエピソード記憶部（回避エピソード記憶部）１０４Ｂに記憶されているバッドエピソードと一致する場合には、このバッドエピソードとは異なる方向に移動方向を変更する。
【００４４】
状態検知部１０２は、移動体３００及び障害物３１０の現在位置を移動路２００の各交点２１０においてそれぞれ検知する。
【００４５】
報酬付与部１０３は、移動体３００がゴール地点２１２に到達した場合に、移動体３００に報酬を与える。報酬は、本実施形態では正の所定値とする。
【００４６】
エピソード記憶部１０４は、成功エピソード記憶部１０４Ａ、バッドエピソード記憶部１０４Ｂ、及び蓄積エピソード記憶部１０４Ｃを有する。成功エピソード記憶部１０４Ａには成功エピソードが記憶され、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶される。また詳しくは後述するが、蓄積エピソード記憶部１０４Ｃには蓄積エピソードが記憶される。
【００４７】
成功エピソードとは、移動体３００がゴール地点２１２に到達できた場合に、スタート地点２１１からゴール地点２１２までの移動体３００の移動経路上の交点２１０毎に、移動体３００の移動方向と、所定の評価値（後述する）と、を組にして記憶したデータであり、成功エピソード生成部１０５によって生成される。
【００４８】
また本実施形態では、個々の交点２１０の成功エピソードだけでなく、移動体３００の移動経路上の複数の交点２１０の成功エピソードを繋げるように編集することにより（エピソード編集と呼ぶ）、これらの複数の交点２１０における移動方向を含む成功エピソードも生成される。
【００４９】
例えばゴール地点２１２の一つ手前の交点Ａ２１０と、さらに一つ手前の交点Ｂ２１０の２つの交点２１０の組み合わせに対しても成功エピソードが作成され、この成功エピソードには、交点Ａ２１０での移動方向と、交点Ｂ２１０での移動方向と、評価値と、が含まれている。
【００５０】
エピソード編集は、成功エピソード編集部１０６によって行われる。
【００５１】
蓄積エピソードとは、詳しくは後述するが、移動経路が連続する複数の成功エピソードを連結してより移動経路の長い成功エピソードを生成する（エピソード編集）ために用いられる、連結前の各成功エピソードである。
【００５２】
評価値は、移動体３００に与えられた報酬に基づいて算出される。例えば評価値は、ゴール地点２１２を終点として含む成功エピソードに対しては、成功エピソード内の交点２１０の数が少ない程、大きな値になるように算出される。本実施形態では、成功エピソードに含まれる起点となる交点２１０からゴール地点２１２までの間に移動体３００が隣接する交点２１０へ移動する回数が少ない程、大きな値になるように算出される。
【００５３】
例えば、起点となる交点２１０からゴール地点２１２までの間に、移動体３００が、隣接する交点２１０にＭ回移動する場合（移動経路にループを含まなければ交点２１０の数はＭ＋１個）、その成功エピソードの評価値は、例えば式（１）のように算出される。
【００５４】
評価値＝報酬×減衰率Ｍ              …式（１）
例えば上記交点Ａ２１０と交点Ｂ２１０とゴール地点２１２の３つの交点２１０を含む成功エピソードの場合は、移動体３００の移動回数は２回であるので、評価値＝報酬×減衰率２となる。減衰率は１よりも小さな数であり、例えば０．９にすると良い。
【００５５】
また、評価値は、ゴール地点２１２を終点として含まない成功エピソードに対しては、ゴール地点２１２を終点として含むいずれの成功エピソードよりも小さな値になるように算出される。本実施形態では、ゴール地点２１２を終点として含まない成功エピソードに対しては、成功エピソード内の交点２１０の数に関わらず評価値を０としている。
【００５６】
そして行動決定部１０１は、移動路２００の交点２１０において移動体３００の移動方向を決定する際に、この交点２１０を起点とする成功エピソードが成功エピソード記憶部１０４Ａに記憶されている場合には、該当する成功エピソードの中から評価値が最大の成功エピソードを選択し、この成功エピソードに従って移動体３００の移動方向を決定するようにしている。
【００５７】
このような態様によれば、移動体３００の現在位置からゴール地点２１２に到達できない成功エピソード（ゴール地点２１２を終点として含まない成功エピソード）よりも、ゴール地点２１２に到達できる成功エピソード（ゴール地点２１２を終点として含む成功エピソード）の方が評価値が大きくなり、しかも、これらのゴール地点２１２に到達できる成功エピソードの内、ゴール地点２１２までの移動経路が短い成功エピソードであるほど評価値が大きくなるため、より短い経路でゴール地点２１２に到達可能な成功エピソードが行動決定部１０１に選択されやすくなる。
【００５８】
そのため、移動体３００は、徐々に移動経路がより短い経路でゴール地点２１２に到達できるようになる。
【００５９】
なお上述したように、行動決定部１０１は、移動路２００の交点２１０において移動体３００の移動方向を決定する際に、この交点２１０を起点とする成功エピソードが成功エピソード記憶部１０４Ａに記憶されていない場合には、この交点２１０から移動可能な各方向の中からランダムに移動方向を決定する。
【００６０】
このような態様により、行動決定部１０１は、移動体３００を必ず何れかの方向に移動させることが可能となる。また移動方向がランダムに決定されることにより、ゴール地点２１２までの移動経路をヒューリスティックに探索することも可能となり、より最適な移動経路を見つけやすくなる。
【００６１】
バッドエピソードとは、移動体３００が障害物３１０に衝突した場合に、衝突地点２１３の一つ手前側の交点２１０での移動体３００の移動方向と、この手前側の交点２１０に移動体３００が位置していた際の障害物３１０までの相対位置と、を対応付けて記憶したデータである。
【００６２】
このようなバッドエピソードをバッドエピソード記憶部１０４Ｂに記憶しておくことにより、以後、行動決定部１０１は、移動体３００をどちらに移動させると再び障害物３１０に衝突するかを予測することが可能となる。
【００６３】
そのため本実施形態に係る行動決定部１０１は、移動体３００の移動方向を決定する際にバッドエピソード記憶部１０４Ｂを参照し、移動体３００の現在位置に対する障害物３１０の相対位置及び移動体３００の移動方向がバッドエピソードに一致した場合には、このバッドエピソードとは異なる方向に移動方向に変更するようにする。
【００６４】
このような態様により、本実施形態に係る情報処理装置１００は、移動体３００が一度障害物３１０に衝突した場合には、再度衝突しない様に移動体３００を制御することが可能となる。
【００６５】
なおバッドエピソードには、衝突地点２１３の一つ手前の交点２１０における移動体３００の移動方向と、障害物３１０の相対位置が記憶されるが、一つ手前の交点２１０だけでなく、所定数だけ手前に遡った交点２１０までの各交点２１０における移動体３００の移動方向と、障害物３１０の相対位置を記憶するようにしても良い。
【００６６】
このような態様により、より早いタイミングで移動体３００と障害物３１０との衝突を予見することが可能となるため、より確実に衝突を回避することが可能となる。
【００６７】
また成功エピソードには、それぞれ、成功エピソード記憶部１０４Ａに記憶された時点を示す情報（例えば時刻情報や、通し番号、登録番号など）を含むようにしても良い。
【００６８】
そしてこの場合に、行動決定部１０１は、移動路２００の交点２１０において移動体３００の移動方向を決定する際に、成功エピソード記憶部１０４Ａへ記憶された時点からの経過時間が所定時間以内であり、かつ、交点２１０を起点とする成功エピソードが、成功エピソード記憶部１０４Ａに記憶されている場合には、該当する成功エピソードの中から評価値が最大の成功エピソードを選択し、この成功エピソードに従って移動体３００の移動方向を決定するようにすると良い。
【００６９】
このような態様により、成功エピソード記憶部１０４Ａに記憶されてから所定時間以上経過した古い成功エピソードを選択しない様にすることが可能となる。
【００７０】
あるいは、行動決定部１０１は、成功エピソード記憶部１０４Ａへ記憶された時点からの経過時間が長くなるにつれて評価値が小さくなるように評価値を換算しても良い。例えば評価値を式（２）のように換算すると良い。
【００７１】
評価値＝報酬×減衰率Ｍ×（１−（経過時間／所定時間））        …式（２）
（ただし、経過時間＞所定時間となった場合は、経過時間／所定時間＝１とする）
同様に、バッドエピソードには、それぞれ、バッドエピソード記憶部１０４Ｂに記憶された時点を示す情報（例えば時刻情報や、通し番号、登録番号など）を含むようにしても良い。
【００７２】
そしてこの場合に、行動決定部１０１は、移動路２００の交点２１０において移動体３００の移動方向を決定する際に、移動体３００の現在位置に対する障害物３１０の相対位置と、移動体３００の移動方向が一致し、かつ、バッドエピソード記憶部１０４Ｂへ記憶された時点からの経過時間が所定時間以内であるバッドエピソードが、バッドエピソード記憶部１０４Ｂに記憶されている場合には、このバッドエピソードとは異なる方向に移動方向に変更するようにすると良い。
【００７３】
このような態様により、バッドエピソード記憶部１０４Ｂに記憶されてから所定時間以上経過した古いバッドエピソードを選択しない様にすることが可能となる。
【００７４】
また障害物３１０は、移動路２００上を所定方向に直線状に移動しても良い。例えば本実施形態では、障害物３１０は「１」または「４」で示す交点２１０に不定期に現れ、その後、右方向に直線状に移動する。
【００７５】
このような場合であっても、行動決定部１０１はバッドエピソード記憶部１０４Ｂを参照し、移動体３００の現在位置に対する障害物３１０の相対位置と、移動方向と、がバッドエピソードに一致した場合には、このバッドエピソードとは異なる方向に移動方向に変更する。このようにして、移動体３００は、障害物３１０との衝突を回避することができる。
【００７６】
以下、図４〜図１１を参照しながら、本実施形態に係る情報処理装置１００によって行われる移動体３００の制御内容を具体的に説明する。
【００７７】
図４は、情報処理装置１００による制御の流れを示すフローチャートである。
【００７８】
図５、図７、図８は、これから説明する具体例において、移動体３００が移動路２００上の各交点２１０において進む方向（移動方向）を示す図である。なお、各移動方向は成功エピソードｅ１〜ｅ６として示されている。また図５、図７、図８では、交点２１０がマス目として表現されている。そして図１と同様に、「６」で示される位置がスタート地点２１１であり、「１」で示される位置がゴール地点２１２である。
【００７９】
図６Ａ及び図６Ｂは、移動体３００が移動路２００上の各交点２１０を図５のｅ１〜ｅ６に示す様に進む場合の情報処理装置１００による処理内容を説明するための図である。なお図６Ａ及び図６Ｂに示すテーブルを、便宜上、状態管理表６００と記す。
【００８０】
図９〜図１１は、情報処理装置１００が、移動体３００を障害物３１０と衝突しない様に制御する様子を説明するための図である。
【００８１】
＝Ｎｏ１＝
まず状態管理表６００のＮｏ１について説明する。
【００８２】
情報処理装置１００は、まず移動体３００及び障害物３１０の現在位置を検出する（図４のS1000）。Ｎｏ１では、移動体３００はスタート地点２１１である「６」のマス目にいる。その様子が状態管理表６００の「現在位置（状態）」欄に示されている（なお以下の説明では、『「６」のマス目』との記載を、単に「６」と省略して記す。他のマス目についても同様である）。また障害物３１０は現れていない。
【００８３】
次に情報処理装置１００は、「６」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。しかしながら、成功エピソード記憶部１０４Ａにはまだ成功エピソードが記憶されていない。
【００８４】
そのため情報処理装置１００は移動体３００の移動方向をランダムに決定する。「６」からは、「左方向」又は「上方向」に移動可能であるが、ここでは「左方向」が選択されたものとする。なお、現在位置である「６」から「左方向」へ移動するエピソードを成功エピソードｅ１とする。ただし、この時点では移動体３００はゴール地点２１２に到達しておらず、成功エピソードｅ１に評価値は与えられていない。状態管理表６００の「移動方向」欄、「選択方法」欄、及び「エピソード」欄に上述した各内容が示されている。
【００８５】
次に情報処理装置１００は、現在の状態と左に移動するという行動の組、つまり現在位置である「６」から、「左方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【００８６】
そこで情報処理装置１００は、移動体３００を「左方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。
【００８７】
もし障害物３１０と衝突した場合には、図９に示したように、「５」の一つ手前の「６」において選択した移動方向（左方向）と、移動体３００が「６」にいる時点で障害物３１０が「２つ左のマス目」にいたことを、バッドエピソードとしてバッドエピソード記憶部１０４Ｂに記憶するが（S1110）、ここでは障害物３１０は現れず、衝突は起こらなかったものとする。
【００８８】
次に、情報処理装置１００は、成功エピソードｅ１内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【００８９】
成功エピソードｅ１には、それ以上の移動方向が記載されていないため、情報処理装置１００は、続いて、「６」から「左方向」に移動して「５」に到達したことが未知の結果であるか否かを確認する(S1060)。未知の結果とは、「直近の状態（直前の場所）と、行動（移動方向）と、次の状態（次の位置）と、の組」が初めての組み合わせであることを示す。「６」から「左方向」に移動して「５」に到達したことは移動体３００にとって初めてであるため、情報処理装置１００は、この成功エピソードｅ１を成功エピソード記憶部１０４Ａに記憶する（S1070）。つまり「６」において移動方向を左としたことが成功エピソードｅ１として記憶される。ただし上述したように、この時点では成功エピソードｅ１に評価値が与えられていないため、この成功エピソードｅ１は暫定的なものである。
【００９０】
その様子が状態管理表６００の「未知の結果」欄、及び「エピソード集合」欄に記載されている。
【００９１】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。蓄積エピソードとは、詳しくは後述するが、移動経路が連続する複数の成功エピソードを連結してより移動経路の長い成功エピソードを生成する（エピソード編集）ために用いられる、連結前の各成功エピソードである。
【００９２】
しかしながらこの時点では、蓄積エピソード記憶部１０４Ｃには蓄積エピソードが記憶されていない。そこで情報処理装置１００は、S1090のエピソード編集は行わずに、Ｎｏ１の処理を終える。
【００９３】
＝Ｎｏ２＝
続いて状態管理表６００のＮｏ２について説明する。
【００９４】
情報処理装置１００は、移動体３００及び障害物３１０の現在位置を検出する（S1000）。Ｎｏ２では、移動体３００は「５」のマス目にいる。また障害物３１０は検出されていない。
【００９５】
そして情報処理装置１００は、「５」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。しかしながら、成功エピソード記憶部１０４Ａには成功エピソードｅ１（「６」を行動の起点とする成功エピソード）が記憶されているのみであり、「５」を起点とする成功エピソードはまだ記憶されていない。
【００９６】
そのため情報処理装置１００は移動体３００の移動方向をランダムに決定する。「５」からは、「左方向」「上方向」「右方向」に移動可能であるが、ここでは「左方向」が選択されたものとする。なお、現在位置である「５」から「左方向」へ移動するエピソードを成功エピソードｅ２とする。それらの様子が状態管理表６００の「移動方向」欄、「選択方法」欄、及び「エピソード」欄に示されている。
【００９７】
次に情報処理装置１００は、現在の状態と左に移動するという行動の組、つまり現在位置である「５」から、「左方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【００９８】
そこで情報処理装置１００は、移動体３００を「左方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。ここでも衝突は起こらなかったものとする。
【００９９】
次に、情報処理装置１００は、成功エピソードｅ２内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【０１００】
成功エピソードｅ２には、それ以上の移動方向が記載されていないため、情報処理装置１００は、「５」から「左方向」に移動して「４」に到達したことが未知の結果であるか否かを確認する(S1060)。「５」から「左方向」に移動して「４」に到達したことは移動体３００にとって初めてであるため、情報処理装置１００は、この成功エピソードｅ２を成功エピソード記憶部１０４Ａに記憶する（S1070）。その様子が状態管理表６００の「未知の結果」欄、「エピソード集合」欄に記載されている。
【０１０１】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。しかしながらこの時点では、蓄積エピソード記憶部１０４Ｃには蓄積エピソードが記憶されていない。そこで情報処理装置１００は、S1090のエピソード編集は行わずに、Ｎｏ２の処理を終える。
【０１０２】
＝Ｎｏ３＝
続いて状態管理表６００のＮｏ３について説明する。
【０１０３】
Ｎｏ３でも同様に、情報処理装置１００は、移動体３００及び障害物３１０の現在位置を検出する（S1000）。Ｎｏ３では、移動体３００は「４」のマス目にいる。障害物３１０は検出されていない。
【０１０４】
そして情報処理装置１００は、「４」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。しかしながら、成功エピソード記憶部１０４Ａには成功エピソードｅ１、ｅ２が記憶されているのみであり、「４」を起点とする成功エピソードはまだ記憶されていない。
【０１０５】
そのため情報処理装置１００は移動体３００の移動方向をランダムに決定する。「４」からは、「上方向」「右方向」に移動可能であるが、ここでは「上方向」が選択されたものとする。なお、現在位置である「４」から「上方向」へ移動するエピソードを成功エピソードｅ３とする。それらの様子が状態管理表６００の「移動方向」欄、「選択方法」欄、及び「エピソード」欄に示されている。
【０１０６】
次に情報処理装置１００は、現在の状態と上に移動するという行動の組、つまり現在位置である「４」から「上方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【０１０７】
そこで情報処理装置１００は、移動体３００を「上方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。ここでも衝突は起こらなかったものとする。
【０１０８】
次に、情報処理装置１００は、成功エピソードｅ３内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【０１０９】
成功エピソードｅ３には、それ以上の移動方向が記載されていないため、情報処理装置１００は、「４」から「上方向」に移動して「１」に到達したことが未知の結果であるか否かを確認する(S1060)。「４」から「上方向」に移動して「１」に到達したことは移動体３００にとって初めてであるため、情報処理装置１００は、この成功エピソードｅ３を成功エピソード記憶部１０４Ａに記憶する（S1070）。その様子が状態管理表６００の「未知の結果」欄、「エピソード集合」欄に記載されている。
【０１１０】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。しかしながらこの時点では、蓄積エピソード記憶部１０４Ｃには蓄積エピソードが記憶されていない。そこで情報処理装置１００は、S1090のエピソード編集は行わない。
【０１１１】
ここで「１」はゴール地点２１２である。そのため情報処理装置１００は、移動体３００に報酬を付与する。ここでは報酬の値は１であるとする。
【０１１２】
そして情報処理装置１００は、成功エピソード記憶部１０４Ａに記憶されている各成功エピソードｅ１、ｅ２、ｅ３に対して、報酬を元に評価値を計算する。つまり、スタート地点２１１である「６」からゴール地点２１２である「１」までの間に経由した移動路２００の各マス目（交点）２１０について、移動体３００の各マス目（交点）２１０での移動方向と、報酬に基づいて算出される評価値と、を対応付けてそれぞれ成功エピソードとして成功エピソード記憶部１０４Ａに記憶する。
【０１１３】
本実施形態では、ゴール地点２１２である「６」を終点として含む成功エピソードｅ３に対しては、式（１）に従って、評価値として１が付与される。また「６」を終点として含まない成功エピソードｅ１、ｅ２に対しては、評価値が成功エピソードｅ３よりも小さな値になるように、０が付与される。この様子が、状態管理表６００の「報酬」欄に記載されている。
【０１１４】
情報処理装置１００は、ここでＮｏ３の処理を終える。
【０１１５】
なお、ここで生成された成功エピソードｅ１、ｅ２、ｅ３を図７に示す。このように、成功エピソードは、各交点２１０の位置情報と移動体３００の移動方向（行動）と評価値（報酬）とを対応付けたデータである。
【０１１６】
＝Ｎｏ４＝
続いて状態管理表６００のＮｏ４について説明する。
【０１１７】
Ｎｏ３において移動体３００はゴール地点２１２に到達したので、移動体３００は再びスタート地点２１１から移動を始める。
【０１１８】
まず情報処理装置１００は、移動体３００及び障害物３１０の現在位置を検出する（S1000）。Ｎｏ４では、移動体３００は「６」のマス目にいる。
【０１１９】
そして情報処理装置１００は、「６」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。そうすると成功エピソードｅ１が成功エピソード記憶部１０４Ａに記憶されている。そのため情報処理装置１００は成功エピソードｅ１に従って移動体３００の移動方向を「左方向」と決定する。その様子が状態管理表６００の「移動方向」欄、「選択方法」欄、及び「エピソード」欄に示されている。
【０１２０】
なお、成功エピソードｅ１の評価値は０である。そのため、成功エピソードｅ１をここで積極的に選ぶ理由がないため、情報処理装置１００は移動体３００の移動方向をランダムに決定しても良い。あるいは、ある所定の確率ｐで成功エピソードｅ１を選び、１−ｐの確率でランダムに移動方向を決定するようにしても良い。このように、該当する成功エピソードが存在しても、あえてランダムに移動方向を選ぶようにする場合には、ゴール地点２１２までの移動経路をヒューリスティックに発見することができるようになる。
【０１２１】
次に情報処理装置１００は、現在の状態と左に移動するという行動の組、つまり移動体３００の現在位置である「６」から「左方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【０１２２】
そこで情報処理装置１００は、移動体３００を「左方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。ここでも衝突は起こらなかったものとする。
【０１２３】
次に、情報処理装置１００は、成功エピソードｅ１内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【０１２４】
成功エピソードｅ１には、それ以上の移動方向が記載されていないため、情報処理装置１００は、「６」から「左方向」に移動して「５」に到達したことが未知の結果であるか否かを確認する(S1060)。「６」から「左方向」に移動して「５」に到達したことは初めてではないため、情報処理装置１００は、この成功エピソードｅ１を蓄積エピソード記憶部１０４Ｃに記憶する（S1100）。その様子が、状態管理表６００の「未知の結果」欄、「エピソード蓄積」欄に記載されている。
【０１２５】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。蓄積エピソード記憶部１０４Ｃには蓄積エピソードｅ１が記憶されている。
【０１２６】
そこで情報処理装置１００は、エピソード編集を行う（S1090）。エピソード編集とは、移動体３００の移動順に２つ以上の成功エピソードを組み合わせることである。本実施形態に係る情報処理装置１００は、正の値の報酬を得た成功エピソードを含むように、２つ以上の成功エピソードを組み合わせる。
【０１２７】
ここで情報処理装置１００は、成功エピソード記憶部１０４Ａを参照し、
成功エピソードｅ１、ｅ２、ｅ３の組み合わせ（ｅ１＋ｅ２＋ｅ３）、
成功エピソードｅ２、ｅ３の組み合わせ（ｅ２＋ｅ３）
を生成する。
【０１２８】
具体的に説明すると、まず成功エピソードｅ１は、「６」を起点とし、左方向を移動方向とする成功エピソードであるので、「５」が終点となる。
【０１２９】
同様に、成功エピソードｅ２は、「５」を起点とし、左方向を移動方向とする成功エピソードであるので、「４」が終点となる。また成功エピソードｅ３は、「４」を起点とし、上方向を移動方向とする成功エピソードであるので、「１」が終点となる。
【０１３０】
そして情報処理装置１００は、各成功エピソードの起点及び終点を比較することにより、まず、「４」を終点とする成功エピソードｅ２と、「４」を起点とする成功エピソードｅ３とを用いて、成功エピソードｅ２内の交点「５」と成功エピソードｅ３内の交点「４」を移動経路順に連結し（「５」「４」）、各交点の位置情報（「５」「４」）と、各交点での移動方向（左方向、上方向）と、式（１）を用いて算出される所定の評価値（１×０．９）と、を対応付ける。情報処理装置１００は、このようにして、まず成功エピソードｅ２＋ｅ３を生成する。なお、成功エピソードｅ２＋ｅ３の終点は、「４」から上方向に移動した「１」である。
【０１３１】
次に情報処理装置は、「５」を終点とする成功エピソードｅ１と、「５」を起点とする成功エピソードｅ２＋ｅ３とを用いて、成功エピソードｅ１内の交点「６」と成功エピソードｅ２＋ｅ３内の交点「５」「４」を移動経路順に連結し（「６」「５」「４」）、各交点の位置情報（「６」「５」「４」）と、各交点での移動方向（左方向、左方向、上方向）と、式（１）を用いて算出される所定の評価値（１×０．９２）と、を対応付ける。情報処理装置１００は、このようにして、成功エピソードｅ１＋ｅ２＋ｅ３を生成する。なお、成功エピソードｅ１＋ｅ２＋ｅ３の終点は、「４」から上方向に移動した「１」である。
【０１３２】
情報処理装置１００がこれらの成功エピソードに対して計算した評価値が、状態管理表６００の「報酬」欄に記載されている。
【０１３３】
そして情報処理装置１００は、新たに生成した成功エピソードｅ１＋ｅ２＋ｅ３、成功エピソードｅ２＋ｅ３を、成功エピソード記憶部１０４Ａに記憶する。その様子が状態管理表６００の「エピソード編集」欄、「エピソード集合」欄に記載されている。
【０１３４】
この時点で情報処理装置１００は、Ｎｏ４の処理を終える。
【０１３５】
なお、エピソード編集によって生成された成功エピソードｅ１＋ｅ２＋ｅ３を図８に示す。
【０１３６】
＝Ｎｏ５＝
続いて状態管理表６００のＮｏ５について説明する。
【０１３７】
まず情報処理装置１００は、移動体３００及び障害物３１０の現在位置を検出する（S1000）。Ｎｏ５では、移動体３００は「５」のマス目にいる。
【０１３８】
そして情報処理装置１００は、「５」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。そうすると成功エピソードｅ２と、成功エピソードｅ２＋ｅ３が成功エピソード記憶部１０４Ａに記憶されている。情報処理装置１００は、評価値が最大である成功エピソードｅ２＋ｅ３を選び、移動体３００の移動方向を「左方向」「上方向」と決定する。その様子が状態管理表６００の「移動方向」欄、「選択方法」欄、及び「エピソード」欄に示されている。
【０１３９】
Ｎｏ５の場合は、成功エピソードｅ２の評価値は０であり、成功エピソードｅ２＋ｅ３の評価値は０．９である。そのため、情報処理装置１００は、評価値が最大である成功エピソードｅ２＋ｅ３を選択する。もちろん、ある所定の確率ｐで成功エピソードｅ２＋ｅ３を選び、１−ｐの確率でランダムに移動方向を決定するこようにしても良い。
【０１４０】
次に情報処理装置１００は、現在の状態と左に移動するという行動の組、つまり現在位置である「５」から、「左方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【０１４１】
そこで情報処理装置１００は、移動体３００を「左方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。ここでも衝突は起こらなかったものとする。
【０１４２】
次に、情報処理装置１００は、成功エピソードｅ２＋ｅ３内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【０１４３】
成功エピソードｅ２＋ｅ３には、「左方向」及び「上方向」が記載されているから、情報処理装置１００は、S1020〜S1050の処理を繰り返す。
【０１４４】
ただし、その間に、S1020においてバッドエピソードと一致した場合には、その時点で成功エピソードｅ２＋ｅ３に沿った移動は中止する。そしてその時点の移動体３００の位置を起点とする成功エピソードを成功エピソード記憶部１０４Ａからあらためて検索する（S1010）。
【０１４５】
またS1040において障害物３１０に衝突した場合にも、その時点で成功エピソードｅ２＋ｅ３に沿った移動は中止する。そして衝突地点２１３の手前の交点２１０での移動体３００の移動方向と、この交点２１０に対する衝突地点２１３の相対位置を、バッドエピソードとしてバッドエピソード記憶部１０４Ｂに記憶する（S1110）。
【０１４６】
一方、移動体３００が「左方向」及び「上方向」と順に進み、無事に「１」に到達すると、成功エピソードｅ２＋ｅ３には、それ以上の移動方向が記載されていないため、情報処理装置１００は、「４」から「上方向」に移動して「１」に到達したことが未知の結果であるか否かを確認する(S1060)。「４」から「上方向」に移動して「１」に到達したことは初めてではないため、情報処理装置１００は、この成功エピソードｅ２＋ｅ３を蓄積エピソード記憶部１０４Ｃに記憶する（S1100）。その様子が、状態管理表６００の「未知の結果」欄、「エピソード蓄積」欄に記載されている。
【０１４７】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。蓄積エピソード記憶部１０４Ｃには蓄積エピソードｅ１、ｅ２＋ｅ３が記憶されている。
【０１４８】
そこで情報処理装置１００は、エピソード編集を行う（S1090）。しかしながら、この時点でエピソード編集をしても新たに生成される成功エピソードはない。その様子が状態管理表６００の「エピソード編集」欄、「エピソード集合」欄に記載されている。
【０１４９】
ここで「１」はゴール地点２１２である。そのため情報処理装置１００は、移動体３００に報酬を付与する。報酬の値は、Ｎｏ３と同様に１である。
【０１５０】
そして情報処理装置１００は、成功エピソード記憶部１０４Ａに記憶されている各成功エピソードｅ１、ｅ２、ｅ３、ｅ２＋ｅ３、ｅ１＋ｅ２＋ｅ３に対して、報酬を元に評価値を計算し、対応付ける。しかしながらこれらの成功エピソードに対しては、Ｎｏ３及びＮｏ４において評価値が付与済みであるため、新たな評価値の付与は行われない。この様子が、状態管理表６００の「報酬」欄に記載されている。
【０１５１】
この時点で情報処理装置１００は、Ｎｏ５の処理を終える。
【０１５２】
＝Ｎｏ６＝
続いて状態管理表６００のＮｏ６について説明する。
【０１５３】
Ｎｏ５において移動体３００はゴール地点２１２に到達したので、移動体３００は再びスタート地点２１１から移動を始める。
【０１５４】
まず情報処理装置１００は、移動体３００及び障害物３１０の現在位置を検出する（S1000）。Ｎｏ６では、移動体３００は「６」のマス目にいる。
【０１５５】
そして情報処理装置１００は、「６」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。そうすると成功エピソードｅ１、ｅ１＋ｅ２＋ｅ３が成功エピソード記憶部１０４Ａに記憶されている。
【０１５６】
成功エピソードｅ１の評価値は０である。一方、成功エピソードｅ１＋ｅ２＋ｅ３の評価値は１×０．９２である。
【０１５７】
そのため情報処理装置１００は評価値が最大の成功エピソードｅ１＋ｅ２＋ｅ３に従って移動体３００の移動方向を「左方向」「左方向」「上方向」と決定する。その様子が状態管理表６００の「選択方法」欄、及び「エピソード」欄に示されている。
【０１５８】
次に情報処理装置１００は、現在の状態と左に移動するという行動の組、つまり現在位置である「６」から、「左方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【０１５９】
そこで情報処理装置１００は、移動体３００を「左方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。ここでも衝突は起こらなかったものとする。
【０１６０】
次に、情報処理装置１００は、成功エピソードｅ１＋ｅ２＋ｅ３内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【０１６１】
成功エピソードｅ１＋ｅ２＋ｅ３には、「左方向」「左方向」「上方向」が記載されているから、情報処理装置１００は、「１」に到達するまでS1020〜S1050の処理を繰り返す。
【０１６２】
ただしその間に、S1040において移動体３００が障害物３１０に衝突した場合には、その時点で成功エピソードｅ１＋ｅ２＋ｅ３に沿った移動は中止する。そして衝突地点２１３の手前の交点２１０での移動体３００の移動方向と、この交点２１０に移動体３００がいた時の障害物３１０までの相対位置を、バッドエピソードとしてバッドエピソード記憶部１０４Ｂに記憶する（S1110）。
【０１６３】
例えば、図９に示す様に、移動体３００が「５」の位置に移動して来た時に障害物３１０と衝突した場合は、衝突地点２１３である「５」の手前の「６」での移動体３００の移動方向（左）と、移動体３００が「６」にいた時の障害物３１０の相対位置（２マス左）を、バッドエピソードとしてバッドエピソード記憶部１０４Ｂに記憶する。
【０１６４】
またS1020において、移動体３００の移動方向、及び障害物３１０までの相対位置が、バッドエピソードと一致した場合には、その時点で成功エピソードｅ１＋ｅ２＋ｅ３に沿った移動は中止する。そしてその時点の移動体３００の位置を起点とする成功エピソードを成功エピソード記憶部１０４Ａからあらためて検索する（S1010）。
【０１６５】
例えば図１０に示す様に、移動体３００の現在位置が「６」である時に、成功エピソードｅｉを選択して左方向に移動しようとしている時に、２マス左に障害物３１０が検出された場合には、バッドエピソードと一致するため、情報処理装置１００は、成功エピソードｅｉに沿った移動を中止する。そして、バットエピソードとは異なる移動方向となるように、改めて「６」を起点とする成功エピソードを検索する。その結果、例えば図１１に示す様に、「６」から上方向に移動する成功エピソードｅｊがあれば、この成功エピソードｅｊを選択し、上方向に移動方向を変更する。
【０１６６】
移動体３００が無事に「１」に到達すると、成功エピソードｅ１＋ｅ２＋ｅ３には、それ以上の移動方向が記載されていないため、情報処理装置１００は、「４」から「上方向」に移動して「１」に到達したことが未知の結果であるか否かを確認する(S1060)。「４」から「上方向」に移動して「１」に到達したことは初めてではないため、情報処理装置１００は、この成功エピソードｅ１＋ｅ２＋ｅ３を蓄積エピソード記憶部１０４Ｃに記憶する（S1100）。その様子が、状態管理表６００の「未知の結果」欄、「エピソード蓄積」欄に記載されている。
【０１６７】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。蓄積エピソード記憶部１０４Ｃには蓄積エピソードｅ１、ｅ２＋ｅ３、ｅ１＋ｅ２＋ｅ３が記憶されている。
【０１６８】
そこで情報処理装置１００は、エピソード編集を行う（S1090）。しかしながら、この時点でエピソード編集をしても新たに生成される成功エピソードはない。その様子が状態管理表６００の「エピソード編集」欄、「エピソード集合」欄に記載されている。
【０１６９】
ここで「１」はゴール地点２１２である。そのため情報処理装置１００は、移動体３００に報酬を付与する。報酬の値は、Ｎｏ３やＮｏ５と同様に１である。
【０１７０】
そして情報処理装置１００は、成功エピソード記憶部１０４Ａに記憶されている各成功エピソードｅ１、ｅ２、ｅ３、ｅ２＋ｅ３、ｅ１＋ｅ２＋ｅ３に対して、報酬を元に評価値を計算する。しかしながらこれらの成功エピソードに対しては、Ｎｏ３及びＮｏ５において評価値が付与済みであるため、新たな評価値の付与は行われない。この様子が、状態管理表６００の「報酬」欄に記載されている。
【０１７１】
この時点で情報処理装置１００は、Ｎｏ６の処理を終える。
【０１７２】
＝Ｎｏ７＝
続いて状態管理表６００のＮｏ７について説明する。
【０１７３】
Ｎｏ６において移動体３００はゴール地点２１２に到達したので、移動体３００は再びスタート地点２１１から移動を始める。
【０１７４】
まず情報処理装置１００は、移動体３００及び障害物３１０の現在位置を検出する（S1000）。Ｎｏ７では、移動体３００は「６」のマス目にいる。
【０１７５】
そして情報処理装置１００は、「６」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。そうすると成功エピソードｅ１、ｅ１＋ｅ２＋ｅ３が成功エピソード記憶部１０４Ａに記憶されている。通常であれば、Ｎｏ６で説明したように、情報処理装置１００は評価値が最大の成功エピソードｅ１＋ｅ２＋ｅ３を選択して、移動体３００の移動方向を「左方向」「左方向」「上方向」と決定する。
【０１７６】
しかしながら、Ｎｏ７では、移動体３００の移動方向をランダムに選択したものとする。この場合「６」からは、「左方向」「上方向」に移動可能であるが、ここでは「上方向」が選択されたものとする。なお、現在位置である「６」から「上方向」へ移動するエピソードを成功エピソードｅ４とする。
【０１７７】
このように評価値が最大の成功エピソードが存在しても、あえてランダムに移動方向を選ぶようにすることで、ゴール地点２１２までの移動経路をヒューリスティックに発見することができるようになる。
【０１７８】
その様子が状態管理表６００の「移動方向」欄、「選択方法」欄、及び「エピソード」欄に示されている。
【０１７９】
次に情報処理装置１００は、現在の状態と上に移動するという行動の組、つまり現在位置である「６」から、「上方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【０１８０】
そこで情報処理装置１００は、移動体３００を「上方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。ここでも衝突は起こらなかったものとする。
【０１８１】
次に、情報処理装置１００は、成功エピソードｅ４内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【０１８２】
成功エピソードｅ４には、それ以上の移動方向が記載されていないため、情報処理装置１００は、「６」から「上方向」に移動して「３」に到達したことが未知の結果であるか否かを確認する(S1060)。「６」から「上方向」に移動して「３」に到達したことは初めてであるため、情報処理装置１００は、この成功エピソードｅ４を成功エピソード記憶部１０４Ａに記憶する（S1070）。その様子が状態管理表６００の「未知の結果」欄、「エピソード集合」欄に記載されている。
【０１８３】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。蓄積エピソード記憶部１０４Ｃには蓄積エピソードｅ１、ｅ２＋ｅ３、ｅ１＋ｅ２＋ｅ３が記憶されている。
【０１８４】
そこで情報処理装置１００は、エピソード編集を行う（S1090）。しかしながら、この時点でエピソード編集をしても新たに生成される成功エピソードはない。その様子が状態管理表６００の「エピソード編集」欄、「エピソード集合」欄に記載されている。
【０１８５】
この時点で情報処理装置１００は、Ｎｏ７の処理を終える。
【０１８６】
＝Ｎｏ８＝
続いて状態管理表６００のＮｏ８について説明する。
【０１８７】
情報処理装置１００は、移動体３００の現在位置を検出する（S1000）。Ｎｏ８では、移動体３００は「３」のマス目にいる。
【０１８８】
そして情報処理装置１００は、「３」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。しかしながら、成功エピソード記憶部１０４Ａには、「３」を起点とする成功エピソードはまだ記憶されていない。
【０１８９】
そのため情報処理装置１００は移動体３００の移動方向をランダムに決定する。「３」からは、「左方向」「下方向」に移動可能であるが、ここでは「左方向」が選択されたものとする。なお、現在位置である「３」から「左方向」へ移動するエピソードを成功エピソードｅ５とする。それらの様子が状態管理表６００の「移動方向」欄、「選択方法」欄、及び「エピソード」欄に示されている。
【０１９０】
次に情報処理装置１００は、現在の状態と左に移動するという行動の組、つまり現在位置である「３」から「左方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【０１９１】
そこで情報処理装置１００は、移動体３００を「左方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。ここでも衝突は起こらなかったものとする。
【０１９２】
次に、情報処理装置１００は、成功エピソードｅ５内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【０１９３】
成功エピソードｅ５には、それ以上の移動方向が記載されていないため、情報処理装置１００は、「３」から「左方向」に移動して「２」に到達したことが未知の結果であるか否かを確認する(S1060)。「３」から「左方向」に移動して「２」に到達したことは初めてであるため、情報処理装置１００は、この成功エピソードｅ５を成功エピソード記憶部１０４Ａに記憶する（S1070）。その様子が状態管理表６００の「未知の結果」欄、「エピソード集合」欄に記載されている。
【０１９４】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。蓄積エピソード記憶部１０４Ｃには蓄積エピソードｅ１、ｅ２＋ｅ３、ｅ１＋ｅ２＋ｅ３が記憶されている。
【０１９５】
そこで情報処理装置１００は、エピソード編集を行う（S1090）。しかしながら、この時点でエピソード編集をしても新たに生成される成功エピソードはない。その様子が状態管理表６００の「エピソード編集」欄、「エピソード集合」欄に記載されている。
【０１９６】
そこで情報処理装置１００は、Ｎｏ８の処理を終える。
【０１９７】
＝Ｎｏ９＝
続いて状態管理表６００のＮｏ９について説明する。
【０１９８】
情報処理装置１００は、移動体３００の現在位置を検出する（S1000）。Ｎｏ９では、移動体３００は「２」のマス目にいる。
【０１９９】
そして情報処理装置１００は、「２」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。しかしながら、成功エピソード記憶部１０４Ａには、「２」を起点とする成功エピソードはまだ記憶されていない。
【０２００】
そのため情報処理装置１００は移動体３００の移動方向をランダムに決定する。「２」からは、「左方向」「下方向」「右方向」に移動可能であるが、ここでは「下方向」が選択されたものとする。なお、現在位置である「２」から「下方向」へ移動するエピソードを成功エピソードｅ６とする。それらの様子が状態管理表６００の「移動方向」欄、「選択方法」欄、及び「エピソード」欄に示されている。
【０２０１】
次に情報処理装置１００は、現在の状態と下に移動するという行動の組、つまり現在位置である「２」から「下方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【０２０２】
そこで情報処理装置１００は、移動体３００を「下方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。ここでも衝突は起こらなかったものとする。
【０２０３】
次に、情報処理装置１００は、成功エピソードｅ６内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【０２０４】
成功エピソードｅ６には、それ以上の移動方向が記載されていないため、情報処理装置１００は、「２」から「下方向」に移動して「５」に到達したことが未知の結果であるか否かを確認する(S1060)。「２」から「下方向」に移動して「５」に到達したことは初めてであるため、情報処理装置１００は、この成功エピソードｅ６を成功エピソード記憶部１０４Ａに記憶する（S1070）。その様子が状態管理表６００の「未知の結果」欄、「エピソード集合」欄に記載されている。
【０２０５】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。蓄積エピソード記憶部１０４Ｃには蓄積エピソードｅ１、ｅ２＋ｅ３、ｅ１＋ｅ２＋ｅ３が記憶されている。
【０２０６】
そこで情報処理装置１００は、エピソード編集を行う（S1090）。しかしながら、この時点でエピソード編集をしても新たに生成される成功エピソードはない。その様子が状態管理表６００の「エピソード編集」欄、「エピソード集合」欄に記載されている。
【０２０７】
そこで情報処理装置１００は、Ｎｏ９の処理を終える。
【０２０８】
＝Ｎｏ１０＝
続いて状態管理表６００のＮｏ１０について説明する。
【０２０９】
まず情報処理装置１００は、移動体３００の現在位置を検出する（S1000）。Ｎｏ１０では、移動体３００は「５」のマス目にいる。
【０２１０】
そして情報処理装置１００は、「５」を行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S1010）。そうすると成功エピソードｅ２＋ｅ３が成功エピソード記憶部１０４Ａに記憶されている。そのため情報処理装置１００は成功エピソードｅ２＋ｅ３に従って移動体３００の移動方向を「左方向」及び「上方向」と決定する。その様子が状態管理表６００の「選択方法」欄、及び「エピソード」欄に示されている。
【０２１１】
Ｎｏ１０の場合は、成功エピソードｅ２＋ｅ３の評価値は０．９で最大である。そのため、情報処理装置１００は、評価値が最大である成功エピソードｅ２＋ｅ３を選択する。もちろんここでも、ある所定の確率ｐで成功エピソードｅ２＋ｅ３を選び、１−ｐの確率でランダムに移動方向を決定するようにしても良い。
【０２１２】
次に情報処理装置１００は、現在の状態と左に移動するという行動の組、つまり現在位置である「５」から「左方向」へ移動するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていないかを確認する(S1020)。しかしながらこの時点では、バッドエピソード記憶部１０４Ｂにはバッドエピソードが記憶されていない。
【０２１３】
そこで情報処理装置１００は、移動体３００を「左方向」に移動させる（S1030）。また情報処理装置１００は、移動体３００が障害物３１０と衝突したか否かを検知する（S1040）。ここでも衝突は起こらなかったものとする。
【０２１４】
次に、情報処理装置１００は、成功エピソードｅ２＋ｅ３内にさらに次のマス目（交点２１０）に進むための移動方向が記載されているか否かを確認する（S1050）。
【０２１５】
成功エピソードｅ２＋ｅ３には、「左方向」及び「上方向」が記載されているから、情報処理装置１００は、S1020〜S1050の処理を繰り返す。
【０２１６】
移動体３００が「左方向」及び「上方向」と順に進み、無事に「１」に到達すると、成功エピソードｅ２＋ｅ３には、それ以上の移動方向が記載されていないため、情報処理装置１００は、「４」から「上方向」に移動して「１」に到達したことが未知の結果であるか否かを確認する(S1060)。「４」から「上方向」に移動して「１」に到達したことは初めてではないため、情報処理装置１００は、この成功エピソードｅ２＋ｅ３を蓄積エピソード記憶部１０４Ｃに記憶する（S1100）。しかしながら、蓄積エピソード記憶部１０４Ｃには既に成功エピソードｅ２＋ｅ３が記憶されているから、情報処理装置１００は重複する処理は行わない。その様子が、状態管理表６００の「未知の結果」欄、「エピソード蓄積」欄に記載されている。
【０２１７】
次に、情報処理装置１００は、蓄積エピソード記憶部１０４Ｃに蓄積エピソードが記憶されているか否かを確認する（S1080）。蓄積エピソード記憶部１０４Ｃには蓄積エピソードｅ１、ｅ２＋ｅ３、ｅ１＋ｅ２＋ｅ３が記憶されている。
【０２１８】
そこで情報処理装置１００は、エピソード編集を行う（S1090）。本実施形態に係る情報処理装置１００は、正の値の報酬を得た成功エピソードを含むように、２つ以上の成功エピソードを組み合わせる。
【０２１９】
ここで情報処理装置１００は、成功エピソード記憶部１０４Ａを参照し、
成功エピソードｅ６、ｅ２、ｅ３の組み合わせ（ｅ６＋ｅ２＋ｅ３）、
成功エピソードｅ５、ｅ６、ｅ２、ｅ３の組み合わせ（ｅ５＋ｅ６＋ｅ２＋ｅ３）、
成功エピソードｅ４、ｅ６、ｅ２、ｅ３の組み合わせ（ｅ４＋ｅ６＋ｅ２＋ｅ３）、
を生成する。
【０２２０】
そして情報処理装置１００は、これらの成功エピソードに対して評価値を計算する。ゴール地点２１２である「６」を終点として含む成功エピソードｅ６＋ｅ２＋ｅ３に対しては、式（１）に従って、評価値として１×０．９２が付与される。また成功エピソードｅ５＋ｅ６＋ｅ２＋ｅ３に対しては、式（１）に従って、評価値として１×０．９３が付与される。成功エピソードｅ４＋ｅ５＋ｅ６＋ｅ２＋ｅ３に対しては、式（１）に従って、評価値として１×０．９４が付与される。この様子が、状態管理表６００の「報酬」欄に記載されている。
【０２２１】
そして情報処理装置１００は、新たに生成した成功エピソードｅ６＋ｅ２＋ｅ３、成功エピソードｅ５＋ｅ６＋ｅ２＋ｅ３、成功エピソードｅ４＋ｅ５＋ｅ６＋ｅ２＋ｅ３を、成功エピソード記憶部１０４Ａに記憶する。その様子が状態管理表６００の「エピソード編集」欄、「エピソード集合」欄に記載されている。
【０２２２】
この時点で情報処理装置１００は、Ｎｏ１０の処理を終える。
【０２２３】
情報処理装置１００は、以降も同様に移動体３００に対する制御を繰り返し行うが、例えばＮｏ６では、移動体３００が「６」にいる時点で成功エピソードｅ１＋ｅ２＋ｅ３を選択し、Ｎｏ５及びＮｏ１０では、移動体３００が「５」にいる時点で成功エピソードｅ２＋ｅ３を選択し、いずれも、それぞれの時点でゴール地点２１２までの最適な移動経路を選択できた。
【０２２４】
なお、Ｎｏ９では、移動体３００が「２」にいるときに下方向を選択し「５」に移動したが、左方向を移動方向に選んだ場合は、直ちにゴール地点２１２である「１」に到達できる。学習過程の初期の段階ではこのようなことは起こるが、情報処理装置１００が、移動体３００に対する試行を繰り返すことにより、いずれ「２」においてランダムに左方向を選ぶ機会があるはずである。そうすれば、それ以降、情報処理装置１００は、「２」において下方向を選ばずに、左方向を選べるようになる。
【０２２５】
また本実施形態に係る情報処理装置１００は、移動体３００の移動方向を決定する際にバッドエピソード記憶部１０４Ｂを参照し、移動体３００の現在位置に対する障害物３１０の相対位置及び移動体３００の移動方向がバッドエピソードに一致した場合には、このバッドエピソードとは異なる方向に移動方向に変更するようにする。
【０２２６】
このような態様により、本実施形態に係る情報処理装置１００は、移動体３００が一度障害物３１０に衝突した場合には、再度衝突しない様に移動体３００を制御することが可能となる。
【０２２７】
[第２実施形態]
第２実施形態に係る情報処理装置１００は、検索キーワード内の単語を他の単語に変換することにより、検索キーワード内の単語を含まない文書を検索することができる。
【０２２８】
ここで、他の単語とは例えば同義語である。本実施形態では、他の単語が同義語である場合について説明するが、他の単語は類語や同意語でもよい。
【０２２９】
また他の単語は、上位概念の単語、下位概念の単語、上位語、下位語、同位語、連想語、関連語、近接語であっても良い。さらに他の単語は、反対語や対義語、対語、反意語、反義語であっても良い。
【０２３０】
第２実施形態に係る情報処理装置１００のシステム構成は、図２に示した構成と同様であるが、シミュレーションプログラム７００はなくても良い。また第２実施形態に係る情報処理装置１００の機能構成は、図３に示したものと同様であるが、蓄積エピソード記憶部１０４Ｃはなくても良い。
【０２３１】
行動決定部１０１は、検索キーワード内の単語を、後述する所定のルールに従って他の単語（例えば同義語）に変換することにより文書を検索し、検索された文書のリストを検索結果として出力する。このために行動決定部１０１は、まず検索キーワードに対して形態素解析を行い、検索キーワードを単語列に分割する。そして行動決定部１０１は、それぞれの単語を１つずつ順番に、所定のルールに従って他の単語（同義語）に変換していく。単語を他の単語（同義語）に変換する際のルールについては後述する。
【０２３２】
状態検知部１０２は、検索結果の文書のリストに対するユーザによる採否の判定結果を取得する。
【０２３３】
そして報酬付与部１０３は、ユーザから肯定的な判定結果を得た文書に対して所定の報酬を付与する。
【０２３４】
またユーザから肯定的な判定結果を得た文書は、検索キーワード内の単語から変換された同義語のリスト及び報酬と対応付けて、成功エピソードとして成功エピソード記憶部１０４Ａに記憶される。なお、成功エピソードとして記憶される文書は、文書を一意に特定可能な識別番号であっても良い。
【０２３５】
そして行動決定部１０１は、新たな検索キーワードに対する文書の検索を行う際に、この新たな検索キーワード内の単語から所定のルールに従って変換された同義語のリストが、成功エピソード記憶部１０４Ａに成功エピソードとして記憶されている同義語のリストに一致した場合には、この成功エピソードとして記憶されている文書を検索結果として出力する。
【０２３６】
このような態様により、過去の検索時と同じ検索キーワードが入力された場合には、検索処理を行わなくとも、過去の検索時にユーザによって採用された文書を出力することが可能となる。
【０２３７】
一方、ユーザから否定的な判定結果を得た文書は、検索キーワード内の単語から変換された同義語のリストと共に、バッドエピソードとしてバッドエピソード記憶部１０４Ｂに記憶される。バッドエピソードとして記憶される文書も、文書を一意に特定可能な識別番号であって良い。
【０２３８】
そして行動決定部１０１は、新たな検索キーワードに対する文書の検索を行う際に、この新たな検索キーワード内の単語から所定のルールに従って変換された同義語のリストが、バッドエピソード記憶部１０４Ｂにバッドエピソードとして記憶されている同義語のリストに一致した場合には、このバッドエピソードに記憶されている文書を検索結果として出力しないようにする。
【０２３９】
このような態様により、一度ユーザにより否定された文書を、再度検索結果として出力しないようにすることが可能となる。
【０２４０】
このように、第２実施形態では、検索キーワード内の単語を同義語に変換して文書を検索する行動決定部１０１が、強化学習におけるエージェントに対応し、検索結果の文書のリストに対するユーザからの採否の判定結果が、環境の状態に対応する。
【０２４１】
以下、具体的に説明する。
【０２４２】
＜全体の概要＞
ここでは、検索キーワードとして「アダプターのスペックと機能を教えてください」という質問文が情報処理装置１００に入力された場合に、この質問文に含まれる単語を全て含む訳ではないが、この質問文に対して適切といえそうな文書を情報処理装置１００が見つけ出す場合を例に説明する。
【０２４３】
まず、行動決定部１０１は、「アダプターのスペックと機能を教えて下さい」という質問文の入力を受け付ける。そうすると行動決定部１０１は、この質問文に対して形態素解析を行い、自立語である「アダプター」、「スペック」、「機能」、「教える」を検索キーワード内の単語として抽出する。
【０２４４】
そして行動決定部１０１は、この検索キーワードに含まれる単語を、後述する所定のルールに従って、順次、同義語に変換していく。その結果、「アダプタ」、「仕様」、「機能」に変換されたとする（「教える」は削除されたとする）。
【０２４５】
行動決定部１０１は、成功エピソード記憶部１０４Ａを参照し、「アダプタ」、「仕様」、「機能」を含む成功エピソードが記憶されているか否かを確認する。
【０２４６】
同様に、行動決定部１０１は、バッドエピソード記憶部１０４Ｂを参照し、「アダプタ」、「仕様」、「機能」を含むバッドエピソードが記憶されているか否かを確認する。
【０２４７】
その結果、成功エピソード記憶部１０４Ａには、成功エピソードとして[[アダプタ,仕様,機能],a: [347], 1]が記憶され、バッドエピソード記憶部１０４Ｂには、[[アダプタ,仕様,機能],a:[13,307],bad]が記憶されていたとする。
【０２４８】
ここで、"347"、"13"、"307"で示す数字は、それぞれ文書を一意に識別する識別番号を示す。また成功エピソード内の"1"は、報酬付与部１０３によって文書"307"に与えられた報酬である。またバッドエピソード内の"bad"は、バッドエピソードであることを示す記号である。
【０２４９】
また記号"a:"は、行動決定部１０１が用いる制御用のタグである。これらの記号"a:"や"bad"は情報処理装置１００が内部処理用に用いる記号であるため、本実施形態においては省略しても良い。
【０２５０】
以上の結果より、行動決定部１０１は、「アダプターのスペックと機能を教えて下さい」という質問文に対して、"347"で特定される文書を検索結果として出力し、"13"、"307"で特定される文書は出力しない。
【０２５１】
このような態様により、過去にユーザによって否定された"13"、"307"で特定される文書を検索結果として出力しないようにすることが可能となる。
【０２５２】
次に、行動決定部１０１が検索キーワード内の単語を同義語に変換する際のルールについて説明する。
【０２５３】
まず行動決定部１０１は、「アダプター」という単語が検索対象の文書に含まれているか否かを確認する。
【０２５４】
その結果、「アダプター」という単語が検索対象の文書に含まれていれば、行動決定部１０１は、次の「スペック」という単語についての確認処理に進む。
【０２５５】
一方、「アダプター」という単語が検索対象の文書に含まれていない場合には、行動決定部１０１は、成功エピソード記憶部１０４Ａに「アダプター」という単語に対する同義語が成功エピソードとして記憶されていないかを確認する。
【０２５６】
そのような成功エピソードが記憶されていない場合には、行動決定部１０１は、対象文書を解析して「アダプター」の同義語を見つけ出すか、不図示の同義語辞書を参照して、「アダプター」の同義語を見つけ出す。
【０２５７】
このようにして、行動決定部１０１が「アダプター」の同義語として「アダプタ」を見つけ出したとする。そうすると行動決定部１０１は、「アダプター」を「アダプタ」に変換してよいか否かをユーザに確認するためのメッセージを出力装置１６０に出力する。
【０２５８】
「アダプター」から「アダプタ」への変換を承認する旨の回答を得た場合には、行動決定部１０１は、「アダプター」の同義語を「アダプタ」と決定する。
【０２５９】
一方、文書解析や同義語辞書によって「アダプター」の同義語を見つけ出すことができなかった場合には、行動決定部１０１は、「アダプター」の同義語をユーザに入力させるためのメッセージを出力装置１６０に出力する。
【０２６０】
また「アダプター」から「アダプタ」への変換を承認しない旨の回答を得た場合には、行動決定部１０１は、「アダプター」から「アダプタ」への変換を行わない様に、バッドエピソードとしてバッドエピソード記憶部１０４Ｂに記憶する。この場合のバッドエピソードは、例えば['アダプター',r:'アダプタ',bad]となる。
【０２６１】
そして行動決定部１０１は、「アダプター」の同義語をユーザに入力させるためのメッセージを出力装置１６０に出力する。
【０２６２】
そのようにして行動決定部１０１は、「アダプター」の同義語を決定する。ここでは、「アダプター」の同義語が「アダプタ」として決定されたとする。
【０２６３】
そうすると行動決定部１０１は、成功エピソード記憶部１０４Ａに、['アダプター',r:,'アダプタ',1]という成功メッセージを記憶する。ここで記号"r:"は、行動決定部１０１が用いる制御用のタグである。記号"r:"は情報処理装置１００が内部処理用に用いる記号であるため、本実施形態においては省略しても良い。また"1"は、報酬付与部１０３から与えられる報酬である。
【０２６４】
なお既に成功エピソード記憶部１０４Ａに、['アダプター',r:,'アダプタ',1]という成功メッセージが記憶されている場合には、重複して記憶する必要はない。
【０２６５】
続いて、行動決定部１０１は、「スペック」「機能」「教える」に対しても同様にして同義語を決定する。
【０２６６】
ここでは、「スペック」に対しては同義語「仕様」が見つかり、成功エピソード記憶部１０４Ａに、['スペック',r:,'仕様',1]という成功メッセージが記憶されるとする。
【０２６７】
また「機能」に対しては、検索対象の文書に含まれていたものとする。
【０２６８】
また「教える」に対しては、同義語として「」（空文字）が見つかったとする。この場合、「教える」の単語は、削除可能であることを意味する。なお、この場合の成功エピソードは、['教える',r:,'',1]となる。
【０２６９】
以上のようにして、本実施形態に係る情報処理装置１００は、検索キーワード内の単語から同義語への変換内容も、成功エピソード、あるいはバッドエピソードとして、成功エピソード記憶部１０４Ａ又はバッドエピソード記憶部１０４Ｂに記憶する。
【０２７０】
このような態様により、ユーザの意図しない同義語への変換を防止でき、文書の検索精度を向上させることができる。また成功エピソード記憶部１０４Ａ内に単語から同義語への変換内容が蓄積されていくにつれて、単語から同義語への変換処理を高速化できるようになる。
【０２７１】
＜詳細な処理＞
続いて、上記概要の説明と同様に、「アダプターのスペックと機能を教えて下さい」という質問文に対する文書を検索する場合を例に、本実施形態に係る情報処理装置１００が行う処理を図１２から図２２を参照しながら詳細に説明する。
【０２７２】
図１２〜図１４は、情報処理装置１００が行う処理の流れを示すフローチャートである。図１２は全体の処理を、ステップＸ−０〜Ｘ−ｘの各ステップに分けて説明したフローチャートである。
【０２７３】
図１３は、ステップＸ−４の処理の流れを詳細に示すフローチャートである。また図１４は、ステップＸ−６の処理の流れを詳細に示すフローチャートである。
【０２７４】
図１５〜図２２は、上記フローチャートに沿って文書の検索処理が行われる際に、情報処理装置１００の出力装置１６０に表示される画面例を示す。なお各画面例には、フローチャートの該当するステップ番号がそれぞれ記載されている。
【０２７５】
まず図１２及び図１５を参照しながら、情報処理装置１００が行う処理の全体の流れを説明する。
【０２７６】
まず情報処理装置１００は、エピソード記憶部１０４から成功エピソードを読み込む（Ｘ−０）。図１５に示す様に、ここでは、 ['スペック’, r:'仕様', 1]と、['教える’, r:'', 1]という２つの成功エピソードが読み込まれたとする。
【０２７７】
これらの成功エピソードは、第１項に検索単語候補、第２項に代替単語（同義語）への置換えを示す制御タグ(r)、第３項に代替単語（同義語）、第４項に、報酬として１が対応付けられている。
【０２７８】
また、'教える'に対する成功エピソードは、’’(空文字)へ置換え(すなわち、削除と同等)を示している。
【０２７９】
続いて情報処理装置１００は、質問文問合＆取得処理を行う（Ｘ−１）。このステップにおいて情報処理装置１００は、「質問文は、何ですか？」のような催促文を出力装置１６０に出力し、入力装置１５０から「アダプターのスペックと機能を教えて下さい」という質問文を取得する。
【０２８０】
そして情報処理装置１００は、質問文形態素解析処理を行う（Ｘ−２）。このステップＸ−２では情報処理装置１００は、質問文に対する形態素解析を行う。
【０２８１】
そして情報処理装置１００は、次のステップＸ−３において、検索単語候補リスト取得処理を行い、形態素解析によって得られた自立語(名詞と動詞。なお名詞だけでも可)からなる検索単語候補リストを得る（Ｘ−３）。本実施形態では、情報処理装置１００は「アダプター」、「スペック」、「機能」、「教える」の各語を取得する。
【０２８２】
続いて情報処理装置１００は、検索単語候補リスト更新処理を行う（Ｘ−４）。検索単語候補リスト更新処理では、情報処理装置１００は、検索単語候補リストの各要素(「アダプター」、「スペック」、「機能」、「教える」)について同義語への更新処理を行う。詳細は後述する。
【０２８３】
そして情報処理装置１００は、検索単語リスト確認処理を行う（Ｘ−５）。このステップＸ−５では、各検索単語候補リスト内の各単語(「アダプター」、「スペック」、「機能」、「教える」)はそれぞれ同義語に変換される。図１５に示す画面例では、２つの成功エピソード(episode[3],[4])が追加されている。
【０２８４】
その後、情報処理装置１００は、文書検索処理を行う（Ｘ−６）。文書検索処理では、「アダプターのスペックと機能を教えて下さい」という質問文に対する検索が行われ、検索結果として文書リストが出力される。そして情報処理装置１００は、文書リスト内の各文書に対するユーザの採否の判定結果を取得する。詳細は後述する。
【０２８５】
そして情報処理装置１００は、終了確認処理を行う（Ｘ−ｘ）。またこの時、情報処理装置１００は、ユーザから肯定的な判定結果を得た文書を、成功エピソードとして成功エピソード記憶部１０４Ａに記憶し、否定的な判定結果を得た文書を、バッドエピソードとしてバッドエピソード記憶部１０４Ｂに記憶する。そして情報処理装置１００は、次の質問文受付の継続の要否を確認する。
【０２８６】
次に、上述したステップＸ−４、つまり検索単語候補リスト更新処理について、図１３及び図１６を参照しながら詳細に説明する。検索単語候補リスト更新処理では、情報処理装置１００は、検索単語候補リストの各要素(「アダプター」、「スペック」、「機能」、「教える」)について同義語への更新処理を行う。検索単語候補リスト更新処理は、Ａ−０〜Ａ−９の各処理ステップを含む。
【０２８７】
まず、情報処理装置１００は、検索単語候補の取り出し処理を行う（Ａ−０）。つまり、情報処理装置１００は、検索単語候補リスト(「アダプター」、「スペック」、「機能」、「教える」)から、各単語を順次取り出す。
【０２８８】
次に情報処理装置１００は、検索単語候補のエピソード検索処理を行う（Ａ−１）。ここでは、情報処理装置１００は成功エピソード記憶部１０４Ａを参照し、検索単語候補と同じ単語を含む成功エピソードを検索する。
【０２８９】
続いて情報処理装置１００は、検索単語候補の(仮)代替処理を行う（Ａ−２）。ここで情報処理装置１００は、該当する成功エピソードが存在する場合には(「スペック」、「教える」)、成功エピソードに従って各検索単語候補を同義語に変換する。そして情報処理装置１００は、この変換処理を再帰的に実行する。つまり情報処理装置１００は、変換後の各単語（同義語）に対して、再度成功エピソードを探して、他の同義語への変換を行う。
【０２９０】
そして情報処理装置１００は、対象文書中単語辞書検索処理を行う（Ａ−３）。つまり情報処理装置１００は、検索単語候補が対象文書中にある単語かどうか確認する。
【０２９１】
次に情報処理装置１００は、代替単語候補検索処理を行う（Ａ−４）。すなわち、情報処理装置１００は、検索単語候補が対象文書中になかった場合に、対象文書中の類似表記単語(例えば「アダプタ」)や、不図示の関連語辞書などで代替単語候補を検索する。そして情報処理装置１００は、出力装置１６０にこれらの代替単語候補を表示し、ユーザによる採用可否の判断結果を入力装置１５０から取得する（Ａ−５）。
【０２９２】
また情報処理装置１００は、代替単語問合＆取得処理を行う（Ａ−６）。ここでは、情報処理装置１００は、代替単語候補が見つからなかった場合には、代替単語候補をユーザに直接問合せる。
【０２９３】
続いて、情報処理装置１００は、代替単語置換の確認処理を行う（Ａ−７）。つまり情報処理装置１００は、ユーザに対して同義語への代替(「教える」に対しては削除)を行ってよいか否かの承認を得る。
【０２９４】
そして情報処理装置１００は、検索単語候補の代替置換＆通常エピソード記憶処理を行う（Ａ−８）。ここでは、情報処理装置１００は、ユーザから置き換えを行っても良いとの回答を得た単語については、報酬１を付与して成功エピソードとして成功エピソード記憶部１０４Ａに追加する。
【０２９５】
一方、情報処理装置１００は、ユーザから置き換えの承認が得られなかった単語については、バッドエピソードとしてバッドエピソード記憶部１０４Ｂに追加する（Ａ−９）。
【０２９６】
次に、上述したステップＸ−６、つまり文書検索処理について、図１４、図１７〜図１９を参照しながら詳細に説明する。文書検索処理では、情報処理装置１００は、「アダプターのスペックと機能を教えて下さい」という質問文内の各単語から変換した同義語を元に文書の検索を行い、検索結果として文書リストを出力する。そして文書リスト内の各文書に対するユーザの採否の判定結果を取得する。文書検索処理は、Ｂ−１〜Ｂ−９の各処理ステップを含む。
【０２９７】
まず情報処理装置１００は、検索単語リストのエピソード検索処理を行う（Ｂ−１）。ここでは、情報処理装置１００は、成功エピソード記憶部１０４Ａを参照し、現在の検索単語リストが成功エピソードとして記憶されているか否かを確認する。見つかった成功エピソードに’r’タグ(置換)が付加されている場合は、Ｂ−２の処理に進み、’a’タグ(正解文書指定)が付加されていれば、Ｂ−８の処理に進む。
【０２９８】
情報処理装置１００は、ステップＢ−２では、検索単語リストの置換処理を行う。つまり、情報処理装置１００は、’r’タグ(置換)が付加されている成功エピソードに基づき、検索単語リストを同義語に置換し、Ｂ−１の処理を再帰的に行う。
【０２９９】
続いて情報処理装置１００は、検索単語リスト（同義語のリスト）による文書検索処理を行う（Ｂ−３）。つまり、情報処理装置１００は、検索単語リスト（同義語のリスト）に基づき文書候補を検索する。
【０３００】
そして情報処理装置１００は、文書検索結果の提示処理を行う（Ｂ−４）。つまり、情報処理装置１００は、検索された文書リスト内の文書候補ごとに、概要(図１７では文書の単語リスト)を提示する。
【０３０１】
次に情報処理装置１００は、検索文書候補の内容表示希望の確認処理を行う（Ｂ−５）。つまり、情報処理装置１００は、検索された文書リスト内の各文書候補のうち、内容表示が必要な文書候補があれば、ユーザに指定を求める。
【０３０２】
そして情報処理装置１００は、検索文書候補の内容表示処理を行う（Ｂ−６）。ここでは、情報処理装置１００は、指定された文書候補の内容情報を表示する。
【０３０３】
その後、情報処理装置１００は、検索文書の正解問合せ処理を行う（Ｂ−７）。つまり、情報処理装置１００は、文書候補のうち、正解文書を問合せる。
【０３０４】
そして情報処理装置１００は、正解文書の提示＆通常エピソード記憶処理を行う（Ｂ−８）。ここでは、情報処理装置１００は、指定された正解文書（肯定的な判定結果を得た文書）を提示し、正解文書に対して、検索単語リスト（同義語のリスト）と、aタグ付きの正解文書リストと、報酬として１を対応付けて成功エピソードとして成功エピソード記憶部１０４Ａに記憶する。図１９には、成功エピソード(episode[5])が追加されている。
【０３０５】
また情報処理装置１００は、badエピソード記憶処理を行う（Ｂ−９）。ここでは、情報処理装置１００は、不正解文書（否定的な判定結果を得た文書）に対して、検索単語リスト（同義語のリスト）と、aタグ付きの不正解文書リストと、文字列'bad'を対応付けてバッドエピソードとしてバッドエピソード記憶部１０４Ｂに記憶する。図１９には、バッドエピソード(episode[6])が追加されている。なお、バッドエピソード内に、文字列'bad'を付加しなくても良い。
【０３０６】
なお、情報処理装置１００は、ステップＢ−９において不正解文書をユーザに問合せて、不正解文書として指定された文書をバッドエピソードに付加しても良い。そしてこの場合、正解文書にも不正解文書にもいずれにも指定されなかった文書は、成功エピソードにもバッドエピソードにも登録しないとしても良い。
【０３０７】
この後、情報処理装置１００は、図１２のステップＸ−ｘを実行し、次の質問文受付の継続の要否を確認する（Ｘ−ｘ）。
【０３０８】
この場合の処理の流れを、図１２、図２０〜図２２を参照しながら説明する。
【０３０９】
まず情報処理装置１００は、質問文問合＆取得処理を行う（Ｘ−１）。このステップＸ−１において情報処理装置１００は、「質問文は、何ですか？」のような催促文を出力装置１６０に出力し、入力装置１５０から「アダプターの仕様と機能」という質問文を取得する。
【０３１０】
そして情報処理装置１００は、質問文形態素解析処理を行う（Ｘ−２）。このステップＸ−２では情報処理装置１００は、質問文に対する形態素解析を行う。
【０３１１】
そして情報処理装置１００は、次のステップＸ−３において、検索単語候補リスト取得処理を行い、形態素解析によって得られた自立語からなる検索単語候補リストを得る（Ｘ−３）。本実施形態では、「アダプター」、「仕様」、「機能」の各語を取得する。
【０３１２】
続いて情報処理装置１００は、検索単語候補リスト更新処理を行う（Ｘ−４）。検索単語候補リスト更新処理では、情報処理装置１００は、検索単語候補リストの各要素(「アダプター」、「仕様」、「機能」)について同義語への更新処理を行う。この結果、「アダプター」が「アダプタ」に代替される。
【０３１３】
そして情報処理装置１００は、検索単語リスト確認処理を行う（Ｘ−５）。このステップＸ−５では、検索単語候補リスト内の単語(「アダプター」、「仕様」、「機能」)はそれぞれ同義語に変換される。具体的には、各単語は「アダプタ」、「仕様」、「機能」に更新される。
【０３１４】
その後、情報処理装置１００は、文書検索処理を行う（Ｘ−６）。文書検索処理では、「アダプターの仕様と機能」という質問文に対する検索が行われ、検索結果として文書リストが出力される。そして文書リスト内の各文書に対するユーザの採否の判定結果を取得する。
【０３１５】
情報処理装置１００は、前質問で、検索単語リスト（同義語のリスト）[‘アダプタ’,’仕様’,’機能’]について、aタグが付加された成功エピソード及びバッドエピソードを得ているので、成功エピソード及びバッドエピソードに対する処理だけで、文書検索処理（Ｂ−３、Ｂ−４）をバイパスして、正解文書[347]を得ることができる。また、正解文書の内容も確認できる。
【０３１６】
そして情報処理装置１００は、終了確認処理を行う（Ｘ−ｘ）。また情報処理装置１００は、さらに次の質問文受付の継続の要否を確認する。また情報処理装置１００は、更新された成功エピソード及びバッドエピソードをファイルに保管でき、次に機会に読み込み引き継ぐことができる。
【０３１７】
このように、第２実施形態では、新たな検索キーワードに対する文書の検索を行う際に、この新たな検索キーワード内の単語から変換された同義語のリストが、成功エピソード記憶部１０４Ａに成功エピソードとして記憶されている同義語のリストに一致した場合には、この成功エピソードとして記憶されている文書を検索結果として出力する。このため、２回目以降の検索の際には、文書の検索処理を行わずに、適切な文書を見つけ出すことが可能となる。
【０３１８】
また、この新たな検索キーワード内の単語から変換された同義語のリストが、バッドエピソード記憶部１０４Ｂにバッドエピソードとして記憶されている同義語のリストに一致した場合には、このバッドエピソードに記憶されている文書を検索結果として出力しないようにする。
【０３１９】
このような態様により、一度ユーザにより否定された文書を、再度検索結果として出力しないようにすることが可能となる。
【０３２０】
[第３実施形態]
次に、第３実施形態に係る情報処理装置１００について説明する。第３実施形態に係る情報処理装置１００は、エージェントの行動に伴って変化する環境の状態が特定状態になるのを回避しつつ、所定の目標状態になるようにエージェントを制御する。
【０３２１】
エージェントは、本実施形態に係る情報処理装置１００による制御対象であり、環境と相互作用を行う行動主体である。環境は、エージェントが行動を行うことによって状態を変化させる場である。
【０３２２】
ただし、ここでは便宜上、情報処理装置１００とエージェントを分けて説明するが、情報処理装置１００がエージェントに組み込まれることにより、エージェントは、自律的な行動主体として機能するようになる。
【０３２３】
情報処理装置１００は、エージェントが環境との相互作用を行う中で与えられる報酬を用いて、エージェントの行動を修正する。情報処理装置１００は、エージェントに付与される報酬を最大化するように、エージェントを制御する。
【０３２４】
第３実施形態に係る情報処理装置１００のシステム構成は、図２に示した構成と同様であるが、シミュレーションプログラム７００はなくても良い。また第３実施形態に係る情報処理装置１００の機能構成は、図３に示したものと同様であるが、蓄積エピソード記憶部１０４Ｃはなくても良い。
【０３２５】
状態検知部１０２は、環境の状態を所定タイミングで繰り返し検知する。所定タイミングは、所定時間毎（例えば１秒毎）に到来するタイミングであっても良いし、エージェントが１単位の行動を行う毎に到来するタイミングであっても良い。あるいは、環境の状態が離散的に変化する場合には、環境の状態遷移に同期するタイミングであっても良い。
【０３２６】
状態検知部１０２は、例えば環境の状態を表す物理量（位置、温度、圧力など）を検出するための種々のセンサや、これらのセンサの出力結果を分析、加工する演算装置を用いて構成することができる。
【０３２７】
報酬付与部１０３は、環境が所定の目標状態になった場合にエージェントに報酬を与える。
【０３２８】
行動決定部１０１は、環境の状態が初期状態から目標状態、または目標状態とは異なる特定状態になるまでに検知された環境の各状態において、エージェントに実行させる行動を所定のルールに従って決定する。
【０３２９】
例えば、行動決定部１０１は、エージェントに実行させる行動を決定する際に、環境の現在の状態をエージェントの行動の起点とする成功エピソードが成功エピソード記憶部１０４Ａに記憶されている場合には、該当する成功エピソードの中から評価値が最大の成功エピソードを選択し、この成功エピソードに従ってエージェントに実行させる行動を決定する。
【０３３０】
成功エピソードは、成功エピソード生成部１０５及び成功エピソード編集部１０６によって生成される。
【０３３１】
成功エピソード生成部１０５は、環境が目標状態になった場合に、初期状態から目標状態までの間に検出された各状態毎に、状態を示す情報と、その状態におけるエージェントの行動の内容と、報酬付与部１０３によって与えられた報酬に基づいて算出される所定の評価値と、を対応付けることにより成功エピソードを生成する。なお状態を示す情報は、状態検知部１０２によって検知された物理量の値、あるいは物理量の値を元に算出される値とすればよい。
【０３３２】
また成功エピソード編集部１０６は、第１状態を最終状態とする成功エピソードと、第１状態を開始状態とする成功エピソードと、を用いてこれらの各成功エピソード内の各状態を遷移順に連結し、各状態を表す情報と、各状態におけるエージェントの行動の内容と、報酬に基づいて算出される所定の評価値と、を対応付けることにより、新たな成功エピソードを生成する。
【０３３３】
そして成功エピソード記憶部１０４Ａは、成功エピソード生成部１０５によって生成された成功エピソードと、成功エピソード編集部１０６によって生成された成功エピソードと、を記憶している。
【０３３４】
このような態様によって、情報処理装置１００は、環境が目標状態になるようにエージェントを制御するにあたり、過去の成功体験（成功エピソード）を有効に活用することが可能となるため、より効果的にエージェントの制御を行うことが可能となる。
【０３３５】
また行動決定部１０１は、環境の現在の状態及びエージェントの次の行動がバッドエピソードに一致した場合には、バッドエピソードとは異なる行動に変更するようにする。
【０３３６】
バッドエピソードは、環境が、目標状態とは異なる特定状態になった場合に、この特定状態の前の状態においてエージェントが行った行動の内容を記録したものであり、バッドエピソード記憶部１０４Ｂに記憶されている。
【０３３７】
このような態様によって、一度環境が特定状態になった場合に、再度同じ状態にならないようにエージェントを制御することが可能となる。つまり、過去の失敗体験（バッドエピソード）を有効に活用することにより、同じ失敗を繰り返さない様にエージェントの制御を行うことが可能となる。
【０３３８】
なおバッドエピソードには、特定状態の一つ手前の状態におけるエージェントの行動内容が記憶されるが、一つ手前の状態だけでなく、所定数だけ手前の状態までの各状態における行動内容を記憶するようにしても良い。
【０３３９】
このような態様により、より早いタイミングで環境が特定状態になることを予見することが可能となるため、環境が特定状態になることをより確実に回避することが可能となる。
【０３４０】
また行動決定部１０１は、エージェントに実行させる行動を決定する際に、環境の現在の状態をエージェントの行動の起点とする成功エピソードが成功エピソード記憶部１０４Ａに記憶されていない場合には、所定の複数の候補の中からランダムに行動を決定するようにしても良い。あるいは行動決定部１０１は、Ｑ学習を行う場合と同様に、各状態でエージェントが選択可能な行動の選択肢についてＱ値を計算しておき、このＱ値に基づいてエージェントの行動を決定するようにしても良い。
【０３４１】
このような態様により、行動決定部１０１は、エージェントの次の行動を必ず決定することが可能となる。またランダムに行動が決定されることにより、目標状態に至るまでの状態遷移の過程をヒューリスティックに探索することも可能となり、環境を目標状態にするためのエージェントの制御内容として、より最適な解を発見することも可能となる。
【０３４２】
なお、上述した成功エピソードに含まれる評価値は、目標状態を最終状態として含む成功エピソードに対しては、成功エピソード内の状態の数が少ない程大きな値になるように算出され、目標状態を最終状態として含まない成功エピソードに対しては、目標状態を最終状態として含むいずれの成功エピソードよりも小さな値になるように算出される。
【０３４３】
このような態様によれば、エージェントの現在の状態から目標状態に到達できない成功エピソードよりも、目標状態に到達できる成功エピソードの方が評価値が大きくなり、しかも、これらの目標状態に到達できる成功エピソードの内、目標状態までの状態遷移が少なくて済む成功エピソードであるほど評価値が大きくなるため、より効率的に目標状態に到達可能な成功エピソードが行動決定部１０１に選択されやすくなる。
【０３４４】
そのため、エージェントがより少ない行動を行うだけで環境を目標状態にできるように、エージェントを制御する事が可能となる。
【０３４５】
なお、成功エピソードには、成功エピソード記憶部１０４Ａに記憶された時点を示す情報（例えば時刻情報や、通し番号、登録番号など）を含むようにしても良い。
【０３４６】
そしてこの場合に、行動決定部１０１は、エージェントに実行させる行動を決定する際に、成功エピソード記憶部１０４Ａへ記憶された時点からの経過時間が所定時間以内であり、かつ、環境の現在の状態をエージェントの行動の起点とする成功エピソードが、成功エピソード記憶部１０４Ａに記憶されている場合には、該当する成功エピソードの中から評価値が最大の成功エピソードを選択し、この成功エピソードに従ってエージェントに実行させる行動を決定するようにすると良い。
【０３４７】
このような態様により、成功エピソード記憶部１０４Ａに記憶されてから所定時間以上経過した古い成功エピソードを選択しない様にすることが可能となる。
【０３４８】
あるいは、行動決定部１０１は、成功エピソード記憶部１０４Ａへ記憶された時点からの経過時間が長くなるにつれて評価値が小さくなるように評価値を換算しても良い。
【０３４９】
同様に、バッドエピソードには、バッドエピソード記憶部１０４Ｂに記憶された時点を示す情報（例えば時刻情報や、通し番号、登録番号など）を含むようにしても良い。
【０３５０】
そしてこの場合に、行動決定部１０１は、エージェントに実行させる行動を決定する際に、環境の現在の状態及びエージェントの次の行動に一致し、かつ、バッドエピソード記憶部１０４Ｂへ記憶された時点からの経過時間が所定時間以内であるバッドエピソードが、バッドエピソード記憶部１０４Ｂに記憶されている場合には、このバッドエピソードとは異なる行動に変更するようにすると良い。
【０３５１】
このような態様により、バッドエピソード記憶部１０４Ｂに記憶されてから所定時間以上経過した古いバッドエピソードを選択しない様にすることが可能となる。
【０３５２】
次に、本実施形態に係る情報処理装置１００による処理の流れを、図２３に示すフローチャートを参照しながら説明する。
【０３５３】
情報処理装置１００は、まず環境の現在の状態を検出する（S2000）。そして情報処理装置１００は、環境の現在の状態をエージェントの行動の起点とする成功エピソードを成功エピソード記憶部１０４Ａから検索する（S2010）。
【０３５４】
具体的には、情報処理装置１００は、エージェントに実行させる行動を決定する際に、環境の現在の状態をエージェントの行動の起点とする成功エピソードが成功エピソード記憶部に記憶されている場合には、該当する成功エピソードの中から評価値が最大の成功エピソードを選択し、成功エピソードに従ってエージェントに実行させる行動を決定する。
【０３５５】
該当する成功エピソードが成功エピソード記憶部１０４Ａに記憶されていない場合には、情報処理装置１００はエージェントの行動を所定の候補の中からランダムに決定する。
【０３５６】
次に情報処理装置１００は、バッドエピソード記憶部１０４Ｂを参照し、環境の現在の状態及びエージェントの次の行動がバッドエピソードに一致するか否かを確認する（S2020）。
【０３５７】
該当するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されている場合には、次の行動がバッドエピソードとは異なる行動に変更されるような成功エピソードを、成功エピソード記憶部１０４Ａから検索する（S2010）。
【０３５８】
該当するバッドエピソードがバッドエピソード記憶部１０４Ｂに記憶されていない場合には、情報処理装置１００は、エージェントを行動させる（S2030）。
【０３５９】
そして情報処理装置１００は、現在の環境の状態が目標状態になったか否かを判定する（S2040）。目標状態になった場合には、情報処理装置１００は、エージェントに報酬を付与し（S2050）、成功エピソードを生成及び編集して成功エピソード記憶部１０４Ａに記憶する（S2060）。
【０３６０】
このような態様によって、情報処理装置１００は、環境が目標状態になるようにエージェントを制御するにあたり、過去の成功体験（成功エピソード）を有効に活用することが可能となるため、より効果的にエージェントの制御を行うことが可能となる。
【０３６１】
一方、目標状態とは異なる特定状態になった場合には（S2070）、情報処理装置１００は、特定状態に遷移する前の状態にてエージェントが行った行動の内容を、バッドエピソードとしてバッドエピソード記憶部１０４Ｂに記憶する（S2080）。
【０３６２】
このような態様によって、一度環境が特定状態になった場合に、再度同じ状態にならないようにエージェントを制御することが可能となる。つまり、過去の失敗体験（バッドエピソード）を有効に活用することにより、同じ失敗を繰り返さない様にエージェントの制御を行うことが可能となる。
【０３６３】
以上、情報処理装置１００、情報処理装置１００の制御方法及びプログラムの各実施形態を説明したが、これらの実施形態によれば、一度環境が特定状態になった場合に、再度同じ状態にならないようにエージェントを制御することが可能となる。
【０３６４】
なお上述した実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。
【０３６５】
例えば、上記各実施形態では、成功エピソードを編集する際に組み合わせる成功エピソードの数に制限はなかったが、組み合わせる成功エピソードの数に所定の上限を設けても良い。
【０３６６】
あるいは情報処理装置１００は、エージェントに与えられた報酬の値に応じて、エピソード編集を行うか行わないかを切り替えるようにしても良い。
【０３６７】
また上記各実施形態では、情報処理装置１００は、評価値が正の値の成功エピソードを含むようにエピソード編集を行っていたが、評価値が０の成功エピソードのみを組み合わせてエピソード編集を行っても良い。
【符号の説明】
【０３６８】
１００    情報処理装置
１０１    行動決定部
１０２    状態検知部
１０３    報酬付与部
１０４    エピソード記憶部
１０４Ａ  成功エピソード記憶部
１０４Ｂ  バッドエピソード記憶部
１０４Ｃ  蓄積エピソード記憶部
１０５    成功エピソード生成部
１０６    成功エピソード編集部
１１０    ＣＰＵ
１２０    メモリ
１３０    通信装置
１４０    記憶装置
１５０    入力装置
１６０    出力装置
１７０    記録媒体読取装置
２００    移動路
２１０    交点
２１１    スタート地点
２１２    ゴール地点
２１３    衝突地点
３００    移動体
３１０    障害物
５００    ネットワーク
６００    状態管理表
７００    シミュレーションプログラム
７０１    制御プログラム
８００    記録媒体
【図１】
2019139352.tif 000003
【図２】
2019139352.tif 000004
【図３】
2019139352.tif 000005
【図４】
2019139352.tif 000006
【図５】
2019139352.tif 000007
【図６Ａ】
2019139352.tif 000008
【図６Ｂ】
2019139352.tif 000009
【図７】
2019139352.tif 000010
【図８】
2019139352.tif 000011
【図９】
2019139352.tif 000012
【図１０】
2019139352.tif 000013
【図１１】
2019139352.tif 000014
【図１２】
2019139352.tif 000015
【図１３】
2019139352.tif 000016
【図１４】
2019139352.tif 000017
【図１５】
2019139352.tif 000018
【図１６】
2019139352.tif 000019
【図１７】
2019139352.tif 000020
【図１８】
2019139352.tif 000021
【図１９】
2019139352.tif 000022
【図２０】
2019139352.tif 000023
【図２１】
2019139352.tif 000024
【図２２】
2019139352.tif 000025
【図２３】
2019139352.tif 000026