(57)【要約】【課題】仮想空間の娯楽性を向上させる。【解決手段】教師エージェント選択部１０１は、仮想空間内のエージェントから、行動を学習する対象である教師エージェントを選択し、学習部１０３は、教師エージェントの状況を表す状況情報の時系列を用いて、状況情報の予測値を求める予測モデルの学習を行う。一方、予測部１０６は、予測モデルを用いて、状況情報の予測値を求め、行動制御部１０７は、状況情報の予測値に従って、人工エージェントAA#jの行動を制御する。【選択図】図５
2009134394.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間上のエージェントの行動を制御する情報処理装置において、
仮想空間内のエージェントから、行動を学習する対象である教師エージェントを選択する選択手段と、
前記教師エージェントの状況を表す状況情報の時系列を取得する取得手段と、
前記教師エージェントの時系列の状況情報を用いて、注目している注目エージェントの状況情報の予測値を求める予測モデルの学習を行う学習手段と、
前記注目エージェントの予測モデルを用いて、状況情報の予測値を求める予測手段と、
前記状況情報の予測値に従って、前記注目エージェントの行動を制御する行動制御手段と
を備える情報処理装置。
【請求項２】
前記選択手段は、前記注目エージェントの予測モデルを用いて、他のエージェントの状況情報の予測値を求め、その予測値の予測誤差が所定の閾値以上である場合、前記他のエージェントを、前記教師エージェントとして選択する
請求項１に記載の情報処理装置。
【請求項３】
前記選択手段は、前記注目エージェントから一定距離以内に存在する他のエージェントを、前記教師エージェントとして選択する
請求項１に記載の情報処理装置。
【請求項４】
前記仮想空間におけるエージェントの発生と消滅とを管理する管理手段をさらに備える
請求項１に記載の情報処理装置。
【請求項５】
前記管理手段は、前記仮想空間を区分した区分領域に理想的な、エージェントの人口密度に基づいて、前記エージェントを発生、又は消滅させる
請求項４に記載の情報処理装置。
【請求項６】
仮想空間上のエージェントの行動を制御する情報処理装置の情報処理方法において、
仮想空間内のエージェントから、行動を学習する対象である教師エージェントを選択し、
前記教師エージェントの状況を表す状況情報の時系列を取得し、
前記教師エージェントの時系列の状況情報を用いて、注目している注目エージェントの状況情報の予測値を求める予測モデルの学習を行い、
前記注目エージェントの予測モデルを用いて、状況情報の予測値を求め、
前記状況情報の予測値に従って、前記注目エージェントの行動を制御する
ステップを含む情報処理方法。
【請求項７】
仮想空間上のエージェントの行動を制御する情報処理装置として、コンピュータを機能させるプログラムにおいて、
仮想空間内のエージェントから、行動を学習する対象である教師エージェントを選択する選択手段と、
前記教師エージェントの状況を表す状況情報の時系列を取得する取得手段と、
前記教師エージェントの時系列の状況情報を用いて、注目している注目エージェントの状況情報の予測値を求める予測モデルの学習を行う学習手段と、
前記注目エージェントの予測モデルを用いて、状況情報の予測値を求める予測手段と、
前記状況情報の予測値に従って、前記注目エージェントの行動を制御する行動制御手段と
して、コンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関し、特に、仮想空間の娯楽性を向上させることができるようにする情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
コンピュータネットワークであるインターネットでは、例えば、WWW(World Wide Web)や電子メール等の、オンラインでコミュニケーションを図るためのオンラインコミュニケーション手段が構築され、遠隔地にいるユーザどうしが、画像や文字情報等の情報をやりとりし、コミュニケーションを図ることができる。
【０００３】
WWW等の他、インターネット上のオンラインコミュニケーション手段としては、仮想空間を利用した技術がある（例えば、特許文献１を参照）。
【０００４】
仮想空間を利用した技術としては、例えば、MMORPG（Massively Multiplayer Online Role-Playing Game）等のオンラインゲームや、コミュニケーションを図るための仮想空間を提供するサービスがある。
【０００５】
ここで、コミュニケーションを図るための仮想空間を提供するサービスとしては、例えば、近年急速に発達しているリンデンラボ(Linden Lab)社のセカンドライフ(Second Life)や、今後サービスの提供が予定されているソニー・コンピュータエンタテインメント社のホーム(Home)がある。
【０００６】
いま、オンラインゲームや、仮想空間を提供するサービス等の、仮想空間を利用するオンラインコミュニケーション手段を、オンラインユーザコミュニティということとすると、オンラインユーザコミュニティでは、２次元又は３次元の仮想空間において、ユーザが自由に移動可能なエージェントを操作することによって、実世界では遠隔地にいるユーザどうしが、あたかも近接した実空間に存在しているかのようにコミュニケーションをとることができる。
【０００７】
なお、エージェントとは、仮想空間において、ユーザその他を代理する（模した）キャラクタであり、ユーザを代理するエージェントは、特に、アバタと呼ばれる。
【０００８】
コンピュータの高速化、及び高機能化により、オンラインユーザコミュニティでは、ユーザの外見をリアルに表現するエージェントや、エージェントのジェスチャ、エージェントが存在する環境の変化等を、リアルタイムで共有することができるようになっている。このため、オンラインユーザコミュニティによれば、ユーザは、電子メール等に比較して、より親密なコミュニケーションを図ることができる。
【０００９】
しかしながら、オンラインユーザコミュニティは、ユーザがインターネット上に構築された仮想空間にログインし、エージェント（アバタ）を操作して参加することを前提とするため、仮想空間にログインしているユーザの数が少ない場合には、仮想空間が閑散とした空間になり、コミュニケーションをする相手が少なくなるために、娯楽性が低下し、オンラインユーザコミュニティの持続的な発展を阻害する要因となることがある。
【００１０】
一方、MMORPGなどの、複数のプレイヤ（ユーザ）が同時にログインしてプレイすることができるオンラインゲームにおいて、プレイヤの数を補うためや、オフラインであたかも人間のプレイヤを相手にしているかのようにプレイするため、プレイヤが本来行うべき単純作業や繰り返し作業等を、プレイヤに代わって自動的にコンピュータに行わせる、いわゆる人工エージェントとして、仮想空間の中で自律的に行動をする、ボットと呼ばれるAI(Artificial Intelligence)プレイヤがある。
【００１１】
【特許文献１】特開2003-150978号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
仮想空間が閑散とした空間となるのを防止する方法として、人工エージェントとしてのボットを、仮想空間に登場させる方法が考えられる。
【００１３】
しかしながら、従来のオンラインゲームにおけるボットは、そのプログラムが、あらかじめ想定された環境からの入力（状況）に対応するようにルールベースで記述されており、作り込まれた単純な行動（例えば、戦闘や、アイテム収集等）パターンを出力する（行動をとる）ことを繰り返す。このため、ボットでは、相手からの入力のパターンが非常に多様で、あらかじめ全てのパターンを想定することが不可能な、人間とのインタラクションを自然な形で実現することは困難である。
【００１４】
また、ボットでは、限られた入力のパターンについて、人間とのインタラクションを実現したとしても、あらかじめルールベースで作り込んだ行動パターンを出力するだけで、行動の多様性に限界があるため、ユーザは短時間で飽きてしまい、ユーザの興味を持続的に惹きつけることは難しい。
【００１５】
さらに、近年のオンラインユーザコミュニティは、ユーザの活動に応じて、仮想空間内に新規の建造物その他のアイテム（オブジェクト）が生み出され、仮想空間の環境（状況）が変化し続けるが、従来のルールベースの行動パターンを出力する行動モデル（を利用したボット）では、新規な状況に対応することが困難である。
【００１６】
したがって、オンラインユーザコミュニティでは、あたかも実際のユーザが操作しているかのように自律的に振る舞い、ユーザとインタラクションをとることが可能な人工エージェントを実現することによって、実際のユーザが操作するエージェントの参加が少ない状況下において、仮想空間を賑わせ、仮想空間の娯楽性を向上させることが要請されている。
【００１７】
本発明は、このような状況に鑑みてなされたものであり、仮想空間の娯楽性を向上させることができるようにするものである。
【課題を解決するための手段】
【００１８】
本発明の一側面の情報処理装置、又は、プログラムは、仮想空間上のエージェントの行動を制御する情報処理装置であり、仮想空間内のエージェントから、行動を学習する対象である教師エージェントを選択する選択手段と、前記教師エージェントの状況を表す状況情報の時系列を取得する取得手段と、前記教師エージェントの時系列の状況情報を用いて、注目している注目エージェントの状況情報の予測値を求める予測モデルの学習を行う学習手段と、前記注目エージェントの予測モデルを用いて、状況情報の予測値を求める予測手段と、前記状況情報の予測値に従って、前記注目エージェントの行動を制御する行動制御手段とを備える情報処理装置、又は、情報処理装置として、コンピュータを機能させるプログラムである。
【００１９】
本発明の一側面の情報処理方法は、仮想空間上のエージェントの行動を制御する情報処理装置の情報処理方法であり、仮想空間内のエージェントから、行動を学習する対象である教師エージェントを選択し、前記教師エージェントの状況を表す状況情報の時系列を取得し、前記教師エージェントの時系列の状況情報を用いて、注目している注目エージェントの状況情報の予測値を求める予測モデルの学習を行い、前記注目エージェントの予測モデルを用いて、状況情報の予測値を求め、前記状況情報の予測値に従って、前記注目エージェントの行動を制御するステップを含む情報処理方法である。
【００２０】
以上のような一側面においては、仮想空間内のエージェントから、行動を学習する対象である教師エージェントが選択され、前記教師エージェントの状況を表す状況情報の時系列が取得される。さらに、前記教師エージェントの時系列の状況情報を用いて、注目エージェントの状況情報の予測値を求める予測モデルの学習が行われ、前記注目エージェントの予測モデルを用いて、状況情報の予測値が求められる。そして、前記状況情報の予測値に従って、前記注目エージェントの行動が制御される。
【００２１】
なお、プログラムは、伝送媒体を介して伝送し、又は、記録媒体に記録して、提供することができる。
【００２２】
また、情報処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【発明の効果】
【００２３】
本発明の一側面によれば、仮想空間の娯楽性を向上させることができる。
【発明を実施するための最良の形態】
【００２４】
図１は、本発明を適用したネットワークシステム（システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは、問わない）の一実施の形態の構成例を示している。
【００２５】
図１において、ネットワークシステムは、サーバ装置１１、人工エージェント記憶データベース１２、エージェント行動履歴データベース１３、端末装置２１1，２１2、及び２１3、コントローラ２２1，２２2、及び２２3、並びにネットワーク３１から構成されている。
【００２６】
サーバ装置１１は、例えば、LAN(Local Area Network)やインターネット等のネットワーク３１と接続されており、同じく、ネットワーク３１に接続されている端末装置２１i（ここでは、i=1,2,3）を操作するユーザusr#iに対して、オンラインユーザコミュニティとしての仮想空間を提供する。
【００２７】
すなわち、サーバ装置１１は、２次元、又は、３次元の仮想空間を構成する建造物その他のオブジェクトの位置等のオブジェクトに関するオブジェクト情報を記憶している。
【００２８】
また、サーバ装置１１は、端末装置２１iのユーザusr#iがコントローラ２２iによって操作する、そのユーザusr#iを代理するエージェント（以下、適宜、ユーザエージェントともいう）UA#iの位置等の、ユーザエージェントUA#iの状況を表す状況情報を、ネットワーク３１を介して、端末装置２１iから受信し、その情報に基づいて、仮想空間上のユーザエージェントUA#iの位置等の状況情報や、仮想空間のオブジェクトの位置等のオブジェクト情報を更新する。
【００２９】
そして、サーバ装置１１は、更新後の状況情報やオブジェクト情報、その他、仮想空間においてユーザusr#1ないしusr#3が共有すべき仮想空間情報を、ネットワーク３１に接続している端末装置２１1ないし２１3のすべてに送信する。
【００３０】
これにより、端末装置２１1ないし２１3のユーザusr#1ないしusr#3すべてにおいて、端末装置２１iのユーザusr#iのユーザエージェントUA#iが、仮想空間とともに共有される。
【００３１】
サーバ装置１１は、その他、あたかも実際のユーザが操作しているかのように自律的に振る舞い、ユーザusr#iとインタラクションをとることが可能なエージェント（以下、人工エージェントともいう）AA#1、及びAA#2を管理、制御する。
【００３２】
すなわち、人工エージェント記憶データベース１２には、仮想空間における人工エージェントAA#j（ここでは、j=1,2）の状況を表す状況情報の予測値を求める予測モデル（のパラメータ）が記憶され、サーバ装置１１は、人工エージェント記憶データベース１２に記憶された予測モデルを用いて、人工エージェントAA#jの状況情報の予測値を求める。
【００３３】
さらに、サーバ装置１１は、人工エージェントAA#jの状況情報の予測値に従って、その人工エージェントAA#jの行動の制御、すなわち、仮想空間上のユーザエージェントUA#iの位置等の状況情報の更新を行い、その更新後の状況情報を、仮想空間情報として、ネットワーク３１に接続している端末装置２１1ないし２１3のすべてに送信する。
【００３４】
これにより、端末装置２１1ないし２１3のユーザusr#1ないしusr#3すべてにおいて、人工エージェントAA#jが、仮想空間とともに共有される。
【００３５】
また、サーバ装置１１は、端末装置２１iから受信したユーザエージェントUA#iの状況情報や、サーバ装置１１が制御する人工エージェントAA#jの状況情報の時系列を、エージェント行動履歴データベース１３に供給し、行動履歴データとして記憶させる。
【００３６】
すなわち、エージェント行動履歴データベース１３は、サーバ装置１１から供給されるユーザエージェントUA#iや人工エージェントAA#jの状況情報の時系列を、行動履歴データとして記憶する。
【００３７】
さらに、サーバ装置１１は、エージェント行動履歴データベース１３に記憶された行動履歴データを用いて、人工エージェント記憶データベース１２に記憶された人工エージェントAA#jの予測モデルの学習（予測モデルのパラメータの更新）を行う。
【００３８】
端末装置２１iは、ネットワーク３１を介して、サーバ装置１１から、ユーザエージェントUA#1ないしUA#3、並びに人工エージェントAA#1及びAA#2の状況情報や、仮想空間のオブジェクト情報、その他の仮想空間情報を受信し、その仮想空間情報にしたがって、画面の描画を行う。これにより、端末装置２１iでは、ユーザエージェントUA#iや、人工エージェントAA#j等が存在する仮想空間が表示される。
【００３９】
また、端末装置２１iには、ユーザusr#iによって操作されるコントローラ２２iが接続されており、ユーザusr#iは、コントローラ２２iを操作することにより、ユーザusr#iのユーザエージェントUA#iの姿勢の変化や移動の指示や、テキストメッセージの入力を行うことができる。
【００４０】
端末装置２１iは、コントローラ２２iが操作されることによって、ユーザエージェントUA#iの姿勢の変化や移動の指示や、テキストメッセージの入力等があると、その指示やテキストメッセージを、状況情報として、ネットワーク３１を介して、サーバ装置１１に送信する。
【００４１】
なお、図１では、３つの端末装置２１1ないし２１3が、ネットワーク３１を介して、サーバ装置１１に接続しているが、サーバ装置１１に接続する端末装置２１iの数は、３つに限定されるものではない。
【００４２】
また、図１では、サーバ装置１１において、２つの人工オブジェクトAA#1及びAA#2を制御することとしているが、サーバ装置１１において制御する人工オブジェクトの数も、２つに限定されるものではない。
【００４３】
図２は、図１の端末装置２１iで表示される仮想空間の例を示している。
【００４４】
図２では、仮想空間に形成されたサッカー場において、複数のエージェント（ユーザエージェント及び人工エージェント）が、サッカーの試合を行っている。
【００４５】
図３は、図１のサーバ装置１１のハードウェアの構成例を示している。
【００４６】
サーバ装置１１は、コンピュータであり、CPU(Central Processing Unit)４２を内蔵している。
【００４７】
CPU４２には、バス４１を介して、ROM(Read Only Memory)４３，RAM(Random Access Memory)４４、ハードディスク４５、及び入出力インタフェース５０が接続されている。
【００４８】
CPU４２は、ROM４３に記憶されているプログラムや、ハードディスク４５に記憶されているプログラムを、RAM４４にロードして実行し、これにより、後述するフローチャートにしたがった処理、及び後述するブロック図の構成により行われる処理を行う。
【００４９】
ROM４３は、CPU４２が実行するプログラム（必要なデータを含む）を記憶している。RAM４４は、CPU４２が実行するプログラムや、CPU４２の動作上必要なデータを一時記憶する。
【００５０】
ハードディスク４５は、CPU４２が実行するプログラムや、必要なデータを記憶する。
【００５１】
出力部４６は、LCD(Liquid Crystal Display)やスピーカ等で構成され、CPU４２の制御に従い、画像の表示、及び音声の出力を行う。
【００５２】
入力部４７は、キーボードや、マウス、マイク等で構成される。入力部４７は、サーバ装置１１のオペレータ等によって操作され、これにより、CPU４２に対して、必要な指令が、入力部４７から、入出力インタフェース５０、及びバス４１を介して供給される。
【００５３】
通信部４８は、ネットワークインタフェース等で構成され、ネットワーク３１を介しての通信を制御する。
【００５４】
ドライブ４９は、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体５１を駆動し、そのリムーバブル記録媒体５１に対するデータ等の記録及び再生（読み出し）の制御を行う。
【００５５】
入出力インタフェース５０は、出力部４６、入力部４７、通信部４８、及びドライブ４９、その他の周辺装置と、バス４１とを接続するインタフェースとして機能する。
【００５６】
なお、CPU４２が実行するプログラムは、コンピュータであるサーバ装置１１に内蔵されている記録媒体としてのハードディスク４５やROM４３に予め記録しておくことができる。
【００５７】
あるいはまた、プログラムは、リムーバブル記録媒体５１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体５１は、いわゆるパッケージソフトウエアとして提供することができる。
【００５８】
プログラムは、リムーバブル記録媒体５１からコンピュータであるサーバ装置１１にインストールすることができる。また、プログラムは、ネットワーク３１を介して、サーバ装置１１に転送し、サーバ装置１１では、そのようにして転送されてくるプログラムを、通信部４８で受信し、内蔵するハードディスク４５にインストールすることができる。
【００５９】
次に、図４は、図１の端末装置２１iのハードウェアの構成例を示している。
【００６０】
端末装置２１iも、サーバ装置１１と同様に、コンピュータであり、バス６１、CPU６２、ROM６３，RAM６４、ハードディスク６５、出力部６６、入力部６７、通信部６８、ドライブ６９、入出力インタフェース７０、及びリムーバブル記録媒体７１から構成される。
【００６１】
バス６１ないしリムーバブル記録媒体７１は、図３のバス４１ないしリムーバブル記録媒体５１とそれぞれ同様に構成されるため、その説明は省略する。
【００６２】
なお、端末装置２１iにおいて、コントローラ２２i（図１）は、入出力インタフェース７０に接続される。
【００６３】
図５は、図１のサーバ装置１１の機能的な構成例を示すブロック図である。
【００６４】
サーバ装置１１において、図５の機能的な構成は、CPU４２（図３）がプログラムを実行することで等価的に実現される。
【００６５】
図５において、サーバ装置１１は、エージェント行動履歴記録部９１、人工エージェント制御部９２j、及び人工エージェント管理部９３から構成される。
【００６６】
エージェント行動履歴記録部９１は、ユーザエージェントUA#i等の状況情報を取得し、すなわち、端末装置２１iから、ネットワーク３１を介して送信されてくるユーザエージェントUA#i等の状況情報を受信し、その状況情報の時系列を、エージェント行動履歴データベース１３に供給して、行動履歴データとして記憶させる（記録する）。
【００６７】
また、エージェント行動履歴記録部９１は、人工エージェントAA#jの状況情報を取得し、その状況情報の時系列を、エージェント行動履歴データベース１３に供給して、行動履歴データとして記憶させる。
【００６８】
したがって、例えば、図１に示したように、仮想空間上に、ユーザエージェントUA#1ないしUA#3、並びに、人工エージェントAA#1及びAA#2が存在する場合には、エージェント行動履歴データベース１３では、それらのユーザエージェントUA#1ないしUA#3、並びに、人工エージェントAA#1及びAA#2の行動履歴データが記憶される。
【００６９】
人工エージェント制御部９２jは、教師エージェント選択部１０１、教師データ取得部１０２、学習部１０３、状況取得部１０５、予測部１０６、及び行動制御部１０７から構成され、仮想空間上の人工エージェントAA#jの行動を制御する。
【００７０】
ここで、１つの人工エージェント制御部９２jは、仮想空間上の１つの人工エージェントAA#jの行動を制御する。したがって、例えば、図１に示したように、仮想空間上に、２つの人工エージェントAA#1及びAA#2が存在する場合には、サーバ装置１１は、その２つの人工エージェントAA#1及びAA#2の行動をそれぞれ制御する２つの人工エージェント制御部９２1及び９２2を有する。
【００７１】
人工エージェント制御部９２jにおいて、教師エージェント選択部１０１には、エージェント行動履歴記録部９１に供給されるのと同一の状況情報が供給される。
【００７２】
教師エージェント選択部１０１は、例えば、そこに供給される状況情報や、エージェント行動履歴データベース１３に記憶された行動履歴データ、人工エージェント記憶データベース１２に記憶された予測モデルに基づいて、仮想空間内のエージェント（ユーザエージェント及び人工エージェント）から、行動を学習する対象である教師エージェントを選択し、その教師エージェントを特定するエージェント情報を、教師データ取得部１０２に供給する。
【００７３】
教師データ取得部１０２は、教師エージェント選択部１０１からのエージェント情報によって特定される教師エージェントの状況情報の時系列としての行動履歴データを、エージェント行動履歴データベース１３から読み出すことにより取得し、予測モデルの学習を行うのに用いる教師データ（学習データ）として、学習部１０３に供給する。
【００７４】
学習部１０３は、教師データ取得部１０２からの教師データ、つまり、教師エージェントの行動履歴データを用いて、人工エージェント記憶データベース１２に記憶された人工エージェントAA#jの予測モデルの学習を行う。
【００７５】
すなわち、学習部１０３は、教師エージェントの行動履歴データを用いて、人工エージェント記憶データベース１２に記憶された人工エージェントAA#jの予測モデルのパラメータを更新する。
【００７６】
状況取得部１０５は、人工エージェント制御部９２jが制御する人工エージェントAA#jの（現在）時刻tの状況情報s(t)を取得し、予測部１０６に供給する。
【００７７】
予測部１０６は、人工エージェント記憶データベース１２に記憶された人工エージェントAA#jの予測モデルを用い、状況取得部１０５からの状況情報s(t)を入力として、人工エージェントAA#jの次の時刻t+1の状況情報s(t+1)の予測値s'(t+1)を求めて、行動制御部１０７に供給する。
【００７８】
行動制御部１０７は、予測部１０６からの状況情報（の予測値）s'(t+1)に従って、人工エージェントAA#jを行動させる（行動を制御する）。
【００７９】
人工エージェント管理部９３は、仮想空間における人工エージェントAA#jの発生と消滅とを管理する。
【００８０】
すなわち、人工エージェント管理部９３は、必要に応じて、仮想空間上に、新たな人工エージェントAA#jを発生させる。そして、人工エージェント管理部９３は、新たな人工エージェントAA#jを発生させるとき、その人工エージェントAA#jを制御する人工エージェント制御部９２jを生成する。つまり、図３のコンピュータを、人工エージェント制御部９２jとして機能させるために必要な記憶領域がRAM４４（図３）上に確保等される。
【００８１】
また、人工エージェント管理部９３は、仮想空間上に存在する人工エージェントAA#jが、その役目を果たしたとき等に、その役目を果たした人工エージェントAA#jを消滅させる。そして、人工エージェント管理部９３は、仮想空間上の人工エージェントAA#jを消滅させるとき、その人工エージェントAA#jを制御する人工エージェント制御部９２jを削除する。つまり、図３のコンピュータを、人工エージェント制御部９２jとして機能させるために確保されたRAM４４（図３）上の記憶領域の解放等がされる。
【００８２】
ここで、上述したように、学習部１０３は、教師データを構成する状況情報のうちの、ある時刻の状況情報を、予測モデルに入力し、未来の時刻の状況情報の予測値を求める。さらに、学習部１０３は、未来の時刻の状況情報の予測値の、教師データにおける真値（未来の時刻の状況情報の真値）に対する予測誤差を求め、その予測誤差が小さくなるように、予測モデルのパラメータを更新する。
【００８３】
一方、予測部１０６は、ある時刻の状況情報を、予測モデルに入力し、未来の時刻の状況情報の予測値を求める。
【００８４】
したがって、予測部１０６は、学習部１０３の一部として構成することができる。
【００８５】
次に、図６を参照して、図５の教師エージェント選択部１０１が、仮想空間内のエージェントから、教師エージェントを選択する選択方法について説明する。
【００８６】
図６は、仮想空間内に存在するユーザエージェントUA#1ないしUA#3、並びに、人工エージェントAA#1及びAA#2を示している。
【００８７】
教師エージェント選択部１０１は、例えば、人工エージェント制御部９２jが制御する人工エージェントAA#jから一定距離以内に存在する他のエージェントを、教師エージェントとして選択する。
【００８８】
すなわち、教師エージェント選択部１０１は、人工エージェント制御部９２jが制御する人工エージェントAA#jの位置を中心とする所定の半径の円（球）の範囲を、教師エージェントを選択する選択範囲として、その選択範囲内に存在する自分自身（人工エージェントAA#j自身）以外のエージェント（以下、近傍エージェントともいう）を、教師エージェントとして選択する。
【００８９】
具体的には、教師エージェント選択部１０１は、そこに供給される状況情報から、人工エージェント制御部９２jが制御する人工エージェントAA#jの位置を認識し、さらに、その位置を中心とする選択範囲を認識する。
【００９０】
そして、教師エージェント選択部１０１は、そこに供給される状況情報から、人工エージェントAA#jの選択範囲内に存在するエージェントを、近傍エージェントとして認識する。
【００９１】
ここで、図６では、人工エージェントAA#1の選択範囲内には、ユーザエージェントUA#1及びUA#2が存在し、人工エージェントAA#2の選択範囲内には、ユーザエージェントUA#1及びUA#3が存在する。
【００９２】
したがって、人工エージェントAA#1については、ユーザエージェントUA#1及びUA#2が、近傍エージェントとして認識され、人工エージェントAA#2については、ユーザエージェントUA#1及びUA#3が、近傍エージェントとして認識される。
【００９３】
教師エージェント選択部１０１は、近傍エージェントの行動履歴データを、エージェント行動履歴データベース１３から読み出し、その行動履歴データ、つまり、近傍エージェントの時系列の状況情報のうちの各時刻の状況情報を、人工エージェン記憶データベース１２に記憶された人工エージェントAA#jの予測モデルの入力として与え、これにより、学習部１０３と同様にして、人工エージェントAA#jの予測モデルが出力する状況情報の予測値、さらには、その予測値の予測誤差を求める。
【００９４】
さらに、教師エージェント選択部１０１は、近傍エージェントが１つのエージェントである場合には、その１つの近傍エージェントを、教師エージェントの候補である候補エージェントとし、近傍エージェントが複数のエージェントである場合には、その複数の近傍エージェントのうちの、人工エージェントAA#jの予測モデルから求められる予測誤差が最大の近傍エージェントを、候補エージェントとし、候補エージェントの状況情報から求められた予測誤差と、所定の閾値とを比較する。
【００９５】
そして、候補エージェントの状況情報から求められた予測誤差が、所定の閾値以上である場合、つまり、人工エージェントAA#jが、候補エージェントが行うことができる行動を行うことができない場合、教師エージェント選択部１０１は、その候補エージェント、すなわち、予測誤差が所定の閾値以上となる状況情報の時系列を行動履歴データとして有する候補エージェントを、教師エージェントとして選択する。
【００９６】
以上のように、予測誤差が所定の閾値以上となる状況情報の時系列を行動履歴データとして有する候補エージェントを、教師エージェントとして選択する場合には、そのような予測誤差が所定の閾値以上となる状況情報を用いて、人工エージェントAA#jの予測モデルの学習が行われることで、人工エージェントAA#jは、それまで行うことができなかった新規の行動をとることができるようになる。
【００９７】
さらに、他のエージェントを、自律的に、教師エージェントとして選択し、その教師エージェントの行動を観察して学習しているかのような人工エージェントAA#jを実現することができる。
【００９８】
なお、人工エージェントAA#jが、教師エージェントの行動を学習した後に（教師エージェントの行動履歴データを用いた予測モデルの学習の後に）、教師エージェントと同様の行動をとるには、教師エージェントとして選択する他のエージェントは、人工エージェントAA#jと身体的構造が類似しているエージェントである必要がある。
【００９９】
すなわち、人工エージェントAA#jが、例えば、脚のない蛇等の動物を模したキャラクタである場合において、教師エージェントが、例えば、脚がある熊等の動物を模したキャラクタであるときには、脚のない人工エージェントAA#jは、教師エージェントの脚を使った行動を学習しても、脚を使った行動をとることはできない。
【０１００】
このため、人工エージェントAA#jが、教師エージェントとして選択する他のエージェントは、人工エージェントAA#jと身体的構造が類似しているエージェントであることが望ましい。
【０１０１】
人工エージェントAA#jと身体的構造が類似しているエージェントを、人工エージェントAA#jの教師エージェントとして選択する方法としては、例えば、仮想空間内に存在するすべてのエージェントに、その身体的構造を表す構造情報を付しておき、人工エージェントAA#jと同一の構造情報が付されたエージェントだけを、教師エージェントの対象とする方法がある。
【０１０２】
なお、上述のように、選択範囲内に存在する近傍エージェントの中から、人工エージェントAA#jの予測モデルから求められる予測誤差が所定の閾値以上となる状況情報の時系列を行動履歴データとして有する近傍エージェントを、教師エージェントとして選択する場合には、近傍エージェントが存在しないとき（人工エージェントAA#jの選択範囲内にエージェントが存在しないとき）や、近傍エージェントが存在しても、その近傍エージェントの行動履歴データ（時系列の状況情報）を、人工エージェントAA#jの予測モデルの入力として得られる状況情報の予測値の予測誤差が大きくないときには、教師エージェントが選択されず、したがって、人工エージェントAA#jの予測モデルの学習は、行われない。
【０１０３】
但し、教師エージェントの選択は、選択範囲に関係なく行うこともできる。
【０１０４】
すなわち、教師エージェント選択部１０１では、例えば、人工エージェント制御部９２jが制御する人工エージェント（以下、注目エージェントともいう）AA#jからの位置が近い順に、他のエージェントを、候補エージェントとし、注目エージェントAA#jの予測モデルを用いて、候補エージェントの状況情報の予測値を求め、その予測値の予測誤差が所定の閾値以上である場合、その予測誤差が得られた候補エージェント（他のエージェント）を、教師エージェントとして選択することができる。
【０１０５】
この場合、注目エージェントAA#jの予測モデルから求められる予測誤差が所定の閾値以上となる状況情報の時系列を行動履歴データとして有するエージェントであり、かつ、注目エージェントAA#jから最も近い位置に存在するエージェントが、教師エージェントとして選択される。したがって、選択範囲外に存在するエージェントであっても、教師エージェントとして選択され得る。
【０１０６】
さらに、上述の場合には、注目エージェントAA#jが、教師エージェントを、自律的に選択するようにしたが、教師エージェントの選択は、その他、例えば、ユーザusr#iの指示に応じて行うことができる。
【０１０７】
すなわち、教師エージェント選択部１０１では、例えば、ユーザusr#iの指示に応じて、そのユーザusr#iが操作するユーザエージェントUA#iを、教師エージェントとして選択することができる。
【０１０８】
具体的には、例えば、ユーザusr#iのユーザエージェントUA#iが、人工エージェントAA#jの近くにいる状況で、ユーザusr#iが、ユーザエージェントUA#iを教師エージェントとすることを指示するように、コントローラ２２iを操作すると、教師エージェント選択部１０１は、ユーザエージェントUA#iを教師エージェントとして選択する。
【０１０９】
その後、ユーザusr#iが、人工エージェントAA#jにとらせたい行動を、ユーザエージェントUA#iがとるように、コントローラ２２i（図１）を操作すると、その操作に応じて、ユーザエージェントUA#iの状況情報の時系列が、端末装置２１i（図１）からサーバ装置１１（図５）に送信され、エージェント行動履歴記録部９１を介して、エージェント行動履歴データベース１３に供給されて、行動履歴データとして記憶される。
【０１１０】
教師データ取得部１０２では、以上のようにして、エージェント行動履歴データベース１３に記憶されたユーザエージェントUA#iの行動履歴データが、教師データとして取得され、学習部１０３では、その行動履歴データを用いて、人工エージェントAA#jの予測モデルの学習が行われる。
【０１１１】
その結果、人工エージェントAA#jは、ユーザusr#iが、コントローラ２２iを操作して、ユーザエージェントUA#iにとらせた行動と同様の行動をとることが可能となる。
【０１１２】
その他、教師エージェント選択部１０１では、例えば、ユーザusr#iの指示に応じて、人工エージェントAA#j自身を、教師エージェントとして選択することができる。
【０１１３】
この場合、ユーザusr#iは、人工エージェントAA#jにとらせたい行動を、人工エージェントAA#jがとるように、コントローラ２２iを操作する。端末装置２１i（図１）は、コントローラ２２iの操作に応じて、人工エージェントAA#iの状況情報の時系列を、サーバ装置１１（図５）に送信する。サーバ装置１１（図５）では、端末装置２１iからの人工エージェントAA#jの状況情報が、エージェント行動履歴記録部９１を介して、エージェント行動履歴データベース１３に供給され、行動履歴データとして記憶される。
【０１１４】
教師データ取得部１０２では、以上のようにして、エージェント行動履歴データベース１３に記憶された人工エージェントAA#iの行動履歴データが、教師データとして取得され、学習部１０３では、その行動履歴データを用いて、人工エージェントAA#jの予測モデルの学習が行われる。
【０１１５】
その結果、人工エージェントAA#jは、ユーザusr#iが、コントローラ２２iを操作して、人工エージェントAA#iにとらせた行動と同様の行動をとることが可能となる。
【０１１６】
次に、図７を参照して、状況情報について説明する。
【０１１７】
図７は、仮想空間上に存在する人工エージェントAA#jを示している。
【０１１８】
人工エージェントAA#jの状況を表す状況情報には、人工エージェントAA#j自体の状態を表す情報と、その人工エージェントAA#jの近傍に存在し得る仮想空間内のオブジェクト（エージェントを含む）である周囲オブジェクトの状態を表す情報を含む。
【０１１９】
人工エージェントAA#j自体の状態を表す情報としては、例えば、人工エージェントAA#jの仮想空間上の位置の座標や、人工エージェントAA#jの腕や脚その他の関節部分の角度、胴体部分や頭部が向いている方向等がある。
【０１２０】
周囲オブジェクトの状態を表す情報としては、例えば、その周囲オブジェクトの、人工エージェントAA#jの位置を原点とする３次元座標系上の位置の座標等がある。
【０１２１】
ここで、図７では、周囲オブジェクトとして、１つのサッカーボールが存在している。なお、周囲オブジェクトは、１つのオブジェクトに限定されるものではなく、複数のオブジェクトを採用することができる。
【０１２２】
いま、説明を簡単にするために、人工エージェントAA#j自体の状態を表す情報として、例えば、人工エージェントAA#jのM個の関節部分の角度（以下、関節角度ともいう）θ1，θ2，・・・，θMを採用するとともに、周囲オブジェクトの状態を表す情報として、１つのサッカーボールの、人工エージェントAA#jの位置を原点とする３次元座標系上の位置の座標（以下、相対座標ともいう）(xobj,yobj,zobj)を採用することとする。
【０１２３】
そして、時刻tの関節角度θ1，θ2，・・・，θMを、それぞれ、θ1(t)，θ2(t)，・・・，θM(t)と表すとともに、時刻tの相対座標(xobj,yobj,zobj)のx座標、y座標、及びz座標を、それぞれ、xobj(t)，yobj(t)、及びzobj(t)と表すこととする。
【０１２４】
この場合、時刻tの状況情報s(t)は、例えば、M+3次元のベクトル(θ1(t)，θ2(t)，・・・，θM(t)，xobj(t)，yobj(t)、及びzobj(t))で表すことができる。
【０１２５】
ここで、周囲オブジェクトの状態を表す情報を、上述したように、その周囲オブジェクトの相対座標とする場合において、周囲オブジェクトとして、複数のオブジェクトを採用するときには、その複数のオブジェクトの相対座標それぞれが、時刻tの状況情報s(t)のコンポーネントとして含まれる。
【０１２６】
そして、周囲オブジェクトが、人工エージェントAA#jの近傍に存在しない場合（人工エージェントAA#jから離れた位置に存在する場合）、状況情報s(t)のコンポーネントのうちの、人工エージェントAA#jの近傍に存在しない周囲オブジェクトの相対座標は、例えば、人工エージェントAA#jの近傍に存在する周囲オブジェクトが取り得ない固定の値とされる。
【０１２７】
予測モデルは、以上のような時刻tの状況情報s(t)=(θ1(t)，θ2(t)，・・・，θM(t)，xobj(t)，yobj(t)、及びzobj(t))を入力として、例えば、次の時刻t+1の状況情報s(t+1)=(θ1(t+1)，θ2(t+1)，・・・，θM(t+1)，xobj(t+1)，yobj(t+1)、及びzobj(t+1))の予測値s'(t+1)=(θ1'(t+1)，θ2'(t+1)，・・・，θM'(t+1)，xobj'(t+1)，yobj'(t+1)、及びzobj'(t+1))を出力する。
【０１２８】
いま、時刻t+1の状況情報s(t+1)の予測値s'(t+1)のコンポーネントのうちの、関節角度θ1'(t+1)，θ2'(t+1)，・・・，θM'(t+1)を、アクション情報a'(t+1)ということとすると、図５の行動制御部１０７は、予測部１０６で得られる時刻t+1の状況情報s(t+1)の予測値s'(t+1)から、アクション情報a'(t+1)=(θ1'(t+1)，θ2'(t+1)，・・・，θM'(t+1))を抽出し、人工エージェントAA#jのM個の関節部分それぞれの角度が、アクション情報a'(t+1)が表す角度θ1'(t+1)，θ2'(t+1)，・・・，θM'(t+1)となるように、人工エージェントAA#jの状態を変化させる。
【０１２９】
次に、図８を参照して、人工エージェントAA#jによる行動の学習、すなわち、教師エージェントの状況情報の時系列（行動履歴データ）を用いた、人工エージェントAA#jの予測モデルの学習について説明する。
【０１３０】
図８は、仮想空間において、サッカーボールを蹴ってパスをする行動をしているユーザエージェントUA#1及びUA#2と、そのユーザエージェントUA#1及びUA#2の近傍に位置している人工エージェントAA#1とを示している。
【０１３１】
図８では、ユーザエージェントUA#1が、サッカーボールを蹴って、ユーザエージェントUA#2にパスをする行動をし、その後、ユーザエージェントUA#2が、サッカーボールを蹴り返して、ユーザエージェントUA#1にパスをする行動をしている。また、それらの行動が、時刻t=0から時刻t=Tにかけて実行されている。
【０１３２】
この場合、サーバ装置１１（図５）では、ユーザエージェントUA#1の時刻t=0から時刻t=Tにかけての各時刻tの状況情報の時系列が、行動履歴データとして、エージェント行動履歴データベース１３に記憶されるとともに、ユーザエージェントUA#2の時刻t=0から時刻t=Tにかけての各時刻tの状況情報の時系列が、行動履歴データとして、エージェント行動履歴データベース１３に記憶される。
【０１３３】
いま、人工エージェントAA#1を制御する人工エージェント制御部９２1（図５）において、教師エージェント選択部１０１が、例えば、ユーザエージェントUA#2を教師エージェントとして選択すると、教師データ取得部１０２は、教師エージェントであるユーザエージェントUA#2の行動履歴データ、つまり、ユーザエージェントUA#2の時刻t=0の状況情報s(0)=(θ1(0)，θ2(0)，・・・，θM(0)，xobj(0)，yobj(0)、及びzobj(0))、時刻t=1の状況情報s(1)=(θ1(1)，θ2(1)，・・・，θM(1)，xobj(1)，yobj(1)、及びzobj(1))、・・・、時刻t=Tの状況情報s(T)=(θ1(T)，θ2(T)，・・・，θM(T)，xobj(T)，yobj(T)、及びzobj(T))の時系列を、教師データとして、エージェント行動履歴データベース１３から読み出し、学習部１０３に供給する。
【０１３４】
そして、学習部１０３では、教師データ取得部１０２からの状況情報s(0)，s(1)，・・・，s(T)を用いて、人工エージェントAA#1の予測モデルの学習（予測モデルのパラメータの更新）が行われる。
【０１３５】
ユーザエージェントUA#2がサッカーボールのパスをする行動を行っている時刻t=0から時刻t=Tにかけての状況情報s(0)，s(1)，・・・，s(T)を用いた人工エージェントAA#1の予測モデルの学習が収束すると、その予測モデルによれば、サッカーボールのパスをする行動をとるときの状況情報の予測値を求めることが可能となり、その状況情報の予測値に従って、人工エージェントAA#1を制御することにより、人工エージェントAA#1は、図９に示すように、ユーザエージェントUA#2が行っていたのと同様の、サッカーボールのパスをする行動をとることが可能となる。
【０１３６】
すなわち、図９は、仮想空間において、ユーザエージェントUA#2に代わって、ユーザエージェントUA#1とサッカーボールのパスをする行動をしている人工エージェントAA#1を示している。
【０１３７】
いま、人工エージェント#AA1の、図８で説明した学習が収束した後の予測モデルを、関数f()で表すこととすると、人工エージェント#AA1を制御する人工エージェント制御部９２1（図５）では、予測部１０６が、（現在）時刻tにおける人工エージェントAA#1の関節角度θ1(t)，θ2(t)，・・・，θM(t)と、サッカーボールの相対座標(xobj(t)，yobj(t)、及びzobj(t))からなる状況情報s(t)=(θ1(t)，θ2(t)，・・・，θM(t)，xobj(t)，yobj(t)、及びzobj(t))を入力として、予測モデルとしての関数f(s(t))を計算し、人工エージェントAA#1の次の時刻t+1の状況情報s(t+1)の予測値s'(t+1)を求め、行動制御部１０７に供給する。
【０１３８】
行動制御部１０７は、予測部１０６からの時刻t+1の状況情報s(t+1)の予測値s'(t+1)=(θ1'(t+1)，θ2'(t+1)，・・・，θM'(t+1)，xobj'(t+1)，yobj'(t+1)、及びzobj'(t+1))のうちの、アクション情報a'(t+1)=(θ1'(t+1)，θ2'(t+1)，・・・，θM'(t+1))を抽出し、人工エージェントAA#1のM個の関節部分それぞれの角度が、アクション情報a'(t+1)が表す角度θ1'(t+1)，θ2'(t+1)，・・・，θM'(t+1)となるように、人工エージェントAA#1の状態を変化させる。
【０１３９】
そして、各時刻tにおいて、同様の処理が繰り返されることにより、人工エージェントAA#1は、ユーザエージェントUA#1からパスされたサッカーボールを蹴り返すという行動をとる。
【０１４０】
ここで、予測モデルを用いて、将来の状況情報の予測値を求めることを、以下、適宜、単に、予測ともいう。
【０１４１】
図８及び図９では、人工エージェントAA#1にサッカーボールが近づいてきたときに、ボールを蹴るという、比較的短い時間で終了する行動の学習及び予測について説明したが、行動の学習及び予測は、より長い時間がかかる行動を対象として行うことが可能である。
【０１４２】
すなわち、エージェント行動履歴データベース１３において、教師エージェントが、仮想空間に登場してからのすべての状況情報を、その教師エージェントの行動履歴データとして記憶し、人工エージェントAA#1の予測モデルの学習は、その行動履歴データすべてを教師データとして行うことが可能である。
【０１４３】
この場合、教師エージェントの行動履歴データが、例えば、その教師エージェントが仮想空間を歩き回ったときの軌跡や、立ち寄った場所等の情報を含んでいれば、学習後の人工エージェントAA#1は、仮想空間を、自律的に歩き回り、あたかも目的を持って移動しているかのような行動をとることになる。
【０１４４】
次に、図１０は、予測モデルの例を示している。
【０１４５】
予測モデルとしては、図１０に示したようなRNN(Recurrent Neural Network)を採用することができる。
【０１４６】
RNNは、内部状態を保持することができるNN(Neural Network)であり、その詳細については、例えば、特開2005-56340号公報等に記載されている。
【０１４７】
図１０では、RNNは、３層型NNに、その出力層から入力層への回帰ループを持たせたものとなっており、その回帰ループによって、内部状態が保持される。
【０１４８】
すなわち、図１０において、RNNは、入力層、隠れ層（中間層）、及び出力層の３層により構成されている。入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニットにより構成される。
【０１４９】
図１０において、入力層は、入力ユニット、及びコンテキストユニットを有する。
【０１５０】
入力ユニットには、時刻tの入力データ（状態ベクトル）としての状況情報s(t)が入力される。
【０１５１】
コンテキストユニットには、例えば、出力層の一部のユニットが出力するデータが、内部状態であるコンテキストc(t)としてフィードバックされる。すなわち、図１０のRNNでは、コンテキストユニットと、出力層の一部のユニットとが、回帰ループ（コンテキストループ）によって接続されており、コンテキストユニットには、出力層の一部のユニットが出力するデータが、回帰ループを介して、コンテキストc(t)として入力される。
【０１５２】
ここで、時刻tの状況情報s(t)が入力ユニットに入力されるときに、コンテキストユニットに入力される時刻tのコンテキストc(t)は、１時刻前の時刻t-1の入力データである状況情報s(t-1)に対して、出力層の一部のユニットが出力したデータである。したがって、時刻tの状況情報s(t)の入力に対して出力層の一部のユニットが出力したデータは、次の時刻t+1のコンテキストc(t+1)となる。
【０１５３】
隠れ層のユニットは、入力層に入力された状況情報s(t)、及びコンテキストc(t)を対象として、ニューロンとしてのユニットどうしを結合する結合重み（結合荷重）を用いた重み付け加算を行い、その重み付け加算の結果を引数とする非線形関数の演算を行って、その演算結果を、出力層のユニットに出力する。
【０１５４】
出力層のユニットは、隠れ層のユニットの出力を対象として、隠れ層のユニットで行われるのと同様の演算を行う。そして、出力層の一部のユニットからは、上述したように、次の時刻t+1のコンテキストc(t+1)となる演算結果が出力され、入力層のコンテキストユニットにフィードバックされる。また、出力層の残りのユニットからは、例えば、時刻tの入力データに対する出力データとして、その入力データである状況情報s(t)の次の時刻t+1の状況情報s(t+1)の予測値s'(t+1)が出力される。
【０１５５】
なお、RNNを、関数f()で表すこととすると、RNNによる状況情報s(t+1)の予測値s'(t+1)の演算は、式(s'(t+1),c(t+1))=f(s(t),c(t))で表される。すなわち、RNNでは、時刻tの状況情報s(t)と、コンテキストc(t)とを入力として、次の時刻t+1の状況情報s(t+1)の予測値s'(t+1)と、コンテキストc(t+1)とが求められる。
【０１５６】
また、予測モデルとして、RNNを採用する場合、RNNのユニットどうしを結合する結合重みが、予測モデルのパラメータであり、教師データを用いたRNNの学習では、RNNの結合重みが、予測誤差、すなわち、状況情報s(t+1)の予測値s'(t+1)の、真値である状況情報s(t+1)に対する誤差を小さくするように更新される。
【０１５７】
ここで、RNNの学習の方法としては、例えば、BPTT(Back-Propagation Through Time)法がある。BPTT法については、例えば、D. E. Rumelhart, G. E. Hinton & R. E. Williams, 1986 "Learning internal representations by error propagation", In D. E. Rumelhart & J. McClelland, "Parallel distributed processing, pp. 318-364, Cambridge, MA: MIT Pressや、R. J. Williams and D. Zipser, "A learning algorithm for continually running fully recurrent neural networks", Neural Computation, 1:270-280, 1989等に記載されている。
【０１５８】
RNNには、記憶の汎化の機能があり、したがって、例えば、図８及び図９で説明したサッカーボールのパスを例にすれば、無数に存在するサッカーボールの軌道に対する身体の動作（関節角度）に対応する状況情報を、教師データとして与えなくても、何通りかのサッカーボールの軌道に対する身体の動作に対応する状況情報を、教師データとして与えて、RNNの学習を行うことにより、RNNでは、それらの教師データの、いわば共通点が記憶される。その結果、何通りかのサッカーボールの軌道に対する身体の動作に対応する状況情報を、教師データとして学習を行ったRNNによれば、学習をしていないサッカーボールの軌道に対してであっても、そのサッカーボールを蹴り返すための状況情報の予測値が求められる。
【０１５９】
なお、予測モデルとしては、RNNの他、上述した式(s'(t+1),c(t+1))=f(s(t),c(t))で表される写像を実現する計算モデルを採用することができる。
【０１６０】
また、過去の時間発展を加味しないで予測を行うことが許されるならば、予測モデルとしては、コンテキストその他の内部状態を有しない計算モデルを採用することが可能である。
【０１６１】
内部状態を有しない計算モデルとしては、例えば、関数近似器があり、関数近似器によれば、状況情報の予測値の時系列が、関数によって関数近似される。関数近似には、例えば、最小自乗法を利用した近似、直交多項式を利用したルジャンドル近似、チェビシェフ近似、エルミート近似、区間多項式を利用したスプライン近似などがある。
【０１６２】
次に、図１１ないし図１４を参照して、図５の人工エージェント制御部９２jの処理について説明する。
【０１６３】
まず、図１１のフローチャートを参照して、人工エージェント制御部９２jが制御する人工エージェント（注目エージェント）AA#jの予測モデルの学習を行う学習処理について説明する。
【０１６４】
ステップＳ１１において、教師エージェント選択部１０１は、注目エージェントAA#jの予測モデルの学習を行うときに満たされるべき学習条件が満たされているかどうかを判定する学習条件の判定処理を行う。
【０１６５】
学習条件が満たされている場合、処理は、ステップＳ１１からステップＳ１２に進み、注目エージェントAA#jの予測モデルを学習する予測モデル学習処理が行われる。その後、処理は、ステップＳ１２からステップＳ１１に戻り、以下、同様の処理が繰り返される。
【０１６６】
次に、図１２のフローチャートを参照して、図１１のステップＳ１１における学習条件の判定処理について説明する。
【０１６７】
ステップＳ１１では、教師エージェント選択部１０１（図５）は、予測モデルの学習を行う学習モードを判定する。
【０１６８】
ここで、学習モードには、直接学習モード、間接学習モード、及び自律学習モードがある。
【０１６９】
すなわち、上述したように、教師エージェント選択部１０１では、ユーザusr#iの指示に応じて、注目エージェントAA#j自身を、教師エージェントとして選択することができる。
【０１７０】
直接学習モードは、注目エージェントAA#j自身を、教師エージェントとする学習モードであり、ユーザusr#iが、注目エージェントAA#j自身を、教師エージェントとして選択することを指示するように、コントローラ２２iを操作した場合、教師エージェント選択部１０１は、学習モードを、直接学習モードとする。
【０１７１】
また、教師エージェント選択部１０１では、上述したように、ユーザusr#iの指示に応じて、そのユーザusr#iが操作するユーザエージェントUA#iを、教師エージェントとして選択することができる。
【０１７２】
間接学習モードは、ユーザusr#iが操作するユーザエージェントUA#iを、教師エージェントとする学習モードであり、ユーザusr#iが、ユーザエージェントUA#iを教師エージェントとすることを指示するように、コントローラ２２iを操作した場合、教師エージェント選択部１０１は、学習モードを、間接学習モードとする。
【０１７３】
その他の場合（学習モードが、直接学習モード、及び間接学習モードのいずれでもない場合）、教師エージェント選択部１０１は、学習モードを、注目エージェントAA#jが、教師エージェントを、自律的に選択する自律学習モードとする。
【０１７４】
ステップＳ３１において、学習モードが、直接学習モードであると判定された場合、処理は、ステップＳ３２に進み、教師エージェント選択部１０１は、学習条件が満たされるとして、注目エージェントAA#j自身を、教師エージェントとして選択し、学習条件の判定処理を終了する。
【０１７５】
また、ステップＳ３１において、学習モードが、間接学習モードであると判定された場合、処理は、ステップＳ３３に進み、教師エージェント選択部１０１は、学習条件が満たされるとして、ユーザusr#iから教師エージェントとするように指示があった、そのユーザusr#iが操作するユーザエージェントUA#iを教師エージェントとして選択し、学習条件の判定処理を終了する。
【０１７６】
一方、ステップＳ３１において、学習モードが、自律学習モードであると判定された場合、処理は、ステップＳ３４に進み、以下、注目エージェントAA#jの選択範囲（図６）に、他のエージェントが存在することや、そのエージェントの行動履歴データとしての状況情報の予測を、注目エージェントAA#jの予測モデルを用いて行ったときの予測誤差が所定の閾値以上であること等の学習条件を満たすかどうかの判定が行われ、さらに、学習条件が満たされる場合には、教師エージェントの選択が行われる。
【０１７７】
すなわち、ステップＳ３４では、教師エージェント選択部１０１は、そこに供給される状況情報から、注目エージェントAA#jの仮想空間内の位置を認識し、さらに、その位置を中心とする選択範囲内に存在するエージェントを、近傍エージェントとして認識し、処理は、ステップＳ３５に進む。
【０１７８】
なお、近傍エージェントが存在しない場合、学習条件が満たされないとして、処理は、ステップＳ３４からステップＳ３１に戻る。
【０１７９】
ステップＳ３５では、教師エージェント選択部１０１は、近傍エージェントの行動履歴データを、エージェント行動履歴データベース１３（図５）から取得し、処理は、ステップＳ３６に進む。
【０１８０】
ステップＳ３６では、教師エージェント選択部１０１は、エージェント行動履歴データベース１３から取得した行動履歴データ、つまり、近傍エージェントの時系列の状況情報の各時刻の状況情報を、人工エージェン記憶データベース１２に記憶された注目エージェントAA#jの予測モデルの入力として与え、これにより、人工エージェントAA#jの予測モデルが出力する状況情報の予測値、さらには、その予測値の予測誤差を求めて、処理は、ステップＳ３７に進む。
【０１８１】
ステップＳ３７では、教師エージェント選択部１０１は、ステップＳ３６で求めた予測誤差が最大の近傍エージェントを、教師エージェントの候補である候補エージェントとして選択し、処理は、ステップＳ３８に進む。
【０１８２】
すなわち、教師エージェント選択部１０１は、近傍エージェントが１つのエージェントである場合には、その１つの近傍エージェントを、候補エージェントとして選択し、近傍エージェントが複数のエージェントである場合には、その複数の近傍エージェントのうちの、注目エージェントAA#jの予測モデルから求められた予測値の予測誤差が最大の近傍エージェントを、候補エージェントとして選択する。
【０１８３】
ステップＳ３８では、教師エージェント選択部１０１は、候補エージェントの状況情報から求められた予測誤差が、所定の閾値以上（又は、より大）であるかどうかを判定する。
【０１８４】
ステップＳ３８において、候補エージェントの状況情報から求められた予測誤差が、所定の閾値以上でないと判定された場合、すなわち、注目エージェントAA#jの予測モデルにおいて、候補エージェントの状況情報を比較的精度良く予測することができ、したがって、注目エージェントAA#jが、候補エージェントと同様の行動をとることができる場合、学習条件が満たされないとして、処理は、ステップＳ３１に戻る。
【０１８５】
また、ステップＳ３８において、候補エージェントの状況情報から求められた予測誤差が、所定の閾値以上であると判定された場合、すなわち、注目エージェントAA#jの予測モデルにおいて、候補エージェントの状況情報を精度良く予測することができず、したがって、注目エージェントAA#jが、候補エージェントと同様の行動をとることができない場合、学習条件が満たされるとして、処理は、ステップＳ３９に進み、教師エージェント選択部１０１は、その候補エージェント、すなわち、予測誤差が所定の閾値以上となる状況情報の時系列を行動履歴データとして有する候補エージェントを、教師エージェントとして選択して、学習条件の判定処理を終了する。
【０１８６】
なお、教師エージェント選択部１０１は、ステップＳ３２，Ｓ３３、又はＳ３９において、教師エージェントを選択すると、その教師エージェントを特定するエージェント情報を、教師データ取得部１０２（図５）に供給する。
【０１８７】
次に、図１３のフローチャートを参照して、図１１のステップＳ１２における予測モデル学習処理について説明する。
【０１８８】
ステップＳ５１において、教師データ取得部１０２は、教師エージェント選択部１０１が図１２の学習条件の判定処理を行うことにより供給してくるエージェント情報によって特定される教師エージェントの状況情報の時系列としての行動履歴データを、エージェント行動履歴データベース１３から取得し、教師データとして、学習部１０３に供給して、処理は、ステップＳ５２に進む。
【０１８９】
ステップＳ５２では、学習部１０３は、教師データ取得部１０２からの教師データを用いて、人工エージェント記憶データベース１２に記憶された注目エージェントAA#jの予測モデルの学習、すなわち、予測モデルのパラメータの更新を行って、処理は、ステップＳ５３に進む。
【０１９０】
ステップＳ５３では、学習部１０３は、ステップＳ５２での更新後のパラメータを、人工エージェント記憶データベース１２に記憶された注目エージェントAA#jの予測モデルのパラメータに上書きの形で記憶させ、予測モデル学習処理を終了する。
【０１９１】
次に、図１４のフローチャートを参照して、状況情報の予測値を求め、その予測値に従って注目エージェントAA#jを行動させる予測処理について説明する。
【０１９２】
ステップＳ６１において、状況取得部１０５は、注目エージェントAA#jの現在時刻tの状況情報s(t)を取得し、予測部１０６に供給して、処理は、ステップＳ６２に進む。
【０１９３】
ステップＳ６２では、予測部１０６は、人工エージェント記憶データベース１２に記憶された注目エージェントAA#jの予測モデルを用い、状況取得部１０５からの状況情報s(t)を入力として、注目エージェントAA#jの次の時刻t+1の状況情報s(t+1)の予測値s'(t+1)を求めて、行動制御部１０７に供給し、処理は、ステップＳ６３に進む。
【０１９４】
ステップＳ６３では、行動制御部１０７は、予測部１０６からの状況情報（の予測値）s'(t+1)に従って、注目エージェントAA#jを行動させる。その後、処理は、ステップＳ６３からステップＳ６１に戻り、以下、同様の処理が繰り返される。
【０１９５】
以上のように、サーバ装置１１では、仮想空間内のエージェントから、行動を学習する対象である教師エージェントを選択し、教師エージェントの状況を表す状況情報の時系列を取得する。さらに、サーバ装置１１では、教師エージェントの時系列の状況情報を用いて、注目エージェントAA#jの予測モデルの学習を行い、その予測モデルを用いて、状況情報の予測値を求める。そして、サーバ装置１１では、状況情報の予測値に従って、注目エージェントAA#jの行動を制御する。
【０１９６】
したがって、注目エージェントAA#jは、いわば、教師エージェントの行動パターンを記憶し、その記憶内容に基づき、環境の変化に応じて行動をとるので、人工エージェントの行動パターンをルールベースで作り込まなくても、変化に富む多様な環境下において、自律的に行動をとる、ユーザを飽きさせないインタラクションを実現する人工エージェントを提供することができ、その結果、仮想空間の娯楽性を向上させることができる。
【０１９７】
また、例えば、オンラインユーザコミュニティにおいて、ログインしているユーザの数が少ない場合に、人工エージェントが、実際のユーザが操作しているかのように、自律的に振る舞うことで、環境を賑わせ、オンラインユーザコミュニティの持続的な発展を促すことができる。
【０１９８】
さらに、予測モデルの学習を行い、その予測モデルを用いて、状況情報の予測値を求め、状況情報の予測値に従って、人工エージェントの行動を制御するので、あらかじめ行動パターンをルールベースで作り込むことでは対応できないような、複雑で変化に富む多様な環境下でも、人工エージェントは、環境の変化に自律的に対応した行動をとる。
【０１９９】
したがって、人工エージェントは、多様で、自然に感じられる行動をとることができるので、ユーザの興味を、持続的に惹きつけ続けることが可能となる。
【０２００】
また、状況情報の予測値の予測誤差が大となるエージェントや、人工エージェントから一定距離以内に存在するエージェントが、教師エージェントとして選択され、その教師エージェントの行動が、いわば自律的に学習されるので、人工エージェントに行動を明示的に教示する教示者が不要となる。あるいは、教示者の負担を軽減することができる。
【０２０１】
なお、予測モデルとして、例えば、RNNを採用する場合には、その予測モデルとしてのRNNは、１つ、又は複数とすることができる。
【０２０２】
予測モデルとして、１つのRNNを採用する場合において、新たな行動履歴データを用いて、RNNの学習を行うときには、その新たな行動履歴データの他、例えば、それまでに行われたRNNの学習で用いられたすべての行動履歴データを用いて、RNNの学習がし直される。
【０２０３】
また、予測モデルとして、複数のRNNを採用する場合において、新たな行動履歴データを用いて、RNNの学習を行うときには、例えば、新たな行動履歴データに対する予測誤差が最も小さいRNNを学習の対象として、そのRNNの学習が、新たな行動履歴データを用いて行われる。この場合、予測処理（図１４）時には、例えば、複数のRNNのうちの、１時刻前に予測された現在時刻の状況情報の予測値の、現在時刻の状況情報に対する予測誤差が最も小さいRNNの出力が、次の時刻の状況情報の予測値として採用される。
【０２０４】
次に、サーバ装置１１（図５）において、人工エージェント管理部９３は、仮想空間における人工エージェントAA#jの発生と消滅とを管理する発生／消滅処理を行う。
【０２０５】
以下、人工エージェント管理部９３が行う発生／消滅処理について説明する。
【０２０６】
図１５は、仮想空間の地図を、模式的に示している。
【０２０７】
人工エージェント管理部９３は、仮想空間の領域を区分した区分領域に理想的な、エージェントの人口密度に基づいて、人工エージェントを発生、又は消滅させる。
【０２０８】
具体的には、人工エージェント管理部９３は、仮想空間の、１以上の区分領域からなる領域を、注目領域に決定し、その注目領域の単位で、人工エージェントを発生、又は消滅させる。
【０２０９】
なお、区分領域のサイズや形状等、及び、注目領域を、幾つの区分領域で構成するかは、例えば、仮想空間を提供する提供者や、サーバ装置１１を管理する管理者等が決定することができる。
【０２１０】
ここで、図１５では、注目領域は、N個の区分領域で構成されている。
【０２１１】
人工エージェント管理部９３は、注目領域とする仮想空間内の領域を移動させていき、仮想空間の領域すべてを注目領域として、人工エージェントを発生、又は消滅させる。
【０２１２】
なお、注目領域は、既に注目領域となった区分領域を含まないように決定することもできるし、含むように決定することもできる。
【０２１３】
人工エージェント管理部９３は、注目領域を決定すると、その注目領域を構成する各区分領域に理想的な人口密度を求める。
【０２１４】
ここで、図１５に示したように、注目領域は、N個の区分領域で構成されるとし、そのN個の区分領域のうちのi番目(i=1,2,・・・,N)の区分領域を、piと表す。また、区分領域piに理想的な人口密度（以下、人口密度基準ともいう）を、d(pi)と表し、注目領域の面積を、Sと表す。
【０２１５】
なお、人口密度基準d(pi)の求め方については、後述する。
【０２１６】
人工エージェント管理部９３は、注目領域を構成する各区分領域piの人口密度基準d(pi)を求めると、式HC=S/N(d(p1)+d(p2)+・・・+d(pN))に従い、N個の区分領域p1ないしpNで構成される注目領域に理想的なエージェントの数（以下、理想総人口ともいう）HCを求める。
【０２１７】
さらに、人工エージェント管理部９３は、注目領域において、理想総人口HCに不足するエージェントの数（以下、人口不足値ともいう）HDを、式HD=HC-HRに従って求める。
【０２１８】
ここで、HRは、注目領域に実際に存在するエージェントの数を表す。
【０２１９】
人工エージェント管理部９３は、人口不足値HDが正である場合、すなわち、注目領域に実際に存在するエージェントの数HRが、理想総人口HCより少ない場合、人口不足値HDの数だけの人工エージェントを、注目領域に発生させる。
【０２２０】
また、人工エージェント管理部９３は、人口不足値HDが負である場合、すなわち、注目領域に実際に存在するエージェントの数HRが、理想総人口HCより多い場合、注目領域に存在する人工エージェントから、-HD(HD<0)の数だけの人工エージェントをランダムに選択し、注目領域から消滅させる。
【０２２１】
ここで、人工エージェント管理部９３は、人工エージェントを発生させる場合には、例えば、注目領域を構成するN個の区分領域p1ないしpNのうちの、HD個の区分領域をランダムに選択し、そのHD個の区分領域を、HD個の人工エージェントに対し、人工エージェントを発生させる発生領域として、それぞれ割り当てて、HD個の人工エージェントそれぞれを、その人工エージェントに割り当てられた区分領域に発生させる。
【０２２２】
なお、人口不足値HDが、注目領域を構成する区分領域p1ないしpNの数Nより大である場合には、ある区分領域piは、複数の人工エージェントに対し、発生領域として重複して割り当てられる。
【０２２３】
また、人工エージェントが、ユーザエージェントを教師エージェントとして効果的な学習を行うには、注目領域における人工エージェントの数が、注目領域に存在するエージェントすべての数（以下、全人口ともいう）に占める割合を、一定値未満（又は、以下）にすることが望ましい。
【０２２４】
そこで、人工エージェント管理部９３は、注目領域における人工エージェントの数が、注目領域の全人口に占める割合が、一定値未満である場合にのみ、人工エージェントを発生させる。
【０２２５】
すなわち、注目領域に実際に存在するHR個のエージェントのうちの、人工エージェントの数を、HAと表すとともに、人工エージェントを発生させるかどうかの閾値としての、上述の一定値を、λ(0<λ<1)と表すこととすると、人工エージェント管理部９３は、式HA/HR<λが満たさせる場合のみ、人工エージェントを発生させる。
【０２２６】
なお、人工エージェント管理部９３は、人工エージェントを発生させる場合、その発生させる人工エージェント（以下、新エージェントともいう）に対して、エージェント行動履歴データベース１３に記憶された行動履歴データのいずれかを、ランダムに選択して割り当てる。
【０２２７】
そして、新エージェントの予測モデルの学習が、その新エージェントに割り当てられた行動履歴データを用いて行われる。
【０２２８】
したがって、複数の新エージェントに対して、同一の行動履歴データが割り当てられた場合、その複数の新エージェントは、その後、新たな行動履歴データを用いた学習が行われない限り、同様の行動をとる。
【０２２９】
また、新エージェントが仮想空間内で得た経験、つまり、新エージェントの状況情報の時系列は、その新エージェントの行動履歴データとして、エージェント行動履歴データベース１３に記憶される。
【０２３０】
なお、新エージェントの状況情報の時系列は、新エージェントの発生時に、その新エージェントに割り当てられた行動履歴データに追加する形で、エージェント行動履歴データベース１３に記憶することができる。
【０２３１】
この場合、複数の新エージェントに割り当てられた行動履歴データには、その複数の新エージェントが仮想空間内で得た経験、つまり、新エージェントの状況情報の時系列が含められていく。
【０２３２】
次に、区分領域piの人口密度基準d(pi)の求め方について説明する。
【０２３３】
人口密度基準d(pi)は、例えば、区分領域piのすべてについて、同一の値とすることが可能であるが、それでは、現実世界に即した仮想空間を構成することは困難である。
【０２３４】
そこで、人工エージェント管理部９３は、仮想空間の土地の状態や利用目的等の土地の特性に応じて、土地としての区分領域piに固有の人口密度基準d(pi)を求める。
【０２３５】
すなわち、人工エージェント管理部９３は、例えば、静かな浜辺となっている区分領域piについては、小さい値の人口密度基準d(pi)を求める。また、人工エージェント管理部９３は、例えば、賑やかな歓楽街となっている区分領域piについては、大きい値の人口密度基準d(pi)を求める。
【０２３６】
これにより、静かな浜辺となっている区分領域piでは、人工エージェントの発生が抑制され、閑静さが保たれる。また、歓楽街となっている区分領域piでは、多数のエージェントの存在が維持され、賑やかさが保たれる。
【０２３７】
その結果、現実世界と同様の仮想空間が実現され、仮想空間の娯楽性を向上させることができる。
【０２３８】
以上のように、土地の特性に応じて、土地としての区分領域piに固有の人口密度基準d(pi)を求める方法としては、例えば、仮想空間の自然物や人工物等の仮想空間を構成するオブジェクトの分布に基づいて、人口密度基準d(pi)を求める第１の方法、仮想空間の提供者（設計者）が、仮想空間の各土地の利用目的に基づいて、人口密度基準d(pi)をあらかじめ決定しておく第２の方法、並びに、第１及び第２の方法を組み合わせた第３の方法がある。
【０２３９】
第１の方法では、仮想空間において、ユーザ（エージェント）によって、植物の伐採や、建造物の建設等の活動が行われることで時々刻々と変化していく仮想空間の変化にあわせて、人口密度基準d(pi)が求められる。したがって、第１の方法では、人口密度基準d(pi)は、仮想空間の変化に応じて変化する。
【０２４０】
一方、第２の方法では、ユーザ（エージェント）の活動とは関係なく、仮想空間の提供者が画一的に決めた土地の利用目的に従って、人口密度基準d(pi)が決定される。したがて、第２の方法では、人口密度基準d(pi)は、仮想空間の提供者が変更しない限り、固定の値となる。
【０２４１】
ここで、第１の方法により求められる人口密度基準d(pi)を、以下、適宜、適応的密度基準dA(pi)ともいい、第２の方法により求められる人口密度基準d(pi)を、以下、適宜、固定的密度基準dS(pi)ともいう。
【０２４２】
次に、図１６を参照して、適応的密度基準dA(pi)の求め方について説明する。
【０２４３】
ここで、サーバ装置１１の人工エージェント管理部９３では、仮想空間の地図上において、仮想空間を構成するオブジェクト（自然物や人工物）の分布をすべて把握することができるようになっている。
【０２４４】
また、仮想空間を構成するオブジェクトには、そのオブジェクトが存在する場所に対して適した人口密度に対応する情報である密度要素値が割り当てられていることとする。
【０２４５】
すなわち、例えば、植物や川等の自然物がある場所は、人口密度が小さくなるべきであり、このため、自然物のオブジェクトには、小さい人口密度に対応する小さい値の密度要素値が割り当てられる。
【０２４６】
また、例えば、建物や、車、道路等の人工物がある場所は、人口密度が大きくなるべきであり、このため、人工物のオブジェクトには、大きい人口密度に対応する大きい値の密度要素値が割り当てられる。
【０２４７】
なお、密度要素値の割り当ては、例えば、仮想空間の提供者によって行われる。
【０２４８】
図１６は、適応的密度基準dA(pi)の求め方を示している。
【０２４９】
すなわち、図１６Ａは、区分領域の密度要素値の分布を表した仮想空間の地図を示している。
【０２５０】
区分領域の密度要素値は、その区分領域に存在するオブジェクトの密度要素値から求められる。
【０２５１】
すなわち、区分領域に存在するオブジェクトの密度要素値の、例えば、平均値、最大値、又は最小値等が、その区分領域の密度要素値とされる。
【０２５２】
ここで、図１６Ａにおいて、模様が付されていない四角形は、密度要素値が0の区分領域を示している。
【０２５３】
また、右上がりの斜線が付された丸印を有する四角形は、密度要素値が-1の区分領域を、左上がりの斜線が付された丸印を有する四角形は、密度要素値が-2の区分領域を、横線が付された丸印を有する四角形は、密度要素値が-3の区分領域を、黒で塗りつぶされた丸印を有する四角形は、密度要素値が-4の区分領域を、それぞれ示している。
【０２５４】
さらに、右上がりの斜線が付された四角形は、密度要素値が+1の区分領域を、左上がりの斜線が付された四角形は、密度要素値が+2の区分領域を、横線が付された四角形は、密度要素値が+3の区分領域を、黒で塗りつぶされた四角形は、密度要素値が+4の区分領域を、それぞれ示している。
【０２５５】
いま、適応的密度基準dA(pi)を求めようとする対象の区分領域piを、対象領域piということとすると、人工エージェント管理部９３は、例えば、その対象領域piを中心とする横×縦が３×３個の区分領域を、適応的密度基準dA(pi)を求めるのに用いる適応的密度基準算出用領域として、その適応的密度基準算出用領域を構成する３×３個の区分領域それぞれの密度要素値を用いて、対象領域piの適応的密度基準dA(pi)を求める。
【０２５６】
すなわち、図１６Ｂは、適応的密度基準算出用領域を示している。
【０２５７】
適応的密度基準算出用領域において、図１６Ｂに示すように、対象領域piの左上、上、右上、左、右、左下、下、及び右下に隣接する区分領域の密度要素値を、それぞれ、a1,a2,a3,a4,a6,a7,a8、及びa9と表すとともに、対象領域piの密度要素値を、a5と表すこととする。
【０２５８】
この場合、人工エージェント管理部９３は、例えば、式dA(pi)=1/NDA(a1+a2+・・・aL)に従い、適応的密度基準産出量領域を構成する区分領域の密度要素値の平均値を、対象領域piの適応的密度基準dA(pi)として求める。
【０２５９】
ここで、式dA(pi)=1/NDA(a1+a2+・・・aL)におけるLは、適応的密度基準算出用領域を構成する区分領域の数を表し、いまの場合、L=9である。なお、適応的密度基準算出用領域を構成する区分領域の数Lは、9に限定されるものではなく、その他、例えば、対象領域piを中心とする横×縦が、例えば、5×5個の区分領域を、適応的密度基準算出用領域とすることができる。
【０２６０】
図１６Ｃは、図１６Ａの区分領域pが、対象領域である場合の適応的密度基準算出用領域を示している。
【０２６１】
図１６Ｃでは、適応的密度基準算出用領域を構成する区分領域の密度要素値a1,a2,a3,a4,a5,a6,a7,a8、及びa9は、それぞれ、-4,+2,+1,+2,+4,+3,-1,+1、及び0であり、したがって、対象領域pの適応的密度基準dA(pi)は、8/9(=(-4+2+1+2+4+3-1+1+0)/9)となる。
【０２６２】
次に、図１７を参照して、固定的密度基準dS(pi)について説明する。
【０２６３】
図１７は、区分領域piの固定的密度基準dS(pi)の分布を表した仮想空間の地図を示している。
【０２６４】
ここで、図１７において、模様が付されていない四角形は、固定的密度基準が0の区分領域を示している。また、右上がりの斜線が付された四角形は、固定的密度基準が+1の区分領域を、左上がりの斜線が付された四角形は、固定的密度基準が+1.5の区分領域を、横線が付された四角形は、固定的密度基準が+2の区分領域を、黒で塗りつぶされた四角形は、固定的密度基準が+2.5の区分領域を、それぞれ示している。
【０２６５】
上述したように、区分領域piの固定的密度基準dS(pi)は、仮想空間の提供者が画一的に決めた土地（区分領域pi）の利用目的に従って決定される。
【０２６６】
すなわち、仮想空間の提供者は、仮想空間において、特定の地域を、商業地域として市街化することや、公園にして緑化地帯として植物を残すこと等の、土地（陸地は、勿論、海上や、海（川）の中等であってもよい）の利用目的を、区分領域ごとに定める。
【０２６７】
この利用目的の定め（指針）は、仮想空間における都市開発の目安となるものであり、仮想空間の提供者は、さらに、利用目的ごとに、適切な（理想的な）人口密度を割り当てる。
【０２６８】
区分領域piの固定的密度基準dS(pi)は、その区分領域piの利用目的に割り当てられた人口密度に決定される。
【０２６９】
以上のように、区分領域の利用目的を定め、さらに、利用目的ごとに、適切な人口密度を割り当て、区分領域piの固定的密度基準dS(pi)を、その区分領域piの利用目的に割り当てられた人口密度に決定することにより、例えば、賑やかさが求められる商業地域の人口密度基準d(pi)は大きな値にし、人の数が多すぎない方がムードを楽しむことのできる公園などの緑化地帯の人口密度基準d(pi)は小さい値にすることができる。
【０２７０】
次に、図１８のフローチャートを参照して、人工エージェント管理部９３（図５）が行う発生／消滅処理について説明する。
【０２７１】
ステップＳ８１において、人工エージェント管理部９３は、人工エージェントを発生、又は消滅させる注目領域を決定し、処理は、ステップＳ８２に進む。
【０２７２】
ステップＳ８２では、人工エージェント管理部９３は、注目領域を構成するN個の区分領域piの人口密度基準d(pi)それぞれを求めて、処理は、ステップＳ８２に進む。
【０２７３】
すなわち、例えば、人工エージェント管理部９３は、第１の方法により、区分領域piの適応的密度基準dA(pi)を求め、その適応的密度基準dA(pi)を、そのまま、人口密度基準d(pi)とする。
【０２７４】
また、例えば、人工エージェント管理部９３は、第２の方法により、区分領域piの固定的密度基準dS(pi)を求め、その固定的密度基準dS(pi)を、そのまま、人口密度基準d(pi)とする。
【０２７５】
あるいは、例えば、人工エージェント管理部９３は、区分領域piの適応的密度基準dA(pi)と、固定的密度基準dS(pi)とを求め、さらに、式d(pi)=(dA(pi)+dS(pi))/2に従い、適応的密度基準dA(pi)と固定的密度基準dS(pi)との平均値を、人口密度基準d(pi)として求める。
【０２７６】
ステップＳ８３では、人工エージェント管理部９３は、上述したように、人口密度基準d(pi)を用いた式HC=S/N(d(p1)+d(p2)+・・・+d(pN))に従い（Sは注目領域の面積であり、Nは注目領域を構成する区分領域の数）、注目領域に理想的なエージェントの数（理想総人口）HCを求め、処理は、ステップＳ８４に進む。
【０２７７】
ステップＳ８４では、人工エージェント管理部９３は、注目領域において、理想総人口HCに不足するエージェントの数（人口不足値）HDを、式HD=HC-HRに従って求め（HRは、注目領域に実際に存在するエージェントの数）、処理は、ステップＳ８５に進む。
【０２７８】
ステップＳ８５では、人工エージェント管理部９３は、人口不足値HDが正であるかどうかを判定する。
【０２７９】
ステップＳ８５において、人口不足値HDが正であると判定された場合、すなわち、注目領域に実際に存在するエージェントの数HRが、理想総人口HCより少ない場合、処理は、ステップＳ８６に進み、人工エージェント管理部９３は、注目領域における人工エージェントの数HAが、注目領域の全人口HRに占める割合HA/HRが、一定値λ未満であるかどうかを判定する。
【０２８０】
ステップＳ８６において、注目領域における人工エージェントの数HAが、注目領域の全人口HRに占める割合HA/HRが、一定値λ未満でないと判定された場合、注目領域に人工エージェントを新たに発生させることは、人工エージェントの数が多くなりすぎるため、人工エージェント管理部９３は、注目領域に人工エージェントを新たに発生させずに、処理は、ステップＳ８１に戻る。
【０２８１】
そして、ステップＳ８１では、新たな注目領域が決定され、以下、同様の処理が繰り返される。
【０２８２】
また、ステップＳ８６において、注目領域における人工エージェントの数HAが注目領域の全人口HRに占める割合HA/HRが、一定値λ未満であると判定された場合、処理は、ステップＳ８７に進み、以下、人工エージェント管理部９３は、人口不足値HDの数だけの人工エージェントを、注目領域に発生させる。
【０２８３】
すなわち、人工エージェント管理部９３は、ステップＳ８７において、注目領域に発生させる人口不足値HDの数の人工エージェント（新エージェント）それぞれに、注目領域を構成するN個の区分領域p1ないしpNのうちのいずれかを、新エージェントを発生させる発生領域として割り当て、処理は、ステップＳ８８に進む。
【０２８４】
ステップＳ８８では、人工エージェント管理部９３は、人口不足値HDの数の新エージェントそれぞれに、エージェント行動履歴データベース１３に記憶された行動履歴データのいずれかを割り当て、処理は、ステップＳ８９に進む。
【０２８５】
ステップＳ８９では、人工エージェント管理部９３は、人口不足値HDの数の新エージェントそれぞれを制御する、人工エージェント制御部９２j（図５）と同様の人工エージェント制御部（以下、新エージェント制御部ともいう）を生成し、各新エージェント制御部に、その新エージェント制御部が制御する新エージェントに割り当てられた行動履歴データを用いた、その新エージェントの予測モデルの学習を行わせて、処理は、ステップＳ９０に進む。
【０２８６】
ステップＳ９０では、人工エージェント管理部９３は、人口不足値HDの数の新エージェントそれぞれを、その新エージェントに発生領域として割り当てられた区分領域に発生（登場）させ、処理は、ステップＳ８１に戻る。
【０２８７】
以上のようにして、区分領域に発生した新エージェントの行動は、その新エージェントを制御する新エージェント制御部によって制御される。
【０２８８】
一方、ステップＳ８５において、人口不足値HDが正でないと判定された場合、すなわち、注目領域に実際に存在するエージェントの数HRが、理想総人口HCより多い場合（又は、注目領域に実際に存在するエージェントの数HRが、理想総人口HCに一致する場合）、処理は、ステップＳ９１に進み、人工エージェント管理部９３は、注目領域の人工エージェントの数について、式HA>0が成り立つかどうか、すなわち、注目領域に、人工エージェントが存在するかどうかを判定する。
【０２８９】
ステップＳ９１において、注目領域に、人口エージェントが存在しないと判定された場合（式HA>0が成り立たない場合）、消滅させる人工エージェントがないため、処理は、ステップＳ８１に戻る。
【０２９０】
また、ステップＳ９１において、注目領域に、人口エージェントが存在すると判定された場合（式HA>0が成り立つ場合）、処理は、ステップＳ９２に進み、人工エージェント管理部９３は、注目領域に実際に存在するエージェントの数HR以内であり、かつ、1以上-HD(HD<0)以内のランダムに選んだ数の人工エージェントを、消滅対象として、注目領域の人工エージェントの中からランダムに選択し、処理は、ステップＳ９３に進む。
【０２９１】
ステップＳ９３では、人工エージェント管理部９３は、消滅対象とした人工エージェントを、注目領域から消滅させる（消去する）とともに、その人工エージェントを制御する人工エージェント制御部（新エージェント制御部）を削除して、処理は、ステップＳ８１に戻る。
【０２９２】
ここで、ユーザエージェントの近くにいる人工エージェントが突然消滅すると、ユーザに違和感を感じさせることがあるので、人工エージェントの消滅は、その人工エージェントの周囲に、ユーザエージェントが存在しない状態になってから行うことができる。
【０２９３】
以上のように、人口密度基準d(pi)、つまり、区分領域に理想的な、エージェントの人口密度に基づいて、エージェントを発生、又は消滅させる発生／消滅処理を行うことで、例えば、静かな浜辺となっている区分領域piでは、人工エージェントの発生が抑制され、閑静さが保たれる。また、歓楽街となっている区分領域piでは、多数のエージェントの存在が維持され、賑やかさが保たれる。その結果、現実世界と同様の仮想空間が実現され、仮想空間の娯楽性を向上させることができる。
【０２９４】
さらに、仮想空間において、現実世界と同様に、土地の価値に格差が生じ、例えば、それを利用した経済活動を行うことが可能となる。
【０２９５】
なお、仮想空間における人工エージェントの数の上限は、特に定める必要がないが、現実的には、仮想空間における人工エージェントの数は、人工エージェント記憶データベース１２の記憶容量や、サーバ装置１１としての図３のコンピュータの性能（いわゆるスペック）等によって制限される。
【０２９６】
また、図１８の発生／消滅処理において、人工エージェントを発生させるときに、複数の人工エージェントに、同一の行動履歴データが割り当てられた場合には、その複数の人工エージェントは、同様の行動をとることになり、そのような複数の人工エージェントが、直接的に接触する（インタラクションする）ことができる範囲に存在することは、好ましくない。そこで、複数の人工エージェントに、同一の行動履歴データが割り当てられた場合には、その複数の人工エージェントは、直接的に接触することがないように、ある程度離れた区分領域に発生させることが望ましい。
【０２９７】
なお、エージェント行動履歴データベース１３の記憶容量を十分確保し、エージェント行動履歴データベース１３に、十分な数の（多くの）行動履歴データが記憶されることで、上述したような、複数の人工エージェントに、同一の行動履歴データが割り当てられることは、ほぼ回避することができる。
【０２９８】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０２９９】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０３００】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０３０１】
【図１】本発明を適用したネットワークシステムの一実施の形態の構成例を示す図である。
【図２】端末装置２１iで表示される仮想空間を示す図である。
【図３】サーバ装置１１のハードウェアの構成例を示すブロック図である。
【図４】端末装置２１iのハードウェアの構成例を示すブロック図である。
【図５】サーバ装置１１の機能的な構成例を示すブロック図である。
【図６】仮想空間内に存在するユーザエージェントUA#1ないしUA#3、並びに、人工エージェントAA#1及びAA#2を示す図である。
【図７】仮想空間上に存在する人工エージェントAA#jを示す図である。
【図８】仮想空間において、サッカーボールのパスをするユーザエージェントUA#1及びUA#2と、その近傍の人工エージェントAA#1とを示す図である。
【図９】仮想空間において、ユーザエージェントUA#1とサッカーボールのパスをする人工エージェントAA#1を示す図である。
【図１０】予測モデルとしてのRNNを示す図である。
【図１１】学習処理を説明するフローチャートである。
【図１２】学習条件の判定処理を説明するフローチャートである。
【図１３】予測モデル学習処理を説明するフローチャートである。
【図１４】予測処理を説明するフローチャートである。
【図１５】仮想空間の地図を示す図である。
【図１６】適応的密度基準dA(pi)の求め方を説明する図である。
【図１７】固定的密度基準dS(pi)を説明する図である。
【図１８】発生／消滅処理を説明するフローチャートである。
【符号の説明】
【０３０２】
１１  サーバ装置，  １２  人工エージェント記憶データベース，  １３  エージェント行動履歴データベース，  ２１1ないし２１3  端末装置，  ２２1ないし２２3  コントローラ，  ３１  ネットワーク，  ４１  バス，  ４２  CPU，  ４３  ROM，  ４４  RAM，  ４５  ハードディスク，  ４６  出力部，  ４７  入力部，  ４８  通信部，  ４９  ドライブ，  ５０  入出力インタフェース，  ５１  リムーバブル記録媒体，  ６１  バス，  ６２  CPU，  ６３  ROM，  ６４  RAM，  ６５  ハードディスク，  ６６  出力部，  ６７  入力部，  ６８  通信部，  ６９  ドライブ，  ７０  入出力インタフェース，  ７１  リムーバブル記録媒体，  ９１  エージェント行動履歴記録部，  ９２1，９２2  人工エージェント制御部，  ９３  人工エージェント管理部，  １０１  教師エージェント選択部，  １０２  教師データ取得部，  １０３  学習部，  １０５  状況取得部，  １０６  予測部，  １０７  行動制御部
【図１】
2009134394.tif 000003
【図２】
2009134394.tif 000004
【図３】
2009134394.tif 000005
【図４】
2009134394.tif 000006
【図５】
2009134394.tif 000007
【図６】
2009134394.tif 000008
【図７】
2009134394.tif 000009
【図８】
2009134394.tif 000010
【図９】
2009134394.tif 000011
【図１０】
2009134394.tif 000012
【図１１】
2009134394.tif 000013
【図１２】
2009134394.tif 000014
【図１３】
2009134394.tif 000015
【図１４】
2009134394.tif 000016
【図１５】
2009134394.tif 000017
【図１６】
2009134394.tif 000018
【図１７】
2009134394.tif 000019
【図１８】
2009134394.tif 000020