(57)【特許請求の範囲】
【請求項１】
動的タイムステップ制御方式を用いて、複数の移動体を模擬する複数の移動体模擬手段と、上記複数の移動体の位置情報と移動速度情報から、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻を算出する会合可能性時刻算出手段と、上記複数の移動体の組み合わせの中から、上記会合可能性時刻算出手段により算出された会合可能性時刻が早い移動体の組を検索する検索手段と、上記検索手段により検索された移動体の組を同一の移動体模擬手段の模擬対象として割り付ける模擬対象割付手段とを備えたシミュレーション装置。
【請求項２】
模擬対象割付手段は、移動体模擬手段が移動体の模擬を開始する初期段階において、模擬対象の割り付けを実施するほか、上記移動体模擬手段が移動体の模擬を実施している途中段階において、検索手段の検索結果にしたがって模擬対象の割り付けを更新することを特徴とする請求項１記載のシミュレーション装置。
【請求項３】
模擬対象割付手段は、模擬対象の割り付けを実施する際、複数の移動体模擬手段が模擬する移動体の台数の均等化を図ることを特徴とする請求項１または請求項２記載のシミュレーション装置。
【請求項４】
模擬対象割付手段は、模擬対象の割り付けを実施する際、複数の移動体模擬手段間の通信の小コスト化を図ることを特徴とする請求項１または請求項２記載のシミュレーション装置。
【請求項５】
移動体模擬手段は、自己が模擬する移動体が他の移動体模擬手段により模擬される移動体と情報伝達用の通信イベントのやり取りを行う場合、模擬の論理時刻が上記通信イベントの通信時刻に至るまでの間、上記通信イベントのやり取りを保留させることを特徴とする請求項１から請求項４のうちのいずれか１項記載のシミュレーション装置。
【請求項６】
移動体模擬手段は、他の移動体模擬手段から模擬結果を受信しなければ、模擬時刻を進められなくなる時点まで、複数の移動体の模擬を続けることを特徴とする請求項５記載のシミュレーション装置。
【請求項７】
移動体模擬手段は、他の移動体模擬手段により模擬される移動体からの通信イベントの転送時刻が過去の時刻である場合、複数の移動体の模擬を上記過去の時刻から再実行することを特徴とする請求項６記載のシミュレーション装置。
【請求項８】
移動体模擬手段は、他の移動体模擬手段により模擬される移動体からの通信イベントの転送時刻が過去の時刻である場合、上記通信イベントを受信する移動体の模擬を上記過去の時刻から再実行するとともに、上記移動体の模擬を再実行することに伴って、模擬を再実行する必要が生じた移動体が存在する場合、上記移動体の模擬を再実行が必要になった時点から再実行することを特徴とする請求項６記載のシミュレーション装置。
【請求項９】
複数のプロセッサが動的タイムステップ制御方式を用いて、複数の移動体を模擬するシミュレーション方法において、会合可能性時刻算出手段が上記複数の移動体の位置情報と移動速度情報から、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻を算出する会合可能性時刻算出ステップと、検索手段が上記複数の移動体の組み合わせの中から、上記会合可能性時刻算出手段により算出された会合可能性時刻が早い移動体の組を検索する検索ステップと、模擬対象割付手段が上記検索手段により検索された移動体の組を同一のプロセッサの模擬対象として割り付ける模擬対象割付ステップとを備えたことを特徴とするシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の移動体（例えば、航空機、車両、船舶、人）を模擬するシミュレーション装置及びシミュレーション方法に関するものである。
【背景技術】
【０００２】
複数の移動体（例えば、航空機、車両、船舶、人）を模擬するシミュレーション装置では、各移動体が複雑に影響を及ぼし合うため、どのようなイベントが、いつ、どこで発生するかを特定するのが非常に困難である。
したがって、シミュレーション装置では、発生するイベントを時系列にならべて、時系列順に処理するイベント駆動型のシミュレーションを実現するのは困難である。
そこで、シミュレーション装置では、シミュレーション時刻のタイムステップ幅Δｔを定義し、そのタイムステップ幅Δｔに基づいてシミュレーション時刻を進めるタイムステップ法を用いるのが一般的である。
【０００３】
このタイムステップ法では、模擬精度がタイムステップ幅Δｔに左右されるが、複数の移動体を同時に模擬することができるため、並列シミュレーション技術を用いることによる高速化が可能であるという特徴を有している。
しかし、移動体毎に移動速度が異なるため、タイムステップ法により、全ての移動体を同一のタイムステップ幅Δｔに基づいてシミュレーション時刻を進めることは非効率である。
一方、模擬精度及び模擬結果が同じであれば、可能な限り、タイムステップ幅Δｔを大きくした方が、他の移動体との情報交換や移動体自身の模擬に要する処理負荷が小さくなり、実行性能の向上が図れることになる。
上記の点を勘案して提案された方式が「動的タイムステップ制御方式」である（例えば、非特許文献１を参照）。
【０００４】
動的タイムステップ制御方式は、各移動体が他の移動体と会合状態でない場合、自身の状態情報だけを考慮して模擬する方式である。即ち、他の移動体と情報交換を実施する必要がないとして、タイムステップ幅Δｔを大きくする方式である。
ここで、「会合状態」とは、他の移動体と「見る」または「見られる」（「探知」または「被探知」）状態のことである。
【０００５】
動的タイムステップ制御方式の基本概念では、例えば、２つの移動体の位置情報（移動体間の直線距離）と最大速度情報を利用し、２つの移動体が互いに直線距離上を最高速度で近づき合うと仮定して、会合可能性時刻を求めるようにしている。
動的タイムステップ制御方式では、ある移動体に対する他の移動体の会合可能性時刻をすべて算出し、それらの会合可能性時刻の中で、現在時刻から最も近い未来の時刻を当該移動体の次の模擬時刻に設定するようにする。
したがって、動的タイムステップ制御方式は、最悪時を想定して、次の模擬時刻を決める保守的方式であると言える。
【０００６】
ここで、図１２は動的タイムステップ制御方式の基本概念を示す説明図である。
図１２では、移動体（ＭＯ：Ｍｏｖｉｎｇ  Ｏｂｊｅｃｔ）として、ＭＯａ、ＭＯｂ、ＭＯｃが存在する場合において、ＭＯａの次の模擬時刻を決定するためのタイムステップ幅Δｔの算出例を示している。
図１２において、“Δta->b”は、移動体ＭＯａが移動体ＭＯｂと会合する可能性がある会合可能性時刻であり、“Δta->c”は、移動体ＭＯａが移動体ＭＯｃと会合する可能性がある会合可能性時刻である。
【０００７】
図１２の例では、Δta->b ＜ Δta->cであるため、Δta->bが移動体ＭＯａの次の模擬時刻を決定するためのタイムステップ幅Δｔとなる。この場合、移動体ＭＯａの次の模擬時刻を決定するのに対象となっている移動体は移動体ＭＯｂである。
なお、他の移動体と会合状態または会合する可能性がある状態では、従来方式で用いられている細かい固定のタイムステップ幅δｔに基づいて模擬する。
これにより、従来方式と同等の模擬精度を実現できることになる。ここで、従来方式とは、要求された模擬精度に基づいて設定された固定のタイムステップ幅δｔにより、シミュレーション時刻を進める実行方式のことである。
以上のことから、動的タイムステップ制御方式を適用することにより、タイムステップを比較的大きく取れるようなアプリケーションでは、実行性能の向上を図ることができる。
【０００８】
しかし、複数の移動体を模擬する複数のプロセッサがシミュレーション装置に実装されている環境下で、動的タイムステップ制御方式を用いる場合、基本的に移動体毎にタイムステップ幅Δｔが異なることから、移動体の模擬時刻や他の移動体に通知する模擬結果の送信時刻が異なることになる。
このため、シミュレーション装置に実装されている各プロセッサは、模擬する移動体の台数が増えると、他の移動体に通知する模擬結果の送信回数が増えてしまうため、模擬の実行性能を劣化させてしまう可能性が高くなる。
【０００９】
また、動的タイムステップ制御方式では、移動体間の会合可能性時刻を基準にして、それぞれの移動体のタイムステップ幅Δｔを決定するようにしているが、会合とは関係無く、遥か遠方の移動体から情報伝達用の通信イベントが届いた場合、その通信イベントを受信した移動体については、動的タイムステップ制御方式により設定されたタイムステップ幅Δｔによる模擬時刻とは関係なく、その通信イベントの受信時刻で起動して、その通信イベントを実行する必要がある。
【００１０】
この通信イベントを扱う際、論理時刻が早い通信イベントから順番に処理しなければ、模擬の因果関係に矛盾が発生する可能性がある問題がある。ここでの因果関係の矛盾とは、模擬のイベントが、論理時刻順に実行されない場合を示している。
このような問題を解決する方法としては、保守的方法と楽観的方法の二種類が存在する。
【００１１】
保守的方法は、各移動体を論理時刻進行の単位とした場合、全移動体に関して、その中で論理時刻が早いものから順番に処理していく方法である。
しかし、保守的方法では、模擬のやり直しは発生しないが、各移動体を逐次的に処理していかなければならず、並列的に処理することができないため、複数のプロセッサを実装しても、台数効果による実行性能の向上が期待できない課題が残る。
【００１２】
一方、楽観的方法は、模擬のやり直しを許すことにより、各移動体の模擬を平行して実行することができる方法である。
しかし、楽観的方法では、模擬の因果関係に矛盾が発生すると、既に送信した通信イベントや模擬結果をキャンセルするためのキャンセルメッセージを発行する必要がある。また、そのキャンセルメッセージを受信した場合には、過去の状態に戻すために、ログデータを保持する必要がある。
したがって、複数のプロセッサが移動体の模擬を平行して実施しているとき、プロセッサ間でキャンセルメッセージが雪だるま式に増加する状況が発生すると、模擬をやり直すためのオーバーヘッドが非常に大きくなるため、模擬の実行性能を劣化させる可能性が高くなる。
ただし、プロセッサ内で模擬をやり直す分には、比較的小さいコストでやり直しを実行することができる。
【００１３】
【非特許文献１】"Event-Aware Dynamic Time Step Synchronization Method for Distributed Moving Object Simulation," IEICE TRANSACTIONS on Fundamentals of Electronics, Communications and Computer Sciences  Vol.E89-A  No.11  pp.3175-3184
【発明の開示】
【発明が解決しようとする課題】
【００１４】
従来のシミュレーション装置は以上のように構成されているので、模擬する移動体の台数が増えると、他の移動体に通知する模擬結果の送信回数が増えてしまうことにより、模擬の実行性能を劣化させてしまう可能性が高くなる課題があった。
また、会合とは関係無く、遥か遠方の移動体から通信イベントが届いた場合、模擬の実行性能が劣化することがある課題があった。
【００１５】
この発明は上記のような課題を解決するためになされたもので、模擬する移動体の台数が増えても、模擬の実行性能の向上を図ることができるシミュレーション装置及びシミュレーション方法を得ることを目的とする。
また、この発明は、遥か遠方の移動体から通信イベントが届いても、模擬の実行性能の劣化を防止することができるシミュレーション装置及びシミュレーション方法を得ることを目的とする。
【課題を解決するための手段】
【００１６】
この発明に係るシミュレーション装置は、動的タイムステップ制御方式を用いて、複数の移動体を模擬する移動体模擬手段が複数搭載されている場合、複数の移動体の位置情報と移動速度情報から、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻を算出する会合可能性時刻算出手段と、複数の移動体の組み合わせの中から、会合可能性時刻算出手段により算出された会合可能性時刻が早い移動体の組を検索する検索手段とを設け、模擬対象割付手段が検索手段により検索された移動体の組を同一の移動体模擬手段の模擬対象として割り付けるようにしたものである。
【発明の効果】
【００１７】
この発明によれば、動的タイムステップ制御方式を用いて、複数の移動体を模擬する移動体模擬手段が複数搭載されている場合、複数の移動体の位置情報と移動速度情報から、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻を算出する会合可能性時刻算出手段と、複数の移動体の組み合わせの中から、会合可能性時刻算出手段により算出された会合可能性時刻が早い移動体の組を検索する検索手段とを設け、模擬対象割付手段が検索手段により検索された移動体の組を同一の移動体模擬手段の模擬対象として割り付けるように構成したので、模擬する移動体の台数が増えても、模擬の実行性能の向上を図ることができる効果がある。
【発明を実施するための最良の形態】
【００１８】
実施の形態１．
図１はこの発明の実施の形態１によるシミュレーション装置を示す構成図であり、図において、プロセッサ１は動的タイムステップ制御方式を用いて、複数の移動体のシミュレーションを実施する。
プロセッサ２は動的タイムステップ制御方式を用いて、プロセッサ１とは異なる移動体を模擬対象にして、複数の移動体のシミュレーションを実施する。なお、プロセッサ１及びプロセッサ２は移動体模擬手段を構成している。
図１の例では、プロセッサ１とプロセッサ２が実装されているものを示しているが、３台以上のプロセッサが実装されていてもよい。
【００１９】
情報設定部１１は例えばキーボードやマウスなどの入力装置や、表示装置などの出力装置から構成されているマンマシンインタフェースであり、シミュレーションの実施を開始する初期段階、あるいは、シミュレーションを実施している途中段階において、各移動体の位置や最大速度の設定を受け付けて、各移動体の位置情報と最大速度情報（移動速度情報）を出力する処理を実施する。あるいは、他の装置により設定された各移動体の位置情報と最大速度情報を収集する処理を実施する。
会合可能性時刻算出部１２は情報設定部１１から出力された各移動体の位置情報と最大速度情報から、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻を算出する処理を実施する。
なお、情報設定部１１及び会合可能性時刻算出部１２から会合可能性時刻算出手段が構成されている。
【００２０】
移動体検索部１３は複数の移動体の組み合わせの中から、会合可能性時刻算出部１２により算出された会合可能性時刻が早い移動体の組を検索する処理を実施する。なお、移動体検索部１３は検索手段を構成している。
模擬対象割付部１４は移動体検索部１３により検索された移動体の組を同一のプロセッサ（プロセッサ１、または、プロセッサ２）の模擬対象として割り付ける処理を実施する。なお、模擬対象割付部１４は模擬対象割付手段を構成している。
【００２１】
図１では、シミュレーション装置の構成要素である会合可能性時刻算出部１２、移動体検索部１３及び模擬対象割付部１４のそれぞれが、専用のハードウェア（例えば、ＭＰＵを実装している半導体回路）で構成されているものを想定しているが、シミュレーション装置がコンピュータで構成されている場合、会合可能性時刻算出部１２、移動体検索部１３及び模擬対象割付部１４の処理内容を記述しているプログラムをコンピュータのメモリに格納し、コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００２２】
図２はこの発明の実施の形態１によるシミュレーション方法を示すフローチャートである。
また、図３は移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの初期配置と、シミュレーションの各論理時刻において、模擬対象となる移動体とを示す説明図である。
さらに、図４はプロセッサ１，２に対する移動体の割付例を示す説明図である。
【００２３】
次に動作について説明する。
この実施の形態１では、説明の便宜上、図３に示すように、４台の移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄが存在しているものとして説明する。
ユーザは、プロセッサ１，２がシミュレーションの実施を開始する前に、情報設定部１１を操作して、４台の移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの初期位置Ｐａ＝（ＸPa，ＹPa），Ｐｂ＝（ＸPb，ＹPb），Ｐｃ＝（ＸPc，ＹPc），Ｐｄ＝（ＸPd，ＹPd）を設定するとともに、４台の移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの最大速度Ｖａ，Ｖｂ，Ｖｃ，Ｖｄを設定する（ステップＳＴ１）。
ここでは、ユーザが情報設定部１１を操作して、４台の移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの初期位置Ｐａ，Ｐｂ，Ｐｃ，Ｐｄと最大速度Ｖａ，Ｖｂ，Ｖｃ，Ｖｄを設定するものについて示したが、他の装置により設定された各移動体の位置情報と最大速度情報を収集するようにしてもよい。
【００２４】
会合可能性時刻算出部１２は、情報設定部１１から移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの初期位置Ｐａ，Ｐｂ，Ｐｃ，Ｐｄを示す位置情報と、最大速度Ｖａ，Ｖｂ，Ｖｃ，Ｖｄを示す最大速度情報とを受けると、移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの初期位置Ｐａ，Ｐｂ，Ｐｃ，Ｐｄから、各移動体間の直線距離Ｌab，Ｌac，Ｌad，Ｌbc，Ｌbd，Ｌcdを算出する（ステップＳＴ２）。
【００２５】
Ｌab＝（（ＸPa−ＸPb）2＋（ＹPa−ＹPb）2）1/2
Ｌac＝（（ＸPa−ＸPc）2＋（ＹPa−ＹPc）2）1/2
Ｌad＝（（ＸPa−ＸPd）2＋（ＹPa−ＹPd）2）1/2
Ｌbc＝（（ＸPb−ＸPc）2＋（ＹPb−ＹPc）2）1/2
Ｌbd＝（（ＸPb−ＸPd）2＋（ＹPb−ＹPd）2）1/2
Ｌcd＝（（ＸPc−ＸPd）2＋（ＹPc−ＹPd）2）1/2
Ｌの添え字であるａ，ｂ，ｃ，ｄは移動体を表しており、例えば、Ｌabは移動体ＭＯａと移動体ＭＯｂ間の直線距離を示し、Ｌacは移動体ＭＯａと移動体ＭＯｃ間の直線距離を示している。
ここでは、説明の簡単化のため、移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄが、２次元空間上に存在しているものとして、各移動体間の直線距離Ｌab，Ｌac，Ｌad，Ｌbc，Ｌbd，Ｌcdを算出する例を示したが、移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄが、３次元空間上に存在しているものとして、各移動体間の直線距離Ｌab，Ｌac，Ｌad，Ｌbc，Ｌbd，Ｌcdを算出するようにしてもよい。
【００２６】
会合可能性時刻算出部１２は、各移動体間の直線距離Ｌab，Ｌac，Ｌad，Ｌbc，Ｌbd，Ｌcdを算出すると、各移動体が互いに直線距離上を最高速度で近づき合うと仮定して、各移動体間の直線距離Ｌab，Ｌac，Ｌad，Ｌbc，Ｌbd，Ｌcdと、移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの最大速度Ｖａ，Ｖｂ，Ｖｃ，Ｖｄから、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdを算出する（ステップＳＴ３）。
【００２７】
Δｔab＝（Ｌab−ｍａｘ（Ｒａ，Ｒｂ））／（Ｖａ＋Ｖｂ）
Δｔac＝（Ｌac−ｍａｘ（Ｒａ，Ｒｃ））／（Ｖａ＋Ｖｃ）
Δｔad＝（Ｌad−ｍａｘ（Ｒａ，Ｒｄ））／（Ｖａ＋Ｖｄ）
Δｔbc＝（Ｌbc−ｍａｘ（Ｒｂ，Ｒｃ））／（Ｖｂ＋Ｖｃ）
Δｔbd＝（Ｌbd−ｍａｘ（Ｒｂ，Ｒｄ））／（Ｖｂ＋Ｖｄ）
Δｔcd＝（Ｌcd−ｍａｘ（Ｒｃ，Ｒｄ））／（Ｖｃ＋Ｖｄ）
Δｔの添え字であるａ，ｂ，ｃ，ｄは移動体を表しており、例えば、Δｔabは移動体ＭＯａが移動体ＭＯｂと影響を及ぼし合う可能性がある会合可能性時刻を示し、Δｔacは移動体ＭＯａが移動体ＭＯｃと影響を及ぼし合う可能性がある会合可能性時刻を示している。
また、Ｒａ，Ｒｂ，Ｒｃ，Ｒｄは、移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄから見える範囲を示している（図１２を参照）。
【００２８】
移動体検索部１３は、会合可能性時刻算出部１２が各移動体間の会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdを算出すると、時刻が早い順に、会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdをソートする（ステップＳＴ４）。
図３（ｂ）では、Δｔab＜Δｔcd＜Δｔbc＜Δｔbd＜Δｔac＜Δｔadである例を示している。
なお、図３（ｂ）では、各移動体間の会合可能性時刻をシミュレーションの論理時刻ｔに対応させている。
Δｔabは論理時刻ｔ＝２に相当し、Δｔcdは論理時刻ｔ＝３に相当し、Δｔbcは論理時刻ｔ＝９に相当している。
また、Δｔbdは論理時刻ｔ＝１０に相当し、Δｔacは論理時刻ｔ＝１１に相当し、Δｔadは論理時刻ｔ＝１５に相当している。
因みに、図３（ａ）における（）内の数字は、移動体間の会合可能性時刻に対応するシミュレーションの論理時刻ｔを示している。
【００２９】
例えば、会合可能性時刻Δｔabは、ｔ＝０の現時点を基準にすると、移動体ＭＯａと移動体ＭＯｂが、論理時刻ｔで２時刻後に会合する可能性があることを示している。
したがって、会合可能性時刻Δｔabは、遅くとも、その時点までには、移動体ＭＯａと移動体ＭＯｂの間で模擬結果を交換して、模擬を実施しなければならない時刻を示している。
換言すると、論理時刻ｔで２時刻後までは、移動体ＭＯａと移動体ＭＯｂの間で模擬結果を交換して、模擬を実施する必要がないことを示している。
ただし、ｔ＝２以降においても、移動体ＭＯａと移動体ＭＯｂが会合する可能性があれば、その会合する可能性がある時刻までに、移動体ＭＯａと移動体ＭＯｂの間で模擬結果を交換して模擬を行う必要がある。
【００３０】
例えば、移動体ＭＯａに着目すると、ｔ＝２において、移動体ＭＯｂと会合する可能性があり、ｔ＝１１において、移動体ＭＯｃと会合する可能性があり、ｔ＝１５において、移動体ＭＯｄと会合する可能性があるため、ｔ＝２を移動体ＭＯａと移動体ＭＯｂの模擬時刻（模擬時刻は、模擬を実施する時刻のほか、模擬結果を交換する時刻を示している）、ｔ＝１１を移動体ＭＯａと移動体ＭＯｃの模擬時刻、ｔ＝１５を移動体ＭＯａと移動体ＭＯｄの模擬時刻に設定することになる。
ただし、動的タイムステップ制御方式では、その時点で、少なくとも一番早い時刻に会合する可能性のある他の移動体の模擬結果を貰わなければ、当該移動体についての次の模擬時刻を決定することができず、模擬を続けることができないため、移動体ＭＯａは、遅くともｔ＝１１までに、移動体ＭＯｂの模擬結果を貰い、遅くともｔ＝１５までに、移動体ＭＯｃの模擬結果を貰う必要がある。
【００３１】
移動体検索部１３は、上記のようにして、会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdをソートすると、４台の移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの組み合わせの中から、会合可能性時刻算出部１２により算出された会合可能性時刻が早い移動体の組を検索する（ステップＳＴ５）。
即ち、移動体検索部１３は、２台のプロセッサ１，２が模擬を実施する場合、会合可能性時刻が一番早い移動体の組と、会合可能性時刻が二番目に早い移動体の組を検索する。
図３（ｂ）の例では、会合可能性時刻が一番早い移動体の組として、会合可能性時刻がΔｔabである移動体ＭＯａ，ＭＯｂの組を検索し、会合可能性時刻が二番目に早い移動体の組として、会合可能性時刻がΔｔcdである移動体ＭＯｃ，ＭＯｄの組を検索する。
【００３２】
模擬対象割付部１４は、移動体検索部１３が、会合可能性時刻が早い移動体の組を検索すると、その移動体の組を同一のプロセッサ（プロセッサ１、または、プロセッサ２）の模擬対象として割り付ける処理を実施する（ステップＳＴ６）。
即ち、模擬対象割付部１４は、図４に示すように、プロセッサ１が模擬する対象として、移動体ＭＯａ，ＭＯｂを割り付け、プロセッサ２が模擬する対象として、移動体ＭＯｃ，ＭＯｄを割り付ける処理を実施する。
【００３３】
このように、プロセッサ１，２の模擬対象が割り付けられた場合、移動体ＭＯａ，ＭＯｂが割り付けられているプロセッサ１は、ｔ＝９まで、プロセッサ２と通信を行うことなく、シミュレーション時刻を進めることができる。
なお、ｔ＝９の時点では、移動体ＭＯｂと移動体ＭＯｃが会合する可能性があるため、プロセッサ1とプロセッサ２は、それぞれ割り付けられている移動体の模擬結果を送受信する必要がある。
【００３４】
以上で明らかなように、この実施の形態１によれば、動的タイムステップ制御方式を用いて、複数の移動体を模擬するプロセッサ１，２が搭載されている場合、複数の移動体の位置情報と最大速度情報から、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻を算出する会合可能性時刻算出部１２と、複数の移動体の組み合わせの中から、会合可能性時刻算出部１２により算出された会合可能性時刻が早い移動体の組を検索する移動体検索部１３とを設け、模擬対象割付部１４が移動体検索部１３により検索された移動体の組を同一のプロセッサの模擬対象として割り付けるように構成したので、プロセッサ１，２間の通信コストが抑えられ、模擬する移動体の台数が増えても、模擬の実行性能の向上を図ることができる効果を奏する。
【００３５】
実施の形態２．
上記実施の形態１では、プロセッサ１，２が移動体の模擬を開始する初期段階において、模擬対象割付部１４がプロセッサ１，２の模擬対象である移動体を割り付けるものについて示したが、シミュレーションの論理時刻が進むにつれて、プロセッサ１，２における模擬の実行性能が劣化し、プロセッサ１，２に対する各移動体の割り付けを変更した方が、模擬の実行性能が高まる可能性がある場合がある。
そこで、この実施の形態２では、プロセッサ１，２が移動体の模擬を開始する初期段階において、模擬対象割付部１４がプロセッサ１，２の模擬対象である移動体を割り付けるほかに、プロセッサ１，２が移動体の模擬を実施している途中段階においては、模擬対象割付部１４が移動体検索部１３の検索結果にしたがって模擬対象の割り付けを更新するようにする。
【００３６】
具体的には、以下の通りである。
例えば、シミュレーションの論理時刻が予め設定された時刻まで進むと、情報設定部１１が、その時点の各移動体の位置情報を収集して、会合可能性時刻算出部１２が各移動体間の会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdを算出する。
移動体検索部１３は、会合可能性時刻算出部１２が各移動体間の会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdを算出すると、上記実施の形態１と同様に、４台の移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの組み合わせの中から、その会合可能性時刻が早い移動体の組を検索する。
【００３７】
模擬対象割付部１４は、移動体検索部１３が、会合可能性時刻が早い移動体の組を検索すると、その移動体の組を同一のプロセッサ（プロセッサ１、または、プロセッサ２）に模擬対象として割り付ける処理を実施する。
例えば、会合可能性時刻が一番早い移動体の組が移動体ＭＯｂ，ＭＯｃであり、会合可能性時刻が二番目に早い移動体の組が移動体ＭＯａ，ＭＯｄである場合、プロセッサ１が模擬する対象として、移動体ＭＯａ，ＭＯｂから移動体ＭＯｂ，ＭＯｃに変更する再割付を実施し、プロセッサ２が模擬する対象として、移動体ＭＯｃ，ＭＯｄから移動体ＭＯａ，ＭＯｄに変更する再割付を実施する。
【００３８】
以上で明らかなように、この実施の形態２によれば、プロセッサ１，２が移動体の模擬を開始する初期段階において、模擬対象割付部１４がプロセッサ１，２の模擬対象である移動体を割り付けるほかに、プロセッサ１，２が移動体の模擬を実施している途中段階において、模擬対象割付部１４が移動体検索部１３の検索結果にしたがって模擬対象の割り付けを更新するように構成したので、シミュレーションの論理時刻が進んでも、模擬対象の割付の最適化を維持することができるようになり、模擬の実行性能の向上を図ることができる効果を奏する。
【００３９】
実施の形態３．
上記実施の形態１では、プロセッサ１が模擬する対象として、移動体ＭＯａ，ＭＯｂを割り付け、プロセッサ２が模擬する対象として、移動体ＭＯｃ，ＭＯｄを割り付けるものについて示したが、この実施の形態３では、移動体検索部１３及び模擬対象割付部１４による模擬対象の割付処理を具体的に説明する。
【００４０】
移動体検索部１３は、会合可能性時刻算出部１２が、上記実施の形態１と同様にして、各移動体間の会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdを算出すると、使用予定のプロセッサの台数Ｎ（図１の例では、プロセッサ１，２が搭載されているので、使用予定のプロセッサの台数は２台）と、全会合可能性時刻の最大値から基準時刻τを計算する。図３の例では、全会合可能性時刻の最大値はΔｔadであり、ｔ＝１５である。
τ＝全会合可能性時刻の最大値／使用予定のプロセッサの台数Ｎ
＝１５／２
＝７．５
【００４１】
移動体検索部１３は、基準時刻τを計算すると、図５（ａ）に示すように、その基準時刻τより早い時刻に会合する可能性がある移動体の組を、同一のプロセッサに割り付ける組み合わせ候補として選定する。
即ち、移動体検索部１３は、移動体ＭＯａ，ＭＯｂの組と、移動体ＭＯｃ，ＭＯｄの組とを同一のプロセッサに割り付ける組み合わせ候補として選定する。
【００４２】
移動体検索部１３は、同一のプロセッサに割り付ける組み合わせ候補を選定すると、各組み合わせ候補の重み付け値を算出する。重み付け値はプロセッサに対する割付優先度を表す指標であり、組み合わせ候補の会合可能性時刻が小さいほど、大きな値になるものである。
重み付け値＝Σ移動体i（全会合可能性時刻の最大値／当該会合可能性時刻）
【００４３】
なお、移動体ＭＯａ，ＭＯｂの重み付け値と、移動体ＭＯｃ，ＭＯｄの重み付け値は、以下のとおりである。
移動体ＭＯａ，ＭＯｂの重み付け値
＝ＭＯａの重み付け値＋ＭＯｂの重み付け値
＝１５／２＋１５／２
＝１５
移動体ＭＯｃ，ＭＯｄの重み付け値
＝ＭＯｃの重み付け値＋ＭＯｄの重み付け値
＝１５／３＋１５／３
＝１０
【００４４】
模擬対象割付部１４は、移動体検索部１３が各組み合わせ候補の重み付け値を算出すると、双方の重み付け値を比較し、重み付け値が大きい方の組み合わせ候補をプロセッサ１に割り付けて、他の組み合わせ候補をプロセッサ２に割り付ける処理を実施する。
即ち、模擬対象割付部１４は、移動体ＭＯａ，ＭＯｂの重み付け値と、移動体ＭＯｃ，ＭＯｄの重み付け値とを比較し、移動体ＭＯａ，ＭＯｂの重み付け値の方が大きいので、プロセッサ１の模擬対象として移動体ＭＯａ，ＭＯｂを割り付け、プロセッサ２の模擬対象として移動体ＭＯｃ，ＭＯｄを割り付けるようにする。
これにより、プロセッサ１，２間の通信コストが抑えられ、模擬する移動体の台数が増えても、模擬の実行性能の向上を図ることができる効果を奏する。
【００４５】
実施の形態４．
上記実施の形態３では、比較的簡単に割り付ける模擬対象が決定されるケースとして、組み合わせ候補の種類が２種類で、使用予定のプロセッサの台数が２台であるものについて示したが、この実施の形態４では、簡単には割り付ける模擬対象が決まらないケースについて説明する。
【００４６】
この実施の形態４では、４台の移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄが図６に示すような初期位置に存在しているものとして説明する。
会合可能性時刻算出部１２は、上記実施の形態１と同様にして、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdを算出する。
図６における（）内の数字は、移動体間の会合可能性時刻に対応するシミュレーションの論理時刻ｔを示している。
【００４７】
移動体検索部１３は、会合可能性時刻算出部１２が各移動体間の会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdを算出すると、上記実施の形態３と同様に、使用予定のプロセッサの台数Ｎ（図１の例では、プロセッサ１，２が搭載されているので、使用予定のプロセッサの台数は２台）と、全会合可能性時刻の最大値から基準時刻τを計算する。図６の例では、全会合可能性時刻の最大値はΔｔbcであり、ｔ＝１２である。
τ＝全会合可能性時刻の最大値／使用予定のプロセッサの台数Ｎ
＝１２／２
＝６
【００４８】
移動体検索部１３は、基準時刻τを計算すると、図７（ａ）に示すように、その基準時刻τより早い時刻に会合する可能性がある移動体の組を、同一のプロセッサに割り付ける組み合わせ候補として選定する。
即ち、移動体検索部１３は、移動体ＭＯａ，ＭＯｂ，ＭＯｄの組と、移動体ＭＯｃとを同一のプロセッサに割り付ける組み合わせ候補として選定する。
【００４９】
移動体検索部１３は、同一のプロセッサに割り付ける組み合わせ候補を選定すると、上記実施の形態３と同様に、各組み合わせ候補の重み付け値を算出する。
移動体ＭＯａ，ＭＯｂ，ＭＯｄの重み付け値は、以下のとおりである。
移動体ＭＯａ，ＭＯｂ，ＭＯｄの重み付け値
＝ＭＯａの重み付け値＋ＭＯｂの重み付け値＋ＭＯｄの重み付け値
＝（１２／２＋１２／５）＋（１２／２＋１２／３）＋（１２／３＋１２／５）
＝８．４＋１０＋６．４
＝２４．８
なお、移動体ＭＯｃの重み付け値については、色々な算出方法が考えられるが、移動体ＭＯｃは、他の移動体と別のプロセッサにより模擬すべきであることを示す値にするため、図７の例では、移動体ＭＯｃが他の移動体と最も早く会合する可能性がある時刻（ｔ＝９）に設定している。
【００５０】
模擬対象割付部１４は、移動体検索部１３が各組み合わせ候補の重み付け値を算出すると、双方の重み付け値を比較し、重み付け値が大きい方の組み合わせ候補をプロセッサ１に割り付けて、他の組み合わせ候補をプロセッサ２に割り付ける処理を実施する。
即ち、模擬対象割付部１４は、移動体ＭＯａ，ＭＯｂ，ＭＯｄの重み付け値と、移動体ＭＯｃの重み付け値とを比較し、移動体ＭＯａ，ＭＯｂ，ＭＯｄの重み付け値の方が大きいので、図７（ｃ−１）に示すように、プロセッサ１の模擬対象として移動体ＭＯａ，ＭＯｂ，ＭＯｄを割り付け、プロセッサ２の模擬対象として移動体ＭＯｃを割り付けるようにする。
これにより、プロセッサ１，２間の通信コストが抑えられ、模擬する移動体の台数が増えても、模擬の実行性能の向上を図ることができる効果を奏する。
【００５１】
ただし、模擬対象割付部１４は、プロセッサ１の模擬対象として移動体ＭＯａ，ＭＯｂ，ＭＯｄを割り付け、プロセッサ２の模擬対象として移動体ＭＯｃを割り付けた場合、プロセッサ１，２が模擬する移動体の台数が均等にならない。
そこで、模擬対象割付部１４は、プロセッサ１，２間の通信コストを抑えることよりも、各移動体の負荷分散を図るために、プロセッサ１，２が模擬する移動体の台数を均等にすることを主眼とする場合には、図７（ｃ−２）に示すように、移動体ＭＯａ，ＭＯｂ，ＭＯｄの中で、重み付け値が最も小さい移動体ＭＯｄをプロセッサ２の模擬対象として割り付けるようにする。
これにより、プロセッサ１，２における各移動体の負荷分散が図られ、模擬の実行性能の向上を図ることができる効果を奏する。
【００５２】
実施の形態５．
上記実施の形態４では、使用予定のプロセッサの台数が２台であるものについて示したが、この実施の形態５では、図８に示すように、使用予定のプロセッサの台数が３台であるものについて説明する。
【００５３】
この実施の形態５では、４台の移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄが図６に示すような初期位置に存在しているものとして説明する。
会合可能性時刻算出部１２は、上記実施の形態１と同様にして、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdを算出する。
図６における（）内の数字は、移動体間の会合可能性時刻に対応するシミュレーションの論理時刻ｔを示している。
【００５４】
移動体検索部１３は、会合可能性時刻算出部１２が各移動体間の会合可能性時刻Δｔab，Δｔac，Δｔad，Δｔbc，Δｔbd，Δｔcdを算出すると、上記実施の形態３と同様に、使用予定のプロセッサの台数Ｎ（図８の例では、プロセッサ１，２，３が搭載されているので、使用予定のプロセッサの台数は３台）と、全会合可能性時刻の最大値から基準時刻τを計算する。図６の例では、全会合可能性時刻の最大値はΔｔbcであり、ｔ＝１２である。
τ＝全会合可能性時刻の最大値／使用予定のプロセッサの台数Ｎ
＝１２／３
＝４
【００５５】
移動体検索部１３は、基準時刻τを計算すると、図９（ａ）に示すように、その基準時刻τより早い時刻に会合する可能性がある移動体の組を、同一のプロセッサに割り付ける組み合わせ候補として選定する。
即ち、移動体検索部１３は、移動体ＭＯａ，ＭＯｂの組と、移動体ＭＯａ，ＭＯｂ，ＭＯｄの組と、移動体ＭＯｃと、移動体ＭＯｄ，ＭＯｂの組とを同一のプロセッサに割り付ける組み合わせ候補として選定する。
【００５６】
移動体検索部１３は、同一のプロセッサに割り付ける組み合わせ候補を選定すると、上記実施の形態３と同様に、各組み合わせ候補の重み付け値を算出する。
移動体ＭＯａ，ＭＯｂの重み付け値と、移動体ＭＯａ，ＭＯｂ，ＭＯｄの重み付け値と、移動体ＭＯｄ，ＭＯｂの重み付け値は、以下のとおりである。
移動体ＭＯａ，ＭＯｂの重み付け値
＝１２／２
＝６
移動体ＭＯａ，ＭＯｂ，ＭＯｄの重み付け値
＝１２／２＋１２／３
＝６＋４
＝１０
移動体ＭＯｄ，ＭＯｂの重み付け値
＝１２／３
＝４
なお、移動体ＭＯｃの重み付け値については、色々な算出方法が考えられるが、移動体ＭＯｃは、他の移動体と別のプロセッサにより模擬すべきであることを示す値にするため、図９の例では、移動体ＭＯｃが他の移動体と最も早く会合する可能性がある時刻（ｔ＝９）に設定している。
【００５７】
模擬対象割付部１４は、移動体検索部１３が各組み合わせ候補の重み付け値を算出すると、それぞれの重み付け値を比較し、重み付け値が一番大きい組み合わせ候補をプロセッサ１に割り付けて、次に重み付け値が大きい組み合わせ候補をプロセッサ２に割り付けて、重み付け値が一番小さい組み合わせ候補をプロセッサ３に割り付ける処理を実施する。
即ち、模擬対象割付部１４は、移動体ＭＯａ，ＭＯｂの重み付け値と、移動体ＭＯａ，ＭＯｂ，ＭＯｄの重み付け値と、移動体ＭＯｃの重み付け値と、移動体ＭＯｄ，ＭＯｂの重み付け値とを比較し、移動体ＭＯａ，ＭＯｂ，ＭＯｄの重み付け値が一番大きいので、図９（ｃ−１）に示すように、プロセッサ１の模擬対象として移動体ＭＯａ，ＭＯｂ，ＭＯｄを割り付けるようにする。
また、模擬対象割付部１４は、残りの移動体ＭＯｃをプロセッサ２の模擬対象として割り付け、プロセッサ３を未使用とする。
【００５８】
移動体検索部１３では、移動体ＭＯａ，ＭＯｂの重み付け値と、移動体ＭＯｄ，ＭＯｂの重み付け値についても、組み合わせ候補の重み付け値として算出しているが、上述したように、移動体ＭＯａ，ＭＯｂ，ＭＯｄをプロセッサ１の模擬対象として割り付けているので、組み合わせ候補である移動体ＭＯａ，ＭＯｂの組と、移動体ＭＯｄ，ＭＯｂの組は不採用になる。
このように、通信コストを重視する場合には、使用予定のプロセッサの台数が３台であっても、予定台数以下の２台のプロセッサのみが使用されるようになることもある。
これにより、プロセッサ１，２間の通信コストが抑えられ、模擬する移動体の台数が増えても、模擬の実行性能の向上を図ることができる効果を奏する。
【００５９】
ここでは、模擬対象割付部１４が通信コストを重視して、プロセッサ１，２，３の模擬対象を割り付けるものについて示したが、使用予定のプロセッサ１，２，３を全て使用することを優先する場合には、次のようにして、プロセッサ１，２，３の模擬対象を割り付けるようにする。
模擬対象割付部１４は、使用予定のプロセッサ１，２，３を全て使用する場合、１台のプロセッサに割り付ける移動体の台数を２台以下とする必要があるため、組み合わせ候補である移動体ＭＯａ，ＭＯｂ，ＭＯｄの組を除外する。
【００６０】
模擬対象割付部１４は、移動体ＭＯａ，ＭＯｂの重み付け値と、移動体ＭＯｃの重み付け値と、移動体ＭＯｄ，ＭＯｂの重み付け値とを比較し、移動体ＭＯｃの重み付け値が一番大きいので、図９（ｃ−２）に示すように、プロセッサ１の模擬対象として移動体ＭＯｃを割り付けるようにする。
次に、移動体ＭＯａ，ＭＯｂの重み付け値が大きいので、プロセッサ２の模擬対象として移動体ＭＯａ，ＭＯｂを割り付け、残りの移動体ＭＯｄをプロセッサ３の模擬対象として割り付けるようにする。
【００６１】
実施の形態６．
この実施の形態６では、移動体間で情報伝達用の通信イベントをやり取りする場合について説明する。
背景技術の欄でも説明したが、シミュレーションの再実行や、移動体間でキャンセルメッセージの発行を行わないようにするためには、図１０に示すように、論理時刻が早いものから順番に処理を行う必要がある。
図１０の例では、（１）→（２）→（３）→（４）の順番で逐次的に移動体を実行することになる。
即ち、プロセッサ１は、プロセッサ２が（１）（２）の処理を実行している間は、（３）（４）の処理を待たされている状態となる。
これは、通信イベントが発生する可能性があるためであり、通信イベントが発行されなければ、各処理を同時に実行できることになる。
【００６２】
背景技術の欄でも説明したように、プロセッサ間でキャンセルメッセージを用いて、シミュレーションをやり直すコストは一般的に非常に大きいものであるが、プロセッサ内では同コストは比較的小さい。
そこで、この実施の形態６では、プロセッサ間では保守的方法を採用し、プロセッサ内では楽観的方法を採用するようにしている。
以下、シミュレーション装置の処理内容を具体的に説明する。
【００６３】
この実施の形態６では、図１１に示すように、プロセッサ１に割り付けられている移動体がＭＯａ，ＭＯｂであり、プロセッサ２に割り付けられている移動体がＭＯｃ，ＭＯｄであるとする。
図１１の例では、プロセッサ１に割り付けられている移動体ＭＯａ，ＭＯｂは、論理時刻ｔが“ｔｙ”の時点で、プロセッサ２から通信イベントが届く可能性があるが、論理時刻ｔｙ以降も模擬を続行するようにする。
模擬の続行が可能となる理由は、移動体ＭＯａと移動体ＭＯｂは、同一のプロセッサ１に割り付けられており、次の模擬時刻を設定するために必要な他方の移動体の模擬結果を他のプロセッサ２と通信することなく収集することができるからである。
【００６４】
ただし、移動体ＭＯａは、論理時刻ｔが“ｔｚ”の時点で、プロセッサ２に割り付けられている移動体ＭＯｃに通信イベントを発行する場合には、その通信イベントの送信処理はペンディングされることになる。
論理時刻ｔｚの時点では、プロセッサ１上の移動体ＭＯａ，ＭＯｂの模擬をペンディングさせても、続行させてもよい。
模擬を続行させる場合は、同様に他のプロセッサ２への通信イベントはペンディングさせる必要がある。続行させれば、プロセッサ１が休むことは無いが、シミュレーションをやり直すこととなった場合のコストが大きくなる。
これはトレードオフの問題となるので、対象とするアプリケーションの性質に応じて決めればよい。
なお、続行したとしても、動的タイムステップ制御方式に基づいて時刻を進めているので、他の移動体からの模擬結果を貰わなければ時刻を進めないという限界時刻がある。その場合は、その限界時刻まで進めることになる。
【００６５】
論理時刻ｔが“ｔｙ”の時点で、プロセッサ２に割り付けられている移動体ＭＯｃから、プロセッサ１に割り付けられている移動体ＭＯｂに通信イベントが届けば、論理時刻ｔｙの時点まで戻って、移動体ＭＯｃのシミュレーションを再実行することになる。
その場合、移動体ＭＯａにも影響を及ぼす可能性が高ければ、プロセッサ１に割り付けられている全ての移動体ＭＯａ，ＭＯｂのシミュレーションを論理時刻ｔｙからやり直すことも考えられる。
また、プロセッサ１に割り付けられている移動体ＭＯｂ以外の移動体は、シミュレーションの再実行が必要となった時刻からやり直すことも考えられる。
【００６６】
なお、移動体ＭＯｂのシミュレーションを論理時刻ｔｙからやり直すには、論理時刻ｔｘの状態情報を利用して、論理時刻ｔｙの時点の模擬を行う必要がある。
そのため、各移動体は、各時点の模擬結果をログに取っておく必要がある。しかし、全移動体の中での最小論理時刻ＧＶＴが分かれば、それ以前に論理時刻が巻き戻されることは無いので、その時刻以前のログデータは削除することができる。
【００６７】
なお、上記実施の形態１〜５で説明したような、プロセッサ間でなるべく通信が発生しないような各移動体の各プロセッサへのマッピングが実現できていれば、この実施の形態６で説明した効果はより高くなるものである。
【図面の簡単な説明】
【００６８】
【図１】この発明の実施の形態１によるシミュレーション装置を示す構成図である。
【図２】この発明の実施の形態１によるシミュレーション方法を示すフローチャートである。
【図３】移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの初期配置と、シミュレーションの各論理時刻において、模擬対象となる移動体とを示す説明図である。
【図４】プロセッサ１，２に対する移動体の割付例を示す説明図である。
【図５】プロセッサ１，２に対する移動体の割付例を示す説明図である。
【図６】移動体ＭＯａ，ＭＯｂ，ＭＯｃ，ＭＯｄの初期配置を示す説明図である。
【図７】プロセッサ１，２に対する移動体の割付例を示す説明図である。
【図８】この発明の実施の形態５によるシミュレーション装置を示す構成図である。
【図９】プロセッサ１，２，３に対する移動体の割付例を示す説明図である。
【図１０】通信イベントに対するキャンセルメッセージを発行させないための処理順序を示す説明図である。
【図１１】移動体間で通信イベントをやり取りする場合を説明する説明図である。
【図１２】動的タイムステップ制御方式の基本概念を示す説明図である。
【符号の説明】
【００６９】
１，２，３  プロセッサ（移動体模擬手段）、１１  情報設定部（会合可能性時刻算出手段）、１２  会合可能性時刻算出部（会合可能性時刻算出手段）、１３  移動体検索部（検索手段）、１４  模擬対象割付部（模擬対象割付手段）。
【図１】
0005100246.tif 000002
【図２】
0005100246.tif 000003
【図３】
0005100246.tif 000004
【図４】
0005100246.tif 000005
【図５】
0005100246.tif 000006
【図６】
0005100246.tif 000007
【図７】
0005100246.tif 000008
【図８】
0005100246.tif 000009
【図９】
0005100246.tif 000010
【図１０】
0005100246.tif 000011
【図１１】
0005100246.tif 000012
【図１２】
0005100246.tif 000013