(57)【要約】【課題】  多数の生き物の行動をシミュレートする技法を述べる。【解決手段】本技法は、２つのシミュレーションのモードを利用する。シミュレーションの第１のモードは、生き物のうちのすべての行動をシミュレートするように構成される。シミュレーションの第２のモードは、第１のモードより詳細なレベルで生き物のうちの数個の行動をシミュレートするように構成される。第２のモードは、生き物の環境が変化した場合に個々の生き物の新たなパラメータを確定するために第１のモードによって利用される。【選択図】  図１
2004157990.tif 000002
【特許請求の範囲】
【請求項１】
複数の生き物の行動をシミュレートする方法であって、
少なくとも２つのシミュレーションのモード、すなわち、
前記生き物のうちのすべての行動をシミュレートするように構成された第１のモードと、
該第１のモードより詳細なレベルで該生き物のうちの少なくとも１つの行動をシミュレートするように構成された第２のモードと、
を利用することを含む方法。
【請求項２】
前記シミュレーションの第２のモードを、前記第１のモードによってシミュレートされた前記生き物のうちの１つまたは複数の環境が変化していることが検出された場合に利用し、該第２のモードを、環境が変化している該生き物の行動をシミュレートするために利用する請求項１に記載の方法。
【請求項３】
前記環境の変化は、生き物が、戦うこと、仲間になること、食べること、別の生き物と相互作用すること、繁殖すること、別の生き物を検出すること、別の生き物と遭遇すること、新たな地形タイプへ移動すること、該環境を変化させることとのうちの少なくとも１つを経験することを含む、先行の請求項２に記載の方法。
【請求項４】
前記第２のモードを、各生き物の開始パラメータを確定するために前記シミュレーションの開始時に呼出す、請求項１ないし３のいずれか１項に記載の方法。
【請求項５】
前記第２のモードを、前記シミュレートされた生き物の行動に影響を及ぼす少なくとも１つのパラメータを確定するために利用し、該パラメータを、後に前記シミュレーションの第１のモードによって利用する、先行の請求項１ないし４のいずれか１項に記載の方法。
【請求項６】
当該方法が前記第２のモードを利用することから前記第１のモードを利用することに変化した場合、該第２のモードによってシミュレートされた前記生き物に関連する少なくとも１つのパラメータを、該第２のモードの後の反復によって使用するために格納する、先行の請求項１ないし５のいずれか１項に記載の方法。
【請求項７】
前記パラメータは、生き物の質量と、生き物のエネルギーと、生き物の強度と、生き物の挙動遷移の確率と、生き物の生化学的レベルと、生き物の移動パラメータと、生き物の速度と、生き物の方向転換の速度と、のうちの少なくとも１つを含む、先行の請求項４、５または６のいずれか１項に記載の方法。
【請求項８】
先行の請求項１ないし７のいずれか１項に記載の方法を実行するように構成されたコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを含む記録可能媒体。
【請求項１０】
複数の生き物の行動をシミュレートするように構成されたシミュレータ装置であって、
少なくとも２つのシミュレーションのモード、すなわち、
前記生き物のうちのすべての行動をシミュレートするように構成された第１のモードと、
該第１のモードより詳細なレベルで該生き物のうちの少なくとも１つの行動をシミュレートするように構成された第２のモードと、
を利用するように構成されたシミュレータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の生き物の行動をシミュレートするのに適した方法および装置に関する。
【背景技術】
【０００２】
生命科学を研究する際の問題の１つは、長い期間にわたり、生き物の形態の生態系および進化の変化が発生する、ということである。したがって、生命過程は種々のフォーマットでシミュレートされてきており、そのため生き物の相互作用および新生個体パターンの研究が可能となった。
【０００３】
アニマット（animat）は、問題、すなわち障害物、ナビゲーション、危険、目的を提示する環境において積極的かつ意図的な挙動を示す人工の生き物である。しばしばアニマットは、現実の物理環境における複雑な問題を解決するために観察される生物学的有機体によって鼓舞される。実際に、アニマットを、かかる生物学的有機体の潜在的な挙動および／または進化をモデル化するように、オリジナルの生物学的有機体に可能な限り近いように設計することができる。
【０００４】
この性質の問題を研究するために物理的なロボットを構築することは可能であるが、（たとえば)センサ、アクチュエータ、ニューラルネットワークおよび剛体力学のニュートン・オイラーの法則の計算モデルを使用して、アニマットと環境とを合せてシミュレートしようという強い意欲がある。計算モデルは、シミュレートされたアニマットの多数の個体の生成を可能にすることにより、進化シミュレーションを研究することができるようにする。多数の個体をシミュレートするために物理的なロボットを使用することは実際的でない。それは、ロボットは、摩損、裂け、破壊を被ることになり、かなりの資本および支援費用が必要となるためである。また、このタイプのシミュレーションは、エンターテイメントアプリケーションにおいてもますます広まってきている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現実的なシミュレートされた物理的現象を含む環境においてかかるシミュレートされたアニマットを用いた経験により、最新のコンピュータ（たとえば、１GHz  Pentiumコンピュータ）が実時間にほんのわずかな（すなわち、１０未満）のアニマットしかシミュレートすることができない、ということが分かった。「現実的なシミュレートされた物理的現象」を使用するシミュレーションの一般的な例は、たとえばM.I.T. Pressによって発行されたRod BrooksおよびPattie Maes編の書籍「Artificial Life IV」の２８〜３９頁の「Evolving 3D morphology and behaviour by competition」において発表されているようなKarl Simmsの１９９４年の研究である。進化シミュレーションの場合、何千もの個体を実時間の１０〜１００倍の速度でシミュレートすることが望ましい。このため、典型的なデスクトップＰＣで利用可能な計算資源は、かかるシミュレーションを可能にするためにはかなりの率で（たとえば、およそ１０５〜１０６倍）不適当である、ということが理解されよう。
【０００６】
コンピュータの能力が向上し続けていることは理解されるであろうが、シミュレーションが、時間の経過によってより複雑になる傾向にある、ということも理解されよう。その結果、現実世界の状況のより正確なシミュレーションを可能になる。たとえば現実世界の問題を解決するための知能を備えた複雑なアニマットが提供される。
【０００７】
本発明の目的は、コンピュータの処理能力に係らず、利用可能な計算能力の効率的使用を可能とするシミュレーション技法を提供することである。
【課題を解決するための手段】
【０００８】
第１の態様では、本発明は、複数の生き物の行動をシミュレートする方法であって、少なくとも２つのシミュレーションのモード、すなわち、それら生き物のうちのすべての行動をシミュレートするように構成された第１のモードと、その第１のモードより詳細なレベルでそれら生き物のうちの少なくとも１つの行動をシミュレートするように構成された第２のモードと、を利用することを含む方法を提供する。
【０００９】
好ましくは、上記シミュレーションの第２のモードは、上記第１のモードによってシミュレートされた上記生き物のうちの１つまたは複数の環境が変化していることが検出された場合に利用され、環境が変化している生き物の行動をシミュレートするために利用される。
【００１０】
好ましくは、上記環境の変化は、生き物が、戦うこと、仲間になること、食べること、別の生き物と相互作用すること、繁殖すること、別の生き物を検出すること、別の生き物と遭遇すること、新たな地形タイプへ移動すること、環境を変化させることとのうちの少なくとも１つを経験することを含む。
【００１１】
好ましくは、第２のモードは、各生き物の開始パラメータを確定するためにシミュレーションの開始時に呼出される。
【００１２】
好ましくは、上記第２のモードは、シミュレートされた生き物の行動に影響を及ぼす少なくとも１つのパラメータを確定するために利用され、そのパラメータは、後にシミュレーションの第１のモードによって利用される。
【００１３】
好ましくは、本方法が第２のモードを利用することから第１のモードを利用することに変化した場合、第２のモードによってシミュレートされた上記生き物に関連する少なくとも１つのパラメータが、第２のモードの後の反復によって使用するために格納される。
【００１４】
好ましくは、上記パラメータは、生き物の質量と、生き物のエネルギーと、生き物の強度と、生き物の挙動遷移の確率と、生き物の生化学的レベルと、生き物の移動パラメータと、生き物の速度と、生き物の方向転換の速度と、のうちの少なくとも１つを含む。
【００１５】
さらなる態様では、本発明は、上述した方法を実行するように構成されたコンピュータプログラムを提供する。
【００１６】
別の態様では、本発明は、コンピュータプログラムを含む記録可能媒体を提供する。
【００１７】
さらなる態様では、本発明は、複数の生き物の行動をシミュレートするように構成されたシミュレータ装置であって、少なくとも２つのシミュレーションのモード、すなわち、それら生き物のうちのすべての行動をシミュレートするように構成された第１のモードと、その第１のモードより詳細なレベルで少なくとも１つのそれら生き物の行動をシミュレートするように構成された第２のモードと、を利用するように構成された装置を提供する。
【発明を実施するための最良の形態】
【００１８】
好ましい実施形態は、多数のアニマットの行動をシミュレートするように構成された大規模低忠実度シミュレーション（Lo-Fi Sim）を利用する。かかるLo-Fi Simは、典型的には、少なくとも10,000個のアニマットをシミュレートするために使用するが、たとえば、さらに多数、たとえば100,000、1,000,000、10,000,000以上のアニマットをシミュレートするために使用することも可能である。
【００１９】
Lo-Fi Sim（図１においてステップ１００として示す）を、アニマットの巨視的挙動の有効な近似を利用してシミュレーションを提供するように構成する。
【００２０】
Lo-Fi Simは、高忠実度シミュレーション（Hi-Fi Sim、１２０）においてすべての関連する物理的詳細を使用して、小数のアニマットをより詳細にモデリングすることができるシミュレーションに対し、プログラム的にアクセスすることができる。
【００２１】
巨視的パラメータを利用するLo-Fi Sim（１００）は、シミュレーションの大部分の間においてアニマットを記述する際に適している。しかしながら、アニマットが、Lo-Fi Simを使用して適切にモデル化することができないその環境の変化に遭遇すると（１１０）、新たな環境においてアニマットのパフォーマンスを確定するためにHi-Fi Sim（１２０）を使用する。そして、Hi-Fi Simは、結果（たとえば、新たなパラメータかまたは先のパラメータの新たな値）をLo-Fi Simに戻すことができる。
【００２２】
このため、Lo-Fi Simのスレーブプログラムとして動作するHi-Fi Simは、試験する必要のあるあらゆる条件（地形タイプの変化等）の下でアニマットのパフォーマンスを測定することができ、Lo-Fi Simに試験報告を返すことができる。そして、Lo-Fi Simは、巨視的パラメータの形態で試験報告の結果を利用することにより、多数の生き物の効率的なシミュレーションを提供する。
【００２３】
好ましい実施形態では、Hi-Fi Simを利用して、新たな特定のタイプの地形に達した時のアニマットの速度を、その地形に関しアニマットの個々の四肢の移動を正確にモデル化することにより確定し、平均速度を確定する。そして、この平均速度を、Lo-Fi Simに返す。
【００２４】
Lo-Fi Simで使用する近似は、アニマットが、センサ入力の大幅な変化の間かまたは環境地形タイプにわたって直接移動する、ということである。Lo-Fi Simは、特定地形タイプ上の特定アニマットの速度に関する情報を必要とする。この情報を、Lo-Fi Simに関連する条件の下でアニマットを試験するHi-Fi Simの一部（「試験エンジン（Test Engine）」）にアニマットを配置することによって確定する。
【００２５】
たとえば、試験エンジンは、以下の属性に関して特定のアニマットを試験する。
【００２６】
地形タイプＡ（たとえば、平坦）における直線速度
地形タイプＢ（たとえば、起伏に富む）における直線速度
地形タイプＣ（たとえば、生き物が１０°の坂を登る）における直線速度
地形タイプＤ（たとえば、生き物が１０°の坂を降りる）における直線速度
地形タイプＥ（たとえば、生き物が１０°の坂を横切る）における直線速度
生き物の方向転換の速度（たとえば、ラジアン／分）
地形タイプＡ、Ｂ、Ｃ、ＤおよびＥにおいて必要な各々のエネルギー消費速度
このように、必要な場合にのみより詳細なHi-Fi Simを呼出し、それ以外は、アニマットの行動を別の方法でモデル化する、より計算集約的でないLo-Fi Simを呼出すことにより、利用可能な計算資源が効率的に使用される、ということが理解されよう。これにより、アニマット（または他の生き物）の多くの個体を、比較的低能力コンピュータにおいて相当な精度にまでモデル化することができる。
【００２７】
上記実施形態をアニマットに関して説明したが、本技法を任意の人工の生き物または別の生き物のシミュレーションに対して行うことができる、ということが理解されよう。人工生き物を、現実の生き物または人間に基づかせてもよい。
【００２８】
また、上記実施形態では地形が変化する環境の変化の例を提供したが、環境の他の変化によってHi-Fi Simが呼出されてもよい、ということが理解されよう。
【００２９】
たとえば、２つのアニマットが、Hi-Fi Simにおいてのみモデル化することができる方法で遭遇し相互作用する（たとえば、戦うかまたは仲間になる）ものとする。このため、かかる遭遇の詳細なシミュレーションを実行する（「遭遇エンジン（Encounter Engine）」と呼ばれるHi-Fi Simの一部を使用して）ために、Lo-Fi SimによりHi-Fi Simがプログラム的に呼出され、その後、その遭遇がアニマットの速度に影響を与える変化をもたらす可能性がある場合（たとえば、それが「傷つく」かまたはエネルギーが低下することによって、それほど迅速に移動することができなくなる）、試験エンジンによりアニマットを再試験してもよい。このように、Lo-Fi Simは、シミュレーション全体の有効性を保存するために必要な場合Hi-Fi Simを呼出して、アニマットの挙動に対し利用可能な最適な近似を使用し続ける。
【００３０】
好ましくは、Hi-Fi Simを、挙動選択、検出ならびに環境および他のアニマットとの相互作用等の態様をモデル化する計算的に高価な技法を使用するように構成し、Hi-Fi Simは、完全な３Ｄ剛体物理学シミュレーションを使用する。Lo-Fi Simは、２Ｄ（または２．５Ｄ）物理学シミュレーションのみを使用するように構成する。
【００３１】
好ましい実施形態では、２つの別個のモード（Lo-Fi SimおよびHi-Fi Sim）に関するシミュレーションを説明したが、本発明を、アニマットの行動を巨視的にシミュレートする１つまたは複数のモード（すなわち、１つまたは複数のLo-Fi Simであり、各Ｓｉｍが比較的粗いレベルのシミュレーションを提供する）を、１つまたは複数の詳細なシミュレーションモード（たとえば、別個の試験エンジン、別個の遭遇エンジン等であり、各モードが１つまたは複数のアニマットの環境の異なる変化をシミュレートすることに関する）とともに利用することにより、等しく実現することができる。
【００３２】
Lo-Fi Simが比較的粗いレベルのシミュレーションを使用するため、Hi-Fi Simからの試験報告がLo-Fi Simに渡されると、Hi-Fi Simにおいてシミュレートされたアニマットの行動とアニマットとに関する詳細な情報が喪失する可能性がある、ということが理解されよう。Ｈｉ−Ｆｉ  シミュレーションを実行する際の一貫性に対し、これは望ましくない。
【００３３】
好ましくは、アニマットがHi-Fi SimからLo-Fi Simに移る時、Lo-Fi Sim内で直接使用される情報がHi-Fi Simから抽出される。第２に、アニマットに関する詳細な情報が格納されることにより、次にHi-Fi Simによって特定のアニマット（または特定のタイプのアニマット）がモデル化される時、アニマットのあり得る最良のシミュレーションを提供するようにかかる情報を呼出して利用することができる。
【００３４】
たとえば、アニマットを、複数の体部分から構成してもよく、各体部分には、エネルギーレベル、質量および強度が関連する。
【００３５】
これらのパラメータの各々の合計、すなわちアニマット内に蓄積された総エネルギー、アニマットの総質量およびアニマット内に蓄積された総強度に関する情報を、Ｌｏ−Ｆｉシミュレーション内で利用してもよい。しかしながら、Hi-Fi Sim内では、各々体部分それぞれをシミュレートし、したがって、各体部分に関し、各パラメータ、すなわちアニマットの各体部分のエネルギーレベル、個々の質量および個々の強度が既知でなければならない。
【００３６】
Hi-Fi Simを出る時にかかる情報を保存するために、これらのパラメータの合計のみがLo-Fi Simに渡されるため、各体部分にわたるエネルギー、質量および強度の分布に関する情報が、次にアニマットがHi-Fi Simに入る時に備えて格納される。
【００３７】
アニマットの総エネルギー、質量または強度は、Lo-Fi Sim中に変化する可能性がある。このため、アニマットが次にHi-Fi Simに入る時、Lo-Fi Simからの総エネルギー、総質量、総強度値と、各体部分内のかかるエネルギー、質量および強度の割合の記録された分布とを利用して、各体部分に対する適当に再スケーリングされたパラメータを計算することにより、個々の体部分に対するエネルギー、質量および強度の新たな値を正確に確定することができる。
【００３８】
通常動作中、シミュレーションの初期化プロセスの一部として、各アニマットの詳細なモデル化かまたはアニマットの各タイプの詳細なモデル化により、すべてのアニマットに対する巨視的パラメータを確定するために、Hi-Fi Simを呼出す。
【００３９】
上記実施形態をアニマットに関して説明したが、本発明の代替実施形態によるシミュレーションにおいて、動物（既知のまたは想像の）、乗物（既知のまたは想像の）またはロボット（既知のまたは想像の）の表現を含むいかなる人工自律エージェントを使用することができる、ということが理解されよう。かかる主体（または生き物）を、現実世界環境に基づいてもよいシミュレートされた環境と相互作用するように構成することができる。
【００４０】
読者の関心は、この出願に関連してこの明細書と同時にまたはその前に出願され、この明細書とともに公衆の閲覧に付される、すべての書類および文書に向けられ、かかる書類および文書のすべての内容は、参照により本明細書に援用される。
【００４１】
この明細書（添付の特許請求の範囲、要約書および図面の任意のものを含む）に開示された特徴のすべておよび／またはそのように開示された任意の方法またはステップのすべてを、かかる特徴および／またはステップの少なくとも一部が相互に排他的である場合を除いて、任意の組合せで結合してもよい。
【００４２】
この明細書（添付の特許請求の範囲、要約書および図面の任意のものを含む）に開示される各特徴を、明示的に指定の無い限り、同じか等価かまたは同様の目的にかなう代替的な特徴によって置換えてもよい。このため、特に明示的に指定のない限り、開示された各特徴は、包括的な一続きの等価なまたは同様の特徴の単なる一例である。
【００４３】
本発明は、上述した実施形態の詳細には限定されない。本発明は、この明細書（任意の添付の特許請求の範囲、要約書および図面の任意のものを含む）に開示された特徴のうちの任意の新規なものまたは任意の新規な組合せ、あるいは、そのように開示された方法およびプロセスのステップのうちの新規なものまたは新規な組合せに及ぶ。
【００４４】
本発明をより理解するため、および本発明の実施形態をいかに実行することができるかを示すために、ここで、例として、添付の概略図を参照する。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施形態によるシミュレーション技法を示すフローチャート。
【図１】
2004157990.tif 000003
【外国語明細書】
1. Title of Invention
2004157990.tif 000004
2. Detailed Description of Invention
2004157990.tif 000005
2004157990.tif 000006
2004157990.tif 000007
2004157990.tif 000008
2004157990.tif 000009
2004157990.tif 000010
2004157990.tif 000011
2004157990.tif 000012
2004157990.tif 000013
2004157990.tif 000014
2004157990.tif 000015
3.Brief Description of Drawings
2004157990.tif 000016
1. Claims
2004157990.tif 000017
2004157990.tif 000018
1. Abstract
2004157990.tif 000019
2. Representative drawing
Fig. 1
2004157990.tif 000020