(57)【要約】【課題】既存のシナリオとシミュレータの動作に影響を与えずに、期待するシミュレーション結果を得ることができるシミュレーション制御装置を提供する。【解決手段】シミュレーションを行うためのシナリオを記憶するシナリオファイル１１と、シナリオファイルに記憶されているシナリオに従ってシミュレーションを行うシミュレータ１２を備えたシミュレーション制御装置において、シミュレータによるシミュレーション結果を変更するためのパラメータを記憶するパラメータファイル１３と、シミュレータから出力されるシミュレーション結果を、パラメータファイルに記憶されているパラメータに従って再処理することにより変更するシミュレーション結果制御部１４とを備える。【選択図】図１
2007187723.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーションを行うためのシナリオを記憶するシナリオファイルと、
前記シナリオファイルに記憶されているシナリオに従ってシミュレーションを行うシミュレータとを備えたシミュレーション制御装置において、
前記シミュレータによるシミュレーション結果を変更するためのパラメータを記憶するパラメータファイルと、
前記シミュレータから出力されるシミュレーション結果を、前記パラメータファイルに記憶されているパラメータに従って再処理することにより変更するシミュレーション結果制御部と、
を備えたことを特徴とするシミュレーション制御装置。
【請求項２】
前記パラメータファイルは、複数の分布モデルを格納し、
前記シミュレーション結果制御部は、前記シナリオファイルに記憶されているシナリオに基づき指定された分布モデルから取得した乱数をパラメータとして、前記シミュレータから出力されるシミュレーション結果に適用し、該パラメータを適用した後のシミュレーション結果を出力することを特徴とする請求項１記載のシミュレーション制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレータから出力されるシミュレーション結果をさらに制御することにより所望のシミュレーション結果を得るシミュレーション制御装置に関する。
【背景技術】
【０００２】
従来、現実世界の物理現象等を忠実に模擬するシミュレータが知られている。このようなシミュレータには、実際の物理現象に近いシミュレーション結果が求められるので、シミュレーションの目的毎に、意図するシミュレーション結果を得るための仕組みや制御方法が必要である。
【０００３】
特に、シミュレータの内部処理が複雑な場合、意図するシミュレーション結果を得るには、細かい条件を指定しながらシミュレータの動作を予測するため、多くの時間を費やすことになる。
【０００４】
このようなシミュレータの動作は、シミュレーションの内容を指示する命令であるシナリオの入力とシミュレーション結果の出力で確認することができる。従来のシミュレータにおいて、意図するシミュレーション結果を得るためには、図１４に示すように、シミュレータに入力するシナリオに変更を加えるか、シミュレータの内部処理を修正する方法しかない。
【０００５】
シナリオを変更する方法によれば、１つのシナリオでシミュレータを動作させた場合は、シミュレーション結果は１種類であるが、図１５に示すように、シナリオの種類を変更すれば、出力されるシミュレーション結果に変化を与えることができる。また、シミュレータの内部処理を修正する方法によれば、図１６に示すように、修正（修正１〜修正３）に応じて、出力されるシミュレーション結果に変化を与えることができる。
【０００６】
なお、関連する技術として、特許文献１は、キャラクタの能力に関するカスタマイズの目安を提示して、ゲームに不慣れなユーザでもカスタマイズ機能を十分に活用することができるゲームシステムを開示している。このゲームシステムには、キャラクタの能力を規定する複数のパラメータの少なくとも一部をユーザからの指示に応じて設定するパラメータ設定手段と、キャラクタの能力と関連付けられた所定の行動機会が生じたとき、その機会にて特定の結果が生じ得る確率を、ユーザが設定可能なパラメータを含む所定の情報に基づいて演算する確率演算手段と、確率演算手段にて演算された確率を参照して行動機会に対する実際の結果を決定する結果制御手段と、確率演算手段が演算した確率に対応した情報をユーザに提示する確率情報提示手段を備えている。
【特許文献１】特開２００３−９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したシナリオを変更する方法では、シミュレーションの目的毎に意図するシミュレーション結果が得られるように制御するためには、シナリオがシミュレータに入力された場合の細部動作を十分に理解した後に、出力されるシミュレーション結果を予測しながらシナリオを修正する必要がある。したがって、期待するシミュレーション結果が得られるまでに、多くの時間を費やすという問題がある。
【０００８】
また、シミュレータの内部処理を修正する方法では、シミュレータの内部処理が複雑であるので、理解して修正するのに多くの時間が必要になるという問題がある。また、シミュレータの内部処理の流れを変更することにより、既存のシナリオを使用した時の動作が変わる可能性があるため、シミュレータの内部処理を修正する度に、図１６に枠Ａで示す範囲の動作確認を行う必要があり、多くの時間を費やすという問題がある。
【０００９】
本発明は、上述した問題を解消するためになされたものであり、その課題は、既存のシナリオとシミュレータの動作に影響を与えずに、期待するシミュレーション結果を得ることができるシミュレーション制御装置を提供することにある。
【課題を解決するための手段】
【００１０】
請求項１記載の発明は、上記課題を解決するために、シミュレーションを行うためのシナリオを記憶するシナリオファイルと、シナリオファイルに記憶されているシナリオに従ってシミュレーションを行うシミュレータを備えたシミュレーション制御装置において、シミュレータによるシミュレーション結果を変更するためのパラメータを記憶するパラメータファイルと、シミュレータから出力されるシミュレーション結果を、パラメータファイルに記憶されているパラメータに従って再処理することにより変更するシミュレーション結果制御部とを備えたことを特徴とする。
【発明の効果】
【００１１】
請求項１記載の発明によれば、シミュレータから出力されるシミュレーション結果をパラメータに応じて変更し、所望のシミュレーション結果を得るように構成したので、既存のシナリオとシミュレータの動作に影響を与えずに、期待するシミュレーション結果を得ることができる。
【発明を実施するための最良の形態】
【００１２】
まず、本発明に係るシミュレーション制御装置の概要を説明する。このシミュレーション制御装置は、既存のシナリオとシミュレータの動作に影響を与えないように、シミュレータから出力されたシミュレーション結果を再計算して、期待するシミュレーション結果を得るようにしたものである。
【００１３】
図１は、本発明に係るシミュレーション制御装置の概略的な構成を示すブロック図である。このシミュレーション制御装置は、シナリオファイル１１、シミュレータ１２、パラメータファイル１３、シミュレーション結果制御部１４およびシミュレーション結果ファイル１５1〜１５3を備えている。
【００１４】
シナリオファイル１１は、シミュレーションの内容を指示する命令であるシナリオを記憶する。このシナリオファイル１１に記憶されているシナリオは、シミュレータ１２によって読み出される。シミュレータ１２は、シナリオファイル１１から読み出したシナリオに従ってシミュレーションを実行する。このシミュレータ１２において得られたシミュレーション結果は、シミュレーション結果制御部１４に送られる。これらシナリオファイル１１およびシミュレータ１２は、従来のものと同じであるので、詳細な説明は省略する。
【００１５】
パラメータファイル１３は、シミュレーション結果制御部１４で指定された動作にのみ変化を与えるパラメータを記憶している。このパラメータファイル１３に記憶されているパラメータは、シミュレーション結果制御部１４によって読み出される。
【００１６】
シミュレーション結果制御部１４は、シミュレータ１２から出力されたシミュレーション結果を、パラメータファイル１３から読み出したパラメータに従って再処理することにより、最終的なシミュレーション結果を生成する。このシミュレーション結果制御部１４で生成されたシミュレーション結果は、シミュレーション結果ファイル１５1〜１５3に送られる。シミュレーション結果ファイル１５1〜１５3は、シミュレーション結果制御部１４から送られてくるパラメータ毎のシミュレーション結果を記憶する。これにより、最終的なシミュレーション結果を容易に予想することができる。
【００１７】
シミュレータ１２から出力されるシミュレーション結果を変化させる方法として、分布モデルの確率を利用した乱数による変動範囲の制御が行われる。この変動範囲の制御を行うために、図２に示すように、パラメータファイル１３として、複数の分布モデル（一様分布、正規分布、ヒストグラム分布等）を格納した分布データファイル（以下、符号１３を付して説明する）が用意される。そして、シミュレーション結果制御部１４は、分布種類によって指定された分布モデルから取得した乱数をシミュレーション結果に適用し、この適用後のシミュレーション結果を、意図するシミュレーション結果として出力する。
【００１８】
これにより、シナリオが１種類であっても動作に変化を与えることができる。また、分布データファイル１３の内容を修正するだけで、シミュレーション結果を制御することができるので、シミュレータ１２の内部処理の修正は不要である。
【実施例１】
【００１９】
以下、本発明の実施例を、図面を参照しながら詳細に説明する。以下では、本発明の実施例１として、部隊の動作をシミュレーションするシミュレータ（戦闘シミュレータ）を含むシミュレーション制御装置について説明する。このシミュレーション制御装置に含まれるシミュレータは、シナリオに記述された時系列イベントに従ってシミュレーション処理を行うイベントドリブン型シミュレータであるので、複数の動作をリアルに模擬することができる。
【００２０】
図３は、本発明の実施例１に係るシミュレーション制御装置の構成を示すブロック図である。このシミュレーション制御装置は、コンピュータ上に形成されたシナリオファイル１１、シミュレータ１２、分布データファイル１３、シミュレーション結果制御部１４およびシミュレーション結果ファイル１５から構成されている。シミュレータ１２は、さらにシナリオ解釈処理部１６およびシミュレーション処理部１７から構成されている。シミュレータ１２およびシミュレーション結果制御部１４は、コンピュータのソフトウェア処理によって構成されている。
【００２１】
シナリオファイル１１は、シミュレーションする内容、具体的には、シミュレーションに必要な情報であるシミュレーション開始時刻、終了時刻、部隊の配置といった情報の他に、イベント項目として時系列イベントを保存している。また、シミュレーション結果を制御するために使用される結果制御項目として、対象種別のＯＮ／ＯＦＦフラグ、分布種類（一様分布、正規分布、ヒストグラム分布）、対象部隊の優良度を保存している。このシナリオファイル１１に保存されている内容は、シナリオ解釈処理部１６に送られる。対象種別のＯＮ／ＯＦＦフラグは、対象種別に対してシミュレーション結果制御を適用するかどうかを指定するために使用される。優良度は、例えば部隊の強さを表し、部隊をランク分けするために使用される。
【００２２】
シミュレータ１２を構成するシナリオ解釈処理部１６は、シナリオファイル１１からシナリオを読み込んで解釈し、シナリオに書かれているシミュレーションすべき内容を表す時系列イベントをシミュレーション処理部１７に送る。シミュレーション処理部１７は、受け取った時系列イベントをイベント管理部１７ａに登録する。また、シナリオ解釈処理部１６は、シナリオに書かれている対象種別のＯＮ／ＯＦＦフラグ、分布種類および対象部隊の優良度をシミュレーション結果制御部１４に送る。
【００２３】
分布データファイル１３は、分布モデルのデータ、詳しくは分布の形を決定するデータを格納する。この分布データファイル１３の内容はシミュレーション結果制御部１４に送られる。したがって、分布データファイル１３の内容を変更することにより、シミュレーション結果制御部１４で使用する乱数の値を制御することができる。分布モデルの種類としては、一様分布、正規分布およびヒストグラム分布が存在し、図４に示す分布データファイル１３に描かれているように、各分布種類に対して、優良度毎にパラメータが設定されている。
【００２４】
シミュレータ１２を構成するシミュレーション処理部１７には、部隊の移動、戦闘、通信等といった各種の動作を模擬するための処理が組み込まれている。シミュレーション処理部１７は、シナリオの内容に従ってシミュレーションを行う。すなわち、シミュレーション処理部１７は、イベント管理部１７ａに登録されているイベントを実行することによりシミュレーションを行い、このシミュレーション結果を出力する。
【００２５】
シミュレーション結果制御部１４は、シミュレーション処理部１７から出力されるシミュレーション結果を読み込み、分布種類と優良度とによって選択された分布モデルから乱数を取得し、この乱数をシミュレーション結果に適用し、適用後のシミュレーション結果をシミュレーション結果ファイル１６に送る。このシミュレーション結果制御部１４の詳細は後述する。
【００２６】
シミュレーション結果ファイル１６は、シミュレーション結果制御部１４から送られてくる修正後のシミュレーション結果を格納する。
【００２７】
図４は、シミュレーション結果制御部１４の詳細な構成を示すブロック図である。シミュレーション結果制御部１４は、分布モデル１４１、乱数取得部１４２および適用部１４３から構成されている。分布モデル１４１は、分布を表現するものであり、分布に従った乱数を発生させるために使用される。分布モデル１４１として、分布データファイル１３で指定された一様分布モデル、正規分布モデルおよびヒストグラム分布モデルが保持されている。各分布モデルの分布を表現するために、分布データファイル１３からパラメータが設定される。
【００２８】
乱数取得部１４２は、分布モデル１４１の乱数を発生させる処理（プログラム）により発生された乱数を取得し、適用部１４３に送る。この乱数取得部１４２では、試行の都度にばらついた値が取得され、ばらつき具合は、分布種類やパラメータによって異なる。
【００２９】
適用部１４３は、シナリオに指定された対象種別のＯＮ／ＯＦＦフラグに応じて、シミュレーション結果を制御する。すなわち、適用部１４３は、ＯＮ／ＯＦＦフラグが「１」である場合に、シミュレーション処理部１７から送られてくるシミュレーション結果に乱数取得部１４２で取得された乱数を適用して出力する。一方、ＯＮ／ＯＦＦフラグが「０」である場合は、シミュレーション処理部１７から送られてくるシミュレーション結果をそのまま出力する。
【００３０】
上記のように構成されるシミュレーション結果制御部１４において、分布種類として「正規分布」、優良度として「レベル５」が与えられた場合を考える。この場合、正規分布モデルに対応する分布データファイル１３から分布のパラメータ（平均：１２０、標準偏差：１）が読み込まれる。そして、正規分布モデルにより、パラメータで指定された正規分布に従った乱数が発生される。乱数取得部１４２は、この発生された乱数、例えば「１２０［％］」を取得する。
【００３１】
適用部１４３は、シミュレーション処理部１７からシミュレーション結果として値「１０」が送られてきたとすると、シミュレーション結果である値「１０」に「乱数／１００」を乗じて、つまり「１０×（１２０／１００）」の計算を行って、値「１２」を得る。この適用部１４３で計算された値「１２」が、修正適用後のシミュレーション結果として、シミュレーション結果ファイル１５に送られて格納される。
【００３２】
以上の構成では、分布モデルにパラメータを埋め込むのではなく、分布データファイル１３に分布モデルのパラメータを格納しておき、このパラメータを分布モデルに設定するようにしているので、プログラム（分布モデル）を修正することなく、パラメータを変更できるようになっている。
【００３３】
ここで、乱数の種類と、その作成方法を説明する。一様分布モデルにより発生される一様分布乱数は、ある有限の区間を区切って、その区間内での実数が同じ確率で現れる乱数である。また、正規分布モデルにより発生される正規分布乱数は、正規分布を有する乱数である。平均μ、分散（標準偏差）σ2の正規分布Ｎ（μ，σ2）のような正規分布乱数を作成する場合、まず、（０，１）の一様分布乱数をボックス−ミューラー法（Box-Muller transform）で変換してＮ（０，１）の正規分布乱数を得る。
【００３４】
そして、一様分布乱数（０，１）の要素αとβを次の式（１）および式（２）を用いて変換する。これにより、２つの相関のないＮ（０，１）の正規分布乱数が得られる。この正規分布乱数に分散σを乗じて、さらに平均μを加えることにより、正規分布Ｎ（μ，σ2）の正規分布乱数が得られる。
【００３５】
√−２・ｌｎα・ｓｉｎ（２πβ）…（１）
√−２・ｌｎα・ｃｏｓ（２πβ）…（２）
正規分布乱数の場合、分布データファイル１３のパラメータによって、得られる値（乱数）の傾向が決定される。図５は、分布種類が「正規分布」、優良度が「レベル５」であり、分布データファイル１３から読み込むパラメータが「平均：１２０、標準偏差：１」である場合に取得される乱数の傾向を示す図である。図６は、パラメータを「平均：８０、標準偏差：１」に変更した場合に取得される乱数の傾向を、図５に示す正規分布乱数の発生傾向に重ねて示す図である。このように、分布データファイル１３のパラメータを変更することにより、得られる値（乱数）の傾向を制御することができる。
【００３６】
次に、上記のように構成される本発明の実施例１に係るシミュレーション制御装置の基本的な動作を、図７に示すフローチャートを参照しながら説明する。
【００３７】
このシミュレーション制御装置の動作の概要は以下の通りである。すなわち、シミュレータ１２は、シナリオファイル１１からシナリオを読み込み、この読み込んだシナリオに従ってシミュレーションを実行する。シミュレーション結果制御部１４は、シミュレータ１２からシミュレーション結果を読み込み、分布データファイル１３から読み込んだ分布モデルより乱数を取得して、読み込んだシミュレーション結果へ適用し、その結果をシミュレーション結果ファイル１６へ出力する。
【００３８】
具体的には、まず、シナリオの読み込みが行われる（ステップＳ１１）。すなわち、シナリオ解釈処理部１６は、シナリオファイル１１からシミュレーションを行うためのシナリオを読み込む。次いで、シナリオが終了であるかどうかが調べられる（ステップＳ１２）。すなわち、シナリオ解釈処理部１６は、シナリオファイル１１から読み込むべきシナリオの読み込みが終了したかどうかを調べる。
【００３９】
このステップＳ１２において、シナリオが終了でないことが判断されると、次いで、時系列イベントの設定であるかどうかが調べられる（ステップＳ１３）。すなわち、シナリオ解釈処理部１６は、ステップＳ１１においてシナリオファイル１１から読み込んだシナリオが時系列イベントの設定であるかどうかを調べる。このステップＳ１３において、時系列イベントの設定であることが判断されると、イベント登録が行われる（ステップＳ１４）。すなわち、シナリオ解釈処理部１６は、時系列イベントをシミュレーション処理部１７に送る。これにより、シミュレーション処理部１７は、その時系列イベントをイベント管理部１７ａに登録する。一方、ステップＳ１３において、イベントの設定でないことが判断されると、イベント登録の処理（ステップＳ１４）はスキップされる。
【００４０】
次いで、ＯＮ／ＯＦＦの設定であるかどうかが調べられる（ステップＳ１５）。すなわち、シナリオ解釈処理部１６は、ステップＳ１１においてシナリオファイル１１から読み込んだシナリオが、シミュレーション結果制御のＯＮ／ＯＦＦの設定であるかどうかを調べる。このステップＳ１５において、ＯＮ／ＯＦＦの設定であることが判断されると、シミュレーション結果制御のＯＮ／ＯＦＦ設定が行われる（ステップＳ１６）。すなわち、シナリオ解釈処理部１６は、シミュレーション結果制御の対象種別とＯＮ／ＯＦＦフラグをシミュレーション結果制御部１４に登録する。一方、ステップＳ１５において、ＯＮ／ＯＦＦの設定でないことが判断されると、シミュレーション結果制御のＯＮ／ＯＦＦ設定の処理（ステップＳ１６）はスキップされる。
【００４１】
次いで、優良度の設定であるかどうかが調べられる（ステップＳ１７）。すなわち、シナリオ解釈処理部１６は、ステップＳ１１においてシナリオファイル１１から読み込んだシナリオが、優良度の設定であるかどうかを調べる。このステップＳ１７において、優良度の設定であることが判断されると、優良度の設定が行われる（ステップＳ１８）。すなわち、シナリオ解釈処理部１６は、シナリオで指定された対象部隊の優良度をシミュレーション結果制御部１４に登録する。一方、ステップＳ１７において、優良度の設定でないことが判断されると、優良度設定の処理（ステップＳ１８）はスキップされる。
【００４２】
次いで、分布の種類の設定であるかどうかが調べられる（ステップＳ１９）。すなわち、シナリオ解釈処理部１６は、ステップＳ１１においてシナリオファイル１１から読み込んだシナリオが、分布の種類の設定であるかどうかを調べる。このステップＳ１９において、分布の種類の設定であることが判断されると、分布の種類の設定が行われる（ステップＳ２０）。すなわち、シナリオ解釈処理部１６は、シナリオで指定された分布の種類をシミュレーション結果制御部１４に登録する。その後、シーケンスはステップＳ１１に戻る。一方、ステップＳ１９において、分布の種類の設定でないことが判断されると、シーケンスはステップＳ１１に戻る。以下、ステップＳ１１〜Ｓ２０の処理が繰り返し実行される。
【００４３】
上記ステップＳ１１〜Ｓ２０の繰り返し実行の途中で、ステップＳ１２において、シナリオが終了したことが判断されると、次いで、分布モデルの読み込みが行われる（ステップＳ２１）。すなわち、シミュレーション結果制御部１４は、シナリオで指定された対象種別の分布種類および優良度、つまりシナリオ解釈処理部１６から送られてくる分布種類および優良度に対応する分布モデルを分布データファイル１３から読み込み、その内部に登録する。
【００４４】
次いで、シミュレーションが終了したかどうかが調べられる（ステップＳ２２）。すなわち、シミュレーション処理部１７は、シミュレーション時刻を確認し、シミュレーション終了時刻を越えていないか否かを調べる。このステップＳ２２において、シミュレーションが終了していないことが判断されると、次いで、イベント取得が行われる（ステップＳ２３）。すなわち、シミュレーション処理部１７は、イベント管理部１７ａから、そのシミュレーション時刻におけるイベントの取得を試みる。
【００４５】
次いで、イベントが存在するかどうかが調べられる（ステップＳ２４）。すなわち、シミュレーション結果制御部１４は、ステップＳ２３で取得を試みたイベントが存在するか否かを調べる。このステップＳ２４において、イベントが存在することが判断されると、次いで、イベントが実行される（ステップＳ２５）。すなわち、シミュレーション処理部１７は、ステップＳ２３で取得したイベントを実行する。
【００４６】
次いで、シミュレーション処理が実行される（ステップＳ２６）。すなわち、シミュレーション処理部１７は、ステップＳ２５で実行されるイベントの内容に従い、シミュレーションを行う。次いで、分布モデルの適用が行われる（ステップＳ２７）。すなわち、シミュレーション結果制御部１４は、対象種別のＯＮ／ＯＦＦ、分布種類、対象部隊の優良度を参照して、これらによって指定された分布モデルから乱数を取得し、シミュレーション処理部１７から出力されるシミュレーション結果に適用する。このステップＳ２７における分布モデルの適用処理の詳細は、後に説明する。
【００４７】
次いで、シミュレーション結果の出力が行われる（ステップＳ２８）。すなわち、シミュレーション結果制御部１４は、分布モデルを適用したシミュレーション結果をシミュレーション結果ファイル１６へ出力する。その後、シーケンスはステップＳ２９に進む。上記ステップＳ２４において、イベントがないことが判断された場合も、シーケンスはステップＳ２９に進む。ステップＳ２９では、シミュレーション時刻が進められる。その後、シーケンスはステップＳ２２に戻り、上述した処理が繰り返される。
【００４８】
このステップＳ２２〜Ｓ２９の処理の繰り返し実行の途中で、ステップＳ２２において、シミュレーションが終了したことが判断されると、シミュレーション制御装置におけるシミュレーションおよびその結果を修正する処理は終了する。
【００４９】
図８は、図７に示すステップＳ２７で行われる分布モデルの適用処理の詳細を示すフローチャートである。この分布モデルの適用処理では、シナリオに指定された対象種別の分布種類および対象部隊の優良度から指定された分布モデルが取得される。そして、この取得された分布モデルより乱数が取得され、この乱数がシミュレーション結果に適用される。
【００５０】
具体的には、まず、対象種別および部隊名が取得される（ステップＳ３１）。すなわち、シミュレーション結果制御部１４は、シミュレーション結果に対応する対象種別と部隊名（対象部隊）を取得する。次いで、対象種別のＯＮ／ＯＦＦフラグが取得される（ステップＳ３２）。すなわち、シミュレーション結果制御部１４は、ステップＳ３１で取得した対象種別から、その内部に設定されている対象種別のＯＮ／ＯＦＦフラグおよび分布種類を取得する。
【００５１】
次いで、ＯＮ／ＯＦＦ判定が行われる（ステップＳ３３）。すなわち、シミュレーション結果制御部１４は、ステップＳ３２で取得したシミュレーション結果制御のＯＮ／ＯＦＦフラグがＯＮであるかＯＦＦであるかを調べる。このステップＳ３３において、ＯＦＦであることが判断されると、ステップＳ３４以下の処理は実行されず、分布モデルの適用処理は終了する。したがって、この場合は、分布モデルが適用されずに、シミュレーション結果が出力される。
【００５２】
上記ステップＳ３３において、ＯＮであることが判断されると、次いで、対象部隊の優良度が取得される（ステップＳ３４）。すなわち、シミュレーション結果制御部１４は、ステップＳ３１で取得した部隊名から、その内部に設定されている対象部隊の優良度を取得する。次いで、優良度の判定が行われる（ステップＳ３５）。シミュレーション結果制御部１４は、この優良度によって取得する分布モデルを変える。すなわち、シミュレーション結果制御部１４は、優良度が「１」の場合はレベル１の分布モデルを取得し（ステップＳ３６）、優良度が「２」の場合はレベル２の分布モデルを取得し（ステップＳ３７）、優良度が「３」の場合はレベル３の分布モデルを取得し（ステップＳ３８）、優良度が「４」の場合はレベル４の分布モデルを取得し（ステップＳ３９）、優良度が「５」の場合はレベル５の分布モデルを取得する（ステップＳ４０）。
【００５３】
次いで、分布モデルより乱数が取得される（ステップＳ４１）。すなわち、シミュレーション結果制御部１４は、ステップＳ３６〜Ｓ４０で取得した分布モデルから乱数を取得する。次いで、出力結果に乱数が適用される（ステップＳ４２）。すなわち、シミュレーション結果制御部１４は、シミュレーション処理部１７からのシミュレーション結果に、乱数を適用する。そして、この適用した結果をシミュレーション結果として出力し、分布モデルの適用処理は終了する。
【００５４】
次に、分布範囲の制御について説明する。分布モデルには、一様分布乱数、正規分布乱数、ヒストグラム分布乱数等を設定することができる。分布モデルを形成するパラメータ（平均値、標準偏差等）を分布データファイル１３に設定することにより、意図するようにシミュレーション結果を制御することができる。以下に、一例として、装備の撃破数、部隊位置について、優良度（レベル１〜５）の違いによる分布範囲を示す。
【００５５】
図９は、各優良度に対する装備の撃破数の分布範囲を示す図である。優良度が低い（レベル１）部隊は、火器による目標の撃破数が少なくなる確率が高く、優良度が高い（レベル５）部隊は、他のレベルより撃破数が多くなる確率が高くなる。この分布から取得した乱数を適用することにより、強い部隊と弱い部隊を作成することができる。
【００５６】
次に、分布範囲の制御の具体例を、ボウリングをシミュレーションする場合を例に挙げて、図１０および図１１を参照しながら説明する。今、分布種類が「正規分布」であり、優良度が「レベル５」の場合を考える。まず、シミュレーション処理部１７におけるシミュレーション結果として、撃破数（倒ピン数）「８」が得られたものとする。シミュレーション結果制御部１４は、正規分布乱数を取得してシミュレーション結果を補正する。
【００５７】
具体的には、シミュレーション結果制御部１４においては、正規分布モデルに対応する分布データファイル１３から分布のパラメータ（平均：１２０、標準偏差：１）が読み込まれる。そして、正規分布モデルにより、パラメータで指定された正規分布に従った乱数が発生される。レベル５では、その平均値「１２０」の周辺の値が発生しやすいので、乱数（補正係数）として「１２０％（＝１．２）」が高い確率で取得される。この取得された補正係数１．２がシミュレーション結果「８」に適用される。具体的には、シミュレーション結果に補正係数を乗じて、つまり「８×１．２」の計算が行われて、値「９．６」が得られる。この値「９．６」が例えば四捨五入されて値「１０」に変換され、修正適用後のシミュレーション結果として出力される。
【００５８】
なお、低い確率ではあるが、平均値を外れた値が発生されると、例えば乱数（補正係数）として「１１５％（＝１．１５）」が取得される。この取得された補正係数「１．１５」がシミュレーション結果「８」に適用される。具体的には、シミュレーション結果に補正係数を乗じて、つまり「８×１．１５」の計算が行われて、値「９．２」が得られる。この値「９．２」が例えば四捨五入されて値「９」に変換され、修正適用後のシミュレーション結果として出力される。
【００５９】
図１１は、優良度が「レベル１」の場合の分布範囲の制御の具体例を、上述した優良度が「レベル５」の場合と比較して示す図である。優良度が「レベル１」の場合は、その平均値「８０」の周辺の値が発生しやすいので、乱数（＝補正係数）として「８０％（＝０．８）」が高い確率で取得される。この補正係数「０．８」がシミュレーション結果「８」に適用される。具体的には、シミュレーション結果に補正係数を乗じて、つまり「８×０．８」の計算が行われて、値「６．４」が得られる。この値「６．４」が例えば四捨五入されて値「６」に変換され、修正適用後のシミュレーション結果として出力される。
【００６０】
なお、シナリオに部隊の優良度を指定する方法以外にも、時間によって優良度を変化させる処理をシミュレーション結果制御部１４に組み込むように構成することができる。この構成によれば、昼間は撃破数を多く、夜間は撃破数を少なくするといった制御が可能になるので、実際の部隊の動きを模擬したシミュレーションが可能になる。また、装備の撃破数では、撃破数が０以下や目標の装備数を超えた場合に想定範囲外（現実にはありえない値）となる。もし、想定範囲外になる場合には、再度分布モデルより乱数を取得して、シミュレーション結果を制御するように構成できる。
【００６１】
次に、部隊位置の誤差について説明する。図１２は、部隊位置の分布範囲を示す図である。優良度が低い（レベル１）部隊は、指定された位置から外れる確率が高く、優良度が高い（レベル５）部隊は、他のレベルより正確に移動する確率が高くなる。この分布の乱数を適用することにより、指示された位置へ正確に移動できる部隊と移動できない部隊を作成することができる。
【００６２】
次に、部隊位置の誤差の具体例を、部隊が移動する場合の例を挙げて、図１３を参照しながら説明する。今、分布種類が「正規分布」であり、優良度が「レベル５」の場合と優良度が「レベル１」の場合を考える。まず、シミュレーション処理部１７におけるシミュレーション結果として、目的地の座標（真位置）が得られたとする。シミュレーション結果制御部１４は、正規分布乱数を取得し、シミュレーション結果を補正する。
【００６３】
具体的には、シミュレーション結果制御部１４においては、レベル５の場合は、正規分布モデルに対応する分布データファイル１３から分布のパラメータ（平均：０、標準偏差：０．４）が読み込まれる。そして、正規分布モデルにより、パラメータで指定された正規分布に従った乱数が発生される。この乱数は、例えば真位置からの誤差（距離）を表す位置の誤差（ｍ）である。レベル５では、標準偏差が小さいので、位置の誤差として、小さい値、例えば０．５ｍが高い確率で取得される。また、真位置からの方向、例えば９０゜が一様分布乱数から取得される。これら取得された乱数（位置の誤差）および乱数（方向）がシミュレーション結果として得られた真位置に適用されることにより修正が行われ、真位置から９０゜方向に０．５ｍの位置が最終的な移動位置として出力される。
【００６４】
一方、レベル１の場合は、正規分布モデルに対応する分布データファイル１３から分布のパラメータ（平均：０、標準偏差：２．０）が読み込まれる。そして、正規分布モデルにより、パラメータで指定された正規分布に従った乱数（位置の誤差）が発生される。レベル１では、標準偏差が大きいので、位置の誤差として、大きい値、例えば１ｍが取得される確率が高くなる。また、真位置からの方向、例えば２７０゜が一様分布乱数から取得される。これら取得された乱数（位置の誤差）および乱数（方向）がシミュレーション結果として得られた真位置に適用されることにより修正が行われ、真位置から２７０゜方向に１ｍの位置が最終的な移動位置として出力される。
【００６５】
以上のように、優良度が高い（例えばレベル５）の場合は、優良度が低い（例えばレベル１）場合よりも目的地が外れにくく、優良度が低い（例えばレベル１）の場合は、優良度が高い（例えばレベル５）場合よりも目的地が外れる確率が高くなるというシミュレーション結果を得るように制御することができる。
【産業上の利用可能性】
【００６６】
本発明は、シナリオを入力してシミュレーションを行う種々のシミュレータに利用することが可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明に係るシミュレーション制御装置の概略的な構成を示すブロック図である。
【図２】本発明に係るシミュレーション制御装置において行われる変動範囲の制御を説明するための図である。
【図３】本発明の実施例１に係るシミュレーション制御装置の構成を示すブロック図である。
【図４】本発明の実施例１に係るシミュレーション制御装置のシミュレーション結果制御部の詳細な構成を示すブロック図である。
【図５】本発明の実施例１に係るシミュレーション制御装置において、あるパラメータが与えられた場合の正規分布乱数の発生とその傾向を説明するための図である。
【図６】本発明の実施例１に係るシミュレーション制御装置において、パラメータを変更した場合の正規分布乱数の発生とその傾向を説明するための図である。
【図７】本発明の実施例１に係るシミュレーション制御装置の基本的な動作を示すフローチャートである。
【図８】図７に示すステップＳ２７で行われる分布モデルの適用処理の詳細を示すフローチャートである。
【図９】本発明の実施例１に係るシミュレーション制御装置における優良度と装備の撃破数の分布範囲を示す図である。
【図１０】本発明の実施例１に係るシミュレーション制御装置における分布範囲の制御の具体例を、ボウリングをシミュレーションする場合を例に挙げて説明するための図である。
【図１１】本発明の実施例１に係るシミュレーション制御装置における分布範囲の制御の具体例を、ボウリングをシミュレーションする場合を例に挙げて説明するための図である。
【図１２】本発明の実施例１に係るシミュレーション制御装置における部隊位置の分布範囲を示す図である。
【図１３】本発明の実施例１に係るシミュレーション制御装置における部隊位置の誤差の具体例を、部隊が移動する場合を例に挙げて説明するための図である。
【図１４】従来のシミュレータにおいて、意図するシミュレーション結果を得るための方法を説明するための図である。
【図１５】従来のシミュレータにおいて、シナリオの変更により意図するシミュレーション結果を得るための方法を説明するための図である。
【図１６】従来のシミュレータにおいて、シミュレータの内部処理を修正により意図するシミュレーション結果を得るための方法を説明するための図である。
【符号の説明】
【００６８】
１１  シナリオファイル
１２  シミュレータ
１３  パラメータファイル（分布データファイル）
１４  シミュレーション結果制御部
１５、１５１〜１５３  シミュレーション結果ファイル
１６  シナリオ解釈処理部、
１７  シミュレーション処理部
１７ａ  イベント管理部
１４１  分布モデル
１４２  乱数取得部
１４３  適用部
【図１】
2007187723.tif 000003
【図２】
2007187723.tif 000004
【図３】
2007187723.tif 000005
【図４】
2007187723.tif 000006
【図５】
2007187723.tif 000007
【図６】
2007187723.tif 000008
【図７】
2007187723.tif 000009
【図８】
2007187723.tif 000010
【図９】
2007187723.tif 000011
【図１０】
2007187723.tif 000012
【図１１】
2007187723.tif 000013
【図１２】
2007187723.tif 000014
【図１３】
2007187723.tif 000015
【図１４】
2007187723.tif 000016
【図１５】
2007187723.tif 000017
【図１６】
2007187723.tif 000018