(57)【要約】【課題】  学習に必要な評価信号に空間的なあいまいさと時間的なあいまいさの二つが存在する場合に、あいまいさを吸収することが可能なシステムおよび制御方法を提供する。【解決手段】  コンピュータによって機能する、少なくとも、教育エージェント、学習エージェント、および中間エージェントを含み、所定の時刻における、各エージェントの認識する位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅と、客観的な各エージェントの位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅、との間にそれぞれ、ずれが存在するシステムにおいて、各エージェントが自律的に学習することによって、学習エージェントをスタート位置からゴール位置まで制御する階層型エージェント学習方法。【選択図】          図１
2005056185.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって機能する、少なくとも、教育エージェント、学習エージェント、および中間エージェントを含み、所定の時刻における、各エージェントの認識する位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅と、客観的な各エージェントの位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅、との間にそれぞれ、ずれが存在するシステムにおいて、各エージェントが自律的に学習することによって、前記学習エージェントをスタート位置からゴール位置まで制御する方法であって、
学習エージェントが、自己が採るべき行動を意思決定する学習エージェント意思決定工程（1120）と、
教育エージェントが、自己が採るべき行動を意思決定する教育エージェント意思決定工程（1120）と、
前記学習エージェントの意思決定と前記教育エージェントの意思決定を、それぞれ前記学習エージェントと前記教育エージェントが、中間エージェントに送る行動送信工程(130)と、
前記学習エージェントの意思決定と前記教育エージェントの意思決定を同じかどうかを中間エージェントが判断する意思決定工程(1140)と、
前記学習エージェントの意思決定と前記教育エージェントの意思決定が同じ場合には、前記学習エージェントが意思決定した採るべき行動を、そして、前記学習エージェントの意思決定と前記教育エージェントの意思決定が異なる場合には、中間エージェントが規則に従って、採るべき新たな行動を、前記中間エージェントが、前記学習エージェントに送る行動指示工程（1150）と、
前記学習エージェントが前記採るべき行動を実行する、行動実行工程（1160）と、
前記学習エージェント、前記中間エージェント、前記教育エージェントがそれぞれ、前記学習エージェントがゴールに到達したか否かを判断する、ゴール到達判断工程（1190）と、
指定されたステップ数内にゴールに到達していない場合、前記学習エージェント及び前記教育エージェントが強化学習を行う、それぞれ、学習エージェント強化学習実行工程（1180）および教育エージェント強化学習実行工程（1180）と、
が含まれる、階層型エージェント学習方法。
【請求項２】
前記学習エージェント意思決定工程（1120）に、
前記各学習エージェントが、設定された観測範囲で自分自身が持っているＱ値テーブルの値を観測する、学習エージェントＱ値テーブル値観測工程と、
前記学習エージェントが、確率（１−ε）でＱ値の最も高い行動方向を選択し、確率εでランダムな行動方向を選択する、行動選択工程と、
前記中間エージェントが、前記各学習エージェントの選択した行動の方向を合成する行動合成工程、
が含まれる、
請求項１に記載の階層型エージェント学習方法。
【請求項３】
前記教育エージェント意思決定工程（1120）に、
前記教育エージェントが、設定された観測範囲で自分自身が持っているＶ値テーブルの値を観測する、教育エージェントＶ値テーブル値観測工程と、
前記教育エージェントが、確率（１−ε）でＶ値の最も高い行動方向を選択し、確率εでランダムな行動方向を選択する、行動選択工程と、
が含まれる、
請求項１乃至２に記載の階層型エージェント学習方法。
【請求項４】
前記行動指示工程（1150）に
教育エージェントが示した行動の中で、最も高いＱ値の学習エージェントの行動を、前記中間エージェントが選択する、第１の行動生成工程と、
所定の試行回数後にゴールに到達していない場合には、前記学習エージェントの示す方向とＱ値を第１のベクトルとし、教育エージェントが示す方向とＶ値を第２のベクトルとし、前記中間エージェントが第１および第２のベクトルを合成した方向を選択する、第２の行動生成工程と、
が含まれる、
請求項１乃至３に記載の階層型エージェント学習方法。
【請求項５】
前記学習エージェント強化学習実行工程（1180）に、
各学習エージェントがゴールに到達した場合に、各学習エージェント以外のエージェントおよび外部環境が)各学習エージェントに第１の所定の報酬を与える、第１の報酬付与工程と、
各学習エージェントがゴールに到達せず、かつ、障害物に衝突しなかった場合に、各学習エージェント以外のエージェントおよび外部環境が各学習エージェントに第２の所定の報酬を与える、第２の報酬付与工程と、
各学習エージェントがゴールに到達せず、かつ、障害物に衝突した場合に、各学習エージェント以外のエージェントおよび外部環境が各学習エージェントに第３の所定の報酬を与える、第３の報酬付与工程と、
前記各報酬付与工程の後に、それぞれの報酬値に応じて、前記各学習エージェントが、観測した全てのＱ値を更新する、Ｑ値更新工程、
が含まれる、
請求項１乃至４に記載の階層型エージェント学習方法。
【請求項６】
前記教育エージェント強化学習実行工程（1180）に、
各学習エージェントがゴールに到達した場合に、外部環境が教育エージェントに第１の所定の報酬を与える、第１の報酬付与工程と、
各学習エージェントがゴールに到達せず、かつ、障害物に衝突しなかった場合に、外部環境が、教育エージェントに第２の所定の報酬を与える、第２の報酬付与工程と、
各学習エージェントがゴールに到達せず、かつ、障害物に衝突した場合に、外部環境が、教育エージェントに第３の所定の報酬を与える、第３の報酬付与工程と、
前記各報酬付与工程の後に、前記教育エージェントがそれぞれの報酬値に応じて、観測した全てのＶ値を更新する、Ｖ値更新工程、
が含まれる、
請求項１乃至５に記載の階層型エージェント学習方法。
【請求項７】
前記Ｑ値更新工程に、
Q(s,a)←(1-α)Q(s,a)+α[r+γmaxa'Q(st+1,at+1)]
（ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1であり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与る、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。maxa'は、次に取ることが可能な全ての状態、行動、の対において、最もＱ値が最大になるような行動を選択することを意味する。ｍａｘa'Ｑ(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対において、Ｑ値が最大となるような行動ａを取ったときのＱ値である。）
なる式にしたがって、前記学習エージェントが、Ｑ値を更新する、第１のＱ値更新工程が含まれる、
請求項５に記載の階層型エージェント学習方法。
【請求項８】
前記Ｖ値更新工程に、
V(st)←V(st)+α[rt+γV(st+1)-V(st)]
（ここで、ｓtは時刻ｔにおける状態ｓ、st+1は、時刻ｔ＋１における状態ｓ、Ｖ（ｓt）は、状態ｓtのときのＶ値、Ｖ（st+1）は、状態st+1のときのＶ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える、を意味する。本実施例では、Ｖ（ｓ）は、Ｖ（x，ｙ）の２次元配列である（（ｘ、ｙ）は、教育エージェントの中心座標である）。）
なる式にしたがって、前記教育エージェントがＶ値を更新する、第１のＶ値更新工程が含まれる、
請求項６に記載の階層型エージェント学習方法。
【請求項９】
人間またはロボットたる教育エージェントと、コンピュータによって機能する、少なくとも、学習エージェント、および中間エージェントを含み、所定の空間位置に存在する各エージェントの認識する時刻と、客観的な時刻との間にずれが存在する、システムにおいて、各エージェントが自律的に学習することによって、前記学習エージェントをスタート位置からゴール位置まで制御する方法であって、
前記学習エージェントが環境を観測する環境観測工程（2715）と、
前記学習エージェントが、前方に障害物が存在するか否かを判断する障害物確認工程（2717）と、
前記障害物確認工程で、障害物が存在すると判断された場合には、外部環境または教育エージェントがマイナスの報酬を前記学習エージェントに与える、第１の報酬更新工程（2719）と、
前記障害物確認工程で、障害物が存在すると判断された場合には、前記第１の報酬付与工程の後に、さもなければ前記障害物確認工程の後に、前記学習エージェントが強化学習を行う第１の強化学習実行工程（2721）と、
前記学習エージェントが、移動する方向を決定する意思決定工程（2723）と、
前記学習エージェントが、前記意思決定工程で決定された移動量で行動を採る、行動実行工程（2725）と、
前記行動の結果、教育エージェントから、前記学習エージェントがマイナスの報酬を受けたか否かを前記学習エージェントが、判断する、ペナルティー判断工程（2727）と、
前記学習エージェントが前記マイナスの報酬を受けた場合に、環境として認識される人またはロボットたる教育エージェントからの、既に設定されていた前記学習エージェントの有する報酬値に前記マイナスの報酬値の入力を促す、第２の報酬更新工程（2729）と、  前記ペナルティー判断工程で、前記学習エージェントが、マイナスの報酬を受けた場合には、前記報酬更新工程の後に、さもなければ前記ペナルティー判断工程の後に、前記学習エージェントが強化学習を行う第２の強化学習実行工程（2731）と、
前記学習エージェントが、ゴールに到達したか否かを判断する、ゴール到達判断工程（2737、2735）と、
前記学習エージェントがゴールに到達していない場合、
以上の工程を所定の回数反復し、その後にゴールに到達していない場合に、前記中間エージェントにより、前記第１の報酬更新工程、および、前記第２の報酬更新工程で、前記学習エージェントに報酬を与えるタイミングを変更する、報酬更新ルール変更工程（2741）と、前記学習エージェントが、履歴から学習する、履歴学習工程（2745）と、
が含まれることを特徴とする、
階層型エージェント学習方法。
【請求項１０】
前記意思決定工程（2723）に、
学習エージェントがＱテーブルの値を観測する、Ｑテーブル観測工程と、
greedy方策に従って、学習エージェントがＱ値の最も高い行動のみを選択する、行動選択工程と、
が含まれる、
請求項９に記載の階層型エージェント学習方法。
【請求項１１】
前記行動実行工程（2725）に、
学習エージェントを所定の角度だけ回転させる、回転工程と、
前記回転終了後、前記学習エージェントを所定の移動量だけ進行させる、移動工程と、
が含まれる、請求項９または１０に記載の階層型エージェント学習方法。
【請求項１２】
前記第１の強化学習実行工程（2721）、および／または、第２の強化学習実行工程（2731）に、
Ｑ値をｔp＜ｔ＜ｔnの範囲で、
Ｑ（ｓ，ａ）←（１−α）Ｑ（ｓ，ａ）＋α[ｒ＋γ・ｍａｘa’・Ｑ（ｓt+1，ａt+1）]
（ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。maxa'は、次に取ることが可能な全ての状態、行動、の対において最もＱ値が最大になるような行動を選択することを意味する。maxa'Q(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対においてＱ値が最大となるような行動ａを取ったときのＱ値である。）
なる式に従って更新する、Ｑ値更新工程と、
が含まれる、請求項９乃至１１に記載の階層型エージェント学習方法。
【請求項１３】
報酬更新ルール変更工程（2741）に、
Ｑ値の時間的更新範囲ｔp、ｔnを照合する、時間的更新範囲照合工程と、
ｔp←ｔp−ｉ，ｔn←ｔn＋ｊ
（ここで、ｉ,jは正の整数とし、tp<tnを満たす。）
なる式に基づいて前記パラメータｔp、ｔnを加減することによって、更新範囲を変更する、更新範囲変更工程と、
が含まれる、請求項９乃至１２に記載の階層型エージェント学習方法。
【請求項１４】
前記履歴学習工程（2745）に、
前記学習エージェントに対する前記マイナスの報酬が入った状態、行動、の対、の時刻ｔを、前記中間エージェントが照合する、時刻照合工程と、
前記学習エージェントが一度もゴールに到達しなかったかを、前記中間エージェントが判断する、ゴール到達判断工程と、
前記ゴール到達判断工程で、一度もゴールに到達しなかったと判断された場合に、前記中間エージェントが、現在の試行で更新された前記学習エージェントが持つＱ値を、一つ前の試行開始時の状態に戻す、第１のＱ値復帰工程と、
前記ゴール到達判断工程で、過去にゴールに到達したと判断された場合に、
前記中間エージェントが、現在の試行で更新された前記学習エージェントが持つＱ値を、直近にゴールに到達した試行終了後のＱ値の状態に戻してから、
前記報酬更新ルール変更工程でで変更された新たな更新ルールで、次の試行のQ値を更新する第２のＱ値復帰工程と、
前記第１または第２のＱ値復帰工程の後に、
Ｑ（ｓ，ａ）←（１−α）Ｑ（ｓ，ａ）＋α[ｒ＋γ・ｍａｘa’・Ｑ（ｓt+1，ａt+1）]
（ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。maxa'は、次に取ることが可能な全ての状態、行動、の対において最もＱ値が最大になるような行動を選択することを意味する。maxa'Q(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対においてＱ値が最大となるような行動ａを取ったときのＱ値である。）
なる式に従って、前記学習エージェントが、Ｑ値を、更新されたｔｐ＜ｔ＜ｔｎの範囲で更新する、Ｑ値更新工程と、
が含まれる、請求項９乃至１３に記載の階層型エージェント学習方法。
【請求項１５】
コンピュータによって機能する、少なくとも、教育エージェント、学習エージェント、および中間エージェントを含み、所定の時刻における、各エージェントの認識する位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅と、客観的な各エージェントの位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅、との間にそれぞれ、ずれが存在し、各エージェントが自律的に学習することによって、前記学習エージェントをスタート位置からゴール位置まで制御するシステムであって、
前記学習エージェントが、
自己が採るべき行動を意思決定する学習エージェント意思決定手段と、
前記学習エージェントの意思決定を前記学習エージェントが、前記中間エージェントに送る学習エージェント行動送信手段と
を有し、
前記教育エージェントが、
自己が採るべき行動を意思決定する教育エージェント意思決定手段と、
前記教育エージェントの意思決定を、前記教育エージェントが、前記中間エージェントに送る行動送信手段と、
を有し、
前記中間エージェントが、
前記学習エージェントの意思決定と前記教育エージェントの意思決定を同じかどうかを判断する意思決定手段と、
前記学習エージェントの意思決定と前記教育エージェントの意思決定が同じ場合には、前記学習エージェントが意思決定した採るべき行動を前記学習エージェントに送り、そして、前記学習エージェントの意思決定と前記教育エージェントの意思決定が異なる場合には、前記中間エージェントが規則に従って、採るべき新たな行動を、前記学習エージェントに送る行動指示手段と、
を有し、
前記学習エージェントが更に、前記採るべき行動を実行する、行動実行手段を有し、
前記学習エージェント、前記中間エージェント、前記教育エージェントが更に、それぞれ、前記学習エージェントがゴールに到達したか否かを判断する、ゴール到達判断手段を有し、
前記学習エージェントおよび前記教育エージェントが更に、前記学習エージェントが指定されたステップ数内にゴールに到達していない場合、それぞれ、前記学習エージェント及び前記教育エージェントが強化学習を行う、学習エージェント強化学習実行手段および教育エージェント強化学習実行手段を有する、
階層型エージェント学習システム。
【請求項１６】
人間またはロボットたる教育エージェントと、コンピュータによって機能する、少なくとも、学習エージェント、および中間エージェントを含み、所定の空間位置に存在する各エージェントの認識する時刻と、客観的な時刻との間にずれが存在する、システムにおいて、各エージェントが自律的に学習することによって、前記学習エージェントをスタート位置からゴール位置まで制御するシステムであって、
前記学習エージェントが、
環境を観測する環境観測手段と、
前方に障害物が存在するか否かを判断する障害物確認手段と、
前記障害物確認手段で、障害物が存在すると判断された場合には、外部環境または教育エージェントからのがマイナスの報酬を前記学習エージェントが受け取る、第１の報酬更新手段と、
前記障害物確認手段で障害物が存在すると判断された場合には前記第１の報酬の受け取りの後に、さもなければ前記障害物が存在すると確認された後に、前記学習エージェントが強化学習を行う第１の強化学習実行手段と、
移動する方向を決定する意思決定手段と、
前記意思決定手段で決定された移動量で行動を採る、行動実行手段と、
前記行動の結果、教育エージェントから、マイナスの報酬を受けたか否かを判断する、ペナルティー判断手段と、
前記学習エージェントが前記マイナスの報酬を受けた場合に、環境として認識される人またはロボットたる前記教育エージェントからの、既に設定されていた前記学習エージェントの有する報酬値に前記マイナスの報酬値の加算を促す、第２の報酬更新手段と、
前記ペナルティー判断手段で、マイナスの報酬を受けたと判断した場合には前記第２の報酬更新手段によるマイナスの報酬値の加算の後に、さもなければ前記ペナルティー判断手段による判断の後に、前記学習エージェントが強化学習を行う第２の強化学習実行手段と、
前記学習エージェントが、ゴールに到達したか否かを判断する、ゴール到達判断手段と、
を有し、
前記教育エージェントが、
前記学習エージェントがゴールに到達していない場合、以上の手段による制御を所定の回数反復し、その後にゴールに到達していない場合に、前記中間エージェントにより、前記第１の報酬更新手段、および、前記第２の報酬更新手段で、前記学習エージェントに報酬を与えるタイミングを変更する、報酬更新ルール変更手段を有し、
更に、前記中間エージェントが、
前記学習エージェントが過去にゴールに到達したか否かの判断にしたがって、次の試行で用いるＱ値を準備する、履歴更新準備手段を有し、
前記学習エージェントが、
前記履歴更新準備手段によって得られたＱ値を用いて、Ｑ値を更新する履歴更新手段を有する、
ことを特徴とする、階層型エージェント学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層型エージェント学習方法に関する。
【背景技術】
【０００２】
これまであいまいさを対象とした問題やそれに対する手法が提案されてきている。例えば、境界条件があいまいな問題に対しては、ファジー理論が有名である。ファジー理論は、述語論理に基づいてあいまいな情報から意思決定をおこなうための理論である。ファジー理路は熟練運転者の永 年の経験と勘を制御則としてメンバシップ関数とif, then ルールの形に体系化するのに適している(非特許文献1,2)。
入力データがあいまいな問題に対しては、人工ニューラルネットワーク(ANN)が有名である。ANNは生体の神経系の構造，機能をモデル化したもので、基本となる素子をユニットと呼び、入力 はネットワークの結合状態に依存するある重み係数が掛けられて重畳され，それがある閾値を超えると出力パルスを発生する。ネットワークのニューロンの数，結合状態が決まり，重み係数と閾値が決定されるとニューラルネットワークの構造が決定される。最も有名なANNに誤差逆伝播法(BP)（非特許文献３）があるが、教師データをもとに、ネットワークの過重を修正する学習手法である。あいまいな入力データに対しても線形分離可能なANNである。
強化学習は状態空間にあいまいさが含まれる問題に対して、学習する手法である。強化学習は試行錯誤学習と言われ、報酬をもとに学習を行う。状態空間のあいまいさにも対応することが可能である。
しかし、これまで扱われてきたあいまいさは、境界条件や入力データや状態空間であり、これらの学習条件には、教師信号や報酬といった評価信号にあいまいさ（例えば、ある評価信号がどの場所やどの時点における行動に対するものか不確定であること）は含まれていないものとして扱っている。
【０００３】
他方、人間の知識の模倣や環境適応を目的としたエージェントアーキテクチャの変遷として、これまでに大きく分けて、モジュール型、自律型、黒板型、および、人間とのインタラクション型、という４つの流れがあった。
モジュール型の例としては、知識ベースの記号推論システムに関する非特許文献４、信念・願望・意図に関する非特許文献５、協調的機構に関する非特許文献６が代表的であるが、これらの手法は知識を基に意思決定を行っているため、設定されたあるいは獲得された知識の適用が難しい新たな問題への適応、例えば、空間的、時間的なあいまいさが存在する実環境に適応することが困難であるという問題点があった。
自律型の例としては、行動指向に関する非特許文献７がある。モジュール型の知識ベースではなく、環境とのインタラクションでのみ意思決定を行うもので、実環境への適応を行ったが、逆に知識をもたないという問題あった。実環境への適応を行う点で、空間的あいまいさへの対応はある程度可能であったが、「その場限りの」制御にしか利用できず、
過去に遭遇した問題解決に関する知見を、後の類似の問題解決に利用することが困難であった。
このため、モジュール型と自律型の混合形態のものとして、ハイブリッド型と呼ばれる、非特許文献８も存在した。しかし、これらの手法では、局所的学習(ある特定の場所での学習)と、大局的学習（制御対象たる広域空間全体での学習）の同時学習が困難である、という難点があった。そのため、自律型、ハイブリッド型のいずれによっても、客観的に正確な位置関係を把握することが困難な、空間的なあいまいさを持つ系での自己学習による制御が困難であった。
黒板型の例としては、非特許文献９乃至１３が挙げられるが、これらは、様々エージェントが１つの黒板に情報を共有し、必要な情報を更新していくことによって、協調問題を解決するという問題解決の枠組みであり、実環境にも適応可能である。しかし、時間的、空間的にあいまいな評価信号への適応が困難である、という問題を持っていた。
人間とのインタラクション型の例としては、非特許文献１４および１５が挙げられるが、人間の本来もつ時間的、空間的あいまいさが機械やエージェントとのインタラクションを困難にしていた。
【０００４】
【非特許文献１】Zadeh, Lotfi, "Fuzzy Sets as the Basis for a Theory of Possibility", Fuzzy Sets and Systems 1:3-28, 1978.
【非特許文献２】Dubois, Didier, and Prade, Henri, "Possibility Theory", Plenum Press,   New York, 1988.
【非特許文献３】D.Rumelhart, G.Hinton and R. Williams. Learning Internal Representations by Error Propagation, In: Parallel Distributed Processing: Explorations in the Microstructure of Cognition- Vol. 1. MIT Press, Cambridge (1986)
【非特許文献４】A．Newll、 H．A．Simon:"Computer Science as Empirical Inquiry: Symbols and Search"、 Communications of ACM、 Vol． 19、 No． 3、 pp 113-126、1976
【非特許文献５】Bratman、M．E．、Israel、D．J．:"Plans and Resource Bounded Practical Reasoning"、 Computational Intelligence、 Vol．4、 No．4、 pp． 349-355、 1998
【非特許文献６】Jennings．N． :"Cooperation in Industrial Ｍｕｌｔｉ−Ａｇｅｎｔ  Ｓｙｓｔｅｍｓ”、  Ｗｏｒｌｄ  Ｓｃｉｅｎｔｉｆｉｃ、 1993
【非特許文献７】Brooks、 R．A．:"A Robust Layered Control System for a Mobile Robot"、 IEEE Journal of Robotics and Automation、 Vol．RA-2、No．1、 March 1986
【非特許文献８】Ferguson、I．A．:"Toward an Architecture for Adaptive、 Rational、 Mobile Agents"、 In E．Werner、 Y．Demazeau (eds．)、 Decentralized A．I．3、 Proceedings of the Third European Workshop on Modelling Autonomous Agents in a Multi-Agents World (MAAMAW'91)、pp．249-262、 North-Holland、 1992
【非特許文献９】Erman、 L．、 Hayes-Roth、 F．、 Lesser、 V．、 Raj Reddy、 D． :"The Hearsay-II Speech Understanding System: Integrating Knowledge to Resolve Uncertainty"、 Computing Surveys、 Vol．12、 No．2、 pp 213-253、1980
【非特許文献１０】Corkill、D．、 Lesser、 V． Hudlicka、 E．:"Unifying Data-Directed and Goal-Direced Control: An Example and Experiments．"、 In Proceedings of AAAI-82、 pp．143-147、 1982
【非特許文献１１】Lesser、V．、 Corkill、D．:"The Distributed Vehicle Monitoring Testbed: A Tool for Investigating Distributed Problem Solving Network"、 AI Magazine、 Vol．4、 No．3、 pp．15-33、 1983
【非特許文献１２】Hayes-Roth、 B．:"A Blackboard Architecture for Control"、 Artificial Inteligence、 Vol．26、 pp．251-321、 1985
【非特許文献１３】Decker、K．S．、 Garvey、 A．J．、 Humphrey、 M．A．、Lesser、V．:"A Real-Time Control Architechture for an Approximate Processings Blackboard System"、 InternationalJournal of Pattern Recognition and ArtificialIntelligence、 Vol．7、 No．2、 pp．265-284、 1993
【非特許文献１４】Bates、 J．、 Bryan Loyall、 A．、Scott Reilly、 W．:"An Architecture for Action、 Emotion、 and Social Behavior"、 In Proceedings of the Fourth European Workshop on Modellings Autunomous Agents in a Multi-Agent World (MAAMAW'92)、1992
【非特許文献１５】J．Bates:"The Role of Emotion in Believable Agents"、 Communications of the ACM、 Vol．37、 No．7、pp．122-125、1994
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のように、ファジー理論、ＡＮＮなどの手法によっては、学習条件に、教師信号や報酬といった評価信号にあいまいさは含まれていないものとして扱っているために、これらの評価信号にあいまいさが含まれている場合には、全く対応できなかった。
また、これまで提案されてきた各種のエージェントアーキテクチャーにも、評価信号のあいまいさそのものを取り扱っているものは見当らず、評価信号自体の空間的・時間的あいまいさに対処できたものは存在していなかった。
本発明では、学習に必要な評価信号に空間的なあいまいさと時間的なあいまいさの二つが存在する場合に、あいまいさを吸収することが可能なシステムおよび制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的等を達成するために、本発明では、コンピュータによって機能する、少なくとも、教育エージェント、学習エージェント、および中間エージェントを含み、所定の時刻における、各エージェントの認識する位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅と、客観的な各エージェントの位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅、との間にそれぞれ、ずれが存在するシステムにおいて、各エージェントが自律的に学習することによって、前記学習エージェントをスタート位置からゴール位置まで制御する方法であって、学習エージェントが、自己が採るべき行動を意思決定する学習エージェント意思決定工程（1120）と、教育エージェントが、自己が採るべき行動を意思決定する教育エージェント意思決定工程（1120）と、前記学習エージェントの意思決定と前記教育エージェントの意思決定を、それぞれ前記学習エージェントと前記教育エージェントが、中間エージェントに送る行動送信工程(130)と、前記学習エージェントの意思決定と前記教育エージェントの意思決定を同じかどうかを中間エージェントが判断する意思決定工程(1140)と、前記学習エージェントの意思決定と前記教育エージェントの意思決定が同じ場合には、前記学習エージェントが意思決定した採るべき行動を、そして、前記学習エージェントの意思決定と前記教育エージェントの意思決定が異なる場合には、中間エージェントが規則に従って、採るべき新たな行動を、前記中間エージェントが、前記学習エージェントに送る行動指示工程（1150）と、前記学習エージェントが前記採るべき行動を実行する、行動実行工程（1160）と、前記学習エージェント、前記中間エージェント、前記教育エージェントがそれぞれ、前記学習エージェントがゴールに到達したか否かを判断する、ゴール到達判断工程（1190）と、指定されたステップ数内にゴールに到達していない場合、前記学習エージェント及び前記教育エージェントが強化学習を行う、それぞれ、学習エージェント強化学習実行工程（1180）および教育エージェント強化学習実行工程（1180）と、が含まれる、階層型エージェント学習方法、を提供する。
このようにすることで、評価信号に空間的あいまいさが含まれる系に対して、あいまいさを吸収することが可能となる。更に、学習エージェント強化学習実行工程（1180）および教育エージェント強化学習実行工程（1180）は、後述のＱ-learningやV-learningのみならず、探索木、人工ニューラルネット、遺伝的アルゴリズム等の現在利用可能な全ての学習方法が利用可能である。
【０００７】
好ましい態様では、前記学習エージェント意思決定工程（1120）に、前記各学習エージェントが、設定された観測範囲で自分自身が持っているＱ値テーブルの値を観測する、学習エージェントＱ値テーブル値観測工程と、前記学習エージェントが、確率（１−ε）でＱ値の最も高い行動方向を選択し、確率εでランダムな行動方向を選択する、行動選択工程と、前記中間エージェントが、前記各学習エージェントの選択した行動の方向を合成する行動合成工程、が含まれる、階層型エージェント学習方法が提供される。
このようにすることで、学習機構として実績のあるＱ−kearningを用いて、最もゴール到達の可能性の高い経路を容易に探索できる。
【０００８】
別の好ましい態様では、前記教育エージェント意思決定工程（1120）に、前記教育エージェントが、設定された観測範囲で自分自身が持っているＶ値テーブルの値を観測する、教育エージェントＶ値テーブル値観測工程と、前記教育エージェントが、確率（１−ε）でＶ値の最も高い行動方向を選択し、確率εでランダムな行動方向を選択する、行動選択工程と、が含まれる、階層型エージェント学習方法が提供される。
このようにすることで、学習機構として実績のあるＶ−kearningを用いて、最もゴール到達の可能性の高い経路を容易に探索できる。
【０００９】
更に別の好ましい態様では、前記行動指示工程（1150）に教育エージェントが示した行動の中で、最も高いＱ値の学習エージェントの行動を、前記中間エージェントが選択する、第１の行動生成工程と、所定の試行回数後にゴールに到達していない場合には、前記学習エージェントの示す方向とＱ値を第１のベクトルとし、教育エージェントが示す方向とＶ値を第２のベクトルとし、前記中間エージェントが第１および第２のベクトルを合成した方向を選択する、第２の行動生成工程と、が含まれる、階層型エージェント学習方法が提供される。
このようにすることで、教育エージェントと学習エージェントの学習成果の双方を有効に利用して効率的な経路探索が可能である。
【００１０】
更に他の好ましい態様では、前記学習エージェント強化学習実行工程（1180）に、各学習エージェントがゴールに到達した場合に、各学習エージェント以外のエージェントおよび外部環境が)各学習エージェントに第１の所定の報酬を与える、第１の報酬付与工程と、各学習エージェントがゴールに到達せず、かつ、障害物に衝突しなかった場合に、各学習エージェント以外のエージェントおよび外部環境が各学習エージェントに第２の所定の報酬を与える、第２の報酬付与工程と、各学習エージェントがゴールに到達せず、かつ、障害物に衝突した場合に、各学習エージェント以外のエージェントおよび外部環境が各学習エージェントに第３の所定の報酬を与える、第３の報酬付与工程と、前記各報酬付与工程の後に、それぞれの報酬値に応じて、前記各学習エージェントが、観測した全てのＱ値を更新する、Ｑ値更新工程、が含まれる、階層型エージェント学習方法が提供される。
【００１１】
別の好ましい態様では、前記教育エージェント強化学習実行工程（1180）に、各学習エージェントがゴールに到達した場合に、外部環境が教育エージェントに第１の所定の報酬を与える、第１の報酬付与工程と、各学習エージェントがゴールに到達せず、かつ、障害物に衝突しなかった場合に、外部環境が、教育エージェントに第２の所定の報酬を与える、第２の報酬付与工程と、各学習エージェントがゴールに到達せず、かつ、障害物に衝突した場合に、外部環境が、教育エージェントに第３の所定の報酬を与える、第３の報酬付与工程と、前記各報酬付与工程の後に、前記教育エージェントがそれぞれの報酬値に応じて、観測した全てのＶ値を更新する、Ｖ値更新工程、が含まれる、階層型エージェント学習方法が提供される。
【００１２】
更に別の好ましい態様では、前記Ｑ値更新工程に、
Q(s,a)←(1-α)Q(s,a)+α[r+γmaxa'Q(st+1,at+1)]
（ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1であり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与る、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。maxa'は、次に取ることが可能な全ての状態、行動、の対において、最もＱ値が最大になるような行動を選択することを意味する。ｍａｘa'Ｑ(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対において、Ｑ値が最大となるような行動ａを取ったときのＱ値である。）
なる式にしたがって、前記学習エージェントが、Ｑ値を更新する、第１のＱ値更新工程が含まれる、階層型エージェント学習方法が提供される。
【００１３】
別の好ましい態様では、前記Ｖ値更新工程に、
V(st)←V(st)+α[rt+γV(st+1)-V(st)]
（ここで、ｓtは時刻ｔにおける状態ｓ、st+1は、時刻ｔ＋１における状態ｓ、Ｖ（ｓt）は、状態ｓtのときのＶ値、Ｖ（st+1）は、状態st+1のときのＶ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える、を意味する。本実施例では、Ｖ（ｓ）は、Ｖ（x，ｙ）の２次元配列である（（ｘ、ｙ）は、教育エージェントの中心座標である）。）
なる式にしたがって、前記教育エージェントがＶ値を更新する、第１のＶ値更新工程が含まれる、階層型エージェント学習方法が提供される。
【００１４】
本発明の別の特徴によれば、人間またはロボットたる教育エージェントと、コンピュータによって機能する、少なくとも、学習エージェント、および中間エージェントを含み、所定の空間位置に存在する各エージェントの認識する時刻と、客観的な時刻との間にずれが存在する、システムにおいて、各エージェントが自律的に学習することによって、前記学習エージェントをスタート位置からゴール位置まで制御する方法であって、前記学習エージェントが環境を観測する環境観測工程（2715）と、前記学習エージェントが、前方に障害物が存在するか否かを判断する障害物確認工程（2717）と、前記障害物確認工程で、障害物が存在すると判断された場合には、外部環境または教育エージェントがマイナスの報酬を前記学習エージェントに与える、第１の報酬更新工程（2719）と、前記障害物確認工程で、障害物が存在すると判断された場合には、前記第１の報酬付与工程の後に、さもなければ前記障害物確認工程の後に、前記学習エージェントが強化学習を行う第１の強化学習実行工程（2721）と、前記学習エージェントが、移動する方向を決定する意思決定工程（2723）と、前記学習エージェントが、前記意思決定工程で決定された移動量で行動を採る、行動実行工程（2725）と、前記行動の結果、教育エージェントから、前記学習エージェントがマイナスの報酬を受けたか否かを前記学習エージェントが、判断する、ペナルティー判断工程（2727）と、前記学習エージェントが前記マイナスの報酬を受けた場合に、環境として認識される人またはロボットたる教育エージェントからの、既に設定されていた前記学習エージェントの有する報酬値に前記マイナスの報酬値の入力を促す、第２の報酬更新工程（2729）と、  前記ペナルティー判断工程で、前記学習エージェントが、マイナスの報酬を受けた場合には、前記報酬更新工程の後に、さもなければ前記ペナルティー判断工程の後に、前記学習エージェントが強化学習を行う第２の強化学習実行工程（2731）と、前記学習エージェントが、ゴールに到達したか否かを判断する、ゴール到達判断工程（2737、2735）と、前記学習エージェントがゴールに到達していない場合、以上の工程を所定の回数反復し、その後にゴールに到達していない場合に、前記中間エージェントにより、前記第１の報酬更新工程、および、前記第２の報酬更新工程で、前記学習エージェントに報酬を与えるタイミングを変更する、報酬更新ルール変更工程（2741）と、前記学習エージェントが、履歴から学習する、履歴学習工程（2745）と、が含まれることを特徴とする、階層型エージェント学習方法が提供される。
【００１５】
さらに、前記意思決定工程（2723）に、学習エージェントがＱテーブルの値を観測する、Ｑテーブル観測工程と、greedy方策に従って、学習エージェントがＱ値の最も高い行動のみを選択する、行動選択工程と、が含まれる、階層型エージェント学習方法が提供される。
【００１６】
また、別の好ましい態様によれば、前記行動実行工程（2725）に、学習エージェントを所定の角度だけ回転させる、回転工程と、前記回転終了後、前記学習エージェントを所定の移動量だけ進行させる、移動工程と、が含まれる、階層型エージェント学習方法が提供される。
【００１７】
更に別の好ましい態様によれば、前記第１の強化学習実行工程（2721）、および／または、第２の強化学習実行工程（2731）に、Ｑ値をｔp＜ｔ＜ｔnの範囲で、
Ｑ（ｓ，ａ）←（１−α）Ｑ（ｓ，ａ）＋α[ｒ＋γ・ｍａｘa’・Ｑ（ｓt+1，ａt+1）]
（ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。maxa'は、次に取ることが可能な全ての状態、行動、の対において最もＱ値が最大になるような行動を選択することを意味する。maxa'Q(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対においてＱ値が最大となるような行動ａを取ったときのＱ値である。）なる式に従って更新する、Ｑ値更新工程と、が含まれる、階層型エージェント学習方法が提供される。
【００１８】
更に別の好ましい態様では、報酬更新ルール変更工程（2741）に、Ｑ値の時間的更新範囲ｔp、ｔnを照合する、時間的更新範囲照合工程と、ｔp←ｔp−ｉ，ｔn←ｔn＋ｊ
（ここで、ｉ,jは正の整数とし、tp<tnを満たす。）なる式に基づいて前記パラメータｔp、ｔnを加減することによって、更新範囲を変更する、更新範囲変更工程と、が含まれる、階層型エージェント学習方法が提供される。
【００１９】
更に別の好ましい態様では、前記履歴学習工程（2745）に、前記学習エージェントに対する前記マイナスの報酬が入った状態、行動、の対、の時刻ｔを、前記中間エージェントが照合する、時刻照合工程と、前記学習エージェントが一度もゴールに到達しなかったかを、前記中間エージェントが判断する、ゴール到達判断工程と、前記ゴール到達判断工程で、一度もゴールに到達しなかったと判断された場合に、前記中間エージェントが、現在の試行で更新された前記学習エージェントが持つＱ値を、一つ前の試行開始時の状態に戻す、第１のＱ値復帰工程と、前記ゴール到達判断工程で、過去にゴールに到達したと判断された場合に、前記中間エージェントが、現在の試行で更新された前記学習エージェントが持つＱ値を、直近にゴールに到達した試行終了後のＱ値の状態に戻してから、前記報酬更新ルール変更工程でで変更された新たな更新ルールで、次の試行のQ値を更新する第２のＱ値復帰工程と、前記第１または第２のＱ値復帰工程の後に、
Ｑ（ｓ，ａ）←（１−α）Ｑ（ｓ，ａ）＋α[ｒ＋γ・ｍａｘa’・Ｑ（ｓt+1，ａt+1）]
（ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。maxa'は、次に取ることが可能な全ての状態、行動、の対において最もＱ値が最大になるような行動を選択することを意味する。maxa'Q(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対においてＱ値が最大となるような行動ａを取ったときのＱ値である。）
なる式に従って、前記学習エージェントが、Ｑ値を、更新されたｔｐ＜ｔ＜ｔｎの範囲で更新する、Ｑ値更新工程と、が含まれる、階層型エージェント学習方法が提供される。
【００２０】
本発明の別の特徴によれば、コンピュータによって機能する、少なくとも、教育エージェント、学習エージェント、および中間エージェントを含み、所定の時刻における、各エージェントの認識する位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅と、客観的な各エージェントの位置、各エージェント自身の大きさ、および、学習エージェントが通過可能な道幅、との間にそれぞれ、ずれが存在し、各エージェントが自律的に学習することによって、前記学習エージェントをスタート位置からゴール位置まで制御するシステムであって、前記学習エージェントが、自己が採るべき行動を意思決定する学習エージェント意思決定手段と、前記学習エージェントの意思決定を前記学習エージェントが、前記中間エージェントに送る学習エージェント行動送信手段とを有し、前記教育エージェントが、自己が採るべき行動を意思決定する教育エージェント意思決定手段と、前記教育エージェントの意思決定を、前記教育エージェントが、前記中間エージェントに送る行動送信手段と、を有し、前記中間エージェントが、前記学習エージェントの意思決定と前記教育エージェントの意思決定を同じかどうかを判断する意思決定手段と、前記学習エージェントの意思決定と前記教育エージェントの意思決定が同じ場合には、前記学習エージェントが意思決定した採るべき行動を前記学習エージェントに送り、そして、前記学習エージェントの意思決定と前記教育エージェントの意思決定が異なる場合には、前記中間エージェントが規則に従って、採るべき新たな行動を、前記学習エージェントに送る行動指示手段と、を有し、前記学習エージェントが更に、前記採るべき行動を実行する、行動実行手段を有し、前記学習エージェント、前記中間エージェント、前記教育エージェントが更に、それぞれ、前記学習エージェントがゴールに到達したか否かを判断する、ゴール到達判断手段を有し、前記学習エージェントおよび前記教育エージェントが更に、前記学習エージェントが指定されたステップ数内にゴールに到達していない場合、それぞれ、前記学習エージェント及び前記教育エージェントが強化学習を行う、学習エージェント強化学習実行手段および教育エージェント強化学習実行手段を有する、階層型エージェント学習システムが提供される。
このようにすることで、評価信号に空間的あいまいさが含まれる系に対して、あいまいさを吸収することが可能となる。更に、学習エージェント強化学習実行工程（1180）および教育エージェント強化学習実行工程（1180）は、後述のＱ-learningやV-learningのみならず、探索木、人工ニューラルネット、遺伝的アルゴリズム等の現在利用可能な全ての学習方法が利用可能である。
【００２１】
更に、前記学習エージェント意思決定手段が、前記各学習エージェントが、設定された観測範囲で自分自身が持っているＱ値テーブルの値を観測する、学習エージェントＱ値テーブル値観測手段と、前記学習エージェントが、確率（１−ε）でＱ値の最も高い行動方向を選択し、確率εでランダムな行動方向を選択する、行動選択手段と、前記中間エージェントによって合成された、前記各学習エージェントの選択した行動の方向を、学習エージェント全体の選択した行動の方向とする、行動合成手段、を有する、階層型エージェント学習システムが提供される。
このようにすることで、学習機構として実績のあるＱ−kearningを用いて、最もゴール到達の可能性の高い経路を容易に探索できる。
【００２２】
また別の好ましい態様によれば、前記教育エージェント意思決定手段が、前記教育エージェントが、設定された観測範囲で自分自身が持っているＶ値テーブルの値を観測する、教育エージェントＶ値テーブル値観測手段と、前記教育エージェントが、確率（１−ε）でＶ値の最も高い行動方向を選択し、確率εでランダムな行動方向を選択する、行動選択手段と、を有する、階層型エージェント学習システムが提供される。
このようにすることで、学習機構として実績のあるＶ−kearningを用いて、最もゴール到達の可能性の高い経路を容易に探索できる。
【００２３】
別の好ましい態様によれば、前記行動指示手段が、教育エージェントが示した行動の中で、最も高いＱ値の学習エージェントの行動を、前記中間エージェントが選択する、第１の行動生成手段と、所定の試行回数後にゴールに到達していない場合には、前記学習エージェントの示す方向とＱ値を第１のベクトルとし、教育エージェントが示す方向とＶ値を第２のベクトルとし、前記中間エージェントが第１および第２のベクトルを合成した方向を選択する、第２の行動生成手段と、を有する、階層型エージェント学習システムが提供される。
このようにすることで、教育エージェントと学習エージェントの学習成果の双方を有効に利用して効率的な経路探索が可能である。
【００２４】
また、別の態様によれば、前記学習エージェント強化学習実行手段が、各学習エージェントがゴールに到達した場合に、各学習エージェント以外のエージェントおよび外部環境からの各学習エージェントへの第１の所定の報酬を受け取る、第１の報酬受領手段と、各学習エージェントがゴールに到達せず、かつ、障害物に衝突しなかった場合に、各学習エージェント以外のエージェントおよび外部環境からの各学習エージェントへの第２の所定の報酬を受け取る、第２の報酬受領手段と、各学習エージェントがゴールに到達せず、かつ、障害物に衝突した場合に、各学習エージェント以外のエージェントおよび外部環境からの各学習エージェントへの第３の所定の報酬を受け取る、第３の報酬受領手段と、前記各報酬付与手段によって報酬を受け取った後に、それぞれの報酬値に応じて、前記各学習エージェントが、観測した全てのＱ値を更新する、Ｑ値更新手段、を有する、階層型エージェント学習システムが提供される。
【００２５】
更に別の態様によれば、前記教育エージェント強化学習実行手段が、各学習エージェントがゴールに到達した場合に、外部環境からの教育エージェントに対する第１の所定の報酬を受け取る、第１の報酬受領手段と、各学習エージェントがゴールに到達せず、かつ、障害物に衝突しなかった場合に、外部環境からの、教育エージェントに対する第２の所定の報酬を受領する、第２の報酬受領手段と、各学習エージェントがゴールに到達せず、かつ、障害物に衝突した場合に、外部環境からの、教育エージェントに対する第３の所定の報酬を受領する、第３の報酬受領手段と、前記各報酬付与手段によって報酬を受け取った後に、前記教育エージェントがそれぞれの報酬値に応じて、観測した全てのＶ値を更新する、Ｖ値更新手段、を有する、階層型エージェント学習システムが提供される。
【００２６】
また、別の態様によれば、前記Ｑ値更新手段が、
Q(s,a)←(1-α)Q(s,a)+α[r+γmaxa'Q(st+1,at+1)]
（ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1であり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与る、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。maxa'は、次に取ることが可能な全ての状態、行動、の対において、最もＱ値が最大になるような行動を選択することを意味する。ｍａｘa'Ｑ(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対において、Ｑ値が最大となるような行動ａを取ったときのＱ値である。）
なる式にしたがって、前記学習エージェントが、Ｑ値を更新する、第１のＱ値更新手段を有する、階層型エージェント学習システムが提供される。
【００２７】
更に別の好ましい態様によれば、前記Ｖ値更新手段が、
V(st)←V(st)+α[rt+γV(st+1)-V(st)]
（ここで、ｓtは時刻ｔにおける状態ｓ、st+1は、時刻ｔ＋１における状態ｓ、Ｖ（ｓt）は、状態ｓtのときのＶ値、Ｖ（st+1）は、状態st+1のときのＶ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える、を意味する。本実施例では、Ｖ（ｓ）は、Ｖ（x，ｙ）の２次元配列である（（ｘ、ｙ）は、教育エージェントの位置である）。）
なる式にしたがって、前記教育エージェントがＶ値を更新する、第１のＶ値更新手段を有する、階層型エージェント学習システムが提供される。
【００２８】
本発明の別の特徴によれば、人間またはロボットたる教育エージェントと、コンピュータによって機能する、少なくとも、学習エージェント、および中間エージェントを含み、所定の空間位置に存在する各エージェントの認識する時刻と、客観的な時刻との間にずれが存在する、システムにおいて、各エージェントが自律的に学習することによって、前記学習エージェントをスタート位置からゴール位置まで制御するシステムであって、前記学習エージェントが、環境を観測する環境観測手段と、前方に障害物が存在するか否かを判断する障害物確認手段と、前記障害物確認手段で、障害物が存在すると判断された場合には、外部環境または教育エージェントからのがマイナスの報酬を前記学習エージェントが受け取る、第１の報酬更新手段と、前記障害物確認手段で障害物が存在すると判断された場合には前記第１の報酬の受け取りの後に、さもなければ前記障害物が存在すると確認された後に、前記学習エージェントが強化学習を行う第１の強化学習実行手段と、移動する方向を決定する意思決定手段と、前記意思決定手段で決定された移動量で行動を採る、行動実行手段と、前記行動の結果、教育エージェントから、マイナスの報酬を受けたか否かを判断する、ペナルティー判断手段と、前記学習エージェントが前記マイナスの報酬を受けた場合に、環境として認識される人またはロボットたる前記教育エージェントからの、既に設定されていた前記学習エージェントの有する報酬値に前記マイナスの報酬値の加算を促す、第２の報酬更新手段と、前記ペナルティー判断手段で、マイナスの報酬を受けたと判断した場合には前記第２の報酬更新手段によるマイナスの報酬値の加算の後に、さもなければ前記ペナルティー判断手段による判断の後に、前記学習エージェントが強化学習を行う第２の強化学習実行手段と、前記学習エージェントが、ゴールに到達したか否かを判断する、ゴール到達判断手段と、を有し、前記教育エージェントが、前記学習エージェントがゴールに到達していない場合、以上の手段による制御を所定の回数反復し、その後にゴールに到達していない場合に、前記中間エージェントにより、前記第１の報酬更新手段、および、前記第２の報酬更新手段で、前記学習エージェントに報酬を与えるタイミングを変更する、報酬更新ルール変更手段を有し、更に、前記中間エージェントが、前記学習エージェントが過去にゴールに到達したか否かの判断にしたがって、次の試行で用いるＱ値を準備する、履歴更新準備手段を有し、前記学習エージェントが、前記履歴更新準備手段によって得られたＱ値を用いて、Ｑ値を更新する履歴更新手段を有する、ことを特徴とする、階層型エージェント学習システムが提供される。
【００２９】
この場合、前記意思決定手段が、学習エージェントがＱテーブルの値を観測する、Ｑテーブル観測手段と、greedy方策に従って、学習エージェントがＱ値の最も高い行動のみを選択する、行動選択手段と、を有する、ようにしても良い。
【００３０】
別の好ましい態様によれば、前記行動実行手段が、学習エージェントが所定の角度だけ回転する、回転手段と、前記回転終了後、前記学習エージェントを所定の移動量だけ進行させる、移動手段と、を有する、階層型エージェント学習システムが提供される。
【００３１】
また別の態様によれば、前記第１の強化学習実行手段、および／または、第２の強化学習実行手段が、Ｑ値をｔp＜ｔ＜ｔnの範囲で、
Ｑ（ｓ，ａ）←（１−α）Ｑ（ｓ，ａ）＋α[ｒ＋γ・ｍａｘa’・Ｑ（ｓt+1，ａt+1）]
（ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。maxa'は、次に取ることが可能な全ての状態、行動、の対において最もＱ値が最大になるような行動を選択することを意味する。maxa'Q(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対においてＱ値が最大となるような行動ａを取ったときのＱ値である。）
なる式に従って更新する、Ｑ値更新手段、を有する、階層型エージェント学習システムが提供される。
【００３２】
更に別の態様によれば、報酬更新ルール変更手段が、Ｑ値の時間的更新範囲ｔp、ｔnを照合する、時間的更新範囲照合手段と、
ｔp←ｔp−ｉ，ｔn←ｔn＋ｊ
（ここで、ｉ,jは正の整数とし、tp<tnを満たす。）なる式に基づいて前記パラメータｔp、ｔnを加減することによって、更新範囲を変更する、更新範囲変更手段と、を有する、階層型エージェント学習システムが提供される。
【００３３】
また別の態様によれば、前記履歴更新準備手段が、前記学習エージェントに対する前記マイナスの報酬が入った状態、行動、の対、の時刻ｔを、前記中間エージェントが照合する、時刻照合手段と、前記学習エージェントが一度もゴールに到達しなかったかを、前記中間エージェントが判断する、ゴール到達判断手段と、前記ゴール到達判断手段で、一度もゴールに到達しなかったと判断された場合に、前記中間エージェントが、現在の試行で更新された前記学習エージェントが持つＱ値を、一つ前の試行開始時の状態に戻す、第１のＱ値復帰手段と、前記ゴール到達判断手段で、過去にゴールに到達したと判断された場合に、前記中間エージェントが、現在の試行で更新された前記学習エージェントが持つＱ値を、直近にゴールに到達した試行終了後のＱ値の状態に戻してから、前記報酬更新ルール変更手段で変更された新たな更新ルールで、次の試行のQ値を更新する第２のＱ値復帰手段と、を有し、前記履歴更新手段が、前記第１または第２のＱ値復帰手段による処理の後に、
Ｑ（ｓ，ａ）←（１−α）Ｑ（ｓ，ａ）＋α[ｒ＋γ・ｍａｘa’・Ｑ（ｓt+1，ａt+1）]
（ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い、rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。maxa'は、次に取ることが可能な全ての状態、行動、の対において最もＱ値が最大になるような行動を選択することを意味する。maxa'Q(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対においてＱ値が最大となるような行動ａを取ったときのＱ値である。）なる式に従って、前記学習エージェントが、Ｑ値を、更新されたｔｐ＜ｔ＜ｔｎの範囲で更新する、Ｑ値更新手段、を有する、階層型エージェント学習システムが提供される。
【００３４】
なお、本出願において使用する用語の定義を以下に示す。
（表１）  用語の定義
2005056185.tif 000003
2005056185.tif 000004
2005056185.tif 000005
【００３５】
（表１の「用語の定義」における参考文献）
[Sutton98] Sutton、 R． S． & Barto、 A．:Reinforcement Learning: An Introduction、 A Bradford Book、 The MIT Press (1998)．
[Watkins92] Watkins、 C． J． C． H． and Dayan、 P．:Technical Note: Q-Learning、 Machine Learning 8、 pp． 279--292 (1992)．
【発明の効果】
【００３６】
本発明により、学習型オンライン制御システムにおいて、評価信号に時間的、空間的あいまいさが含まれる系に対して、あいまいさを吸収することが可能なシステムおよび制御方法を提供することができる。
【発明を実施するための最良の形態】
【００３７】
以下、図面を参照しつつ、本発明の実施の形態を説明する。
システムを局所的な学習をする学習エージェント、大局的な学習をする教育エージェント、その間をとりもつ中間層の3層に分け、各層にエージェントが存在する（図１）。ここでいうエージェントとは、自分以外のすべてを環境とし、環境を認識することができるセンサを持ち、環境から与えられる信号と評価から、自己評価が可能なものとする。
図１のように、教育エージェントは、学習エージェントの行動を観測し、学習エージェントに対して評価値という形式で、指示を出す。教育エージェントは、逐次的・大局的な学習を行う点に特徴がある。
これに対して、学習エージェントは、教育エージェントから与えられた評価値を元に行動し、局所的な学習を行う点に特徴がある。
中間層のエージェントは、教育エージェントが出す評価値と学習エージェントがその指示に従って行動した時の自己評価値を観測し、評価値のずれが大きいため目的が達成できないと判断した場合に、教育エージェントの評価値と学習エージェントの評価値の整合性をとることにより、目的達成を図る。ここでは、評価値のずれを評価系におけるあいまいさと定義し、時間的なあいまいさと空間的なあいまいさに分類する。
【００３８】
ここで、空間的なあいまいさとは、図２のように、学習器にとっての、ある空間位置ｓにおける、ある時点ｔでの関数値ｆ*（ｔ，ｓ）が、学習器の認識する位置と、客観的な正確な位置および形状とのズレの存在のために、理論値とは異なる、ということである。
同様に、時間的あいまいさとは、図３のように、学習器（エージェント内部に構築されている学習機構のこと。エージェントにはアクチュエータやセンサを含むが、学習器はそれらの情報を入出力として、意思決定を行うもの）にとっての、ある空間位置ｓにおける、ある時点ｔでの関数値ｆ*（ｔ，ｓ）が、学習器の認識する時刻と、外部の時刻とのズレの存在のために、理論値とは異なる、ということである。ここでいう「理論値」というものは、学習器にとって最も効率良く学習ができる更新式と捉えられる。この「更新式」をそのまま使えないことが「あいまいさ」と言い替えることができる。
これらの”あいまいさ”の存在により、外部環境との相互作用から自己の位置および行動を評価して学習する学習器の学習が、所望の過程によって改善されない場合が存在する。本発明はこのような”あいまいさ”を克服して、学習器に対して所望の学習を行わせることに関する。
空間的なあいまいさを含む問題として、経路探索を含むピアノ問題をとりあげる。また、時間的なあいまいさを含む問題として、マンマシンインタフェースをとりあげ、それぞれについて詳しく説明する。
【実施例１】
【００３９】
空間的なあいまいさを含む問題例： 経路探索を含む姿勢制御問題（ピアノ問題）
空間的なあいまいさを含む問題として、経路探索を含むピアノ問題をシミュレートした例をとりあげる。
ピアノ問題とは、物体（例えばピアノ）を部屋の中のスタート地点から部屋の外の目的地に出すために、物体の回転および平行移動などの物体の姿勢、および経路探索を扱う問題である。本実施例では、この経路探索を含むピアノ問題で、あらかじめ設定されたスタートからゴールまで、エージェント自身が障害物回避を行いながら到達する。各エージェントにとってゴールの位置および環境は未知である。
実環境への応用を目的としているので、各エージェントは、自分自身の形状や大きさを知らない。但し、学習エージェントは自身の大きさ、および、自己のセンサが検知できる範囲内の環境は把握している。これは、ロボットの正確な大きさや形状を測定することが困難であるということを念頭に置いている。また、実環境において、環境を正確に知ることはほぼ不可能なためである。
環境には、通行可能な領域と通行不可能な障害物が存在する。図４で黒い部分が障害物で、白い部分が通行可能領域となる。口の中のＳ点41がスタート地点であり、エージェントの中心座標がそこに直角に置かれる。Ｇ点43がゴールとなる。
教育エージェント45の形は20×40ピクセルの長方形とする。教育エージェントを駆動するキャスターに相当するのが、障害物回避を学習した学習エージェント（47ａ〜47ｄ）である。
学習エージェントは4体おり、長方形（教育エージェント）（図４の45に相当）の四つ角に配置された、それぞれ、直径4ピクセル（シミュレーション画像の１画素＝１ピクセルである）の円形とする（図５の53ａ〜53ｄ）。学習エージェントの移動によって、教育エージェント51（図４の45に相当）および学習エージェント（53ａ〜53ｄ）（図４の47ａ〜47ｄに相当）の全体が移動する。学習エージェント（53ａ〜53ｄ）は衝突回避と姿勢制御を行う。
【００４０】
ピアノ問題における学習エージェント（53ａ〜53ｄ）は、キャスター付きのピアノを教育エージェント51とすると、キャスターに相当する部分である。キャスターにモータと意思決定機構をつけて、各自が勝手な方向に行こうとするが、各々が長方形（教育エージェント51）の四つ角に配置されているため、自分が行きたい方向に自由には行けない。しかし、学習を繰り返すことによって、段々と各キャスターが協調行動を取るようになる。この機構はＱ−learningによって行われる。移動方向の物理条件もプログラミング上で設定される。
学習エージェント（53ａ〜53ｄ）は、その「状態ｓ」および「行動ａ」、を持つが、状態sは自分のセンサ値(5方向、6段階)（図5）、各エージェントのセンサ（合計４つ）が反応しているかどうか(反応している＝１，していない＝０、の2段階)の8状態、行動aは4方向とする。本実施例における上記Ｑ−learningでは、各学習エージェントの通しナンバー、「状態ｓ」および「行動ａ」を配列化した、Q[agent_num]([s0][s1][s2][s3][s4][other],[action_num]) =Ｑ(s,a)を用いて学習を行う。ここで、ｓ（状態）は各学習エージェントのセンサ値（[s0][s1][s2][s3][s4]）および、圧縮した自分以外の学習エージェントのセンサ値[other]であり、行動は自分の行動であり、[action_num]に相当する。つまり、Q[agent_num]([s0][s1][s2][s3][s4][other],[action_num])の８次元配列である。なお、各学習エージェントは自分のセンサレンジは５つのレンジを持っているが、自分以外のエージェントから受け取るセンサ情報は、そのエージェントのセンサに反応があったかどうか、すなわち、０か１かだけの情報となる。これが”圧縮”の意味である。agent_numは４体のアクチュエータ付ローラが存在するため４つの値を取り、action_numは行動方向が４方向なので、４つの値を取る。
[s0][s1][s2][s3][s4]のそれぞれは、５段階のセンサ感度を持っているので、５つの値を取る。
[other]については０か１の２値である。
【００４１】
教育エージェント51は、経路探索を行い、現在いるところからゴールまでの方向を示す（部屋の外までの経路を学習する）部分である。教育エージェント51は自身の大きさを把握していないが、探索した環境の履歴を学習という形で保存することは可能である。教育エージェント51が示す方向は、8方向である。各学習エージェント（53ａ〜53ｄ）が実際に移動する方向は4方向であるが、４個の学習エージェント（53ａ〜53ｄ）の力の合成により移動可能な方向は256方向となる。教育エージェント51内部には、強化学習の一手法であるTD-learningを構築する。本実施例におけるTD-learningでは、各教育エージェント51の「状態ｓ」を配列化した、Ｖ（ｓ）を用いて学習を行う。ここで、教育エージェント51の状態sはシミュレーション環境の絶対座標(問題空間に依存する)である。本実施例では、状態ｓは、移動平面上の座標（x，y）の２次元量である。教育エージェント51の行動aは、移動すべき、8方向のいずれかを学習エージェント（53ａ〜53ｄ）に示すことである。
教育エージェント51は、自分自身の形状を知らないために、一見通過可能な経路を示す。しかし、経路の幅が狭すぎるために、経路は存在しているが、通過できないという現象がおきる。自身の位置とゴールの間に障害物がある場合、教育エージェント51が示す方向と、学習エージェント（53ａ〜53ｄ）が示す方向が異なる。
【００４２】
このように、物体の大きさが実際の値と教育エージェントの値と異なる場合、この値の差を空間的なあいまいさ、と定義する。空間的なあいまいさが引き起こす問題を解決するために、中間層のエージェントが、簡単なルールをもとに、解決をはかる。経路探索にも学習を採用した。
つまり、中間エージェント（図６における61）の役割は、学習エージェント63と教育エージェント65の示す方向が異なる場合に、中間層のエージェント61が仲立ちをし、目的を達成することである。
このような場合に、中間エージェント61はあらかじめ設定されたルールに従って、学習エージェント63に移動方向を示す。中間エージェント61内部には、学習エージェント63が示す方向と教育エージェント65が示す方向の整合性をとるためのルールが構築されている。ルールは複数設定され、どのルールを適用するか、ルールに必要なパラメータを自律的に適応する。ここでは、（１）教育エージェント 優先した方向の指示、（２）学習エージェントと教育エージェントの示す方向のベクトル合成とする、の２つのルールを切り替えるタイミングをパラメータとしてもつ。
なお、本実施例（シミュレーション）では、教育エージェント、学習エージェント、中間エージェントの全てを、コンピュータおよびソフトウェアで実現しており、人間は介在しない。この点で人間が教育エージェントの役割を担う、実施例２とは異なる。
空間的なあいまいさを含む問題に対して、階層型エージェントシステムは有効である。階層型に機能分化させることにより、各階層での機構が単純化され、変更が容易となる。また、一部の層だけ変更しても、問題解決が可能であることが実験により示されている。
【００４３】
以上のような各エージェントに関する設定条件を前提として、以下に説明するフローチャートのアルゴリズムに従ってシミュレーション実験を行った結果を図７および図８に示す。シミューレート環境は、スタートからゴールまでの経路がいくつかある中で、より距離が短い経路は、道幅がせまいために通過できず、遠回りしなくてはゴールにたどり着かないような環境を用意した。
図７Ａ〜Ｃでは、（１）教育エージェントの判断を優先した、方向の指示、図７Ｄ〜Ｆでは（２）学習エージェントと教育エージェントの示す方向のベクトル合成とする、のルールを採用した場合を示す。ここで、episodeは、試行の回数である。
ここでは、（１）のルールの方が、容易にゴールに到達している。
参考として、図８は、教育エージェントのエージェント構造を、本実施例のＴＤ学習とは異なる方法に変えた場合との比較を示したものである。図８では教育エージェントがＴＤ学習を行った場合（左）とｔｒｅｅによる経路探索（右）を行った場合とを比較した経路を表示している。
図９−Ａ、９Ｂは、経路探索が改善される様子を示している。図９−Ａでは、教育エージェントが、スタートからゴールに向かって、近い経路である図９−Ａの左側にある細い道（経路913）を見つけるのであるが、実際に学習エージェント901が行動をとって通過しようとしたときに、道幅が狭くて通過できない。
そこで、教育エージェントが経路探索を再び行う。図９−Ｂでは、図９−Ａで通行不可であった部分を「通行不可領域」909として学習し、次回からはそこは探索対象からはずし、ゴール907に到達している。
次に同様に参考として、図１０−Ａを参照する。これは、図８（Ｂ）（Ｃ）におけるように、教育エージェントの内部機構に探索木を用いた場合の説明である（本実施例の、教育エージェントがＴＤ学習を行う場合とは異なる）。ここでは、障害物1005に対して探索木を伸ばし、障害物1005に当った場合は、次から探索対象から外して、ゴール1003に到達している。この「探索対象から外す」操作を詳しく説明する図１０−Ｂを参照すると、枝1010が障害物に当った場合、「通行不可」1012の場所は経路としないこととしている。そして、ゴールできる経路を発見するまでは、「通行不可」1012も障害物と考え、重ねて「通行不可」1012を増やしている。これによって、不用な場所の探索を行わなくなる。
再度図７に戻る。図７の（Ａ）から（Ｃ）までに示されるように、中間層のエージェントは、教育エージェントが示す方向の中から、もっともQ値の高い学習エージェントの示す方向を採用するという簡単なルールにも関わらず、物体は、姿勢制御を繰り返し、遠回りをして、ゴールに到達しているのがわかる。よって、このピアノ問題を実環境で行うことができれば、キャスターつきの動かしたい物体に動力部をつけることによって、その物体が自律的に障害物を回避し、指定された場所まで勝手に移動するということが可能となり、引越しや部屋の模様替えの際に、人が重い物を運ぶ必要がなくなる。
【００４４】
ここで、以下、ピアノ問題についてのエージェント学習方法を、フローチャートを用いて説明する。
[メインフロー]（図１１）
（１）S1100においてすべてのパラメータが初期化される。ここでのパラメータを以下に示す。
（表２）  パラメータの一覧
2005056185.tif 000006
（２）S1110において、すべてのエージェントがスタート地点に戻る(あるいは設置される)。ここで、スタート地点とは、あらかじめ設定されたある一点のことで、この一点を中心にして、同じ角度に設置される。スタート地点に戻った段階で、ステップ数sはゼロに、エピソード数episodeは1つ加算される。
（３）S1120において学習エージェントはQ-Learningを用いて、教育エージェントはTD-Learningを用いて、それぞれ次に進みたい方向を決定する(意思決定)。
（４）S1130で、学習エージェントがQ-Learningを用いて意思決定した行動、および、教育エージェントがTD−learningを用いて意思決定した行動、をそれぞれ中間エージェントに送信する。つまり、中間エージェントは、学習エージェントと教育エージェントの両方からこれから動きたい方向を受信することになる。
（５）S1140において、中間エージェントが受信した学習エージェントの方向と教育エージェントの方向が一致しているかどうかを照合する。
（６）S1150では、学習エージェントと教育エージェントの行動が一致していない場合、中間エージェントが両エージェントの移動したい方向を受け取り、全体が移動する方向を物理法則から計算し、実際に行動をとる学習エージェントに送信する。ここで言う「物理法則」の意味を簡単に説明する。
【００４５】
図１２を参照頂きたい。本実施例におけるシミュレーションでは、形の変わらないものを移動するので、学習エージェント（1201ａ〜ｄ）が全部中心に向かって行動を選択すると、全体としては動かなくなる。また、学習エージェントがすべて同じ方向に行動選択した場合は、全体としてその方向に移動する。しかし、その中の1つが、違う方向を選択した場合には、全体的に回転しながらちょっと移動する、という行動が取られる。この全体の行動は、シミュレーションで設定した、エージェントの重さ、摩擦、力の合成等による物理法則にのっとって計算しなければ、どのくらい回転してどのくらいの移動距離をとるのかが計算できない。つまり、「物理法則」とは、シミュレーションでエージェントの行動を計算するために用いるエージェントの重さ、摩擦、力の合成等の法則を意味する。
【００４６】
ここで、図１１に戻る。
（７）S1160で、S1140で中間エージェントが受信した、学習エージェントの方向と、教育エージェントの方向が一致している場合は、中間エージェントは何もせず、学習エージェントが意思決定した方向に移動する。一致していない場合は、中間エージェントが示す方向に移動する。移動距離は、設定された1ステップ分とする。移動後に、ステップ数を１つ加算する。
（８）S1170では、ステップ数が設定された最大ステップ数を超えているかどうかを判定する。
（９）S1180で、ステップ数が最大ステップ数よりも少ない場合各エージェントは環境から報酬あるいはペナルティを獲得することにより、学習を行う。4対の各学習エージェントはQ-Learningを用いてQ値を更新し、1体の教育エージェントはTD-Learningを用いてV値を更新する。
（１０）S1190で、ゴールに到達したかどうかの判定を行う。
（１１）S1195で、エピソードが終了したかどうかの判定を行う。
【００４７】
[各学習エージェントが意思決定するフロー：Ｓ1120に対応]（図13）
（１）S1310で、各学習エージェントが設定された観測範囲で、自分達自身が持っているQ-tableのQ値を観測する。
（２）S1330で、方策にしたがって学習エージェントが行動を選択する。ここではε-greedy方策を用いる。
（３）S1350で、各エージェントが4方向の中から１つ行動を選択する。力の合成によって、全体としての移動方向が決定する。
【００４８】
[教育エージェントが意思決定するフロー：Ｓ1120に対応]（図14）
（１）S1410で、教育エージェントが設定された観測範囲で、自分達自身が持っているV-tableのV値を観測する。
（２）S1430で、方策にしたがって教育エージェントが行動を選択する。ここではε-greedy方策を用いる。
【００４９】
[中間エージェントが新たな行動を生成するフロー：Ｓ1150に対応]（図15）
（１）S1510で、ルールに従って行動を生成する。ここでは、一つめに教育エージェント優先型ルールを採用する。教育エージェントは8方向の中から1方向を示す。角度45度の幅の中で、最も高いQ値の学習エージェントの行動を選択する。なお、ここでいうルールというのは、教育エージェント優先方にするのか、ベクトル合成をとるのか、という意味でのルールである。
（２）S1530で、あるエピソード数が経過した後に、ゴールに到達しているかどうかの判定を行う。
（３）S1550で、到達していない場合は、新たなルールを用いる。ここでは、学習エージェントと教育エージェントのベクトル合成を用いる。学習エージェントが示す方向とQ値を１つのベクトルとし、教育エージェントが示す方向とV値をもう１つのベクトルとし、ベクトル合成した方向を選択する。
【００５０】
[各学習エージェントが学習するフロー：Ｓ1180に対応]（図16）
（１）S1610で、移動したあとでゴールに到達したかどうかの判定する。
（２）S1620で、到達していない場合、衝突したどうかの判定を行う。
（３）S1630で、ゴールに到達した場合、報酬1を得る。
（４）S1640で、ゴールに到達しておらず、衝突もしていない場合、報酬0を得る。
（５）S1650で、衝突した場合、報酬 1/Max_step(ペナルティ)を得る。
（６）S1660で、Q-LearningにおけるQ値の更新式にしたがって、観測した範囲のすべてのQ値を更新する。Ｑ値の更新式は、
（数１）
Q(s,a)←(1-α)Q(s,a)+α[r+γmaxa'Q(st+1,at+1)]
で表される。
ここで、ｓは状態、ａは行動、Ｑ（ｓ，ａ）は、状態がｓ、行動がａのときのＱ値、αはステップサイズパラメータ、γは割引率、Ｑ（st+1,at+1）は、状態がｓt+1、行動がａt+1のときのＱ値を意味する。「状態がｓt+1、行動がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。
rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与る。α、γの値の範囲は0≦α、γ≦1となり、α=γである必要はない。
maxa'は、次に取ることが可能な全ての状態、行動、の対において、最もＱ値が最大になるような行動を選択することを意味する。ｍａｘa'Ｑ(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対において、Ｑ値が最大となるような行動ａを取ったときのＱ値である。
【００５１】
ここで、式のＱ値更新過程について詳述する。図１７を参照頂きたい。
(s,a)は状態、行動の種類である。この状態のときにこういう行動をとったときのQ値がいくつである、ということをあらわすのがQ(s,a)である。よって(s,a)には便宜上、番号を振り分けているだけで、具体的な値とは厳密には違う。Q値には具体的な値が入る。
今、例えば、状態sが座標（1701、1703、1705）とし、行動ａが上下の2つ（1707〜1717）だとすると、
（数２）
Q[x0][y0][上]＝０、Q[x0][y0][下]=0
Q[x1][y1][上]＝０、Q[x1][y1][下]=0
Q[x2][y2][上]＝０、Q[x2][y2][下]=0
が初期値となる。
[X0][y0]がスタート、[x2][y2]がゴールとする。まずスタートから移動して次に、[x1][y1]に居て、エージェントが下に行ったときにゴールに到達したとすると(矢印1713)、Q(s,a)は上式で更新されるが、[x1][y1][下]のところの更新は、r=1.0が入るので(ｒは報酬である。ゴールに到達したときの報酬r=1と設定している。次の状態の報酬も観測できるので、下という行動をとれば、報酬r=1がもらえる(ゴールに到達する)、ということがわかる。したがってr=1となる。)、ここのQ値を計算すると、
(1-α)Q(s,a)+α[r+γmaxa'Q(st+1,at+1)]において、Q(s,a)=0, maxa'Q(st+1,at+1)=0 なので、単純にQ[x1][y1][下]=αとなり、Q値が上がる。(他はr=0ならば、上記はゼロのまま。)
最初のエピソード終了後の値は、以下のとおりである。
（数３）
Q[x0][y0][上]＝０、Q[x0][y0][下]=0
Q[x1][y1][上]＝０、Q[x1][y1][下]=α
Q[x2][y2][上]＝０、Q[x2][y2][下]=0
Ｑ値を維持したまま、再度スタート地点から試行を開始した場合(つまり次のエピソードにおいて)、[x0][y0]にいるエージェントがまわりのQ値を観測したときに、Q値の一番高い[x1][y1][下]のQ値をmaxa'Q(st+1,at+1)の項に使う。したがって、[x0][y0][下]の値は、
α)Q(s,a)+α[r+γmaxa'Q(st+1,at+1)]において、
Q(s,a)=0, r=0(ゴール以外の状態にある報酬はゼロと設定した。もし、衝突した場合はr=−１/Max_stepの値が入るので、Q値は下がる。)、maxa'Q(st+1,at+1)=αとなるので、Q[x0][y0][下]=α＊αγとなる。
さらに、[x1][y1][下]のときにゴールにまた到達するので、このとき[x1][y1][下]のQ値はαなので、上式でQ(s,a)=αとなる。よって、このエピソード終了時には、
（数４）
Q[x0][y0][上]＝０、Q[x0][y0][下]= α＊αγ
Q[x1][y1][上]＝０、Q[x1][y1][下]=（1-α）＊α+α
Q[x2][y2][上]＝０、Q[x2][y2][下]=0
となり、ゴールに近いところから順にQ値が更新されていく。周りにQ値が全部ゼロの時は、ランダムに行動を選択するしかないが、一度ゴールに到達すると、そこからどんどん学習がすすんで行く。
【００５２】
[教育エージェントが学習するフロー：Ｓ1180に対応]（図１８）
（１）S1810で、移動したあとでゴールに到達したかどうかの判定する。
（２）S1820で、到達していない場合、衝突したどうかの判定を行う。
（３）S1830で、ゴールに到達した場合、報酬1を得る。
（４）S1840で、ゴールに到達しておらず、衝突もしていない場合、報酬0を得る。
（５）S1850で、衝突した場合、報酬 1/Max_step(ペナルティ)を得る。
（６）S1860で、TD-LearningにおけるV値の更新式にしたがって、観測した範囲のすべてのV値を更新する。
更新式は、
（数５）
V(st)←V(st)+α[rt+γV(st+1)-V(st)]
で表される。
ここで、ｓtは時刻ｔにおける状態ｓ、st+1は、時刻ｔ＋１における状態ｓ、Ｖ（ｓt）は、状態ｓtのときのＶ値、Ｖ（st+1）は、状態st+1のときのＶ値、αはステップサイズパラメータ、γは割引率、rtは状態stにおける報酬を意味する。
rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える。α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い。
本実施例では、Ｖ（ｓ）は、Ｖ（x，ｙ）の２次元配列である（（ｘ、ｙ）は、教育エージェントの位置である）。（学習エージェントの座標ではない。教育エージェントは四角。学習エージェントは丸）
【００５３】
Ｖ値の更新の過程は、上述のＱ値のそれと類似する。Ｑ値の場合には「状態」、「行動」の双方が変数となていたが、Ｖ値の場合には「状態」のみが変数となっているために、Ｑ値の場合のＱ(ｓ、下)のみがＶ(ｓ)であると考えれば、Ｖ値が更新される様子が理解できる。
図１９で、
（数６）
V[x0][y0]=0
V[x1][y1]=0
V[x2][y2]=0
が初期値となる。
[X0][y0]（1901）がスタート、[x2][y2]（1903）がゴールとする。まずスタート1901から移動し、偶然ゴール1903であるV[x2][y2]に到達したとする。V(s)は上式で更新されるが、[x2][y2]のところの更新は、r=1.0が入るので(ｒは報酬である。ゴールに到達したときの報酬r=1と設定している。次の状態の報酬も観測できるので、下という行動をとれば、報酬r=1がもらえる(ゴールに到達する)、ということがわかる。したがってr=1となる。)、ここのV値を計算すると、
V(st)←V(st)+α[rt+γV(st+1)-V(st)]において、V(s)=0, V(st+1)=0 なので、単純にV[x2][y2]=αとなり、V値が上がる。(他はr=0ならば、上記はゼロのまま。)  
最初のエピソード終了後の値は、以下のとおりである。
（数７）
V[x0][y0]=0
V[x1][y1]=0
V[x2][y2]= α
V値を維持したまま、再度スタート地点（1901）から試行を開始した場合(つまり次のエピソードにおいて)、[x1][y1]（1905）にいるエージェントがまわりのV値を観測したときに、V値の一番高い[x2][y2]（1903）のV値をV(st+1)の項に使う。したがって、[x1][y1]の値は、
V(st)←V(st)+α[rt+γV(st+1)-V(st)]において、
V(s)=0, r=0(ゴール以外の状態にある報酬はゼロと設定した。もし、衝突した場合はr=−１/Max_stepの値が入るので、V値は下がる。)、V(st+1)=αとなるので、V[x1][y1]=α＊αγとなる。
さらに、[x2][y2]（1903）のときにゴールにまた到達する。このとき[x2][y2]（1903）のV値はαなので、上式でV(s)=αとなる。よって、このエピソード終了時には、
（数８）
V[x0][y0]= 0
V[x1][y1]= α＊αγ
V[x2][y2]=  α+α(1+αγ-α)=2α+α(αγ-α)
となり、ゴールに近いところから順にV値が更新されていく。周りにV値が全部ゼロの時は、ランダムに行動を選択するしかないが、一度ゴールに到達すると、そこからどんどん学習がすすんで行く。
【実施例２】
【００５４】
時間的なあいまいさを含む問題例： Kheperaロボットの行動制御
ここでは、個人に密接に適応するマンマシンインタフェースをとりあげる。
時間的なあいまいさを含む問題のタスクの例としては、寝たきりの患者が、限られた空間内にある欲しい物、例えば薬や水などを、学習エージェント（本実施例ではKheperaロボットだが、本発明はこれに限定されない）に取ってきてもらうというものである（図２０）。ここで対象とする患者は、自分の意志で身体を自由に動かすことが難しい人、 会話でコミュニケーションが取れない人、どこか一箇所の筋肉を自分の意志で動かすことのできる人(眉、指、片腕など)とする。このため従来手法である音声認識は使用することができない。
【００５５】
本実施例では、学習エージェントが、予め設定されたスタートからゴールまで障害物回避を行いながら到達する、という環境を前提とする（図21）。この環境には、通行可能な領域と、通行不可能な障害物が存在する。教育エージェント、中間エージェント、学習エージェント、の全エージェントにとって、ゴールの位置と環境は未知である。オペレータである人（本実施例では教育エージェント）も、ゴールのだいたいの方向は把握しているが、正確な位置は、障害物の陰になって見えないような実験環境で実験を行っている。オペレータも、学習エージェントがゴールに到達したか否かは、環境から教えられる。実際のプログラム上では、ある決められたゴール座標に学習エージェント（Kheperaロボット）が到達したらゴールと報酬を与えるが、このゴールの位置情報はどのエージェントにとっても未知な状態でスタートする。これは環境のみがもっている情報である。欲しいものが何かの影になって、オペレータにとってもはっきりとは確認できない状況が考えられるので、ロボットには自律性が要求される。
教育エージェント（患者）は、学習エージェントの行動を観測し、その行動が不快と感じた時にスイッチを押す。このシステムにおける教育エージェントは患者である。
学習エージェントは、Kheperaロボットであり、内部に強化学習を構築している。
Kheperaロボットは、図２２−Ａに示すように、略円柱形状であり、２個の移動用モータ（同図（ｂ）の2205ａ、ｂ）を持ち、８個の赤外線センサ（同図2203ａ〜ｈ）を有している。移動可能な方向は３６０度方向を４５度ずつ均等に８つに分けた、８方向である（図２２−Ｂの2210）。また、１ステップ当りの移動距離は、Kheperaロボット2215の半径の45％である。１ステップ上方向に移動した場合の位置を2217で示す。
本実施例では、教育エージェントが押すスイッチがそのままオンラインでペナルティ(評価値)として強化学習に与えられ、学習エージェントはすべてを細かく教えてもらわなくても、自分自身の意思決定によって、ゴールに到達できるように、繰り返し学習をおこなう。
【００５６】
しかし、スイッチを押すタイミングの個人差が非常に大きく、どのような行動が不快と感じるかは、人によって違う。また、同じ行動を不快と感じても、ペナルティを与えるタイミングが人によって異なるため、学習エージェント内に構築された学習器にとって、あいまいな評価となる。そのため、全く同じ学習機構で、同じ内部構造(意思決定構造)を持っていても、学習結果に大きな隔たりがおき、ある人に対しては成功するが、別の人に対しては、失敗する、というようなことが起こる。
すなわち、ある人に対しては、学習が収束するが、別の人に対しては、全く学習がすすまない。これは、学習器にとって、人の評価の与え方が時間的にあいまいなためである。シミュレーション上では、同期を取るためこのような時間的なあいまいさが起こらない。しかし、実際のロボットを使うような実環境下では、非同期が必ず存在するため、このような時間的なあいまいさが起こる。
本発明では、この時間的なあいまいさの存在を発見し、これを解決するために、階層型のエージェントシステムを提案する。ここでは、先程まで述べた教育エージェント(人間)と学習エージェント(Kheperaロボット)の仲立ちをする中間層のエージェント(時間的なあいまいさの吸収役)の3層構造とする。具体的には、学習エージェントに強化学習の一つであるQ学習を採用する。Q学習では、Q値を更新することによって、学習がすすむ。
中間エージェントは、個人差によるタイミングの違いを吸収する。具体的には、教育エージェントがペナルティーを与えた時間から、学習エージェントが学習を更新する時間幅を、各個人に対して調整する個人適応型インターフェースの役割を担う。
学習エージェントがＱ学習で用いるQテーブルは、状態sと行動aの組み合わせからなるテーブル（配列）のことで、各テーブルの値がQ値と呼ばれるものである。ここでいう状態ｓとは、スタート位置を原点とした、現在の位置のｘ，ｙ座標であり、行動は上下左右、各方向の斜めの8方向である。Q値の更新には、報酬(マイナスの報酬の場合はペナルティとも呼ぶ)が必要である。ここでは、環境からのペナルティと、人間が与えるインタラクティブなペナルティの２つを採用する。
【００５７】
上述のように、Kheperaロボットは、赤外線センサを用いて環境を観測する。環境からのペナルティは、Kheperaロボットの赤外線センサより得る。Kheperaロボットには赤外線センサが８個ついており、障害物の有無を、数値データとして障害物までの距離を観測可能である。しかし、赤外線データは誤差が非常に大きいため、数値データをガウス分布によって障害物の存在確率とし、その確率を環境からのペナルティとしてQ学習の更新を行う。
人間が与えるペナルティは、人がKheperaロボットの行動を観測し、不快に感じた時に、マウスをクリックする。一度クリックすると一定の値(-0.5)のペナルティが与えられ、Q値を更新する。Q値の更新範囲には、空間的な範囲と時間的な範囲がある。空間的な更新範囲は、Kheperaロボットと同じ大きさとし、中心をペナルティの最大値としたガウス分布で更新を行う。これにより、繰り返し学習を行う時の、空間的なずれ（すなわち、実環境下では、１回目の学習に用いた位置と2回目の位置が全く同じとは限らない）を補正することが可能である。時間的な更新範囲は、現在の時間tと、一ステップ前のt-1、現在と同じ行動をとると仮定したときの次のステップt+1の３つを用意し、(t-1、t)、(t、t+1)、(t-1、t、t+1)の３つの組み合わせの中から、個人に適応した更新時間を選択する。例えば、（ｔ−１、ｔ）の組合せを選んだ場合は、時刻tと時刻t-1の両方のQ値を更新する、ということになる。(t-1、t)、(t、t+1)、(t-1、t、t+1)の３つのうち、(t-1、t)は時刻t-1とtのQ値を更新し、(t、t+1)は時刻ｔとt+1のQ値を更新し、(t-1、t、t+1)はｔ−１とｔとｔ＋１の３つの時刻のQ値を同時に更新することを意味する。この３つの更新ルールのうち、どれかを選ぶ。この更新ルールの選択を行うのが中間層のエージェントである。「(t-1、t、t+1)はｔ−１とｔとｔ＋１の３つの時刻のQ値を同時に更新する」とは、ｔ−１とｔとｔ＋１の３つの時刻で、Ｑ値をそれぞれ、所定の式（例えば後述の（数９））にしたがって一斉に更新する、という意味である。
【００５８】
Kheperaロボットは、各学習の開始時(エピソード開始時)に、決められたスタート位置につく。ロボットの中に構築されているQテーブルのうち、最も高いQ値を持つ行動を選択する。最初のエピソードの時は、すべてのQ値が同じ値(ここではゼロ)であるため、前進するものとする。前に障害物が現れるか、人によるインタラクション(ペナルティ)が入るまで、前進を続ける。
センサ値とインタラクションによって、Q値が更新されると、Q値の最も高い行動を次に選択する。Q値の観測を繰り返し、ゴールまで到達すると、１エピソード終了である。
Kheperaロボットは、ゴールの位置を知らない。環境からそこがゴールだと知らされる。これをプログラミングで実装するときには、ゴールと設定した座標にKheperaロボットが到達したときに「ゴールした」と教えて、報酬を与える。
１エピソード内でゴールに到達しない場合は、中間層のエージェントが、更新ルールを変更する。適用する更新ルールの違いによる人間が与えるインタラクションの回数と学習した経路を結果として示す。適用するルールによっては、学習が全く進まない、あるいは逆に悪くなっていることがわかる。逆に悪くなっている例として、図２５−Ｂ、および、図２６−Ｂ、Ｃを参照して欲しい。これらの図中、丸又は四角形の中に「Ｇ」の文字が付された部分がゴール位置である。また、小さい白丸が環境からペナルティーが与えられた箇所である。そして、実線が学習エージェントの軌跡である。
図２５−Ａでは、エピソード(試行)の１回目から、１０回目、まで全てのエピソードで  ゴールに到達しており、更に、エピソード数が増す程、ペナルティーを受けなくなっている。
これに対して、図２５−Ｂでは、１回目は成功しているが、２回目の試行では失敗している。
【００５９】
中間エージェント内部では、教育エージェントがペナルティを与えるためにスイッチを押したタイミングと、そのペナルティによって学習したKheperaロボットの行動を観測し、ゴールに到達しない場合に、Kheperaロボットが学習を更新する範囲を自律的に調整する。
ここでは、人間のインタラクションを用いたロボット制御をタスクとしてあげたが、人間が直接オンラインで制御するものに対して、本階層型エージェントシステムの適用が可能である。また、ここでは、ロボットの障害物回避を例として説明してきたが、マニピュレータや、学習を組み込んである他の制御システムへの適用が可能である。この階層型エージェントシステムを適用する際に、教育エージェント、学習エージェント機構をできるだけ簡単にし、容易に変更可能なものとすると、中間層のエージェントの機構に重点を置くことで、自律適応型の制御システムの設計が容易となる。
【００６０】
実験環境１では、障害物１および２を配置し（図２３−Ａ  Environment 1）、環境２では障害物２のみを配置した（図２３−Ｂ  Environment ２）。それぞれの環境において、スタート場所からゴールまでの、Kheperraロボットの動作を観察した結果が図２４−Ａ〜Ｃである。この図中で、図２４−Ａ、および図２４−Ｂが環境1の実験結果であり、図２４−Ｃが、実験環境1で学習済みのQ値を用いて、環境だけを実験環境2に変更した１エピソード目の結果である。図２４−Ａ〜Ｃ中、2401がスタート位置、2403がゴール位置、2407（図２４−Ａ）、2409（図２４−Ｂ）、2411（図２４−Ｃ）は、センサからの情報で壁と判断した部分である。
これから分かるように、実験環境が変化しても別の環境で学習済みのQ値を用いてもゴールに到達できたことから、提案手法が環境へのロバスト性に優れていることがわかる。（-通常の強化学習では、環境が変化すると再学習が必要となったり、スイープ(これまで学習してきたQ値やV値をすべて初期状態に戻すこと)が必要となり、最初のエピソードでゴールに到達することはほとんど無い。）なお、この結果は、時間的あいまいさを補正している、図２５−Ａで示している成功した例の被験者Aの場合である。
【００６１】
Kheperaロボットについてのエージェント学習方法を、フローチャートを用いて説明する。
[メインフロー]（図２７）
（１）S2710において、すべてのパラメータを初期化する。パラメータを以下に示す。
（表３）  パラメータの一覧
2005056185.tif 000007
（２）S2713で、Kheperaロボットがスタート地点に戻る。ここで、スタート地点とは、あらかじめ設定されたある一点のことで、この一点を中心にして、前回の試行（エピソード）と同じ角度に向けて設置される。スタート地点に戻った段階で、ステップ数sはゼロに、エピソード数episodeは1つ加算される。
（３）S2715においてKheperaロボットは赤外線センサを用いて、環境を観測する。
（４）S2717で、センサに反応があるかどうかで、前方に障害物があるかどうかの判定をする。
（５）S2719では、センサに反応がある場合、センサ値をもとに確率分布から報酬(マイナス)を更新する。ここでは、環境から報酬を受ける。
（６）S2721においてQ-Learningによる学習を行う。
（７）S2723では、移動する方向を、8方向の中から決定する。
（８）S2725で、設定された移動量で、1ステップ移動する。
（９）S2727では、教育エージェントからペナルティを受けたかどうかの判定をする。
（１０）S2729において、ペナルティを受けた場合、設定された値で報酬(マイナス)を更新する。ここでは、Ｓ2719とは異なり、人間から報酬を受ける。
（１１）S2731で、Q-Learningによる学習を行う。
（１２）S2733で、最大ステップ数を超えたかどうかの判定をする。
（１３）S2735で、最大ステップ数に到達した場合、ゴールに到達したかの判定を行う。
（１４）S2737で、最大ステップ数に到達していない場合、ゴールに到達したかどうかの判定を行う。
（１５）S2739で、ゴールに到達した場合、エピソードが設定された最大エピソード数を超えたかどうかの判定を行う。
（１６）S2741において、最大ステップ数を超えてもゴールに到達できなかった場合、中間エージェントがQ値を更新する時間的な範囲を変更し、変更ルールをKheperaロボットに送信する。
（１７）S2743で、Kheperaロボットが更新ルールを更新する。
（１８）S2745で、あらたな更新ルールに従って、履歴から再学習を行う。
（１９）S2747で、教育エージェントが自分の目でKheperaロボットの行動を観測する。
（２０）S2749で、Kheperaロボットの行動が自分自身にとって不快かどうかを直感的に判定する。
（２１）S2751で、Kheperaロボットの行動が不快な場合、スイッチを押すことによってペナルティを与える。
（２２）S2753で、Kheperaロボットの行動と教育エージェントのペナルティを与えるタイミングを観測する。
【００６２】
[学習エージェントが意思決定するフロー：Ｓ2723に対応]（図28）
（１）S2810で、学習エージェントが設定された観測範囲で、自分達自身が持っているQ-tableのQ値を観測する。
（２）S2830で、方策にしたがって学習エージェントが行動を選択する。ここではgreedy方策を用いるため、最もQ値の高い行動のみを選択する。
【００６３】
[学習エージェントが行動を取るフロー：Ｓ2725に対応]（図29）
（１）S2910で、最大回転角度を180度とし、入力された行動の方向に左右どちらか、回転角度が小さな方向に一定角度で、回転する。
（２）S2930で、回転が終了後、設定された1ステップの移動量を進む
（３）S2950で、ステップ数パラメータ  sを1つ加算する。
【００６４】
[学習エージェントが学習するフロー：Ｓ2721およびＳ2731に対応]（図30）
Ｓ3010で、Q値をtp<t<tnの範囲で更新する。上述の概説においては、（t-1,t）、（t,t+1）、（t-1,t,t+1）の３つの場合に限定して説明したが、一般的化すると、このように、tp<t<tnの任意の時間範囲におけるＱ値を更新することも可能である。特に、お年寄り等であれば、スイッチを押すタイミングが大きく遅れてしまうため、１ステップ前後ではなく、もっと広い範囲でＱ値を更新する必要がある。
ここで、tは学習エージェントが現在（時刻ｔ）に存在する位置、tp は現在いる位置からtp時間前の位置、tnは現在いる位置から、現在と同じ行動を取った場合にtn時間後にいる位置である。これらの時間の学習エージェントの位置を中心に、設定された観測範囲でQ値を、tpから順番に更新する。行使は、以下の式による。
（数９）
Q(s,a)←(1-a)Q(s,a)+α[r+γmaxa'Q(st+1,at+1)]
ここで、ｓは状態、ａは動作、Ｑ（ｓ，ａ）は、状態がｓ、動作がａのときのＱ値、αはステップサイズパラメータ、γは割引率、Ｑ（st+1,at+1）は、状態がｓt+1、動作がａt+1のときのＱ値を意味する。「状態がｓt+1、動作がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。
rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える。α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い。
maxa'は、次に取ることが可能な全ての状態、状態対において最もＱ値が最大になるような行動を選択することを意味する。maxa'Q(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対において、Ｑ値が最大となるような行動ａを取ったときのＱ値である。
Ｑ値の更新過程については、実施例１での説明を参照頂きたい。
本実施例では、Q[agent_num]([s0][s1][s2][s3][s4][other],[action_num]) =Ｑ(s,a)、のｓ（状態）は、自身の中心座標であり、行動は自分の行動であり、[action_num]に相当する。つまり、Ｑ（[x],[y]，[action_num]）の３次元配列である。
agent_numはKheperaロボットのＤＣモータ付きのタイヤ、action_numは、action_numは４方向なので、いずれも４つの値を取る。
（同じＱ-Ｌｅａｒｎｉｎｇを使っているが、状態、行動、の取り方はKheperaロボットとピアノ問題では大きく異なる）
【００６５】
[中間エージェントが更新ルールを学習エージェントに送るフロー：Ｓ2741に対応]（図31）
（１）S3110で、Q値の時間的更新範囲tp、tnを照合する。
（２）S3130で、 パラメータtp、tnを加減することによって、更新範囲を変更する。
【００６６】
[学習エージェントが履歴から学習するフロー：Ｓ2745に対応]（図32）
（１）S3210で、ペナルティが入った時の状態、行動、の対、時刻tを照合する。ここで、照合とは、履歴から学習するときは、失敗したときに行うが、Kheperaロボットの場合は、同時にいくつかのｔ（時刻）に対してＱ値を更新する。このｔ値の取り方次第で、オペレータによって全く結果が異なる。一度行った学習を、一旦クリアして、違うｔの幅でＱ値を更新するときに、どのｔの時に、オペレータが不快と感じたかを知る必要がある。オペレータが不快と感じた時刻ｔをリストアップする、というのが、照合に相当する。
一度更新したＱ値をきれいに、なかったことにして、そのエピソードのスタート状態に戻して、実際にはいつペナルティーが入っていたのかをチェックして、そのペナルティーが入った時刻に、別のｔの幅でＱ値を再更新する。
（２）S3230で、現在のエピソードで更新されたQ値を1つ前のエピソード開始時の状態に戻す。
本ステップにおいては、学習エージェントが一度もゴールに到達しなかったかを、中間エージェントが判断し、一度もゴールに到達しなかったと判断された場合に、中間エージェントが、現在の試行で更新された前記学習エージェントが持つＱ値を、一つ前の試行開始時の状態に戻す。
一方、過去にゴールに到達したと判断された場合には、中間エージェントが、現在の試行で更新された学習エージェントの持つＱ値を、直近にゴールに到達した試行終了後のQ値の状態に戻してから、上記Ｓ2743で更新された、新たな更新ルールで、次の試行のＱ値を更新する。
以上を更に詳説する。、図3３を参照頂きたい。
Q値は、ステップごとに更新される。ただし、Q値がゼロの場合は、いつまで更新式に代入した所でゼロのままである。Q値に値が入るのは、ゴールに到達した場合の報酬による値とペナルティによる値で、今回はペナルティのみによって報酬が入る。よって、センサが障害物を感知した時と人からのペナルティが与えられるとQ値に値が入る。
一度値が入ると、そのまわりのQ値がどんどん更新されて行く（3301）。しかし、更新ルールと人とのタイミングが合ってない場合、ゴールに到達しない。この間に更新されてしまったQ値（3305）を、前回ゴールに到達した状態(初期状態の可能性もある)（3307）に一度戻し（これが直近にゴールに到達した試行終了後のＱ値）、失敗したエピソードでの更新（3305）をなかったことにする。
ただし、どのタイミングでペナルティが入ったかは、記録にとってあり、あらたに適用した更新ルール（Ｓ2743）で、もう一度ペナルティの入ったタイミングにおいてQ値の更新する、ということである。
【００６７】
再度図３２に戻る。
（３）S3250で、新たに更新された更新ルールの範囲tp<t<tnでQ値を更新する。更新は、以下の式による。
（数１０）
Q(s,a)←(1-α)Q(s,a)+α[r+γmaxa'Q(st+1,at+1)]
ここで、ｓは状態、ａは動作、Ｑ（ｓ，ａ）は、状態がｓ、動作がａのときのＱ値、αはステップサイズパラメータ、γは割引率、Ｑ（st+1,at+1）は、状態がｓt+1、動作がａt+1のときのＱ値を意味する。「状態がｓt+1、動作がａt+1のとき」とは、次に取りうる状態、行動、の対を意味する。
rは外部環境が与える報酬のことで、ペナルティの場合は通常マイナス、報酬の場合はプラスの値を与える。α、γの値の範囲は0≦α、γ≦1となり、α=γである必要は無い。
maxa'は、次に取ることが可能な全ての状態、行動、の対において最もＱ値が最大になるような行動を選択することを意味する。maxa'Q(st+1,at+1)は、次のステップで取りうる全ての状態、行動、の対においてＱ値が最大となるような行動ａを取ったときのＱ値である。
本実施例では、Q（[x],[y],[action_num]) =Ｑ(s,a)、のｓ（状態）は自身の中心座標であり、行動は自分の行動であり、[action_num]に相当する。つまり、Q（[ｘ]，[ｙ],[action_num])の３次元配列である。
agent_numはKheperaロボットのＤＣモータ付きのタイヤ、action_numは４方向なので、いずれも４つの値を取る。
同じＱ-Learningを使っているが、状態、行動の取り方は、Kheperaとピアノ問題で大分違う。
【００６８】
（実施例１および２の比較）
以上の実施例１（ピアノ問題）および実施例２（Kheperaロボット）の比較を示したものが、以下の表である。
（表４）  比較表
2005056185.tif 000008
このように、両者の最も大きな違いは、ピアノ問題では、人間が介在せず、時間的なあいまいさが存在しないのに対し、Kheperaロボットでは、教育エージェントが人間であるため、時間的あいまいさが存在する点にある。
そして、ピアノ問題において、空間的あいまいさを補正するためには、各エージェントが過去に行った学習(例えば、この地点で障害物にぶつかったためにペナルティーを受けたこと)によって、次の試行を、より成功し易くする、ことが必要である。
一方、Kheperaロボットで、時間的あいまいさを補正するためには、各エージェントが過去に行った学習をそのままダイレクトに次の試行で利用するのではなく、過去の試行で受けた報酬やペナルティーが与えられた時刻が誤っている可能性を考え、その時刻をずらしてみた場合の報酬・ペナルティーがどのようなものであったかを再評価し、その「ずらし」が最も適切な値となるように調整することが必要である。
【００６９】
以上、本発明を、具体的な実施例に基づいて説明したが、本発明の詳細な説明の範囲はこれに限定されず、特許請求の範囲内で種々の変更、追加、均等物との置換等が可能である。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施の形態における、学習エージェント、教育エージェント、および中間エージェントの役割分担。
【図２】本発明の実施の形態における、空間形状におけるあいまいさの説明。
【図３】本発明の実施の形態における、時間的なあいまいさの説明。
【図４】本発明の実施例１における、通行可能な領域と通行不可能な障害物の説明。
【図５】本発明の実施例１における、学習エージェントと教育エージェントの概説。
【図６】本発明の実施例１における、各エージェントの学習モデル。
【図７】本発明の実施例１における、中間エージェントの判断基準の相違による経路探索結果の比較。
【図８】本発明の実施例１における、教育エージェントの学習手法の相違による経路探索結果の比較。
【図９−Ａ】本発明の実施例１における、経路探索が改善される様子。
【図９−Ｂ】本発明の実施例１における、経路探索が改善される様子。
【図１０−Ａ】本発明の実施例１における、探索木による経路探索の説明。
【図１０−Ｂ】本発明の実施例１における、探索木による経路探索の説明。
【図１１】本発明の実施例１における、全体フローチャート。
【図１２】本発明の実施例１における、学習エージェントの移動方向。
【図１３】本発明の実施例１における、各学習エージェントが意思決定するフローのフローチャート。
【図１４】本発明の実施例１における、教育エージェントが意思決定するフローのフローチャート。
【図１５】本発明の実施例１における、中間エージェントが新たな行動を生成するフローのフローチャート。
【図１６】本発明の実施例１における、各学習エージェントが学習するフローのフローチャート。
【図１７】本発明の実施例１における、Ｑ値更新の説明。
【図１８】本発明の実施例１における、教育エージェントが学習するフローのフローチャート。
【図１９】本発明の実施例１における、Ｖ値更新の説明。
【図２０】本発明の実施例２における、時間的なあいまいさを含む問題のタスクの例。
【図２１】本発明の実施例２における、時間的なあいまいさを含む問題のタスクの例。
【図２２−Ａ】本発明の実施例２における、Kheperaロボット。
【図２２−Ｂ】本発明の実施例２における、Kheperaロボットの移動範囲。
【図２３−Ａ】本発明の実施例２における、実験環境１。
【図２３−Ｂ】本発明の実施例２における、実験環境２。
【図２４−Ａ】本発明の実施例２における、Kheperraロボットの動作を観察した結果。
【図２４−Ｂ】本発明の実施例２における、Kheperraロボットの動作を観察した結果。
【図２４−Ｃ】本発明の実施例２における、Kheperraロボットの動作を観察した結果。
【図２５−Ａ】本発明の実施例２における、教育エージェントによる経路探索結果の相違。
【図２５−Ｂ】本発明の実施例２における、教育エージェントによる経路探索結果の相違。
【図２６−Ａ】本発明の実施例２における、中間エージェントによる経路探索結果の相違。
【図２６−Ｂ】本発明の実施例２における、中間エージェントによる経路探索結果の相違。
【図２６−Ｃ】本発明の実施例２における、中間エージェントによる経路探索結果の相違。
【図２７】本発明の実施例２における、全体フローチャート。
【図２８】本発明の実施例２における、学習エージェントが意思決定するフローのフローチャート。
【図２９】本発明の実施例２における、学習エージェントが行動を取るフローのフローチャート。
【図３０】本発明の実施例２における、学習エージェントが学習するフローのフローチャート。
【図３１】本発明の実施例２における、中間エージェントが更新ルールを学習エージェントに送るフローのフローチャート。
【図３２】本発明の実施例２における、学習エージェントが履歴から学習するフローのフローチャート。
【図３３】本発明の実施例２における、Ｑ値更新。
【符号の説明】
【００７１】
41  スタート地点
43  ゴール
45  教育エージェント
47ａ  学習エージェント
47ｂ  学習エージェント
47ｃ  学習エージェント
47ｄ  学習エージェント
51  教育エージェント
53ａ  学習エージェント
53ｂ  学習エージェント
53ｃ  学習エージェント
53ｄ  学習エージェント
2201  センサ
2203  センサ
2205  移動用モータ
2217  １ステップ上方向に移動した場合の位置
【図１】
2005056185.tif 000009
【図２】
2005056185.tif 000010
【図３】
2005056185.tif 000011
【図４】
2005056185.tif 000012
【図５】
2005056185.tif 000013
【図６】
2005056185.tif 000014
【図７】
2005056185.tif 000015
【図８】
2005056185.tif 000016
【図９−Ａ】
2005056185.tif 000017
【図９−Ｂ】
2005056185.tif 000018
【図１０−Ａ】
2005056185.tif 000019
【図１０−Ｂ】
2005056185.tif 000020
【図１１】
2005056185.tif 000021
【図１２】
2005056185.tif 000022
【図１３】
2005056185.tif 000023
【図１４】
2005056185.tif 000024
【図１５】
2005056185.tif 000025
【図１６】
2005056185.tif 000026
【図１７】
2005056185.tif 000027
【図１８】
2005056185.tif 000028
【図１９】
2005056185.tif 000029
【図２０】
2005056185.tif 000030
【図２１】
2005056185.tif 000031
【図２２−Ａ】
2005056185.tif 000032
【図２２−Ｂ】
2005056185.tif 000033
【図２３−Ａ】
2005056185.tif 000034
【図２３−Ｂ】
2005056185.tif 000035
【図２４−Ａ】
2005056185.tif 000036
【図２４−Ｂ】
2005056185.tif 000037
【図２４−Ｃ】
2005056185.tif 000038
【図２５−Ａ】
2005056185.tif 000039
【図２５−Ｂ】
2005056185.tif 000040
【図２６−Ａ】
2005056185.tif 000041
【図２６−Ｂ】
2005056185.tif 000042
【図２６−Ｃ】
2005056185.tif 000043
【図２７】
2005056185.tif 000044
【図２８】
2005056185.tif 000045
【図２９】
2005056185.tif 000046
【図３０】
2005056185.tif 000047
【図３１】
2005056185.tif 000048
【図３２】
2005056185.tif 000049
【図３３】
2005056185.tif 000050