(57)【特許請求の範囲】
【請求項１】
模擬処理を行うためのシミュレータ手段と、
上記シミュレータ手段を制御するための制御手段と、
上記制御手段に上記模擬処理の実行時間を任意に指定するための実行時間指定手段と、
上記実行時間指定手段により指定された上記実行時間に基づいて上記シミュレータ手段の動作を制御するためのシミュレーション動作制御手段と
を備え、
上記シミュレーション動作制御手段は、
上記実行時間以前に上記シミュレータ手段の上記模擬処理が完了した場合に、上記実行時間終了まで上記シミュレータ手段をアイドル状態にして待機させておくための時刻制御部と、
上記実行時間内に上記シミュレータ手段の上記模擬処理が完了しないことが予測される場合に、上記実行時間に応じて上記模擬処理の計算量を縮退させる制御を上記シミュレータ手段に対して行うための縮退処理制御部と
を備えていることを特徴とするシミュレーション装置。
【請求項２】
上記模擬処理が、模擬対象について所定の時間幅をおいて繰り返し模擬を行うものであって、
上記縮退処理制御部は、上記実行時間内に上記模擬処理が完了しないことが予測される場合には、上記所定の時間幅を一定の割合で大きくした第２の時間幅で模擬を行うように上記シミュレータ手段を制御することにより、上記計算量の縮退を行うことを特徴とする請求項１記載のシミュレーション装置。
【請求項３】
上記模擬対象が複数個であって、
上記縮退処理制御部は、
任意の模擬対象については上記所定の時間幅で模擬を行い、
他の模擬対象については上記第２の時間幅で模擬を行う
ように上記シミュレータ手段を制御することを特徴とする請求項２記載のシミュレーション装置。
【請求項４】
上記時間幅に関する過去の履歴データを保持するための時間幅履歴データ記憶手段をさらに備え、
上記縮退処理制御部が上記履歴データの中から最適な時間幅を選出して、上記計算量の縮退を行うことを特徴とする請求項２または３記載のシミュレーション装置。
【請求項５】
複数個の模擬対象を優先度を付けて管理記憶するための優先度管理手段をさらに備え、
上記縮退処理制御部が、上記優先度管理手段の内容を参照して、所定の閾値より優先度が低い模擬対象について計算量の縮退を行うように制御することを特徴とする１ないし４のいずれかに記載のシミュレーション装置。
【請求項６】
上記計算量の縮退を行うにあたり削減したい計算量に応じて上記所定の閾値の値を、上記縮退処理制御部が調節することを特徴とする請求項５記載のシミュレーション装置。
【請求項７】
上記閾値を複数個設けて、それらにより上記模擬対象を優先度別に複数の群に分けて、上記計算量の縮退の度合いを群ごとに変えて行うことを特徴とする請求項５または６記載のシミュレーション装置。
【請求項８】
上記閾値および上記優先度に関する過去の履歴データを保持するための優先度履歴データ記憶手段をさらに備え、
上記縮退処理制御部が上記履歴データの中から最適な閾値および優先度を選出して、上記計算量の縮退を行うことを特徴とする請求項５ないし７のいずれかに記載のシミュレーション装置。
【請求項９】
上記模擬対象が複数個であって、それらがグループ単位で行動するものである場合、そのグループの代表として指定された任意の模擬対象についてのみ模擬を行うように制御することにより上記計算量の縮退を行うことを特徴とする請求項１ないし８のいずれかに記載のシミュレーション装置。
【請求項１０】
上記シミュレータ手段を複数個備え、各シミュレータ手段により模擬対象を分担して模擬処理を行うとともに、各シミュレータ手段が互いに通信処理を行うものであって、
上記通信処理を行う頻度を調節するための通信頻度制御部を上記シミュレーション動作制御手段が備えたことを特徴とする請求項１ないし９のいずれかに記載のシミュレーション装置。
【請求項１１】
上記模擬対象が存在するシミュレーション空間を複数の部分空間に分割して、それらの部分空間の模擬処理を複数の上記シミュレータ手段により分担して行うことを特徴とする請求項１０記載のシミュレーション装置。
【請求項１２】
上記シミュレータ手段間で分担する計算負荷が均一になるように、上記部分空間の境界の位置を調整するための境界調整部を
上記シミュレーション動作制御手段が備えたことを特徴とする請求項１１記載のシミュレーション装置。
【請求項１３】
上記境界調整部に接続され、上記境界に関する過去の履歴データを保持するための境界履歴データ記憶手段を、さらに備えたことを特徴とする請求項１２記載のシミュレーション装置。
【請求項１４】
シミュレーション空間全体に存在する複数の上記模擬対象を同一個数ずつ各シミュレータ手段に均等に配分して、模擬処理を行うことを特徴とする請求項１０記載のシミュレーション装置。
【請求項１５】
上記通信頻度制御部に接続され、上記通信頻度に関する過去の履歴データを保持するための通信頻度履歴データ記憶手段をさらに備えたことを特徴とする請求項１０記載のシミュレーション装置。
【請求項１６】
上記シミュレータ手段を複数個備え、上記シミュレーション動作制御手段が上記シミュレータ手段ごとに設けられ、
各々の上記シミュレーション動作制御手段により、各々の上記シミュレータ手段を独立に制御することを特徴とする請求項１ないし１５のいずれかに記載のシミュレーション装置。
【請求項１７】
過去の履歴データを保持するための履歴データ記憶手段が各々の上記シミュレーション動作制御手段ごとに設けられたことを特徴とする請求項１６記載のシミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、シミュレーション装置に関し、特に、ウォーゲームシミュレーション等の大規模なシミュレーションを行うためのシミュレーション装置に関するものである。
【０００２】
【従来の技術】
ウォーゲームシミュレーション等の大規模なシミュレーションを行なう場合には、大きな計算パワーを備える計算機が必要となる。近年マイクロプロセッサやネットワークのコストパフォーマンスの向上により、多くのワークステーション（以下、ＷＳとする）やパーソナルコンピュータ（以下、ＰＣとする）をネットワーク接続し、複数の計算機によって並列・分散処理を行う分散計算機システムを利用して大きな計算パワーを実現するための研究が盛んに行われている。
【０００３】
図１５は、例えば特開平７−２１０５２１号公報に示された従来のシミュレーション装置の構成を示したものである。図に示すように、従来のシミュレーション装置は、周期処理の制御を行う１台の指揮制御計算機２０１と複数の制御計算機２０２を備えており、指揮制御計算機２０１及び制御計算機２０２には、それぞれ、艦船・航空機で使用する機器を模擬した模擬機器２０３が１台ずつ接続されている。また、指揮制御計算機２０１及び制御計算機２０２は互いに、バス型ネットワーク２０５により接続されている。２０８は、指揮制御計算機２０１及び制御計算機２０２内に設けられた共有データを格納するためのメモリである。
【０００４】
各制御計算機２０２はメモリ２０８に格納されている共有データを使用し、それぞれ個別の模擬処理を行う。模擬処理の結果、更新されたデータをバス型ネットワーク２０５を介して全制御計算機２０２に送信する。他の制御計算機２０２からデータを受信すると、それを共有データの一部としてメモリ２０８に格納して、その後の個別の模擬処理に使用する。そしてこれを１つの計算周期として繰り返すことにより、全制御計算機２０２は各制御計算機２０２で更新されたデータを即座に共有し模擬処理に使用するため、リアルタイムのシミュレーションを行うことができる。
【０００５】
【発明が解決しようとする課題】
例えば、数日間の艦船の航海や数日先の天候予測などを模擬処理する場合に、同様に数日間を費やしてしまうのでは意味がなく、１時間等の要求された時間内で処理する必要がある。このようにシミュレーションを利用するサイトでは、指定した時間内に模擬処理を完了させることが必要となる。しかしながら、上述した従来のシミュレーション装置においては、計算パワーが不足して指定した時間内に模擬処理を行うことが出来ない場合には、制御計算機２０２の数を増やすことにより対応する以外に方法がないという問題点があった。
【０００６】
この発明は、かかる問題点を解決するためになされたものであり、新たなリソースを増やすことなく、指定した時間内に模擬処理を完了させることができるシミュレーション装置を得ることを目的とする。
【０００７】
【課題を解決するための手段】
この発明は、模擬処理を行うためのシミュレータ手段と、シミュレータ手段を制御するための制御手段と、制御手段に模擬処理の実行時間を任意に指定するための実行時間指定手段と、実行時間指定手段により指定された実行時間に基づいてシミュレータ手段の動作を制御するためのシミュレーション動作制御手段とを備え、上記シミュレーション動作制御手段は、上記実行時間以前に上記シミュレータ手段の上記模擬処理が完了した場合に、上記実行時間終了まで上記シミュレータ手段をアイドル状態にして待機させておくための時刻制御部と、上記実行時間内に上記シミュレータ手段の上記模擬処理が完了しないことが予測される場合に、上記実行時間に応じて上記模擬処理の計算量を縮退させる制御を上記シミュレータ手段に対して行うための縮退処理制御部とを備えているシミュレーション装置である。
【００１０】
さらに、模擬処理が、模擬対象について所定の時間幅をおいて繰り返し模擬を行うものであって、上記縮退処理制御部は、上記実行時間内に上記模擬処理が完了しないことが予測される場合には、上記所定の時間幅を一定の割合で大きくした第２の時間幅で模擬を行うように上記シミュレータ手段を制御することにより、計算量の縮退を行う。
【００１１】
また、模擬対象が複数個であって、上記縮退処理制御部は、任意の模擬対象については所定の時間幅で模擬を行い、他の模擬対象については第２の時間幅で模擬を行うように上記シミュレータ手段を制御する。
【００１２】
また、縮退処理制御部に接続され、時間幅に関する過去の履歴データを保持するための時間幅履歴データ記憶手段をさらに備え、縮退処理制御部が履歴データの中から最適な時間幅を選出して計算量の縮退を行う。
【００１３】
また、縮退処理制御部に接続され、複数個の模擬対象を優先度を付けて管理記憶するための優先度管理手段をさらに備え、縮退処理制御部が、優先度管理手段の内容を参照して、所定の閾値より優先度が低い模擬対象について、計算量の縮退を行うように制御する。
【００１４】
また、計算量の縮退を行うにあたり削減したい計算量に応じて所定の閾値の値を、縮退処理制御部が調節する。
【００１５】
また、閾値を複数個設けて、それらにより模擬対象を優先度別に複数の群に分けて、計算量の縮退の度合いを群ごとに変えて行う。
【００１６】
また、縮退処理制御部に接続され、閾値および優先度に関する過去の履歴データを保持するための優先度履歴データ記憶手段をさらに備え、縮退処理制御部が履歴データの中から最適な閾値および優先度を選出して、計算量の縮退を行う。
【００１７】
また、模擬対象が複数個であって、それらがグループ単位で行動するものである場合、そのグループの代表として指定された任意の模擬対象についてのみ模擬を行うように制御することにより計算量の縮退を行う。
【００１８】
また、シミュレータ手段を複数個備え、各シミュレータ手段により模擬対象を分担して模擬処理を行うとともに、各シミュレータ手段が互いに通信処理を行うものであって、通信処理を行う頻度を調節するための通信頻度制御部をシミュレーション動作制御手段が備えている。
【００１９】
また、模擬対象が存在するシミュレーション空間を複数の部分空間に分割してそれらの部分空間の模擬処理を複数のシミュレータ手段により分担して行う。
【００２０】
また、シミュレータ手段間で分担する計算負荷が均一になるように、部分空間の境界の位置を調整するための境界調整部をシミュレーション動作制御手段が備えている。
【００２１】
また、境界調整部に接続され、境界に関する過去の履歴データを保持するための境界履歴データ記憶手段を、さらに備えている。
【００２２】
また、シミュレーション空間全体に存在する複数の模擬対象を同一個数ずつ各シミュレータ手段に均等に配分して模擬処理を行う。
【００２３】
また、通信頻度制御部に接続され、通信頻度に関する過去の履歴データを保持するための通信頻度履歴データ記憶手段をさらに備えている。
【００２４】
また、シミュレータ手段を複数個備え、シミュレーション動作制御手段がシミュレータ手段ごとに設けられ、各々の上記シミュレーション動作制御手段により各々の上記シミュレータ手段を独立に制御する。
【００２６】
また、過去の履歴データを保持するための履歴データ記憶手段が各々のシミュレーション動作制御手段ごとに設けられている。
【００２７】
【発明の実施の形態】
実施の形態１．
図１は、本発明のシミュレーション装置の構成を示したブロック図である。１はシミュレーションの対象となるシミュレーション空間であり、２１、２２及び２３はこのシミュレーション空間１を分割した部分空間である。３２、３３及び３４は、これらの部分空間２１、２２及び２３を模擬処理するためのＷＳ等の計算機からなるシミュレータである。シミュレータ３２、３３及び３４では各々が担当する部分空間２１、２２及び２３に存在している艦船１２や航空機１１等のプラットフォーム（以下、ＰＦとする）の模擬処理を行なう。５はシミュレータ３２、３３及び３４により模擬された結果を人７に対して表示するための表示系端末であり、複数個設けられている。６は管理者用端末であり、シミュレータ３２、３３及び３４により模擬された結果を管理者８に対して表示するとともに、模擬処理に関する要求（例えば、シミュレーションにおける環境条件や模擬処理の実行時間等）が管理者８により任意に指定されるものである。３１は、管理者８が管理者用端末６を介して入力してくる要求に基づいて、シミュレータ３２、３３及び３４を制御するための制御部である。４は制御部３１内に設けられ、管理者８により指定された実行時間内に模擬処理が完了するように、シミュレータ３２、３３及び３４の動作を制御することにより、後述するゲーム率を制御するためのゲーム率制御部（シミュレーション動作制御手段）である。１０はネットワークであり、シミュレータ３２、３３及び３４、表示系端末５、管理者用端末６、及び、制御部３１を接続しているものである。４１及び４２は、部分空間２１、２２及び２３を区切っている境界である。
【００２８】
ここで、ゲーム率とは、「模擬の対象となる時間」とその対象となる時間分の模擬をシミュレータ（計算機）によって実行するのに要する「実行時間」との比率である。例えば、１０分間分のシミュレーションをある計算機によって実行するのに１分間要したとなると、この場合のゲーム率は１０となる。計算機による実行時間が必ず１分間以内に完了するのであれば、ゲーム率制御部４により時刻を制御することにより、ゲーム率１０を常に実現することができる。また、当然ゲーム率１０以下に関しても同様に実現することができる。従って、ゲーム率は以下に示す式により表すことができる。ここでαはゲーム率制御部４による時間調整分を示す。
【００２９】
【数１】
0004176902.tif 000002
【００３０】
図２はゲーム率＝１になるようにゲーム率制御部４により制御する場合の例である。例えば、１０：００〜１０：０５の模擬計算を３分間で完了したとすると、１０：０５〜１０：１０の模擬計算をその後すぐに実行するのではなく、ゲーム率制御部４の制御により２分間待たされてから実行することとなる。この２分間はアイドル状態になる。このように、基本的に単位当たりのシミュレーション時間（図２の例では５分間）において、ゲーム率が一定となるように制御する。尚、このゲーム率制御部４は、ペーサー等の時刻制御機能を有するものから構成するようにすればよい。
【００３１】
本発明のシミュレーション装置は以上のように構成され、シミュレータ３２、３３及び３４が、それぞれ、担当する部分空間２１、２２及び２３に存在している艦船１２や航空機１１等のＰＦの模擬処理を行ない、模擬された結果Ｓ１は、ネットワーク１０を介して、シミュレータ３２、３３及び３４から、表示系端末５、管理者用端末６、及び、制御部３１まで送信される。管理者８は、模擬結果Ｓ１を参照して条件変更の必要があれば、ゲーム率や、天候、艦船及び航空機が保持する燃料、および、対象とする地域等のシミュレーションにおける環境条件を示す信号Ｓ２を管理者用端末６を介して制御部３１に送信する。管理者８から様々な要求を受けとった制御部３１はその要求を実現するためのコマンドＳ３を各シミュレータ３２、３３及び３４へ出力する。また、模擬結果Ｓ１は、制御部３１内に設けられたゲーム率制御部４にも送信され、ゲーム率制御部４はその結果から模擬処理に要した計算時間を検知し、次の模擬処理を開始するまでにアイドル状態にして待たせるべき時間を計算して、待ち時間を示す制御信号を各シミュレータ３２、３３および３４に送信する。各シミュレータ３２、３３及び３４は、その制御信号に基づいて次の模擬処理を行うようにするため、ゲーム率は常に一定となる。
【００３２】
上述したように、この実施の形態においては、ゲーム率制御部４を制御部３１内に設けて、それにより、模擬処理に要した計算時間を検知し、模擬処理が指定時間よりも早く終わった場合には、次の模擬処理をすぐに始めずにその指定時間が終了するまでシミュレータ３２、３３及び３４を待たせるようにしたので、単位あたりのシミュレーション時間において、ゲーム率が常に一定になるようにすることができる。
【００３３】
実施の形態２．
図３及び図４は、実施の形態２におけるゲーム率制御部４Ａの構成を示したブロック図である。他の構成については、上述の実施の形態１と同様であるため、ここではその説明を省略する。これらの図において、１２は、シミュレーション時刻毎に模擬するべきＰＦの管理表を管理・記憶しているイベントキューで、１４はそのイベントキュー１２を参照して各時刻に模擬するべきＰＦを検索し、それを示す信号を各シミュレータ３２、３３及び３４に送信するためのスケジューラである。１５は、過去の履歴データを保持するためのメモリから構成された履歴データ記憶部である。
【００３４】
ゲーム率がある値以上になると、上述の実施の形態１におけるゲーム率制御部４Ａの調整だけでは実現できない状況が生じる。例えば、図２の例において、ゲーム率を５にするためには、３分間かかっていた処理を１分間以内に完了させなければならない。この場合、図３に示すように、例えば、１分間（１タイムステップ）に１回の割合で模擬していたＰＦの模擬を、図４に示すように、２分間（２タイムステップ）に１回の割合に変更するなどして、５分間分の模擬を行なうのに要する計算量を減らす必要がある（本処理を縮退処理という）。縮退処理では、計算量と同時にシミュレーションの精度も落すこととなる。この実施の形態においては、図４のスケジューラ１４は、シミュレーション時刻毎に模擬するべきＰＦを管理しているイベントキュー１２を参照することによって各時刻に模擬するべきＰＦを検索し、これらのＰＦの模擬処理を行なうように、各シミュレータ３２、３３及び３４に信号を送信する。
【００３５】
なお、イベントキュー１２内には、シミュレーション時刻毎に模擬するべきＰＦを管理している管理表を数種類あらかじめ用意しておき管理者８によって与えられる指定時間に応じて、図３に示すパターンや図４に示すパターンに切り替えるようにしてもよい。さらに、ゲーム率制御部４Ａ内に履歴データ記憶部１５を設けて、過去の履歴データを保持させておき、指定時間が与えられた時に、履歴データの中で最適なシミュレーションの時間幅（タイムステップ数）を選出して、模擬処理を行うようにしてもよい。
【００３６】
この実施の形態においては、上述したように、ゲーム率制御部４Ａ内に、シミュレーション時刻毎に模擬するべきＰＦを管理しているイベントキュー１２と、イベントキュー１２を参照して各時刻に模擬するべきＰＦを検索するスケジューラ１４とを備え、模擬する時間幅（タイムステップ数）を一定の割合で大きくすることにより、計算量の縮退を行い、計算機等の新たなリソースを増やすことなく、要求する時間内に模擬処理を完了させることができる。
【００３７】
実施の形態３．
図５は、実施の形態３におけるゲーム率制御部４Ｂの構成を示したブロック図である。実施の形態２とほぼ同様の構成を有しているが、実施の形態２では、全てのＰＦの模擬する時間幅（タイムステップ数）を一定の割合で延ばす（ステップ数を増やす）ことにより実現するものであるが、中には精度を落したくないＰＦが存在する場合もあるため、この実施の形態においては、図５に示すように、精度を落したくないＰＦ１に関しては模擬する時間幅（タイムステップ数）をそのままにし、その他のＰＦに関しては模擬する時間幅を延ばす（精度を落とす）ように、イベントキュー１２Ｂに記憶させておき、それにより計算量の縮退を行って、重要なＰＦに関しては精度を保ちながら、計算機等の新たなリソースを増やすこともなく、要求する時間内に模擬処理を完了させることができる。尚、この実施の形態においても、上記の実施の形態２と同様に、ゲーム率制御部４Ｂ内に履歴データ記憶部１５を設けて、過去の履歴データを保持させておき、指定時間が与えられた時に、履歴データの中で最適なシミュレーションの時間幅（タイムステップ数）を選出して、模擬処理を行うようにしてもよい。
【００３８】
実施の形態４．
この実施の形態においては、図６に示すように、ゲーム率制御部４Ｃ内に優先度管理部１６を設けて、精度を落したくないＰＦ群、および、精度を落しても良いＰＦ群に分けて、優先度順にＰＦを管理・記憶する。タイムステップ毎に指定時間内に処理が終わったか否かを管理し、処理が終わらず、計算量を調節する必要が生じた時には、優先度の低いＰＦから縮退処理を行なうようにする。なお、ウォーゲームシミュレーションを例に挙げれば、交戦および交戦に関連する処理に関しては、精度を落すことを最大限に避ける必要があるので、これらについては縮退処理を行わず、他のＰＦについて行うようにする。シミュレーション装置の他の構成については上述した実施の形態１と同様であるため、ここでは説明を省略する。
【００３９】
図６は、上述した優先度を管理するための優先度管理部１６の例であり、このように、優先度管理部１６内には、管理表が設けられて優先度順にＰＦが記憶・管理されており、縮退処理を行なう必要がある場合に、縮退処理の対象となるＰＦの選定に用いられる。図６の例においては、交戦に関係する順番にＰＦの優先度が決められ、最も優先度の高いＰＦ群は交戦状態にあるもので、次に優先度の高いＰＦ群は探知／被探知状態にあるもの、その他のＰＦは優先度が低いものとなっている。縮退処理が必要となる場合には、縮退処理の対象／非対象を区分けする閾値１６ａを調節することによって、縮退処理を実現する。閾値１６ａは固定されたものではなく、削減するべき計算量に応じてその都度ゲーム率制御部４Ｃにより調整されるものである。
【００４０】
優先度管理部１６内の管理表の更新のタイミングは、ある一定時間の周期毎に行なうようにしてもよく、また、任意のＰＦの状態が変化するタイミングで更新するようにしてもよい。また、優先度管理部１６内の管理表および閾値１６ａは全てのシミュレータ３２、３３及び３４に対して共通のものを１つだけ設けるようにしてもよく、また、各シミュレータ３２、３３または３４において、管理表は共通にして閾値１６ａについては各々異なる閾値を用いて縮退処理を行うようにしてもよい。さらに、対象とする問題によっては、シミュレータ３２、３３および３４毎にそれぞれ異なる管理表を設けるようにしてもよい。
【００４１】
また、ゲーム率制御部４Ｃ内に履歴データ記憶部（図３の１５参照）を設けて過去に適用してきた管理表および閾値を履歴データとして保持させておき、縮退処理が必要となった場合には、履歴データの中で最適な管理表および閾値を採用し、縮退処理を行うようにしてもよい。
【００４２】
この実施の形態においては、上述したように、ゲーム率制御部４Ｃ内に優先度管理部１６を設けて、優先度順にＰＦを管理しておき、計算量を削減する必要が生じた場合には、優先度の低いものから縮退処理を行って、指定時間内に模擬処理を行うようにしたので、新たなリソースを増やすことなく、要求する時間内に模擬処理を完了させることができる。さらに、優先度の高いＰＦについては精度を落とさずにすむため、良好な模擬処理を行うことができる。
【００４３】
実施の形態５．
図７は、図６の管理表に複数の閾値を導入した場合の例である。図７に示すように、縮退処理を実現するための間引き度合（ＰＦを模擬するタイムステップ数）に関していくつかの群にＰＦを分けることができる。図７の例においては、閾値Ａ１６ｂ及び閾値Ｂ１６ｃの２つの閾値を設け、閾値Ａより優先度が高いＰＦ（交戦状態にあるもの）については１分間（１タイムステップ）に１回の割合で模擬し、閾値Ａと閾値Ｂとの間のＰＦ（探知／被探知状態にあるもの）については２分間（２タイムステップ）に１回の割合で、閾値Ｂ以下のＰＦ（その他）については１０分間（１０タイムステップ）に１回の割合で模擬を行う。なお、この複数の閾値は固定された値ではなく、削減したい計算量に応じて動的に調節するものとし、これらを調節することによって、指定されたゲーム率を実現するように縮退処理を行なう。また、閾値を２つ設ける例について説明したが、これに限らず、閾値はシミュレーションの状況に合わせて任意の数だけ設けるようにすればよい。この実施の形態においても、上述の実施の形態４と同様の効果が得られるとともに、さらに、閾値を複数個設けるようにしたので、ＰＦの優先度によって模擬処理の精度を細かく変えられ、無駄のない良好なシミュレーションを行うことができる。
【００４４】
実施の形態６．
この実施の形態は、ＰＦを任意のグループ単位で管理することが可能である場合に、もしくは、グループ単位で行動する要素が存在する場合に、計算量を縮退させる必要があれば、そのグループの代表となるＰＦのみの模擬だけを行うようにしたものである。図８に示すように、ゲーム率制御部４Ｄ内にグループ管理部１７を設けて、グループに関する情報（すなわち、どのＰＦが代表であるか、及び、その代表を中心としてグループ全体がどのような行動パターンで行動するか等）を管理・記憶するようにした。他の構成については、上述の実施の形態１と同様であるため、説明を省略する。
【００４５】
例えば、ウォーゲームシミュレーションでは、各ＰＦは艦隊単位で行動するので、縮退処理が必要となる場合に、その艦隊の行動の指揮を取る旗艦だけを模擬するように実現することが考えられる。図９は、シミュレーション空間１（図１参照）の部分空間２１における旗艦１８と僚鑑（旗艦以外の艦船）１９とを示したものである。このように、旗艦１８を中心としてその周りに僚鑑１９が存在しており、僚鑑１９は旗艦１８の指揮により行動する。指定時間内に模擬処理を完了させることができる場合には、旗艦１８と僚鑑１９との全部について模擬を行い、計算量を削減しなければならない必要が生じた場合には、図８の矢印Ａの変換処理を行って、旗艦１８のみを模擬するようにして縮退処理を行う。なお、縮退処理を行う場合において、僚艦１９の行動は旗艦１８との相対関係により決められているという前提で行うものとする。ウォーゲームシミュレーションでは、交戦等を行なっていないような艦隊に関しては、旗艦１８だけを模擬し、その艦隊が交戦を行い始めた場合には、図８の矢印Ｂの変換処理を行って、艦隊全体を模擬するようにする。
【００４６】
この実施の形態においては、グループ毎にＰＦを管理し、縮退処理を行う場合には、そのグループの代表となるＰＦのみを模擬するようにしたので、新たなリソースを増やしたりすることなく、要求されたゲーム率で、指定時間内に良好な模擬処理を行うことができる。
【００４７】
実施の形態７．
上述の実施の形態１の図１に示すように複数のシミュレータ３２、３３および３４を用いて対象とするシミュレーション空間１を複数の部分空間２１、２２および２３に領域分割する方法では、部分空間２１、２２および２３間を跨ぐＰＦが存在する場合は、シミュレータ３２、３３および３４間で通信処理を行なう必要がある。この実施の形態においては、指定時間内に模擬処理を完了するべく計算量を削減する必要が生じた場合には、縮退処理を行わずに、上記の通信処理を、１分間（１タイムステップ）に１回行わずに、数分間（数タイムステップ）に１回の間隔で行なうようにする。図１０は、この実施の形態におけるゲーム率制御部４Ｅの構成を示したものである。図のように、この実施の形態においては、ゲーム率制御部４Ｅ内に通信頻度制御部２５を設け、この通信頻度制御部２５によって通信処理を行う頻度を調節し、シュミレータ３２、３３および３４に通信処理を行うための制御信号を発信する。シュミレータ３２、３３および３４は、この制御信号を受けて、それに基づいて、部分空間２１、２２および２３間を跨ぐＰＦに関する情報のやりとりを行う。
【００４８】
この実施の形態においては、指定時間内に模擬処理を完了させることができない場合には、上述したように、シミュレータ３２、３３および３４間の通信の頻度を落すことによって、システム全体の模擬処理の実行時間を高速化し、新たなリソースを増やすことなく、指定されたゲーム率を実現することができる。しかしながら、この通信頻度を落とすほど実行性能は向上するが、模擬精度は低くなる。そのため、この通信頻度は対象とする応用問題において要求される精度に大きく依存し、問題の種類により適度に調節するようにすることが望ましい。尚、この実施の形態においても、通信頻度に関する過去の履歴データを保持するための履歴データ記憶手段（図３の１５参照）を設けて、履歴データの中から最適な通信頻度を選出して模擬処理を行うようにしてもよい。
【００４９】
実施の形態８．
この実施の形態は、図１に示すような上述の複数のシミュレータ３２、３３および３４を用いて対象とするシミュレーション空間１を複数の部分空間に領域分割する方法において、各シミュレータ３２、３３および３４間で計算負荷が均一になるように、部分空間２１、２２および２３を分けている境界４１および４２の位置を調節して移動させるための境界制御部２７を、図１１に示すように、ゲーム率制御部４Ｆ内に設けるようにしたものである。これにより、各シミュレータ間の計算負荷が均一になり、全体の実行性能を向上させることができる。
【００５０】
各シミュレータ３２、３３および３４間で計算負荷を均一にする方法の一つとして、ＰＦの数が均一になるように、部分空間を区切る境界４１および４２を移動させる方法が考えられる。このように、シミュレータ間で計算負荷を均一にして、アイドル状態のシミュレータを無くすことにより効率的な実行が実現でき、これにより、指定されたゲーム率を実現することができる。なお、この実施の形態においても、境界４１及び４２に関する過去の履歴データを保持するための履歴データ記憶手段（図３の１５参照）を設けて、履歴データの中から最適な境界を選出して模擬処理を行うようにしてもよい。さらに、上記の実施の形態７で示したように、各シミュレータ３２、３３および３４間の通信処理の頻度を落すようにすれば、システム全体の模擬処理の実行時間をさらに高速化させることができる。
【００５１】
実施の形態９．
図１２はこの実施の形態におけるシミュレーション装置の構成を示したものである。上述の実施の形態７では、シミュレーション空間１の領域分割によるシミュレータ間の通信頻度に関して述べたが、図１２に示すようなオブジェクト並列による実現方式においても、同様にシミュレータ間の通信処理の頻度を減らすことによって実行性能を向上させることが考えられる。
【００５２】
図１２に示すようなオブジェクト並列による方式では、各シミュレータ３２、３３および３４にＰＦの数が均等に配分されていることとなる。具体的には、航空機１１はシミュレータ３２が担当し、艦船１２はシミュレータ３４が担当するというようにして、各シミュレータが同じ個数のＰＦをそれぞれ担当している。そのため、状態値を参照したい近傍のＰＦを異なるシミュレータが担当している場合には、そのシミュレータと通信する必要があるが、この通信処理の頻度を少なくさせることによって実行性能の向上をはかるというものである。この実施の形態においても、上述の実施の形態７で示した図１０のように、ゲーム率制御部４Ｇ内に第２の通信処理制御部（図示せず）を設けて、指定時間内に模擬処理が完了できない場合には、シミュレータ間の通信頻度を少なくして、システム全体の模擬処理の実行時間を高速化し、新たなリソースを増やすことなく、指定されたゲーム率を実現する。なお、ゲーム率制御部４Ｇ内に履歴データ記憶部（図３参照）を設けて、過去の履歴データを保持しておき、通信頻度を少なくした場合には、近傍のＰＦの状態値に関しては、過去の履歴データ等を使用してその時刻での状態を予測するようにしてもよい。
【００５３】
実施の形態１０．
図１３は、この実施の形態におけるシミュレーション装置の構成を示したものである。この実施の形態においては、図１３に示すように、各シミュレータ３２Ｈ、３３Ｈおよび３４Ｈ毎に、シミュレータを制御するためのシミュレータローカル制御部４５、４６および４７が設けられている。シミュレータローカル制御部４５、４６および４７内には、それぞれ、ゲーム率ローカル制御部５０、５１および５２が設けられており、これにより、各シミュレータにおける模擬処理のゲーム率が制御される。各シミュレータ３２Ｈ、３３Ｈおよび３４Ｈでは、管理者８からコマンド１０１により指定されたゲーム率で模擬処理を行なわれる。ゲーム率を指定された値にするための方法については、上述の実施の形態１〜９に示したいずれかの方法で行うようにすればよい。なお、各々のシミュレータ３２Ｈ、３３Ｈおよび３４Ｈにおいては、履歴データを使うようにしてもよい。
【００５４】
また、図１４に示すように、シミュレータローカル制御部４５、４６および４７間で通信処理１１１を行うことにより、協調しながら、該通信の頻度や、領域分割の場合では境界の調節を行い、適切な縮退処理を行なうようにしてもよい。
【００５５】
この実施の形態においては、上述の実施の形態１〜９と同様の効果を得ることができるとともに、さらに、シミュレータ毎に制御部を設けて制御するようにしたので共通の１つの制御部で複数のシミュレータを制御していた場合に比べ、さらなる高速化を図ることができる。
【００５６】
【発明の効果】
この発明によれば、模擬処理を行うためのシミュレータ手段と、シミュレータ手段を制御するための制御手段と、制御手段に模擬処理の実行時間を任意に指定するための実行時間指定手段と、実行時間指定手段により指定された実行時間に基づいてシミュレータ手段の動作を制御するためのシミュレーション動作制御手段とを備え、上記シミュレーション動作制御手段は、上記実行時間以前に上記シミュレータ手段の上記模擬処理が完了した場合に、上記実行時間終了まで上記シミュレータ手段をアイドル状態にして待機させておくための時刻制御部と、上記実行時間内に上記シミュレータ手段の上記模擬処理が完了しないことが予測される場合に、上記実行時間に応じて上記模擬処理の計算量を縮退させる制御を上記シミュレータ手段に対して行うための縮退処理制御部とを備えるようにしたので、シミュレータ手段は、新たなリソースを増やすことなく、指定された実行時間内に模擬処理を完了させることができるという効果を奏する。
【００５９】
また、模擬処理が、模擬対象について所定の時間幅をおいて繰り返し模擬を行うものであって、上記縮退処理制御部は、上記実行時間内に上記模擬処理が完了しないことが予測される場合には、上記所定の時間幅を一定の割合で大きくした第２の時間幅で模擬を行うように上記シミュレータ手段を制御することにより、計算量の縮退を行うようにしたので、新たなリソースを増やすことなく、模擬処理の計算量の縮退処理を行って指定された実行時間内に模擬処理を完了させることができる。
【００６０】
また、模擬対象が複数個であって、上記縮退処理制御部は、任意の模擬対象については所定の時間幅で模擬を行い、他の模擬対象については第２の時間幅で模擬を行うように上記シミュレータ手段を制御するようにしたので、重要な模擬対象についてはシミュレーションの精度を落とすことなく、指定された時間内に模擬処理を完了させることができる。
【００６１】
また、時間幅に関する過去の履歴データを保持するための時間幅履歴データ記憶手段をさらに備え、縮退処理制御部が履歴データの中から最適な時間幅を選出して、計算量の縮退を行うようにしたので、無駄の少ない、より確実な模擬処理を行うことができる。
【００６２】
また、複数個の模擬対象を優先度を付けて管理記憶するための優先度管理手段をさらに備え、縮退処理制御部が、優先度管理手段の内容を参照して、所定の閾値より優先度が低い模擬対象について計算量の縮退を行うように制御するようにしたので、優先度の高い模擬対象については精度を落とさずに、優先度の低い模擬対象についてのみ精度を落とすことができ、無駄のない良好な模擬処理を指定された時間内に行うことができる。
【００６３】
また、計算量の縮退を行うにあたり削減したい計算量に応じて所定の閾値の値を、縮退処理制御部が調節するようにしたので、指定された時間内におけるシミュレーションの精度を最大限に高く保持することができる。
【００６４】
また、閾値を複数個設けて、それらにより模擬対象を優先度別に複数の群に分けて、計算量の縮退の度合いを群ごとに変えて行うようにしたので、より無駄のない良好な模擬処理を行うことができる。
【００６５】
また、縮退処理制御部に接続され、閾値および優先度に関する過去の履歴データを保持するための優先度履歴データ記憶手段をさらに備え、縮退処理制御部が履歴データの中から最適な閾値および優先度を選出して、計算量の縮退を行うようにしたので、無駄の少ない、より確実な模擬処理を行うことができる。
【００６６】
また、模擬対象が複数個であって、それらがグループ単位で行動するものである場合、そのグループの代表として指定された任意の模擬対象についてのみ模擬を行うように制御することにより計算量の縮退を行うようにしたので、特に重要度の低いグループについては代表となる模擬対象のみを模擬処理するので、無駄のない良好な模擬処理を行うことができる。
【００６７】
また、シミュレータ手段を複数個備え、各シミュレータ手段により模擬対象を分担して模擬処理を行うとともに、各シミュレータ手段が互いに通信処理を行うものであって、通信処理を行う頻度を調節するための通信頻度制御部をシミュレーション動作制御手段が備えているようにしたので、通信処理の頻度を落とすことによって、システム全体の模擬処理の実行時間を高速化し、指定された時間内に模擬処理を完了させることができる。
【００６８】
また、模擬対象が存在するシミュレーション空間を複数の部分空間に分割して、それらの部分空間の模擬処理を複数のシミュレータ手段により分担して行うようにしたので、大規模のシミュレーションも比較的安価に容易に行うことができる。
【００６９】
また、シミュレータ手段間で分担する計算負荷が均一になるように、部分空間の境界の位置を調整するための境界調整部をシミュレーション動作制御手段が備えるようにしたので、シミュレータ手段間で負荷が均一になり、アイドル状態のシミュレータ手段を無くすことにより、より効率的な実行が実現できる。
【００７０】
また、境界調整部に接続され、境界に関する過去の履歴データを保持するための境界履歴データ記憶手段を、さらに備えるようにしたので、履歴データを基に境界の位置を決めることができるので、無駄の少ない、より確実な模擬処理を行うことができる。
【００７１】
また、シミュレーション空間全体に存在する複数の模擬対象を同一個数ずつ各シミュレータ手段に均等に配分して模擬処理を行うようにしたので、シミュレータ手段間で負荷を均一にすることができ、アイドル状態のシミュレータを無くすことにより、効率的な実行が実現できる。
【００７２】
また、通信頻度制御部に接続され、通信頻度に関する過去の履歴データを保持するための通信頻度履歴データ記憶手段をさらに備えているようにしたので、無駄の少ない、より確実な模擬処理を行うことができる。
【００７３】
また、シミュレータ手段を複数個備え、シミュレーション動作制御手段がシミュレータ手段ごとに設けられ、各々の上記シミュレーション動作制御手段により各々の上記シミュレータ手段を独立に制御するようにしたので、共通の１つのシミュレーション動作制御手段により制御を行う場合に比べ、さらなる高速化を図ることができる。
【００７５】
また、過去の履歴データを保持するための履歴データ記憶手段が各々のシミュレーション動作制御手段ごとに設けるようにしたので、各シミュレーション動作制御手段が過去の履歴データを参照して独自に縮退処理等を行って計算量を削減し、指定された時間内に良好な模擬処理を行うことができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１におけるシミュレーション装置の構成を示したブロック図である。
【図２】  ゲーム率＝１になるようにゲーム率制御部４が制御する場合のタイムチャートである。
【図３】  実施の形態２におけるゲーム率制御部４Ａの構成を示したブロック図である。
【図４】  実施の形態２におけるゲーム率制御部４Ａの構成を示したブロック図である。
【図５】  実施の形態３におけるゲーム率制御部４Ｂの構成を示したブロック図である。
【図６】  実施の形態４におけるゲーム率制御部４Ｃの構成を示したブロック図である。
【図７】  実施の形態５におけるゲーム率制御部４Ｃの構成を示したブロック図である。
【図８】  実施の形態６におけるゲーム率制御部４Ｄの構成を示したブロック図である。
【図９】  実施の形態６における部分空間２１内の旗艦１８と僚鑑１９とを示した図である。
【図１０】  実施の形態７におけるゲーム率制御部４Ｅの構成を示したブロック図である。
【図１１】  実施の形態８におけるゲーム率制御部４Ｆの構成を示したブロック図である。
【図１２】  本発明の実施の形態９におけるシミュレーション装置の構成を示したブロック図である。
【図１３】  本発明の実施の形態１０におけるシミュレーション装置の構成を示したブロック図である。
【図１４】  本発明の実施の形態１０におけるシミュレーション装置の構成を示したブロック図である。
【図１５】  従来のシミュレーション装置の構成を示すブロック図である。
【符号の説明】
１  シミュレーション空間、４，４Ａ，４Ｂ，４Ｃ，４Ｄ，４Ｅ，４Ｆ，４Ｇゲーム率制御部、５  表示系端末、６  管理者用端末、１２  イベントキュー、１４  スケジューラ、１５  履歴データ記憶部、１６  優先度管理部、１７  グループ管理部、２１〜２３  部分空間、２５  通信頻度制御部、２７  境界制御部、３１  制御部、３２〜３４  シミュレータ、４５〜４７  シミュレータローカル制御部、５０〜５２  ゲーム率ローカル制御部。
【図１】
0004176902.tif 000003
【図２】
0004176902.tif 000004
【図３】
0004176902.tif 000005
【図４】
0004176902.tif 000006
【図５】
0004176902.tif 000007
【図６】
0004176902.tif 000008
【図７】
0004176902.tif 000009
【図８】
0004176902.tif 000010
【図９】
0004176902.tif 000011
【図１０】
0004176902.tif 000012
【図１１】
0004176902.tif 000013
【図１２】
0004176902.tif 000014
【図１３】
0004176902.tif 000015
【図１４】
0004176902.tif 000016
【図１５】
0004176902.tif 000017