(57)【要約】【課題】模擬結果に不整合が生じることなく、かつ高い実行性能でシミュレーションを実行することができるシミュレーション実行装置、シミュレーション実行方法及びプログラムを提供する。【解決手段】ある論理時刻で移動物体同士が相互作用しない場合、当該移動物体同士が相互作用する場合よりも大きな刻み幅で進行させた論理時刻までの模擬時間帯で移動物体同士が相互作用するか否かを判定し、当該模擬時間帯で移動物体同士の相互作用がないと判定されると、当該大きな刻み幅で進行させた論理時刻における模擬結果で次論理時刻の移動物体の模擬結果を更新する。【選択図】図１
2009199310.tif 000002
【特許請求の範囲】
【請求項１】
複数の移動物体を模擬するシミュレーションを実行するシミュレーション実行装置において、
前記シミュレーションの論理時刻ごとの移動物体の模擬結果を保持する記憶手段と、
論理時刻ごとの移動物体の模擬結果に基づいて、シミュレーション空間における移動物体同士の相互作用の有無を判定する会合判定手段と、
前記会合判定手段により移動物体同士の相互作用がないと判定されると、前記移動物体同士の相互作用がある場合よりも大きな刻み幅で進行させた論理時刻までの模擬時間帯における移動物体を模擬する暫定模擬手段と、
前記模擬時間帯で時系列に得られた移動物体の模擬結果に基づいて、当該模擬時間帯で前記移動物体同士が相互作用するか否かを判定し、前記移動物体同士が相互作用しないと判定すると、前記大きな刻み幅で進行させた論理時刻における模擬結果で前記記憶手段に保持する次論理時刻の移動物体の模擬結果を更新する会合可能性判定手段とを備えたことを特徴とするシミュレーション実行装置。
【請求項２】
会合可能性判定手段により模擬時間帯で移動物体同士が相互作用すると判定されると、前記模擬時間帯を規定する刻み幅をより小さな値に再設定する刻み幅再設定手段を備えたことを特徴とする請求項１記載のシミュレーション実行装置。
【請求項３】
会合可能性判定手段は、シミュレーション空間を複数の小領域に予め区分しておき、前記シミュレーション空間において模擬時間帯で移動物体が移動する可能性がある領域を前記小領域の集合で規定すると共に、前記模擬時間帯で移動物体の探知覆域が移動する可能性がある領域を前記小領域の集合で規定し、移動物体同士で前記小領域の集合が共通する集合を有するか否かに基づいて、前記模擬時間帯で前記移動物体同士が相互作用するか否かを判定することを特徴とする請求項１または請求項２記載のシミュレーション実行装置。
【請求項４】
会合可能性判定手段は、
模擬時間帯で移動物体が移動する可能がある領域として、前記模擬時間帯の初期時刻における前記移動物体の位置と前記初期時刻から刻み幅分だけ進行させた論理時刻で模擬された当該移動物体の位置とを端点とする線分を規定し、
前記模擬時間帯で前記移動物体の探知覆域が移動する可能性がある領域として、前記模擬時間帯の初期時刻における前記移動物体の位置と前記初期時刻から前記刻み幅分だけ進行させた論理時刻で模擬された当該移動物体の位置とを端点とする線分と当該移動物体の最大探知距離で特定される領域範囲とによって構成されるカプセル型領域を規定し、
移動物体同士の前記線分間の距離と前記移動物体のいずれか一方の最大探知距離との大小関係に基づいて、前記模擬時間帯で前記移動物体同士が相互作用するか否かを判定することを特徴とする請求項１または請求項２記載のシミュレーション実行装置。
【請求項５】
会合可能性判定手段は、
模擬時間帯で移動物体が移動する可能がある領域として、前記模擬時間帯の初期時刻における前記移動物体の位置と前記初期時刻から刻み幅分だけ進行させた論理時刻で模擬された当該移動物体の位置とを焦点とする第１の楕円領域を規定し、
前記模擬時間帯で前記移動物体の探知覆域が移動する可能性がある領域として、前記模擬時間帯の初期時刻における前記移動物体の位置と前記初期時刻から前記刻み幅分だけ進行させた論理時刻で模擬された当該移動物体の位置とを焦点とする楕円領域を当該移動物体の最大探知距離だけ広げた第２の楕円領域を規定し、
移動物体同士で前記第１及び前記第２の楕円領域が交差するか否かに基づいて、前記模擬時間帯で前記移動物体同士が相互作用するか否かを判定することを特徴とする請求項１または請求項２記載のシミュレーション実行装置。
【請求項６】
会合可能性判定手段は、第１の楕円領域を規定する楕円形状の長軸を直径とする球状領域と、第２の楕円領域を規定する楕円形状の長軸を直径とする球状領域とが交差するか否かに基づいて、模擬時間帯で移動物体同士が相互作用するか否かを判定することを特徴とする請求項５記載のシミュレーション実行装置。
【請求項７】
会合可能性判定手段は、第１の楕円領域を規定する楕円形状の長軸を長手方向とするカプセル型領域と、第２の楕円領域を規定する楕円形状の長軸を長手方向とするカプセル型領域とが交差するか否かに基づいて、模擬時間帯で移動物体同士が相互作用するか否かを判定することを特徴とする請求項５記載のシミュレーション実行装置。
【請求項８】
複数の移動物体を模擬するシミュレーションを実行し、前記シミュレーションの論理時刻ごとの移動物体の模擬結果を保持する記憶手段を備えたシミュレーション実行装置のシミュレーション実行方法において、
前記シミュレーションの論理時刻ごとの移動物体の模擬結果に基づいて、シミュレーション空間における移動物体同士の相互作用の有無を判定するステップと、
前記ステップで前記移動物体同士の相互作用がないと判定されると、前記移動物体同士の相互作用がある場合よりも大きな刻み幅で進行させた論理時刻までの模擬時間帯における移動物体を模擬するステップと、
前記模擬時間帯で時系列に得られた移動物体の模擬結果に基づいて、当該模擬時間帯で前記移動物体同士が相互作用するか否かを判定するステップと、
前記ステップで前記模擬時間帯で前記移動物体同士が相互作用しないと判定されると、前記大きな刻み幅で進行させた論理時刻の模擬結果で前記記憶手段に保持する次論理時刻の移動物体の模擬結果を更新するステップとを備えたことを特徴とするシミュレーション実行方法。
【請求項９】
模擬時間帯で移動物体同士が相互作用すると判定されると、前記模擬時間帯を規定する刻み幅をより小さな値に再設定するステップを備えたことを特徴とする請求項８記載のシミュレーション実行方法。
【請求項１０】
シミュレーション空間を複数の小領域に予め区分しておき、前記シミュレーション空間において模擬時間帯で移動物体が移動する可能性がある領域を前記小領域の集合で規定すると共に、前記模擬時間帯で移動物体の探知覆域が移動する可能性がある領域を前記小領域の集合で規定し、移動物体同士で前記小領域の集合が共通する集合を有するか否かに基づいて、前記模擬時間帯で前記移動物体同士が相互作用するか否かを判定することを特徴とする請求項８または請求項９記載のシミュレーション実行方法。
【請求項１１】
模擬時間帯で移動物体が移動する可能がある領域として、前記模擬時間帯の初期時刻における前記移動物体の位置と前記初期時刻から刻み幅分だけ進行させた論理時刻で模擬された当該移動物体の位置とを端点とする線分を規定し、
前記模擬時間帯で前記移動物体の探知覆域が移動する可能性がある領域として、前記模擬時間帯の初期時刻における前記移動物体の位置と前記初期時刻から前記刻み幅分だけ進行させた論理時刻で模擬された当該移動物体の位置とを端点とする線分と当該移動物体の最大探知距離で特定される領域範囲とによって構成されるカプセル型領域を規定し、
移動物体同士の前記線分間の距離と前記移動物体のいずれか一方の最大探知距離との大小関係に基づいて、前記模擬時間帯で前記移動物体同士が相互作用するか否かを判定することを特徴とする請求項８または請求項９記載のシミュレーション実行方法。
【請求項１２】
模擬時間帯で移動物体が移動する可能がある領域として、前記模擬時間帯の初期時刻における前記移動物体の位置と前記初期時刻から刻み幅分だけ進行させた論理時刻で模擬された当該移動物体の位置とを焦点とする第１の楕円領域を規定し、
前記模擬時間帯で前記移動物体の探知覆域が移動する可能性がある領域として、前記模擬時間帯の初期時刻における前記移動物体の位置と前記初期時刻から前記刻み幅分だけ進行させた論理時刻で模擬された当該移動物体の位置とを焦点とする楕円領域を当該移動物体の最大探知距離だけ広げた第２の楕円領域を規定し、
移動物体同士で前記第１及び前記第２の楕円領域が交差するか否かに基づいて、前記模擬時間帯で前記移動物体同士が相互作用するか否かを判定することを特徴とする請求項８または請求項９記載のシミュレーション実行方法。
【請求項１３】
第１の楕円領域を規定する楕円形状の長軸を直径とする球状領域と、第２の楕円領域を規定する楕円形状の長軸を直径とする球状領域とが交差するか否かに基づいて、模擬時間帯で移動物体同士が相互作用するか否かを判定することを特徴とする請求項１２記載のシミュレーション実行方法。
【請求項１４】
第１の楕円領域を規定する楕円形状の長軸を長手方向とするカプセル型領域と、第２の楕円領域を規定する楕円形状の長軸を長手方向とするカプセル型領域とが交差するか否かに基づいて、模擬時間帯で移動物体同士が相互作用するか否かを判定することを特徴とする請求項１２記載のシミュレーション実行方法。
【請求項１５】
請求項８から請求項１４のうちのいずれか１項記載のシミュレーション実行方法を、コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、移動物体を模擬するシミュレーション実行装置、シミュレーション実行方法及びこの方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【０００２】
航空機、船舶、車両、人等の移動物体のシミュレーションを実行するにあたり、複数の移動物体が相互作用しながら動作する状況を考慮する必要がある。例えば、図１５に示すような移動物体Ａと移動物体Ｂの動作シミュレーションにおいて、移動物体Ａが他の移動物体を探知することが可能な最大探知距離ＲAによって規定される探知可能領域（探知覆域１００Ａ）内、若しくは移動物体Ｂが他の移動物体を探知することが可能な最大探知距離ＲBによって規定される探知可能領域（探知覆域１００Ｂ）内に移動物体Ａ，Ｂのいずれかが位置する場合を考える。
【０００３】
この場合、移動物体Ａ及び移動物体Ｂは、移動物体Ａが移動物体Ｂを探知可能（移動物体Ｂが移動物体Ａの探知覆域１００Ａ内にある）、若しくは移動物体Ｂが移動物体Ａを探知可能（移動物体Ａが移動物体Ｂの探知覆域１００Ｂ内にある）のいずれかの条件が満たされる。このような移動物体Ａ，Ｂ間の関係を、本発明では移動物体Ａと移動物体Ｂの「会合状態」と呼ぶこととする。そして、移動物体が会合状態にある場合のみ、これらの移動物体の間で相互作用が発生し得るものとする。
【０００４】
一般に、複数の移動物体を模擬するシミュレーションでは、移動物体同士が互いに複雑に影響を及ぼし合う。このため、模擬対象の移動物体の数が増加すると、例えば衝突等のイベントがいつどこで発生するか等を現実的な処理時間内で特定することが困難となる。従って、複数の移動物体を模擬するシミュレーションにおいて、イベントの発生を時系列に並べて順に処理するイベント駆動型のシミュレーションを実現すると、処理時間が非常に長くなってしまう。
【０００５】
そのため、従来では、上述のようなタイプのシミュレーションを実行する場合、論理時刻の進行に関する固定の刻み幅（Δｔ）を定義し、刻み幅Δｔに基づいて各移動物体の論理時刻を進めるタイムステップ方式が一般的に用いられている。タイムステップ方式のシミュレーションでは、定義するΔｔによって模擬精度が左右されるが、複数の移動物体の動作を同時に模擬することが可能である。このため、並列シミュレーション技術を適用することで、シミュレーション実行処理の高速化を図ることができるという特徴がある。
【０００６】
また、複数の移動物体の模擬を移動物体ごとに個別な模擬プロセスで行う場合、各模擬プロセスで模擬される移動物体の状態は、現在の論理時刻での当該移動物体の状態やその周囲の環境（地形など）、現在の論理時刻までに発生した他の移動物体との相互作用に基づいて、論理時刻の進行に伴って更新される。この場合、図１６に示すように、各移動物体１〜４の論理時刻が進行（刻み幅Δｔ）する度に、互いの模擬プロセス群と同期して、模擬プロセス間で移動物体１〜４の最新の状態に関する情報をそれぞれやり取りする。
【０００７】
しかしながら、移動物体ごとに移動速度などの属性が異なる場合、タイムステップ方式のように、全ての移動物体の模擬プロセスにおける論理時刻を同一の刻み幅Δｔで進行させるのは非効率である。そこで、従来では、特許文献１や非特許文献１に記載されるような動的タイムステップ制御方式が提案されている。図１７は、動的タイムステップ制御方式による移動物体の論理時刻の進行状況を示す図である。図１７に示すように、動的タイムステップ制御方式のシミュレーションでは、移動物体１〜４の模擬プロセスにおける論理時刻進行の刻み幅Δｔが可変である。
【０００８】
シミュレーションの模擬精度及び模擬結果が変わらないのであれば、可能な限り刻み幅Δｔを大きくした方が、模擬プロセス間の情報交換に要する処理負荷が小さくなるため、実効性能の観点から望ましい。また、シミュレーションの性質によっては、刻み幅Δｔを大きく設定することにより、全体としての模擬の処理負荷を減らすことも可能な場合がある。このように、動的タイムステップ制御方式を採用してΔｔを大きく設定することにより、シミュレーションの実行性能の向上を図ることができる。
【０００９】
動的タイムステップ制御方式では、他の移動物体と会合状態にない移動物体に関して、「他の移動物体と会合状態となり得る最小時刻までは、他の移動物体との相互作用がないものとして、独立に論理時刻を進めることができる」との考え方に基づいて刻み幅Δｔが設定される。例えば、図１８に示すように２つの移動物体Ａ，Ｂがある場合、移動物体Ａ，Ｂ間の直線距離ＤAB、移動物体Ａ，Ｂの速さの上限値ＶA，ＶB、最大探知距離ＲA，ＲBを用い、移動物体Ａ，Ｂが直線距離ＤABの線分上を互いの最高速度ＶA，Ｖ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
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来の動的タイムステップ制御方式によるシミュレーションでは、上述したように移動物体同士が互いに最高速度で近づき合って会合状態になるという仮定に基づいて論理時刻の刻み幅Δｔを算出している。このような仮定は、実際のシミュレーションにおいては一般的でなく、通常は動的タイムステップ制御方式で算出されるΔｔより大きな刻み幅で論理時刻を進行させても会合状態まで至らない場合が多い。また、論理時刻進行の刻み幅Δｔを大きくすれば、シミュレーション実行性能の向上を図ることができる。
【００１３】
しかしながら、従来の動的タイムステップ制御方式によるシミュレーションにおいて、刻み幅Δｔを大きくすることにより、上記仮定に基づいて設定した移動物体間の相互作用が発生する可能性のある時刻を越える時刻まで論理時刻を進めてしまうと、結果として模擬結果に不整合が生じる可能性がある。
【００１４】
この発明は、上記のような課題を解決するためになされたもので、模擬結果に不整合が生じることなく、かつ従来の動的タイムステップ制御方式よりも高い実行性能でシミュレーションを実行することができるシミュレーション実行装置、シミュレーション実行方法及びこの方法をコンピュータに実行させるためのプログラムを得ることを目的とする。
【課題を解決するための手段】
【００１５】
この発明に係るシミュレーション実行装置は、複数の移動物体を模擬するシミュレーションを実行するシミュレーション実行装置において、シミュレーションの論理時刻ごとの移動物体の模擬結果を保持する記憶手段と、論理時刻ごとの移動物体の模擬結果に基づいて、シミュレーション空間における移動物体同士の相互作用の有無を判定する会合判定手段と、会合判定手段により移動物体同士の相互作用がないと判定されると、移動物体同士の相互作用がある場合よりも大きな刻み幅で進行させた論理時刻までの模擬時間帯における移動物体を模擬する暫定模擬手段と、模擬時間帯で時系列に得られた移動物体の模擬結果に基づいて、当該模擬時間帯で移動物体同士が相互作用するか否かを判定し、移動物体同士が相互作用しないと判定すると、大きな刻み幅で進行させた論理時刻における模擬結果で記憶手段に保持する次論理時刻の移動物体の模擬結果を更新する会合可能性判定手段とを備えるものである。
【発明の効果】
【００１６】
この発明によれば、ある論理時刻で移動物体同士が相互作用しない場合、これら移動物体同士が相互作用する場合よりも大きな刻み幅で進行させた論理時刻までの模擬時間帯で当該移動物体同士が相互作用するか否かを判定し、模擬時間帯で移動物体同士の相互作用がないと判定されると、当該大きな刻み幅で進行させた論理時刻における模擬結果で次論理時刻の移動物体の模擬結果を更新するので、大きな刻み幅で論理時刻を進行させても移動物体同士の相互作用により模擬結果に不整合が生じることなく、かつ従来の動的タイムステップ制御方式よりも高い実行性能でシミュレーションを実行することができるという効果がある。
【発明を実施するための最良の形態】
【００１７】
実施の形態１．
図１は、この発明の実施の形態１によるシミュレーション実行装置の構成を示すブロック図である。図１において、実施の形態１によるシミュレーション実行装置は、ネットワーク２を介して互いに接続された移動物体模擬装置１−１，１−２，・・・及び表示手段３を備える。移動物体模擬装置１−１，１−２，・・・は、ネットワーク２で互いに接続されたシミュレータであり、ネットワーク２を介したデータ通信により互いに連携して、それぞれが担当する移動物体の模擬を行う。表示手段３は、ネットワーク２に接続したモニタ装置であり、ネットワーク２を介して移動物体模擬装置１−１，１−２，・・・から受信した模擬結果（移動物体の状態）を表示する。
【００１８】
また、移動物体模擬装置１−１，１−２，・・・は、状態更新手段４、状態保持手段５、Δｔ算出手段６、会合判定手段７、暫定状態算出手段８、Δｔ再設定手段９、暫定状態保持手段１０及び会合可能性判定手段１１を備える。状態更新手段４は、移動物体同士の相互作用を考慮して刻み幅Δｔ経過後の移動物体の状態（例えば移動物体の位置や速度）を模擬し、この模擬結果で状態保持手段５の保持内容を更新する。状態保持手段５は、シミュレーションの現在の論理時刻及びこの論理時刻における移動物体の状態を保持する。Δｔ算出手段６は、移動物体の状態に基づいて論理時刻進行の刻み幅Δｔを算出する。会合判定手段７は、判定対象となる各移動物体の状態に基づいて移動物体同士が会合状態にあるか否かを判定する。
【００１９】
暫定状態算出手段（暫定模擬手段）８は、他の移動物体との相互作用がないものと仮定して、対象となる移動物体の刻み幅Δｔ経過後における暫定的な状態を算出する。Δｔ再設定手段９は、会合可能性判定手段１１による判定結果に基づいて、Δｔ算出手段６により算出された刻み幅Δｔをより小さな値に再設定する。暫定状態保持手段１０は、暫定状態算出手段８により算出された移動物体の暫定状態を、対応する時刻（現在の論理時刻＋刻み幅Δｔ）と共に保持する。会合可能性判定手段１１は、自移動物体模擬装置で模擬された移動物体の状態及び暫定状態、他の移動物体の状態及び暫定状態に基づいて、上記対象となる移動物体が模擬時間帯において会合状態となる可能性があるか否かを判定する。
【００２０】
なお、状態更新手段４、状態保持手段５、Δｔ算出手段６、会合判定手段７、暫定状態算出手段８、Δｔ再設定手段９、暫定状態保持手段１０及び会合可能性判定手段１１は、例えば本発明の趣旨に従うシミュレーション実行用プログラムをコンピュータに読み込ませてその動作を制御することにより、このコンピュータ上でソフトウエアとハードウエアが協働した具体的な手段として実現することができる。
【００２１】
次に動作について説明する。
図２は、図１中のシミュレーション実行装置によるシミュレーションの実行手順を示すフローチャートである。この図２に沿って実施の形態１のシミュレーション実行方法を詳細に説明する。
移動物体模擬装置１−１，１−２，・・・は、ネットワーク２を介したデータ通信により互いに連携して、実行中のシミュレーションにおける移動物体の模擬を行う。ここで、自移動物体模擬装置により現在の論理時刻で模擬された移動物体の状態は、状態保持手段５に保持される。この状態保持手段５の内容は、状態更新手段４により適宜更新される。状態更新手段４による更新処理の詳細は後述する。
【００２２】
図１において、情報のやり取りを示す矢印の図示は省略したが、状態保持手段５や暫定状態保持手段１０の記憶内容についても、他の移動物体模擬装置との間でネットワーク２を介して適宜やり取りされる。なお、後述する処理は、１つの移動物体模擬装置において複数の移動物体を模擬する場合であっても適用することが可能であるが、以降では１つの移動物体模擬装置において１つの移動物体が模擬される場合を例に挙げる。
【００２３】
会合判定手段７では、自移動物体模擬装置により現在の論理時刻で模擬された移動物体（以下、担当する移動物体と呼ぶ）の状態を状態保持手段５から読み出し、この移動物体の状態と、ネットワーク２を介して受信した他の移動物体模擬装置により（その移動物体模擬装置における）現在の論理時刻で模擬された他の移動物体（以下、単に他の移動物体と呼ぶ）の状態とに基づいて、担当する移動物体と他の移動物体とが会合状態にあるか否かを判定する（ステップＳＴ１）。ここで、会合状態にあるか否かは、例えば、担当する移動物体が、他の移動物体の探知覆域内に存在するか否か、また、担当する移動物体の探知覆域内に他の移動物体が存在するか否かで判定する。ここで、移動物体同士が会合状態にある場合、会合判定手段７は、その旨を状態更新手段４へ通知し、移動物体同士が会合状態にない場合、その旨をΔｔ算出手段６に通知する。
【００２４】
移動物体同士が会合状態にない場合、Δｔ算出手段６は、担当する移動物体の論理時刻進行の刻み幅Δｔを設定する（ステップＳＴ２）。上述したように、従来の動的タイムステップ制御方式では、「移動物体同士が最高速度で近づき合う」ことを前提として刻み幅Δｔを算出した。これに対して、実施の形態１によるΔｔ算出手段６では、例えば（１）「移動物体同士が最新の論理時刻における速さで互いに近づき合う」若しくは（２）「移動物体同士が最新の論理時刻における、相手となる移動物体方向の速度成分の速さで互いに近づき合う」ことを前提として刻み幅Δｔを算出する。
【００２５】
図３は、論理時刻進行の刻み幅Δｔの算出処理を説明するための図であり、移動物体の数が２の最も単純な系を例に挙げている。ここでは、説明の簡単のため、移動物体Ａと移動物体Ｂの現在論理時刻が等しいものとしている。図３に示す刻み幅Δｔ1は、上述した仮定（１）に基づいて求められたものであり、刻み幅Δｔ2は、上述した仮定（２）に基づいて求められたものである。また、この他の刻み幅Δｔの算出方法として、従来の動的タイムステップ制御方式や上記仮定（１）や（２）に基づいて算出した刻み幅Δｔに対し、１より大きい実数定数を掛ける方法も考えられる。
【００２６】
なお、これまで説明した方法で求められる刻み幅Δｔは、いずれも、従来の動的タイムステップ制御方式における「移動物体同士が互いを結ぶ直線経路上を最高速度で互いに近づき合う」との仮定に基づいて求めた刻み幅Δｔ（図１８参照）よりも大きな値となる。以降、説明の簡単のため、各移動物体について、現在の論理時刻をｔ0とし、論理時刻ｔ0から論理時刻ｔ0＋Δｔまでの時間帯を「模擬時間帯」と呼ぶことにし、全移動物体の模擬時間帯が同一であるものとする。
【００２７】
次に、Δｔ算出手段６は、上述のようにして算出した刻み幅Δｔが十分に小さいか否かを判定する（ステップＳＴ３）。刻み幅Δｔの値が小さくなり過ぎると、模擬に要する処理を頻繁に行う必要があり、返ってシミュレーションの実行性能が低下する。そこで、例えばΔｔ算出手段６に、論理時刻進行の刻み幅Δｔとして許容されるべき刻み幅の下限値（所定の閾値）を、実行対象のシミュレーションの仕様などに応じて予め設定しておく。Δｔ算出手段６は、この所定の閾値とステップＳＴ２で算出した刻み幅Δｔとを比較し、所定の閾値未満の場合に十分に小さいと判定する。
【００２８】
ステップＳＴ３において、刻み幅Δｔが十分に小さくないと判定されると、Δｔ算出手段６は、算出した刻み幅Δｔを暫定状態算出手段８へ出力する。暫定状態算出手段８は、Δｔ算出手段６から刻み幅Δｔを入力すると、状態保持手段５から読み出した担当する移動物体の状態に関する情報のみを用いて、他の移動物体との相互作用がないものとして、上記刻み幅Δｔが経過した場合における担当する移動物体の状態を算出する（ステップＳＴ４）。
【００２９】
このようにステップＳＴ４では、刻み幅Δｔ経過した後、もしかすると発生するかもしれない他の移動物体との相互作用がないことを前提として担当する移動物体の状態を求める。この発明では、上記のような状態を「暫定状態」と呼ぶこととする。なお、暫定状態に関する情報には、刻み幅Δｔ経過後の移動物体の移動方向や位置、速度などの動作状況に関する情報が含まれており、特に暫定状態に含まれる移動物体の位置情報を「暫定位置」と呼ぶこととする。
【００３０】
暫定状態算出手段８は、担当する移動物体の暫定状態を算出すると、この情報を暫定状態保持手段１０に出力する。暫定状態保持手段１０は、暫定状態算出手段８から入力した暫定状態に関する情報を保持する。なお、暫定状態保持手段１０は、暫定状態算出手段８が、暫定状態としてその模擬時間帯における移動物体の移動経路も求めている場合は、その経路情報も合わせて保持する。
【００３１】
続いて、会合可能性判定手段１１は、状態保持手段５から現在の論理時刻における担当する移動物体の状態に関する情報を読み出すと共に、暫定状態保持手段１０から上記刻み幅Δｔ経過後の当該移動物体の暫定状態に関する情報を読み出す。さらに、会合可能性判定手段１１は、他の移動物体模擬装置で算出された現在の論理時刻における他の移動物体の状態に関する情報及び刻み幅Δｔ経過後の当該他の移動物体の暫定状態を、ネットワーク２を介して受信する。
【００３２】
この後、会合可能性判定手段１１は、担当する移動物体の現在の論理時刻における状態とその暫定状態、及び、他の移動物体の現在の論理時刻における状態とその暫定状態に基づいて、模擬時間帯（即ち、現在の論理時刻から上記刻み幅Δｔだけ経過するまでの時間帯）において、担当する移動物体が他の移動物体と会合状態となる可能性があるか否かを判定する（ステップＳＴ５）。以降、模擬時間帯において、担当する移動物体が他の移動物体と会合状態となる可能性を、「会合可能性」と呼ぶこととする。
【００３３】
会合可能性の判定においては、移動物体の「移動可能領域」及び「覆域可能領域」と呼ぶ２つの概念を利用する。移動可能領域とは、移動物体が模擬時間帯において通過する可能性がある領域を示しており、覆域可能領域とは、移動物体の探知覆域が模擬時間帯において通過する可能性がある領域を示す。図４は、移動物体Ａの移動可能領域と覆域可能領域を例示した図であり、図４（ａ）は移動経路が曲線経路である場合、図４（ｂ）は移動経路が直線経路である場合を示している。
【００３４】
図４（ａ）及び図４（ｂ）に示すように、移動物体Ａの移動経路が曲線の一部や直線（線分）で明確に表せる場合、移動可能領域１３Ａは模擬時間帯ｔ0〜ｔ0＋Δｔにおいて移動物体が移動する移動経路そのもので表すことができる。また、覆域可能領域１２Ａは、半径が移動物体Ａの最大探知距離ＲAである球（なお、シミュレーション空間が２次元の場合は円となる。以下同様。）が、移動可能領域１３Ａに沿って移動した結果、その軌跡によって形成される領域で表すことができる。
【００３５】
ここで、図４（ｂ）に示すように、移動物体Ａの移動経路１３Ａが線分の場合、その覆域可能領域１２Ａは、円柱の両端に半球が接続した形状（なお、シミュレーション空間が２次元の場合は、長方形の両端に半円が接続した形状となる。以下同様。）となる。このような形状を「カプセル型領域」と呼ぶこととする。カプセル型領域は、中心部の線分及びカプセル型領域を構成する円柱の半径によって一意に定まる。以下、カプセル型領域を構成する円柱の半径のことをカプセル型領域の半径と呼ぶこととする。
【００３６】
会合可能性判定手段１１は、移動物体の会合可能性の判定において、下記の２つの条件を判定する。
（１）模擬時間帯において、担当する移動物体の覆域可能領域が、当該模擬時間帯における他の移動物体の移動可能領域と交わるか否か。
（２）模擬時間帯において、担当する移動物体の移動可能領域が、当該模擬時間帯における他の移動物体の覆域可能領域と交わるか否か。
【００３７】
図５は、移動物体Ａの移動可能領域が移動物体Ｂの覆域可能領域と交わる場合を例示した図であり、図５（ａ）は移動物体の移動可能領域が曲線の一部である場合を示し、図５（ｂ）は移動可能領域が線分である場合を示している。担当する移動物体が移動物体Ａである場合、図５（ａ）に示す例では、模擬時間帯ｔ0〜ｔ0＋Δｔにおいて、担当する移動物体Ａの移動可能領域１３Ａが、他の移動物体Ｂの覆域可能領域１２Ｂと交わって交差領域Ｃ１が形成される。この場合、移動物体Ａは、上記条件（２）を満足する。
【００３８】
一方、図５（ｂ）に示す例では、移動物体Ａの移動可能領域１３Ａが、他の移動物体Ｂの覆域可能領域１２Ｂと交わって交差領域Ｃ２が形成される。さらに、図５（ｂ）では、担当する移動物体Ａの覆域可能領域１２Ａが、当該模擬時間帯における他の移動物体Ｂの移動可能領域１３Ｂとも交わっている。この場合、移動物体Ａは、上記条件（１）及び（２）の双方を満足している。
【００３９】
図６は、移動物体Ａの移動可能領域が移動物体Ｂの覆域可能領域と交わらず、かつ、移動物体Ａの覆域可能領域が移動物体Ｂの移動可能領域と交わらない場合を示している。図６に示す場合では、模擬時間帯において、上記条件（１）及び（２）のいずれも満たさない。
【００４０】
ステップＳＴ５において、会合可能性判定手段１１は、ネットワーク２を介して他の移動物体模擬装置から他の移動物体の現在の論理時刻における状態及び刻み幅Δｔ経過後の暫定状態に関する情報を逐次入力して、これら情報に基づいて他の移動物体の移動可能領域及び覆域可能領域を求める。さらに、会合可能性判定手段１１は、状態保持手段５から読み出した担当する移動物体の状態及び暫定状態に関する情報に基づいて上記担当する移動物体の移動可能領域及び覆域可能領域を求める。
【００４１】
この後、会合可能性判定手段１１は、上述のようにして求めた担当する移動物体の移動可能領域及び覆域可能領域が他の移動物体の移動可能領域及び覆域可能領域との間で上記条件（１）及び（２）のいずれかを満たすか否かを調べる。このとき、上記条件（１）及び（２）のいずれかを満たす場合、会合可能性判定手段１１は、当該移動物体が模擬時間帯において会合可能性有りと判定する。
【００４２】
なお、担当する移動物体と他の移動物体との間に特別な関係が設定されている場合、会合可能性判定手段１１は、この関係の情報を織り込んで会合可能性を容易に判定することが可能な場合がある。例えば、他の移動物体について、従来の動的タイムステップ制御方式に基づくΔｔ算出が実施され、これら他の移動物体のそれぞれについて「会合状態となり得る最小時刻」がわかっている場合を考える。ここで、他の移動物体Ｘの会合状態となり得る最小時刻までの時間をΔｔ（Ｘ）とし、ステップＳＴ２で設定された刻み幅ΔｔがΔｔ＜Δｔ（Ｘ）であったとする。この場合、会合可能性判定手段１１は、模擬時間帯において、担当する移動物体と他の移動物体Ｘとが会合状態となる可能性はないので、当該他の移動物体Ｘとの間で会合可能性の判定は行わない。
【００４３】
ステップＳＴ５において会合可能性がないと判定された場合、担当する移動物体が、模擬時間帯において他の移動物体との間で相互作用する可能性がない。そこで、会合可能性判定手段１１は、現在の論理時刻を刻み幅Δｔだけ進めて、暫定状態保持手段１０から読み出した当該担当する移動物体の暫定状態に関する情報を用いて、状態保持手段５に保持されている当該担当する移動物体の状態に関する情報を更新する（ステップＳＴ６）。
【００４４】
これにより、担当する移動物体についての刻み幅Δｔによる１回分の論理時刻の進行処理が終了する。このようにして、以降も上述の処理を繰り返すことにより、刻み幅Δｔごとに論理時刻を進行させつつ、担当する移動物体の模擬が実行される。
【００４５】
一方、ステップＳＴ５で会合可能性があると判定された場合、担当する移動物体が、模擬時間帯において他の移動物体との間で相互作用する可能性があることを意味する。この場合、ステップＳＴ４で算出された上記担当する移動物体の暫定状態は信頼できない状態であるので、会合可能性判定手段１１は、その旨をΔｔ再設定手段９へ通知する。
【００４６】
Δｔ再設定手段９は、会合可能性判定手段１１からの通知を受けると、Δｔ算出手段６で算出された刻み幅Δｔよりも小さい値を新たな刻み幅Δｔとして算出する（ステップＳＴ７）。例えば、直前の刻み幅Δｔの値に１未満の実数定数を掛けて新たな刻み幅Δｔとする場合が考えられる。この他、従来の動的タイムステップ制御方式による仮定に基づいて刻み幅Δｔを求めてもよい。また、図５（ａ）に示すような移動物体Ａの移動可能領域１３Ａと移動物体Ｂの覆域可能領域１２Ｂとが交差する部分Ｃ１の開始時刻が、移動物体の暫定状態に関する情報に基づいて認識できる場合には、その時刻に論理時刻を進めるように刻み幅Δｔを再設定することも考えられる。
【００４７】
次に、Δｔ再設定手段９は、ステップＳＴ３の処理に戻り、算出した新たな刻み幅Δｔが十分に小さい値か否かを判定する。例えば、Δｔ算出手段６と同様に、論理時刻進行の刻み幅Δｔとして許容されるべき刻み幅の下限値（所定の閾値）を、実行対象のシミュレーションの仕様などに応じてΔｔ再設定手段９に予め設定しておく。Δｔ再設定手段９は、この所定の閾値とステップＳＴ７で算出した刻み幅Δｔとを比較し、所定の閾値未満の場合に十分に小さいと判定する。
【００４８】
ステップＳＴ３において、刻み幅Δｔが十分に小さくないと判定されると、Δｔ再設定手段９は、算出した刻み幅Δｔを暫定状態算出手段８へ出力する。これにより、Δｔ再設定手段９によって新たに算出された刻み幅Δｔを用いて、上述したステップＳＴ４からステップＳＴ６まで（もしくはステップＳＴ７、さらにその先のステップまで）の処理が実行される。
【００４９】
なお、ステップＳＴ７において、従来の動的タイムステップ制御方式で刻み幅Δｔを求めた場合、従来の動的タイムステップ制御方式の原理（「他の移動物体と会合状態となり得る最小時刻までは、他の移動物体との相互作用がないものとして独立に論理時刻を進めることができる」（図１８参照））により、新たな上記刻み幅Δｔが経過しても担当する移動物体について会合可能性がないことは明白であるので、ステップＳＴ５における会合可能性判定をスキップすることができる。
【００５０】
ステップＳＴ７の処理を経由してステップＳＴ４の処理をやり直す場合、前回のステップＳＴ４の実行によって、担当する移動物体の暫定状態の算出経過が暫定状態保持手段１０に過去ログとして残っていれば、この過去ログを利用して暫定状態を再導出できる。このようにすることにより、暫定状態の算出処理を初めからやり直す場合よりも短時間で新たな暫定状態を導出することができる場合もある。
【００５１】
また、ステップＳＴ１において担当する移動物体が他の移動物体と会合状態にあると判定され、その旨が会合判定手段７からΔｔ算出手段６へ通知されるか、若しくは、ステップＳＴ３で刻み幅Δｔが十分に小さいと判定されると、Δｔ算出手段６（若しくはΔｔ再設定手段９）は、上述した従来のタイプステップ方式のシミュレーションと同様に、予め設定した論理時刻の進行に関する固定の刻み幅Δｔ（固定の小さい刻み幅）を設定する（ステップＳＴ８）。この刻み幅Δｔは、Δｔ算出手段６（若しくはΔｔ再設定手段９）から状態更新手段４へ出力される。
【００５２】
このとき、状態更新手段４は、状態保持手段５から現在の論理時刻における担当する移動物体の状態に関する情報を読み出し、またネットワーク２を介して現在の論理時刻における他の移動物体の状態に関する情報を受信する。これにより、これら情報とΔｔ算出手段６（若しくはΔｔ再設定手段９）から入力した刻み幅Δｔとを用いて、状態更新手段４は、上記他の移動物体との相互作用を考慮して当該刻み幅Δｔ経過後の担当する移動物体の状態（例えば、移動物体の移動方向や位置、速度などの動作状況に関する情報）を導出する（ステップＳＴ９）。
【００５３】
状態更新手段４は、上述のようにして他の移動物体との相互作用を考慮して担当する移動物体の状態を導出すると、ステップＳＴ８で求められた刻み幅Δｔだけ現在の論理時刻を進め、導出した移動物体の状態に関する情報を用いて、状態保持手段５に保持されている当該担当する移動物体の状態に関する情報を更新する（ステップＳＴ１０）。これにより、担当する移動物体についての刻み幅Δｔによる１回分の論理時刻の進行処理が終了する。
【００５４】
次にステップＳＴ５で実行される会合可能性判定の詳細を説明する。
会合可能性の判定処理の負荷が大きく、現実的な時間で処理を完了するために高性能なコンピュータを必要とする場合、当該判定処理の計算コストもかかり、シミュレーション自体の実効性能も悪くなる。そこで、この実施の形態１では、下記のようにして判定処理を実行することにより、処理負荷を軽減している。
【００５５】
図７は、移動物体が存在するシミュレーション空間を示す図であり、移動物体Ａ，Ｂが存在するシミュレーション空間を予め複数の小領域に区切っている。なお、図７に示す例は、説明の簡単のために、シミュレーション空間が２次元の場合を示している。このように、実施の形態１では、会合可能性を判定するにあたり、シミュレーション空間を小領域１４に分割する。会合可能性判定手段１１は、会合可能性の判定を小領域ごとに行うことにより、判定の処理負荷を軽減する。
【００５６】
図８は、図７中のシミュレーション空間における移動物体Ａの会合可能性の判定処理を説明するための図であり、図８（ａ）は移動物体Ａの移動可能領域と覆域可能領域を示しており、図８（ｂ）は図８（ａ）中のシミュレーション空間において移動物体Ａの移動可能領域と交わる小領域を示し、図８（ｃ）は図８（ａ）中のシミュレーション空間において移動物体Ａの覆域可能領域と交わる小領域を示している。
【００５７】
会合可能性判定手段１１は、２つの移動物体Ａ，Ｂの会合可能性を判定するにあたり、図８（ｂ）及び図８（ｃ）に示すような移動物体Ａの移動可能領域１３Ａと交差する小領域１４ａの集合と覆域可能領域１２Ａと交差する小領域１４Ａの集合のみを考慮して、移動物体Ａの移動可能領域１３Ａと移動物体Ｂの覆域可能領域が交わるか否かを判断する。ここで、同様に、移動物体Ｂについても、その移動可能領域と交差する小領域の集合と、覆域可能領域と交差する小領域の集合とを求めておく。
【００５８】
これにより、会合可能性判定手段１１は、移動物体Ａの移動可能領域１３Ａと移動物体Ｂの覆域可能領域が交わるか否かを、図８（ｂ）に示す小領域１４ａの集合と移動物体Ｂの覆域可能領域に交わる小領域の集合とが共通する小領域を含むかどうかを検出することによって判定する。このとき、共通の小領域を含めば、移動物体Ａの移動可能領域１３Ａと移動物体Ｂの覆域可能領域とが交わる、即ち上記条件（２）を満たすと判断される。
【００５９】
また、会合可能性判定手段１１は、移動物体Ａの覆域可能領域１２Ａと移動物体Ｂの移動可能領域が交わるか否かを、図８（ｃ）に示す小領域１４Ａの集合と移動物体Ｂの移動可能領域に交わる小領域の集合とが共通する小領域を含むかどうかを検出することによって判定する。このとき、共通の小領域を含めば、移動物体Ａの覆域可能領域１２Ａと移動物体Ｂの移動可能領域とが交わる、即ち上記条件（１）を満たすと判断される。
【００６０】
上述のように小領域の集合で判定することにより、移動物体Ａの移動可能領域１３Ａが移動物体Ｂの覆域可能領域と交わっていることを漏れなく検出することができる。一方、移動物体Ａの移動可能領域１３Ａが移動物体Ｂの覆域可能領域と交わっていない場合であっても、「交わっている」と誤判定される可能性がある。この場合、本来なら不必要な移動物体の暫定状態の再導出がステップＳＴ４で行われる。しかしながら、この場合であっても模擬結果への影響はなく、また小領域１４のサイズを適切に設定していれば誤判定も少なくなる。
【００６１】
さらに、移動物体の移動経路がわかっている場合、移動経路から導出される移動物体の座標値に基づいて、図８（ｂ）及び図８（ｃ）で示したような小領域１４ａ，１４Ａの集合を容易に抽出することができる。この場合、移動物体Ａの小領域１４ａ，１４Ａの集合と移動物体Ｂの小領域の集合とが共通の小領域を含むか否かを簡易な計算で判定することができる。
【００６２】
このようにして各移動物体模擬装置１−１，１−２，・・・により算出された移動物体の模擬結果は、ネットワーク２を介して表示手段３に送られる。ユーザは、表示手段３の表示画面を介して、実施の形態１によるシミュレーション実行装置で模擬された移動物体の状態を視認することができる。
【００６３】
以上のように、この実施の形態１によれば、シミュレーションの論理時刻ごとの移動物体の模擬結果を保持する状態保持手段５と、論理時刻ごとの移動物体の模擬結果に基づいて、シミュレーション空間における移動物体同士の相互作用の有無を判定する会合判定手段７と、会合判定手段７により移動物体同士の相互作用がないと判定されると、移動物体同士の相互作用がある場合よりも大きな刻み幅で進行させた論理時刻までの模擬時間帯における移動物体を模擬する暫定状態算出手段８と、模擬時間帯で時系列に得られた移動物体の模擬結果に基づいて、模擬時間帯で移動物体同士が相互作用する可能性の有無（模擬時間帯で移動物体同士が相互作用するか否か）を判定し、移動物体同士が相互作用しないと判定すると、前記大きな刻み幅で進行させた論理時刻における模擬結果で状態保持手段５に保持する次論理時刻の移動物体の模擬結果を更新する会合可能性判定手段１１とを備える。このように構成することで、現在の論理時刻で会合状態にない担当する移動物体が、模擬時間帯において他の移動物体と相互作用がないと判定されると大きな刻み幅Δｔで論理時刻を進行させ、模擬時間帯において他の移動物体と会合可能性がある場合にのみ、刻み幅Δｔを小さな値に再設定して論理時刻を進行させることができる。これにより、論理時刻進行の刻み幅を大きくしてもその刻み幅で規定される模擬時間帯で移動物体同士が会合状態になることに起因した模擬結果の不整合の発生を防止することができる。
【００６４】
また、上記実施の形態１において、担当する移動物体が会合状態にない場合で最初に設定する刻み幅Δｔとして、模擬時間帯で他の移動物体と会合可能性がありと判定される場合が少ない時間幅範囲でなるべく大きな時間幅を設定することにより、従来よりも短い処理時間でシミュレーションを実行することが可能である。
【００６５】
さらに、上記実施の形態１では、シミュレーション空間を複数の小領域で区分し、この小領域の集合を用いて、移動可能領域に対応する小領域の集合と覆域可能領域に対する小領域の集合とが共通する小領域を含むか否かによって会合可能性の有無を判定するので、簡易な計算で判定処理を実現することができる。
【００６６】
なお、上記実施の形態１において、模擬時間帯における移動物体の移動経路が線分であると仮定することにより、図４（ｂ）に示すように移動物体の移動可能領域１３Ａを線分で表すことができ、最大探知距離ＲAを半径とするカプセル型領域で覆域可能領域１２Ａを表すことができる。この場合、図２中のステップＳＴ５における会合可能性の判定は、線分（移動可能領域１３Ａ）とカプセル型領域（覆域可能領域１２Ａ）との交差判定に帰着される。そこで、上記実施の形態１による会合可能性判定を下記のように実施してもよい。
【００６７】
先ず、会合可能性判定手段１１は、線分（移動可能領域１３Ａ）と、カプセル型領域（覆域可能領域１２Ａ）の中心部の線分との距離を算出する。上記線分間の距離を求める方法としては、下記の参考文献１に記載される処理が考えられる。
参考文献１；Ｃｈｒｉｓｔｅｒ  Ｅｒｉｃｓｏｎ著、中村達也翻訳、「ゲームプログラミングのためのリアルタイム衝突判定」、株式会社ボーンデジタル、２００５年１１月２５日初版第一刷発行、１４８〜１５１頁。
【００６８】
次に、会合可能性判定手段１１は、線分間の距離Ｄとカプセル型領域の半径ｒとを比較し、Ｄ≦ｒであれば、当該線分とカプセル型領域が交差すると判定する。このように単純な比較処理のみで移動可能領域と覆域可能領域との交差判定を行うことができ、判定処理に要する演算負荷を軽減することが可能である。
【００６９】
さて、上記の具体例では、全移動物体の模擬時間帯が同一である場合を例にとって説明したが、一般には、各移動物体毎に現在論理時刻やΔｔは異なる値をとる。そのような場合における会合可能性判定について補足しておく。例として、論理時刻ｔi（ｉ＝１，２，３，４，５）についてｔ1＜ｔ2＜ｔ3＜ｔ4＜ｔ5の場合に、担当する移動物体の現在の模擬時間帯がｔ2〜ｔ4（つまり現在論理時刻がｔ2）、会合可能性判定対象となる他の移動物体Ｘの前回の模擬時間帯がｔ1〜ｔ3、現在の模擬時間帯がｔ3〜ｔ5（つまり現在論理時刻がｔ3）である場合を考える。
【００７０】
この場合において、移動物体Ｘのｔ2〜ｔ4における模擬結果の情報が容易に抽出できる場合は、その情報を利用して、上記実施の形態１で前述した説明内容に従って会合可能性判定を行えばよい。
また、上記模擬結果の情報が容易に抽出できない場合、担当する移動物体の、他の移動物体Ｘとの会合可能性判定においては、担当する移動物体の模擬時間帯ｔ2〜ｔ4を包含する時間帯における移動物体Ｘの模擬結果を利用すればよい。上記の例の場合、担当する移動物体の現在の模擬時間帯ｔ2〜ｔ4に関する会合可能性判定においては、以下の会合可能性判定を行う。
（１）ｔ2〜ｔ4における担当する移動物体と、ｔ1〜ｔ3における移動物体Ｘとの会合可能性を判定する。
（２）ｔ2〜ｔ4における担当する移動物体と、ｔ3〜ｔ5における移動物体Ｘとの会合可能性を判定する。
そして、上記（１）、（２）のいずれかにおいて「会合可能性有り」と判定された場合に、担当する移動物体は、その模擬時間帯において会合可能性有りと判定される。
【００７１】
実施の形態２.
この実施の形態２によるシミュレーション実行装置の基本的な構成は、上記実施の形態１で示した図１の構成と同様であるが、会合可能性判定手段１１がシミュレーション空間に対し上記実施の形態１と異なる前提を採用して会合可能性を判定する。そこで、この実施の形態２においても、シミュレーション実行装置の構成については、図１を用いて説明する。また、説明の簡単のため、この実施の形態２においても、上記実施の形態１と同様に、全移動物体の模擬時間帯が同一であるものとする。
【００７２】
ここで、この実施の形態２における前提条件について説明する。
実施の形態２では、模擬時間帯における移動物体の移動経路が不明であり、現在の論理時刻ｔ0及び刻み幅Δｔ経過後のｔ0＋Δｔにおける移動物体の暫定位置のみが認識されている場合を前提としている。このような前提条件に合致する状況としては、（１）模擬時間帯における移動物体の模擬を確率的に行うため、処理途中の経路が不明である場合や、（２）模擬時間帯における移動物体の模擬に要する演算負荷を軽減するため、移動物体について大雑把な模擬を行う場合、（３）予め大まかな移動経路のみが設定されている場合が考えられる。
【００７３】
上述した（２）の場合、移動物体の正確な移動経路を求めるには、シミュレーション空間で模擬される移動物体周辺の地形や気象状況などに基づいて、移動物体についてより詳細な模擬を実施しなければならないことが想定される。また、上記（３）の場合は、具体的に移動経路を求めるには、移動物体についてより詳細な模擬を実行しなければならないことが想定される。
【００７４】
図９は、この発明の実施の形態２による会合可能性判定手段が取り扱う移動物体の移動可能領域を示す図である。図９に示すように、移動物体Ａの速さの上限をＶｍａｘとすると、模擬時間帯ｔ0〜ｔ0＋Δｔにおける移動距離の上限値Ｄは、Ｄ＝Ｖｍａｘ×Δｔで表すことができる。ここで、移動物体Ａの論理時刻ｔ0での位置と論理時刻ｔ0＋Δｔでの暫定位置との直線距離をｄとすると、模擬時間帯における移動物体Ａの移動可能領域は、図９に示すような楕円領域（焦点は移動物体Ａの論理時刻ｔ0における位置と論理時刻ｔ0＋Δｔにおける暫定位置）（第１の楕円領域）１５Ａとなる。
【００７５】
また、図１０に示すように、移動物体Ａの覆域可能領域１２Ａとしては、移動物体Ａの最大探知距離ＲAを半径とする球状（シミュレーション空間が２次元の場合は円）が、図９中の移動可能領域１５Ａである楕円領域内を隈無く移動した結果、その軌跡によって形成される領域（第２の楕円領域）となる。以下、この覆域可能領域１２Ａの楕円領域を、移動可能領域１５Ａの楕円領域を最大探知距離ＲA分だけ広げた形状と呼ぶことにする。なお、上記図形は数学的に厳密な意味での楕円ではないが、楕円に類似した図形であり、以下でも便宜上、「楕円領域」、「楕円形状」等と称する。
【００７６】
会合可能性判定手段１１は、上記図２中のステップＳＴ５における会合可能性判定を、移動可能領域１５Ａの楕円領域と、これを最大探知距離分だけ広げた形状である覆域可能領域１２Ａとの交差判定の結果に基づいて実施する。つまり、図１１に示すように移動物体Ａ，Ｂを考える場合、移動物体Ａの移動可能領域１５Ａと移動物体Ｂの覆域可能領域１２Ｂが交差して交差領域Ｃ３が得られると、会合可能性ありと判定される。一方、図１２に示すように、移動物体Ａの移動可能領域１５Ａと移動物体Ｂの覆域可能領域１２Ｂとが交差せず、さらに移動物体Ａの覆域可能領域１２Ａと移動物体Ｂの移動可能領域１５Ｂとが交差しない場合、会合可能性無しと判定される。
【００７７】
次に、実施の形態２による会合可能性判定の詳細について説明する。
先ず、図１３に示すように、各移動物体について、移動可能領域１５Ａの楕円領域を規定する楕円形状の長軸を直径とする球状領域、すなわち移動可能領域１５Ａを覆う球状領域（シミュレーション空間が２次元である場合は円領域とする。以下同様。）１６を想定すると共に、覆域可能領域１２Ａの楕円領域を規定する楕円形状の長軸を直径とする球状領域、すなわち覆域可能領域（移動可能領域の楕円領域を最大探知可能距離分だけ広げた形状）１２Ａを覆う球状領域１７を想定する。なお、図１３の想定は、移動物体Ｂについても適用される。
【００７８】
実施の形態２による会合可能性判定手段１１は、移動物体Ａ，Ｂの会合可能性を判定するにあたり、移動物体Ａの移動可能領域１５Ａと移動物体Ｂの覆域可能領域１２Ｂとが交わるか否かを、図１３に示した移動物体Ａの移動可能領域１５Ａを覆う球状領域１６と、移動物体Ｂの覆域可能領域１２Ｂを覆う球状領域１７とが交わるか否かにより判断する。ここで、球状領域１６，１７が交わる場合は、移動物体Ａの移動可能領域１５Ａと移動物体Ｂの覆域可能領域１２Ｂとが交わるものと解釈される。このような球状領域１６，１７による交差判定は、球状領域１６，１７の中心同士の距離と球状領域１６，１７の半径の和とを比較することにより実現可能である。
【００７９】
上述のような判定を実行することにより、移動物体Ａの移動可能領域１５Ａが移動物体Ｂの覆域可能領域と交わっていることを漏れなく検出することができる一方、移動物体Ａの移動可能領域１５Ａが移動物体Ｂの覆域可能領域と交わっていない場合であっても、「交わっている」と誤判定される可能性がある。この場合、本来なら不必要な移動物体の暫定状態の再導出がステップＳＴ４で行われる。しかしながら、この場合であっても模擬結果への影響はない。
【００８０】
以上のように、この実施の形態２によれば、会合可能性判定手段１１が、現在の論理時刻を刻み幅分だけ進行させた模擬時間帯で移動物体Ａが移動する可能がある領域として、現在の論理時刻における当該移動物体Ａの位置と刻み幅Δｔが経過した時点で模擬された当該移動物体Ａの位置とを焦点とする楕円領域１５Ａを規定し、移動物体Ａの探知覆域が移動する可能性がある領域１２Ａとして、現在の論理時刻における当該移動物体Ａの位置と刻み幅Δｔが経過した時点で模擬された移動物体Ａの位置とを焦点とする楕円領域を当該移動物体Ａの最大探知距離ＲAだけ広げた楕円領域を規定し、移動物体Ａと他の移動物体Ｂとの間で前記楕円領域が交差するか否かに基づいて、移動物体Ａ，Ｂが相互作用する可能性の有無（模擬時間帯で移動物体Ａ，Ｂが相互作用するか否か）を判定する。
このようにすることで、模擬時間帯における移動物体の移動経路が不明な場合でも、移動物体の速さ上限の情報を利用することで会合可能性判定が可能である。これにより、現在の論理時刻において会合状態にない移動物体に関して大きな刻み幅Δｔで論理時刻を進行させることができ、シミュレーションの実行性能向上を実現することができる。また、移動可能領域を覆う球状領域１６及び覆域可能領域を覆う球状領域１７を用いることにより、会合可能性判定に要する演算負荷を軽減することができる。
【００８１】
なお、上記実施の形態２では、移動可能領域を覆う球状領域１６及び覆域可能領域を覆う球状領域１７を用いる場合を示したが、図１４に示すように移動物体Ａの移動可能領域１５Ａの楕円領域を規定する楕円形状の長軸を長手方向の寸法とするカプセル型領域、すなわち移動可能領域（楕円領域）１５Ａを覆うカプセル型領域１８と、覆域可能領域１２Ａの楕円領域を規定する楕円形状の長軸を長手方向の寸法とするカプセル型領域、すなわち覆域可能領域（移動可能領域の楕円領域を最大探知可能距離分だけ広げた形状）１２Ａを覆うカプセル型領域１９とを用いるようにしてもよい。
【００８２】
会合可能性判定手段１１は、移動物体Ａ，Ｂの会合可能性を判定するにあたり、移動物体Ａの移動可能領域１５Ａと移動物体Ｂの覆域可能領域１２Ｂとが交わるか否かを、図１４に示した移動物体Ａの移動可能領域１５Ａを覆うカプセル型領域１８と、移動物体Ｂの覆域可能領域１２Ｂを覆うカプセル型領域１９とが交わるか否かにより判断する。ここで、カプセル型領域１８，１９が交わる場合は、移動物体Ａの移動可能領域１５Ａと移動物体Ｂの覆域可能領域１２Ｂとが交わるものと解釈される。また、カプセル型領域１８，１９による交差判定は、カプセル型領域１８，１９の中心部の線分同士の距離とカプセル型領域１８，１９の半径の和とを比較することにより実現可能である。
【００８３】
上述のような判定を実行することにより、移動物体Ａの移動可能領域１５Ａが移動物体Ｂの覆域可能領域と交わっていることを漏れなく検出することができる一方、移動物体Ａの移動可能領域１５Ａが移動物体Ｂの覆域可能領域と交わっていない場合であっても、「交わっている」と誤判定される可能性がある。この場合、本来なら不必要な移動物体の暫定状態の再導出がステップＳＴ４で行われる。しかしながら、この場合であっても模擬結果への影響はない。
【００８４】
このようにカプセル型領域１８，１９を用いて交差判定することによっても、比較処理などの簡易な演算で会合可能性の判定を実現することができる。
さて、上記の具体例では、全移動物体の模擬時間帯が同一である場合を例に挙げて説明したが、一般には、各移動物体毎に現在論理時刻やΔｔは異なる値をとる。そのような場合における会合可能性判定に関しては、上記実施の形態１の最後で述べた内容がそのまま適用できるため、ここでは説明を省略する。
【図面の簡単な説明】
【００８５】
【図１】この発明の実施の形態１によるシミュレーション実行装置の構成を示すブロック図である。
【図２】図１中のシミュレーション実行装置によるシミュレーションの実行手順を示すフローチャートである。
【図３】論理時刻進行の刻み幅Δｔの算出処理を説明するための図である。
【図４】移動物体Ａの移動可能領域と覆域可能領域を例示した図である。
【図５】移動物体Ａの移動可能領域が移動物体Ｂの覆域可能領域と交わる場合を例示した図である。
【図６】移動物体Ａの移動可能領域が移動物体Ｂの覆域可能領域と交わらず、かつ、移動物体Ａの覆域可能領域が移動物体Ｂの移動可能領域と交わらない場合を示す図である。
【図７】移動物体が存在するシミュレーション空間を示す図である。
【図８】図７中のシミュレーション空間における移動物体Ａの会合可能性の判定処理を説明するための図である。
【図９】この発明の実施の形態２による会合可能性判定手段が取り扱う移動物体の移動可能領域を示す図である。
【図１０】移動物体の移動可能領域の他の例を示す図である。
【図１１】実施の形態２による移動物体Ａの移動可能領域と移動物体Ｂの覆域可能領域が交差する場合を例示した図である。
【図１２】実施の形態２による移動物体Ａの移動可能領域と移動物体Ｂの覆域可能領域が交差しない場合を例示した図である。
【図１３】実施の形態２による会合可能性判定を説明するための図である。
【図１４】実施の形態２による会合可能性判定の他例を説明するための図である。
【図１５】移動物体間の会合状態を説明するための図である。
【図１６】固定刻み幅のタイムステップ制御方式における論理時刻の進行状況を示す図である。
【図１７】動的タイムステップ制御方式における論理時刻の進行状況を示す図である。
【図１８】動的タイムステップ制御方式における論理時刻の刻み幅の算出処理を説明するための図である。
【符号の説明】
【００８６】
１−１，１−２，・・・  移動物体模擬装置、２  ネットワーク、３  表示手段、４  状態更新手段、５  状態保持手段、６  Δｔ算出手段、７  会合判定手段、８  暫定状態算出手段（暫定模擬手段）、９  Δｔ再設定手段、１０  暫定状態保持手段、１１  会合可能性判定手段、１２Ａ，１２Ｂ  覆域可能領域、１３Ａ，１３Ｂ，１５Ａ，１５Ｂ  移動可能領域、１４，１４ａ，１４Ａ  小領域、Ｃ１〜Ｃ３  交差領域、１６，１７  球状領域、１８，１９  カプセル型領域。
【図１】
2009199310.tif 000003
【図２】
2009199310.tif 000004
【図３】
2009199310.tif 000005
【図４】
2009199310.tif 000006
【図５】
2009199310.tif 000007
【図６】
2009199310.tif 000008
【図７】
2009199310.tif 000009
【図８】
2009199310.tif 000010
【図９】
2009199310.tif 000011
【図１０】
2009199310.tif 000012
【図１１】
2009199310.tif 000013
【図１２】
2009199310.tif 000014
【図１３】
2009199310.tif 000015
【図１４】
2009199310.tif 000016
【図１５】
2009199310.tif 000017
【図１６】
2009199310.tif 000018
【図１７】
2009199310.tif 000019
【図１８】
2009199310.tif 000020