(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）を設定するとともに、３台の移動体ＭＯａ，ＭＯｂ，ＭＯｃの最大速度Ｖａ，Ｖｂ，Ｖｃ，Ｖｄを設定する。
ここでは、ユーザが、３台の移動体ＭＯａ，ＭＯｂ，ＭＯｃの初期位置Ｐａ，Ｐｂ，Ｐｃと最大速度Ｖａ，Ｖｂ，Ｖｃを設定するものについて示したが、他の装置により設定された各移動体の位置情報と最大速度情報を収集するようにしてもよい。
【００２１】
プロセッサＡ，Ｂの会合可能性時刻算出部１は、ユーザにより設定された移動体ＭＯａ，ＭＯｂ，ＭＯｃの初期位置Ｐａ，Ｐｂ，Ｐｃを示す位置情報と、最大速度Ｖａ，Ｖｂ，Ｖｃを示す最大速度情報とから、各移動体間の直線距離Ｌab，Ｌac，Ｌbcを算出する（ステップＳＴ１）。
Ｌab＝（（ＸPa−ＸPb）2＋（ＹPa−ＹPb）2）1/2
Ｌac＝（（ＸPa−ＸPc）2＋（ＹPa−ＹPc）2）1/2
Ｌbc＝（（ＸPb−ＸPc）2＋（ＹPb−ＹPc）2）1/2
【００２２】
Ｌの添え字であるａ，ｂ，ｃは移動体を表しており、例えば、Ｌabは移動体ＭＯａと移動体ＭＯｂ間の直線距離を示し、Ｌbcは移動体ＭＯｂと移動体ＭＯｃ間の直線距離を示している。
ここでは、説明の簡単化のため、移動体ＭＯａ，ＭＯｂ，ＭＯｃが、２次元空間上に存在しているものとして、各移動体間の直線距離Ｌab，Ｌac，Ｌbcを算出する例を示したが、移動体ＭＯａ，ＭＯｂ，ＭＯｃが、３次元空間上に存在しているものとして、各移動体間の直線距離Ｌab，Ｌac，Ｌbcを算出するようにしてもよい。
【００２３】
プロセッサＡ，Ｂの会合可能性時刻算出部１は、各移動体間の直線距離Ｌab，Ｌac，Ｌbcを算出すると、各移動体が互いに直線距離上を最高速度で近づき合うと仮定して、各移動体間の直線距離Ｌab，Ｌac，Ｌbcと、移動体ＭＯａ，ＭＯｂ，ＭＯｃの最大速度Ｖａ，Ｖｂ，Ｖｃから、各移動体が他の移動体と影響を及ぼし合う可能性がある会合可能性時刻Δｔab，Δｔac，Δｔbcを算出する（ステップＳＴ２）。
【００２４】
Δｔab＝（Ｌab−ｍａｘ（Ｒａ，Ｒｂ））／（Ｖａ＋Ｖｂ）
Δｔac＝（Ｌac−ｍａｘ（Ｒａ，Ｒｃ））／（Ｖａ＋Ｖｃ）
Δｔbc＝（Ｌbc−ｍａｘ（Ｒｂ，Ｒｃ））／（Ｖｂ＋Ｖｃ）
Δｔの添え字であるａ，ｂ，ｃは移動体を表しており、例えば、Δｔabは移動体ＭＯａが移動体ＭＯｂと影響を及ぼし合う可能性がある会合可能性時刻を示し、Δｔbcは移動体ＭＯｂが移動体ＭＯｃと影響を及ぼし合う可能性がある会合可能性時刻を示している。
また、Ｒａ，Ｒｂ，Ｒｃは、移動体ＭＯａ，ＭＯｂ，ＭＯｃから見える範囲を示している（図８を参照）。
【００２５】
プロセッサＡ，Ｂのタイムステップ幅設定部２は、会合可能性時刻算出部１が会合可能性時刻Δｔab，Δｔac，Δｔbcを算出すると、その会合可能性時刻Δｔab，Δｔac，Δｔbcにしたがって、移動体ＭＯａ，ＭＯｂ，ＭＯｃを模擬する模擬時刻のタイムステップ幅Δｔを設定する（ステップＳＴ３）。
【００２６】
図４では、移動体ＭＯａ，ＭＯｃがプロセッサＡに割り付けられ、移動体ＭＯｂがプロセッサＢに割り付けられている例を示している。
また、図４では、ｔ＝０の現時点で、移動体ＭＯａの次の模擬時刻の設定対象である移動体が移動体ＭＯｂ、移動体ＭＯｂの次の模擬時刻の設定対象である移動体が移動体ＭＯｃ、移動体ＭＯｃの次の模擬時刻の設定対象である移動体が移動体ＭＯｂである例を示している。
この場合、プロセッサＡのタイムステップ幅設定部２は、例えば、Δｔab＝１０であれば、論理時刻ｔで１０時刻後に、移動体ＭＯａと移動体ＭＯｂが会合する可能性があるので、移動体ＭＯａを模擬する模擬時刻のタイムステップ幅Δｔを“１０”に設定して、ｔ＝１０で、移動体ＭＯａと移動体ＭＯｂの通信が行われるようにする。
同様に、プロセッサＡ，Ｂのタイムステップ幅設定部２は、例えば、Δｔbc＝８であれば、論理時刻ｔで８時刻後に、移動体ＭＯｂと移動体ＭＯｃが会合する可能性があるので、移動体ＭＯｂと移動体ＭＯｃを模擬する模擬時刻のタイムステップ幅Δｔを“８”に設定して、ｔ＝８で、移動体ＭＯｂと移動体ＭＯｃの通信が行われるようにする。
【００２７】
これにより、プロセッサＡの移動体模擬部３は、ｔ＝８で移動体ＭＯｃの通信と模擬を実施するとともに、ｔ＝１０で移動体ＭＯａの通信と模擬を実施し、プロセッサＢの移動体模擬部３は、ｔ＝８で移動体ＭＯｂの通信と模擬を実施することになる。
また、プロセッサＡの模擬結果送受信部４は、ｔ＝８でプロセッサＡの移動体模擬部３による移動体ＭＯｃの模擬結果をプロセッサＢに送信するとともに、ｔ＝１０でプロセッサＡの移動体模擬部３による移動体ＭＯａの模擬結果をプロセッサＢに送信する。
プロセッサＢの模擬結果送受信部４は、ｔ＝８でプロセッサＢの移動体模擬部３による移動体ＭＯｂの模擬結果をプロセッサＡに送信する。
したがって、この場合、プロセッサＡからプロセッサＢに模擬結果を送信するための通信回数が２回となる。
【００２８】
そこで、プロセッサＡ，Ｂのタイムステップ幅設定部２は、プロセッサＡからプロセッサＢ（または、プロセッサＢからプロセッサＡ）に模擬結果を送信するための通信回数が２回以上あれば（ステップＳＴ４）、プロセッサＡからプロセッサＢ（または、プロセッサＢからプロセッサＡ）に模擬結果を送信するための通信回数を減らして、模擬の実行性能の向上を図るため、いずれかの移動体の模擬時刻のタイムステップ幅Δｔを調整して、その移動体を模擬する模擬時刻を早めるようにする（ステップＳＴ５）。
即ち、動的タイムステップ制御方式を利用する場合、会合可能性時刻を考慮して設定された模擬時刻より早い時刻に模擬を行う分には、模擬回数の増加による模擬コストの増加の可能性があっても、模擬結果が変わることは無いので、プロセッサＡのタイムステップ幅設定部２は、移動体ＭＯａを模擬するタイムステップ幅Δｔを調整して、移動体ＭＯａが移動体ＭＯｃと同一の時刻（ｔ＝８）で通信と模擬が行われるようにする。
ここで、図５はタイムステップ幅の調整に伴う模擬時刻と模擬結果の送信例を示す説明図である。
図５の例では、移動体ＭＯａを模擬するタイムステップ幅Δｔが“１０”から“８”に調整された結果、ｔ＝８で移動体ＭＯａの通信と模擬が行われるようになっている。
【００２９】
これにより、プロセッサＡの移動体模擬部３は、ｔ＝８で移動体ＭＯａ，ＭＯｃの通信と模擬を実施し、プロセッサＢの移動体模擬部３は、ｔ＝８で移動体ＭＯｂの通信と模擬を実施することになる（ステップＳＴ６）。
また、プロセッサＡの模擬結果送受信部４は、ｔ＝８でプロセッサＡの移動体模擬部３による移動体ＭＯａ，ＭＯｃの模擬結果をプロセッサＢに送信し、プロセッサＢの模擬結果送受信部４は、ｔ＝８でプロセッサＢの移動体模擬部３による移動体ＭＯｂの模擬結果をプロセッサＡに送信する（ステップＳＴ７）。
この場合、プロセッサＡからプロセッサＢに模擬結果を送信するための通信回数が１回となる。
なお、プロセッサＡの移動体模擬部３は、模擬時刻をｔ＝８に早めて、移動体ＭＯａの模擬を行うことになるが、移動体ＭＯｂ，ＭＯｃの最新の情報を利用して、次の模擬時刻を再計算することになるので、少なくとも、移動体ＭＯａの次の模擬時刻は、最初に設定された模擬時刻（ｔ＝１０）よりも遅くすることができる。
【００３０】
以上で明らかなように、この実施の形態１によれば、複数の移動体ＭＯａ，ＭＯｃがプロセッサＡに割り付けられている場合、プロセッサＡのタイムステップ幅設定部２が移動体ＭＯａ又は移動体ＭＯｃの模擬時刻のタイムステップ幅Δｔを調整して、移動体ＭＯａ又は移動体ＭＯｃを模擬する模擬時刻を早め、模擬結果送受信部４がプロセッサＡの移動体模擬部３による複数の移動体ＭＯａ，ＭＯｃの模擬結果を他のプロセッサＢに一括して送信するように構成したので、模擬する移動体の数が増えても、模擬の実行性能の向上を図ることができる効果を奏する。
【００３１】
なお、この実施の形態１では、移動体ＭＯａの次の模擬時刻の設定対象である移動体が、移動体ＭＯａと同一のプロセッサＡに割り付けられている移動体ＭＯｃであっても、タイムステップ幅設定部２が移動体ＭＯａの模擬時刻のタイムステップ幅Δｔを調整するものについて示したが、移動体ＭＯａの次の模擬時刻の設定対象である移動体が移動体ＭＯｃである場合には、移動体ＭＯａの模擬時刻のタイムステップ幅Δｔを調整しないようにしてもよい。
即ち、移動体ＭＯａの次の模擬時刻の設定対象である移動体が、他のプロセッサＢに割り付けられている移動体（例えば、移動体ＭＯｂ）である場合に限り、タイムステップ幅設定部２が移動体ＭＯａの模擬時刻のタイムステップ幅Δｔを調整するようにしてもよい。
【００３２】
実施の形態２．
上記実施の形態１では、プロセッサＡの模擬結果送受信部４が、ｔ＝８でプロセッサＡの移動体模擬部３による移動体ＭＯａ，ＭＯｃの模擬結果をプロセッサＢに一括して送信するものについて示したが、更に、模擬の実行性能の向上を図るため、プロセッサＡの移動体模擬部３による移動体ＭＯａ，ＭＯｃの模擬結果のうち、他のプロセッサＢに割り付けられている移動体ＭＯｂが、次の模擬時刻を設定するために必要としている移動体の模擬結果のみを送信するようにしてもよい。
即ち、プロセッサＡの模擬結果送受信部４は、図６に示すように、ｔ＝８の時点で、移動体ＭＯｂが次の模擬時刻を設定するために、移動体ＭＯｃの模擬結果を必要としているが、移動体ＭＯａの模擬結果を必要としていないので、移動体ＭＯｃの模擬結果のみをプロセッサＢの移動体ＭＯｂに送信するようにする。
ただし、模擬時刻が進むにつれて状況が変わり、移動体ＭＯｂの次の模擬時刻の設定対象が移動体ＭＯａになると、移動体ＭＯａの模擬結果をプロセッサＢの移動体ＭＯｂに送信するようにする。
【００３３】
実施の形態３．
上記実施の形態１では、タイムステップ幅設定部２が移動体ＭＯａを模擬する模擬時刻のタイムステップ幅Δｔを調整するものについて示したが、会合可能性時刻算出部１により算出された会合可能性時刻Δｔabにしたがって既に設定されている模擬時刻（ｔ＝１０）と、タイムステップ幅の調整に伴う模擬時刻（ｔ＝８）との時刻差（ｔ＝２）が、所定のスレッショルドτより小さい場合に限り、タイムステップ幅設定部２がタイムステップ幅Δｔを調整するようにしてもよい。
図７はタイムステップ幅設定部２によるタイムステップ幅Δｔの調整例を示す説明図である。
なお、図７では、タイムステップ幅設定部２に相当するマネージャがプロセッサＡ，Ｂに搭載され、そのマネージャが所定のスレッショルドτより小さい場合に限り、タイムステップ幅Δｔを調整するようにしている例を示している。
【００３４】
図７の例では、スレッショルドτが“３”に設定されている。
プロセッサＡのタイムステップ幅設定部２は、上記実施の形態１と同様にして、移動体ＭＯａを模擬する模擬時刻のタイムステップ幅Δｔを調整する際、会合可能性時刻算出部１により算出された会合可能性時刻Δｔabにしたがって既に設定されている模擬時刻（ｔ＝１０）と、タイムステップ幅の調整に伴う模擬時刻（ｔ＝８）との時刻差（ｔ＝２）を算出し、その時刻差（ｔ＝２）とスレッショルドτ（ｔ＝３）を比較する。
プロセッサＡのタイムステップ幅設定部２は、その時刻差（ｔ＝２）がスレッショルドτ（ｔ＝３）より小さいので、移動体ＭＯａを模擬する模擬時刻のタイムステップ幅Δｔを調整して、移動体ＭＯａを模擬する模擬時刻を早めるようにする。
【００３５】
図７の例では、プロセッサＡのタイムステップ幅設定部２が、移動体ＭＯａを模擬する模擬時刻のタイムステップ幅Δｔを調整しているが、例えば、タイムステップ幅の調整に伴う模擬時刻（ｔ＝６）であり、既に設定されている模擬時刻（ｔ＝１０）と、タイムステップ幅の調整に伴う模擬時刻（ｔ＝６）との時刻差（ｔ＝４）が、スレッショルドτ（ｔ＝３）より小さくなくなければ、移動体ＭＯａを模擬する模擬時刻のタイムステップ幅Δｔを調整しないようにする。
【００３６】
以上で明らかなように、この実施の形態３によれば、会合可能性時刻算出部１により算出された会合可能性時刻Δｔabにしたがって既に設定されている模擬時刻（ｔ＝１０）と、タイムステップ幅の調整に伴う模擬時刻（ｔ＝８）との時刻差（ｔ＝２）が、所定のスレッショルドτより小さい場合に限り、タイムステップ幅設定部２がタイムステップ幅Δｔを調整するように構成したので、通信コストが小さい状況下では、会合可能性時刻に対応する模擬時刻での模擬を優先することができる効果を奏する。
【００３７】
実施の形態４．
上記実施の形態３では、既に設定されている模擬時刻と、タイムステップ幅の調整に伴う模擬時刻との時刻差が、所定のスレッショルドτより小さい場合に限り、タイムステップ幅設定部２がタイムステップ幅Δｔを調整するものについて示したが、タイムステップ幅設定部２が用いるスレッショルドτは、シミュレーション装置に実装されるプロセッサの台数に応じて決定されるものであってもよい。
なお、シミュレーション装置に実装されるプロセッサの台数がＮ台である場合、プロセッサ間の通信回数がＮ2のオーダーとなるため、スレッショルドτについては、Ｎ2のオーダーに基づいて設定すればよい。
このスレッショルドτは、全てのプロセッサにおいて共通であり、固定値である。
【００３８】
実施の形態５．
上記実施の形態４では、シミュレーション装置に実装されるプロセッサの台数に応じてスレッショルドτが決定されるものについて示したが、タイムステップ幅設定部２がスレッショルドτを動的に設定して、模擬結果送受信部４により一括して模擬結果が送信されることになる移動体の数を規定範囲内に収めるようにしてもよい。
また、タイムステップ幅設定部２がスレッショルドτを動的に設定して、模擬結果送受信部４により一括して送信される模擬結果のデータサイズを規定範囲内に収めるようにしてもよい。
【図面の簡単な説明】
【００３９】
【図１】この発明の実施の形態１によるシミュレーション装置を示す構成図である。
【図２】この発明の実施の形態１によるシミュレーション方法を示すフローチャートである。
【図３】移動体ＭＯａ，ＭＯｂ，ＭＯｃの初期配置を示す説明図である。
【図４】プロセッサＡ，Ｂに割り付けられている移動体の模擬時刻と模擬結果の送信例を示す説明図である。
【図５】タイムステップ幅の調整に伴う模擬時刻と模擬結果の送信例を示す説明図である。
【図６】タイムステップ幅の調整に伴う模擬時刻と模擬結果の送信例を示す説明図である。
【図７】タイムステップ幅設定部２によるタイムステップ幅Δｔの調整例を示す説明図である。
【図８】動的タイムステップ制御方式の基本概念を示す説明図である。
【符号の説明】
【００４０】
１  会合可能性時刻算出部（会合可能性時刻算出手段）、２  タイムステップ幅設定部（タイムステップ幅設定手段）、３  移動体模擬部（移動体模擬手段）、４  模擬結果送受信部（模擬結果送信手段）。
【図１】
0005100251.tif 000002
【図２】
0005100251.tif 000003
【図３】
0005100251.tif 000004
【図４】
0005100251.tif 000005
【図５】
0005100251.tif 000006
【図６】
0005100251.tif 000007
【図７】
0005100251.tif 000008
【図８】
0005100251.tif 000009