(57)【特許請求の範囲】
【請求項１】
タイムステップ法に基づくモンテカルロシミュレーションにおいて、
初回に、第１の時刻刻み幅を設定して、移動物体に関するシナリオのシミュレーションを実行する第１のステップと、
２回目以降に、初回のシミュレーションで発生時刻が既知となったイベント間における前記第１の時刻刻み幅に基づくシミュレーションを省いて、前記移動物体に関するシナリオのシミュレーションを実行する第２のステップと
を含み、
前記第２のステップは、初回のシミュレーションで発生時刻が既知となったイベント間であって、前記移動物体が他の物体から影響を受けない、または前記移動物体が他の物体に影響を与えない場合で、かつ前記移動物体の諸元値が不変、または定常的に変化している期間における前記第１の時刻刻み幅に基づくシミュレーションを省く
ことを特徴とするシミュレーション実行方法。
【請求項２】
前記第２のステップは、前記第１の時刻刻み幅より細かい第２の時刻刻み幅に基づくシミュレーションが必要と分かった期間に関しては、前記第２の時刻刻み幅に基づきシミュレーションを実行する
ことを特徴とする請求項１記載のシミュレーション実行方法。
【請求項３】
前記第２のステップは、前記移動物体が他の物体から影響を受ける、または前記移動物体が他の物体に影響を与える期間に関しては、前記第２の時刻刻み幅に基づきシミュレーションを実行する
ことを特徴とする請求項２記載のシミュレーション実行方法。
【請求項４】
前記第２のステップは、前記シナリオの一部を変更した場合に、変更に関与しない移動物体において、変更に影響しない時点まで前記第１の時刻刻み幅に基づくシミュレーションを省く
ことを特徴とする請求項１記載のシミュレーション実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、移動物体を主対象としたモンテカルロシミュレーションにおいて、２回目以降にシミュレーションを実行する場合に、初回に実行した結果を利用して、不要な模擬を間引くことにより総演算時間の短縮を図ったシミュレーション実行方法に関するものである。
【背景技術】
【０００２】
一般的に確率的要素を含む計算機シミュレーションでは、何度もシミュレーションを試行することによって統計的な結果を得る必要がある。このようなタイプのシミュレーションをモンテカルロシミュレーションと言う。近年、計算機のコストパフォーマンス向上に伴い、シミュレーションの大規模化や詳細化が加速している。１台の計算機では要求性能が満足できない場合では、処理に並列性が内在するのであれば何台もの計算機を用いる並列分散シミュレーション技術を用いる方法が普及しているが、いずれにせよ、このような大規模な演算量を要するシミュレーションにおいて、モンテカルロシミュレーションを実行する場合は、総実行時間が深刻なものとなる。
【０００３】
他方、多数の物体（主に移動物体）が相互に影響を及ぼし合うシミュレーションでは、該物体の数が多くなるに伴い、互いが複雑に影響し合うため、確率的要素がないdeterministicな場合でも、どのイベントがどの時刻に発生するかの算出が困難となる。このようなタイプのシミュレーションでは、シミュレーション時刻進行のための微小な時刻刻み幅（Δｔ）を設定し、該Δｔのタイミングで時刻を進行するタイムステップ法を用いるのが一般的である（例えば、非特許文献１参照）。
【０００４】
【特許文献１】特開平７−７１８９５号公報
【非特許文献１】A. Ozaki, M. Furuichi, K. Takahashi, and H. Matsukawa, "Design and Implementation of Parallel and Distributed Wargame Simulation System and Its Evaluation" IEICE Trans. IEICE/IEEE Joint Special Issue Vol.E84-D No.10, pp.1376-1384, October 2001.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したような従来のタイムステップ法に基づく並列分散シミュレーションでは、物体の移動速度に応じてΔｔを変えるなどの工夫が施されているが、状況により結果的に不要な模擬も含まれることになり、物体の数が非常に多くなる場合や、より詳細に模擬する必要がある場合は大きなオーバーヘッドとなるという問題点があった。
【０００６】
この発明は、上述のような課題を解決するためになされたもので、その目的は、モンテカルロシミュレーションを実行する際に、初回に実行した結果を利用して、２回目以降は結果的に不要となる模擬を削除し、総実行時間を短縮することができるシミュレーション実行方法を得るものである。
【課題を解決するための手段】
【０００７】
この発明に係るシミュレーション実行方法は、タイムステップ法に基づくモンテカルロシミュレーションにおいて、初回に、第１の時刻刻み幅を設定して、移動物体に関するシナリオのシミュレーションを実行する第１のステップと、２回目以降に、初回のシミュレーションで発生時刻が既知となったイベント間における前記第１の時刻刻み幅に基づくシミュレーションを省いて、前記移動物体に関するシナリオのシミュレーションを実行する第２のステップとを設け、前記第２のステップは、初回のシミュレーションで発生時刻が既知となったイベント間であって、前記移動物体が他の物体から影響を受けない、または前記移動物体が他の物体に影響を与えない場合で、かつ前記移動物体の諸元値が不変、または定常的に変化している期間における前記第１の時刻刻み幅に基づくシミュレーションを省くものである。
【発明の効果】
【０００８】
この発明に係るシミュレーション実行方法は、モンテカルロシミュレーションを実行する際に、初回に実行した結果を利用して、２回目以降は結果的に不要となる模擬を削除し、総実行時間を短縮することができるという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
この発明の実施の形態１に係るシミュレーション実行方法について図１から図３までを参照しながら説明する。
【００１０】
この発明の実施の形態１に係るシミュレーション実行方法は、航空機、車両、人などの移動物体（ＭＯ：Moving Object）が多数登場するタイムステップ法に基づく計算機シミュレーションにおいて、モンテカルロシミュレーションを実行する際に、初回に実行した結果を利用して、２回目以降は結果的に不要となる模擬を削除し、総実行時間を短縮させるものである。この発明により、並列分散シミュレーション技術が必要となる場合でも、より少ない計算機台数で同様のことが実現できることとなる。なお、ここでの「模擬」とは、移動物体において微小な時刻刻み幅Δｔのタイミングで状態を更新する処理のことを指すものとする。従って、上記の模擬を削除することは、即ち、時刻刻み幅Δｔを大きくすることと等価である。
【００１１】
なお、上記削除可能な模擬は、該模擬を実行する時刻までに該模擬に影響を及ぼすイベント群の中に、確率的要素を含まない場合に限る。これはモンテカルロ法により確率値が変わることによって、結果的に削除できない模擬となる場合があるためである。
【００１２】
つぎに、この実施の形態１に係るシミュレーション実行方法の動作について図面を参照しながら説明する。図１は、この発明の実施の形態１に係るシミュレーション実行方法の評価対象のシナリオ例を示す図である。また、図２は、図１のシナリオ例に対して、タイムステップ法を用いたシミュレーション実行方法を示すタイミングチャートである。さらに、図３は、図１のシナリオ例に対して、この発明の実施の形態１に係るシミュレーション実行方法を示すタイミングチャートである。なお、各図中、同一符号は同一又は相当部分を示す。
【００１３】
図１では、戦車１（移動物体）がスタート地点から出発してＡ地点、障害物１１、Ｂ地点、Ｃ地点、障害物１２、そしてＤ地点を経由して走行する場合のシナリオ例を示したものである。この場合、スタート地点からＡ地点までは障害物等が無いため、戦車１の速度、加速度等の諸元情報からＡ地点までの到達時間は算出可能（予測可能）となる。しかし、Ａ地点からＢ地点までは障害物１１があり、この障害物１１の状況に応じて戦車１は加減速しながら走行するため、Ｂ地点の到達時間は算出困難（予測困難）である。従って、Ｂ地点での到達時間が分からないので、その後のＣ地点、Ｄ地点の到達時間も不明となる。
【００１４】
このような場合、図２に示すように、細かい時刻刻み幅Δｔ１（１つの矢印）を設定して、この時刻刻み幅Δｔ１に基づいて模擬を行い、時刻を進行させるタイムステップ法を用いるのが一般的である。このタイムステップ法では、模擬結果が時刻刻み幅Δｔ１の精度で丸められてしまうが、次にイベントが発生する時刻（例えば、Ｂ地点への到達時刻）の算出が不要となる。また、Ｂ地点からＣ地点までは、スタート地点からＡ地点までと同様に算出可能なものであるため、その間（Ｂ地点からＣ地点まで）の細かい時刻刻み幅Δｔ１に基づく模擬は削除できることになる。
【００１５】
従って、図１のシナリオ例に基づいてモンテカルロシミュレーションを実行する場合には、１回目の実行では、図２に示すように、細かい時刻刻み幅Δｔ１に基づいて、戦車１がスタート地点から出発してＡ地点、Ｂ地点、Ｃ地点、そしてＤ地点を経由して走行するシミュレーションを実行する必要がある。しかしながら、２回目以降は、図３（ａ）または（ｂ）に示すように、Ａ地点だけでなく、Ｂ地点、Ｃ地点、Ｄ地点での到達時間が既知となるので、地点間の細かい時刻刻み幅Δｔ１を削除してシミュレーションを実行することができる。
【００１６】
なお、各地点での到達時間が既知となっても、Ａ地点からＢ地点までや、Ｃ地点からＤ地点までに到るまでの、例えば、燃料消費状態をより正確に模擬したいのであれば、図３（ａ）に示すように、上記の地点間では細かい時刻刻み幅Δｔ１でシミュレーションを実行し、上記以外の地点間では細かい時刻刻み幅Δｔ１を削除して模擬することも考えられる。また、例えば、燃料消費状態を模擬する必要がないのであれば、図３（ｂ）に示すように、全ての地点間の細かい時刻刻み幅Δｔ１を削除して模擬することも考えられる。
【００１７】
すなわち、この実施の形態１に係るシミュレーション実行方法は、実世界の複数の移動物体を主対象とした計算機シミュレーションで該シミュレーション中に発生するイベントの発生時刻の算出が困難であるために、細かい時刻刻み幅Δｔ１を設定してタイムステップで実行するタイプのシミュレーションにおいてモンテカルロ法に基づき多数回試行する場合に、初回に該シミュレーションを実行することによって既知となった該イベントの発生時刻で、該時刻が該シミュレーションを再試行したとしてもその時刻までに確率的要素がなく不変のものであれば、２回目以降に同様のシミュレーションを実行する際は、該既知となったイベントの発生時刻情報を利用して結果的に不要となる該イベント間の細かい時刻刻み幅Δｔ１に基づく模擬を省くものである。
【００１８】
さらに、物体（移動物体及び移動しない物体）が他の物体から影響を受けない、または物体が他の物体に影響を与えない場合で、かつ物体の各種の諸元値が不変または定常的に変化している期間、例えば、図３（ａ）のスタート地点からＡ地点までや、Ｂ地点からＣ地点までは、上記細かい時刻刻み幅Δｔ１に基づく模擬を省くものである。
【００１９】
実施の形態２．
この発明の実施の形態２に係るシミュレーション実行方法について図４から図６までを参照しながら説明する。
【００２０】
図４は、この発明の実施の形態２に係るシミュレーション実行方法の評価対象のシナリオ例を示す図である。また、図５は、図４のシナリオ例に対して、この発明の実施の形態２に係るシミュレーション実行方法の一例を示すタイミングチャートである。さらに、図６は、図４のシナリオ例に対して、この発明の実施の形態２に係るシミュレーション実行方法の他の例を示すタイミングチャートである。
【００２１】
図４では、戦車１がスタート地点から出発してＡ地点、障害物１１、Ｂ地点、Ｃ地点、障害物１２、そしてＤ地点を経由して走行するとともに、戦車２がスタート地点から出発してＥ地点、障害物１３、そしてＦ地点を経由して走行し、その後、２台の戦車１、２が交戦する場合のシナリオ例を示したものである。
【００２２】
例えば、図４に示すように、２台の戦車１、２が交戦するシナリオを評価対象とする時、交戦時は逆に、上記の時刻刻み幅Δｔ１より更に細かい時刻刻み幅Δｔ２に基づき模擬する必要がある場合もある。このような場合、１回目のシミュレーションで、戦車１と戦車２の会合時刻（交戦を開始する時刻）が既知となれば、２回目以降のシミュレーションでは交戦開始時刻から、更に細かい時刻刻み幅Δｔ２に基づく模擬を行うことが考えられる。
【００２３】
また、確率的要素に基づいて交戦の開始時刻が決まる場合で、交戦開始地点がほぼ特定できるときには、その地点に到達するまでの（最も）近い到達時刻が既知となった地点から、すなわち、戦車１の場合はＤ地点、戦車２の場合はＦ地点から、図５に示すように、更に細かい時刻刻み幅Δｔ２に基づいて模擬を行うことも考えられる。
【００２４】
なお、図６は、交戦開始時刻が不変である場合（特定できる場合）のタイムチャート例であり、初回のシミュレーションで既知となった交戦開始時刻から、更に細かい時刻刻み幅Δｔ２に基づいて模擬を行う場合を示したものである。
【００２５】
すなわち、この実施の形態２に係るシミュレーション実行方法は、２回目以降において、初回に実行した結果を利用して結果的に不要となる模擬を間引くだけでなく、逆に更に細かい時刻刻み幅Δｔ２に基づく模擬が必要と分かった期間に関しては、更に細かい時刻刻み幅Δｔ２に基づき模擬を行うものである。
【００２６】
言い換えれば、他の物体から影響を受ける、または他の物体に影響を与える期間に関しては、上記の更に細かい時刻刻み幅Δｔ２に基づき模擬を行う。
【００２７】
実施の形態３．
この発明の実施の形態３に係るシミュレーション実行方法について図７及び図８を参照しながら説明する。
【００２８】
図７は、この発明の実施の形態３に係るシミュレーション実行方法の評価対象のシナリオ例を示す図である。また、図８は、図７のシナリオ例に対して、この発明の実施の形態３に係るシミュレーション実行方法を示すタイミングチャートである。
【００２９】
図７は、図４に示したシナリオ例から、戦車２の初期状態及びシナリオだけを変更したシナリオ例を示す。この変更により、戦車１のシナリオに影響を与える時期が分かっている時は、該影響を戦車１が受けるまでの期間は、図４のシナリオで用いた時刻刻み幅Δｔ１に基づいて実行することが考えられる。
【００３０】
また、戦車２は、初回の実行では細かい時刻刻み幅Δｔ１に基づいたシミュレーションを行う必要があるが、戦車１も戦車２も、２回目以降は初回のシミュレーション結果に基づいて、結果的に不要となる時刻刻み幅Δｔ１に基づく模擬を削除することが可能となる。
【００３１】
なお、図８は、図７のシナリオ例において、２回目以降にシミュレーションを実行する場合のタイミングチャート例を示したものである。交戦開始時刻が確率的要素を含むために不確定であることから、その交戦開始地点に最も近い地点、すなわち、戦車１の場合はＤ地点、戦車２の場合はＨ地点の時刻から更に細かい時刻刻み幅Δｔ２に基づく模擬を行う場合を示したものである。
【００３２】
すなわち、この実施の形態３に係るシミュレーション実行方法は、シミュレーションに登場する移動物体の諸元値及びシナリオ等を変更した場合に、その他の変更しない物体において、該変更に影響しない時点までであれば、既に（初回に）模擬した結果から得られる情報（各種のイベントの発生時刻）を利用して上記実施の形態１と同様に模擬を間引くものである。
【００３３】
実施の形態４．
この発明の実施の形態４に係るシミュレーション実行方法について図９を参照しながら説明する。
【００３４】
図９は、この発明の実施の形態４に係るシミュレーション実行方法の評価対象のシナリオ例を示す図である。
【００３５】
図９では、３台の戦車３、４、５がスタート地点から出発して障害物１４、障害物１５、障害物１６を経由して走行するとともに、３台の戦車６、７、８がスタート地点から出発して障害物１８、障害物１７を経由して走行し、その後、６台の戦車３〜８が交戦する場合のシナリオ例を示したものである。
【００３６】
この図９は、移動物体が増えた場合のシナリオ例である。このように模擬対象となる移動物体が増えれば増えるほど、本アイデアに基づくモンテカルロシミュレーションの総実行時間の短縮効果は大きくなる。
【図面の簡単な説明】
【００３７】
【図１】この発明の実施の形態１に係るシミュレーション実行方法の評価対象のシナリオ例を示す図である。
【図２】図１のシナリオ例に対して、タイムステップ法を用いたシミュレーション実行方法を示すタイミングチャートである。
【図３】図１のシナリオ例に対して、この発明の実施の形態１に係るシミュレーション実行方法を示すタイミングチャートである。
【図４】この発明の実施の形態２に係るシミュレーション実行方法の評価対象のシナリオ例を示す図である。
【図５】図４のシナリオ例に対して、この発明の実施の形態２に係るシミュレーション実行方法の一例を示すタイミングチャートである。
【図６】図４のシナリオ例に対して、この発明の実施の形態２に係るシミュレーション実行方法の他の例を示すタイミングチャートである。
【図７】この発明の実施の形態３に係るシミュレーション実行方法の評価対象のシナリオ例を示す図である。
【図８】図７のシナリオ例に対して、この発明の実施の形態３に係るシミュレーション実行方法を示すタイミングチャートである。
【図９】この発明の実施の形態４に係るシミュレーション実行方法の評価対象のシナリオ例を示す図である。
【符号の説明】
【００３８】
１、２、３、４、５、６、７、８  戦車、１１、１２、１３、１４、１５、１６、１７、１８  障害物。
【図１】
0004708136.tif 000002
【図２】
0004708136.tif 000003
【図３】
0004708136.tif 000004
【図４】
0004708136.tif 000005
【図５】
0004708136.tif 000006
【図６】
0004708136.tif 000007
【図７】
0004708136.tif 000008
【図８】
0004708136.tif 000009
【図９】
0004708136.tif 000010