(57)【要約】【課題】本発明は上記事情に鑑み、多次元の擬似乱数列において、より高精度な擬似乱数の検定装置、選別装置、およびモンテカルロ計算装置を提供する。【解決手段】擬似乱数列と確率分布との高次までの積率の一致の程度を示す積率適合度Sを算出する積率適合度算出手段１２を備える検定装置Ａ。積率適合度Sが最小である擬似乱数列を選別する選別手段２４を備える選別装置Ｂ。入力された次元数nおよび生成個数Nに対応するシードを記憶部３２から取得して擬似乱数列を生成する擬似乱数生成手段３３を備えるモンテカルロ計算装置Ｃ。高次までの積率を考慮した積率適合度Sを指標とするので、多次元の擬似乱数列を精度よく検定、選別できる。モンテカルロ計算のたびに擬似乱数の選別を行う必要がなく、効率の良い計算ができる。【選択図】図１
2015075937.tif 000002
【特許請求の範囲】
【請求項１】
多次元の擬似乱数列が所望の確率分布に適合するかを検定する装置であって、
前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出する積率適合度算出手段を備える
ことを特徴とする擬似乱数の検定装置。
【請求項２】
前記確率分布が一様分布であり、
前記積率適合度が下記数１で表される
ことを特徴とする請求項１記載の擬似乱数の検定装置。
【数１】
2015075937.tif 000022
数１において、Sは積率適合度、mは考慮に入れる積率の最大次数（２以上）、Mは擬似乱数の１次元あたりの生成個数、nは擬似乱数列の次元数、ξin+1はin+1番目の擬似乱数である。
【請求項３】
複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別する装置であって、
前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出する積率適合度算出手段と、
前記積率適合度が最小である擬似乱数列を選別する選別手段と、を備える
ことを特徴とする擬似乱数の選別装置。
【請求項４】
擬似乱数列の次元数および生成個数に対応するシードが記憶された記憶部と、
擬似乱数列の次元数および生成個数を入力するための入力手段と、
入力された次元数および生成個数に対応するシードを前記記憶部から取得して、該シードを用いて擬似乱数列を生成する擬似乱数生成手段と、
生成した擬似乱数列を用いてモンテカルロ計算を行う計算手段と、を備える
ことを特徴とするモンテカルロ計算装置。
【請求項５】
擬似乱数列の次元数を記憶する次元数領域と、
擬似乱数列の生成個数を記憶する生成個数領域と、
擬似乱数の次元数および生成個数に対応するシードを記憶するシード領域と、を備える
ことを特徴とする擬似乱数データ。
【請求項６】
コンピュータに、多次元の擬似乱数列が所望の確率分布に適合するかを検定する処理を行わせるためのプログラムであって、
前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出する処理をコンピュータに行わせる
ことを特徴とする擬似乱数の検定プログラム。
【請求項７】
コンピュータに、複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別する処理を行わせるためのプログラムであって、
前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出し、
前記積率適合度が最小である擬似乱数列を選別する処理をコンピュータに行わせる
ことを特徴とする擬似乱数の選別プログラム。
【請求項８】
擬似乱数列の次元数および生成個数に対応するシードが記憶された記憶部にアクセス可能なコンピュータに処理を行わせるためのプログラムであって、
擬似乱数列の次元数および生成個数の入力を受け付け、
入力された次元数および生成個数に対応するシードを前記記憶部から取得して、該シードを用いて擬似乱数列を生成し、
生成した擬似乱数列を用いてモンテカルロ計算を行う処理をコンピュータに行わせる
ことを特徴とするモンテカルロ計算プログラム。
【請求項９】
多次元の擬似乱数列が所望の確率分布に適合するかを検定する方法であって、
前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を指標として検定する
ことを特徴とする擬似乱数の検定方法。
【請求項１０】
複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別する方法であって、
前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出し、
前記積率適合度が最小である擬似乱数列を選別する
ことを特徴とする擬似乱数の選別方法。
【請求項１１】
予め、複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別し、該擬似乱数列のシードを記憶しておき、
前記シードを用いて擬似乱数列を生成し、
生成した擬似乱数列を用いてモンテカルロ計算を行う
ことを特徴とするモンテカルロ計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、擬似乱数の検定装置、選別装置、およびモンテカルロ計算装置に関する。
【背景技術】
【０００２】
例えば、人命に関わる実験、莫大な予算を必要とする実験、長時間を要する実験は、容易に実施できない。このような実験を現実に行う代わりに、コンピュータで事象を再現して実験を行うシミュレーションが有用である。一般に、現実の事象はバラツキを伴うことから、シミュレーションにおいても種々のパラメータにバラツキをもたせて複数回の試行を行い、統計処理により平均値等として解を得ることが行われる。このようなシミュレーションにはバラツキをもたせるために乱数が用いられる。乱数を用いてシミュレーションを行う手法はモンテカルロ法と称される。モンテカルロ法はシミュレーションのほか数値計算にも利用される。
【０００３】
無限個の乱数を使って所望の確率分布を正確に再現できる理想的な母集団を想定すれば、モンテカルロ法により得られる解は真の値となる。しかし、現実には実用時間内に解を推定する必要があり、有限個の乱数（標本集団）を用いて計算が行われる。また、一般に、コンピュータを用いたモンテカルロ法には、計算によって生成される擬似乱数が用いられる。そのため、モンテカルロ法により得られる解の精度や計算効率は、用いる擬似乱数の精度に依存する。特に、擬似乱数が所望の確率分布に十分適合していることが重要である。
【０００４】
擬似乱数が所望の確率分布に適合するかを検定する方法としては、ａ)乱数の定義区間を適当に（等）分割して、各区間の頻度を観測する方法、ｂ)カイ２乗値を利用したカイ２乗適合度検定、ｃ)最大絶対偏差値を利用したコルモゴロフ検定等が知られている。しかし、ａ)およびｂ)の方法では区間をどのように分割するかという問題があり、ｃ)の方法では擬似乱数の並べ替えを要するという問題がある。
【０００５】
そこで、本願発明者は、擬似乱数の検定方法として積率適合法を考案した（特許文献１）。この方法は、擬似乱数列の積率を求め、理論値との一致の程度を指標とした検定方法である。しかし、特許文献１に記載の方法では、多次元の擬似乱数列を検定するにあたり、１次積率のみ考慮されていた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２１５９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は上記事情に鑑み、多次元の擬似乱数列において、より高精度な擬似乱数の検定装置、選別装置、およびモンテカルロ計算装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
（装置）
第１発明の擬似乱数の検定装置は、多次元の擬似乱数列が所望の確率分布に適合するかを検定する装置であって、前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出する積率適合度算出手段を備えることを特徴とする。
第２発明の擬似乱数の検定装置は、第１発明において、前記確率分布が一様分布であり、前記積率適合度が下記数１で表されることを特徴とする。
【数１】
2015075937.tif 000003
数１において、Sは積率適合度、mは考慮に入れる積率の最大次数（２以上）、Mは擬似乱数の１次元あたりの生成個数、nは擬似乱数列の次元数、ξin+1はin+1番目の擬似乱数である。
第３発明の擬似乱数の選別装置は、複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別する装置であって、前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出する積率適合度算出手段と、前記積率適合度が最小である擬似乱数列を選別する選別手段と、を備えることを特徴とする。
第４発明のモンテカルロ計算装置は、擬似乱数列の次元数および生成個数に対応するシードが記憶された記憶部と、擬似乱数列の次元数および生成個数を入力するための入力手段と、入力された次元数および生成個数に対応するシードを前記記憶部から取得して、該シードを用いて擬似乱数列を生成する擬似乱数生成手段と、生成した擬似乱数列を用いてモンテカルロ計算を行う計算手段と、を備えることを特徴とする。
（データ）
第５発明の擬似乱数データは、擬似乱数列の次元数を記憶する次元数領域と、擬似乱数列の生成個数を記憶する生成個数領域と、擬似乱数の次元数および生成個数に対応するシードを記憶するシード領域と、を備えることを特徴とする。
（プログラム）
第６発明の擬似乱数の検定プログラムは、コンピュータに、多次元の擬似乱数列が所望の確率分布に適合するかを検定する処理を行わせるためのプログラムであって、前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出する処理をコンピュータに行わせることを特徴とする。
第７発明の擬似乱数の選別プログラムは、コンピュータに、複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別する処理を行わせるためのプログラムであって、前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出し、前記積率適合度が最小である擬似乱数列を選別する処理をコンピュータに行わせることを特徴とする。
第８発明のモンテカルロ計算プログラムは、擬似乱数列の次元数および生成個数に対応するシードが記憶された記憶部にアクセス可能なコンピュータに処理を行わせるためのプログラムであって、擬似乱数列の次元数および生成個数の入力を受け付け、入力された次元数および生成個数に対応するシードを前記記憶部から取得して、該シードを用いて擬似乱数列を生成し、生成した擬似乱数列を用いてモンテカルロ計算を行う処理をコンピュータに行わせることを特徴とする。
（方法）
第９発明の擬似乱数の検定方法は、多次元の擬似乱数列が所望の確率分布に適合するかを検定する方法であって、前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を指標として検定することを特徴とする。
第１０発明の擬似乱数の選別方法は、複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別する方法であって、前記擬似乱数列と前記確率分布との高次までの積率の一致の程度を示す積率適合度を算出し、前記積率適合度が最小である擬似乱数列を選別することを特徴とする。
第１１発明のモンテカルロ計算方法は、予め、複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別し、該擬似乱数列のシードを記憶しておき、前記シードを用いて擬似乱数列を生成し、生成した擬似乱数列を用いてモンテカルロ計算を行うことを特徴とする。
【発明の効果】
【０００９】
（装置）
第１発明によれば、高次までの積率を考慮した積率適合度を指標とするので、多次元の擬似乱数列を精度よく検定できる。
第２発明によれば、数１で表された積率適合度を指標として、多次元の擬似乱数列の一様性を精度よく検定できる。
第３発明によれば、高次までの積率を考慮した積率適合度が最小である擬似乱数列を選別するので、多次元の擬似乱数列を精度よく選別できる。
第４発明によれば、記憶されたシードを用いて擬似乱数を生成してモンテカルロ計算を行うので、モンテカルロ計算のたびに擬似乱数の選別を行う必要がなく、効率の良い計算ができる。
（データ）
第５発明によれば、擬似乱数の次元数および生成個数に対応するシードを記憶できるので、予め種々の条件で擬似乱数列を選別して、最適な擬似乱数列のシードを記憶しておくことができ、選別の結果を何度でも利用できる。また、擬似乱数列をそのまま記憶する場合に比べて記憶領域を少なくできる。
（プログラム）
第６発明によれば、高次までの積率を考慮した積率適合度を指標とするので、多次元の擬似乱数列を精度よく検定できる。
第７発明によれば、高次までの積率を考慮した積率適合度が最小である擬似乱数列を選別するので、多次元の擬似乱数列を精度よく選別できる。
第８発明によれば、記憶されたシードを用いて擬似乱数を生成してモンテカルロ計算を行うので、モンテカルロ計算のたびに擬似乱数の選別を行う必要がなく、効率の良い計算ができる。
（方法）
第９発明によれば、高次までの積率を考慮した積率適合度を指標とするので、多次元の擬似乱数列を精度よく検定できる。
第１０発明によれば、高次までの積率を考慮した積率適合度が最小である擬似乱数列を選別するので、多次元の擬似乱数列を精度よく選別できる。
第１１発明によれば、記憶されたシードを用いて擬似乱数を生成してモンテカルロ計算を行うので、モンテカルロ計算のたびに擬似乱数の選別を行う必要がなく、効率の良い計算ができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る検定装置Ａのブロック図である。
【図２】検定処理のフローチャートである。
【図３】本発明の一実施形態に係る選別装置Ｂのブロック図である。
【図４】選別処理のフローチャートである。
【図５】本発明の一実施形態に係るモンテカルロ計算装置Ｃのブロック図である。
【図６】モンテカルロ計算のフローチャートである。
【図７】本発明の一実施形態に係る擬似乱数データＤの構造を示す図である。
【発明を実施するための形態】
【００１１】
つぎに、本発明の実施形態を図面に基づき説明する。
（１）擬似乱数の検定
擬似乱数の具備すべき条件は、ａ）速やかに多数個生成できること（高速生成）、ｂ）周期があるとすれば十分長い周期を有すること、ｃ）同一の擬似乱数列を何度でも生成できること（再現性）、ｄ）良好な統計的性質を持つこと等が挙げられる。このうち、ａ）の条件は、コンピュータで生成させる擬似乱数であれば満足している。ｂ）の条件は、メルセンヌ・ツイスタ等の擬似乱数生成方法を使えば相当長い周期が確保できる。ｃ）の条件は、擬似乱数は数式を用いて生成させているので、シードを指定すれば再現性がある。ｄ）の条件は、擬似乱数の利用目的にあった検定を利用前に実施することが好ましい。統計的検定としては、頻度検定、系列相関検定、組合せ検定、ギャップ検定、連の検定等が知られている。これらのうち、頻度検定は重要な検定となることが多い。本発明に係る擬似乱数の検定方法は頻度検定の一種である。
【００１２】
確率変数の積率は確率特性値を意味する。具体的には、１次積率は平均値、２次積率は分散、３次積率は歪度、４次積率は尖度を意味する。より高次の積率も確率特性値を意味する。そのため、無限次数までの積率は完全な確率情報と等価であるといえる。本発明に係る擬似乱数の検定方法は、これを利用して、擬似乱数列が所望の確率分布に適合するかを、積率適合度を指標として検定する方法である。以下、「所望の確率分布」が一様分布である場合、すなわち擬似乱数列の一様性を検定する場合を例に、本発明の一実施形態に係る擬似乱数の検定方法の詳細を説明する。
【００１３】
（１−１）１次元の擬似乱数
まず、１次元の擬似乱数の検定方法について説明する。
区間[0,1]で一様分布する理論的な確率変数Xのk次原点積率（k次の原点回りの積率）は、数２で与えられる。ここで、E[○]は○の期待値を意味する。
【数２】
2015075937.tif 000004
【００１４】
また、N個の擬似乱数から構成される擬似乱数列のk次原点積率は、数３で算出される。ここで、○＾（記号「＾」は「○」の真上に配置されている。）は、○の推定値を意味する。また、ξiはi番目の擬似乱数である。
【数３】
2015075937.tif 000005
【００１５】
擬似乱数列と理論的な確率分布（一様分布）との１次からm次までの積率の二乗誤差は、数４で算出される。ここで、mは考慮に入れる積率の最大次数であり、2以上の任意の値が設定される。数４で示される二乗誤差Sを積率適合度と称する。数４の積率適合度Sは、擬似乱数列と理論的な確率分布との高次までの積率の一致の程度を示す。なお、本明細書において「高次」とは2次以上を意味する。
【数４】
2015075937.tif 000006
【００１６】
積率適合度Sが小さいほど擬似乱数列が理論的な確率分布に適合するといえる。そのため、数４に示す積率適合度Sを指標として、１次元の擬似乱数列の一様性を検定できる。
【００１７】
（１−２）多次元の擬似乱数（１次積率）
つぎに、多次元の擬似乱数の検定方法について説明する。
多次元の擬似乱数列が一様であるとは、擬似乱数列の多次元空間における分布が偏り無く一様であることを意味する。n次元関数f(X1,X2,・・・,Xn)の積分をモンテカルロ法で求める場合、被積分関数として一番簡単で典型的な関数は数５に示す関数である。そこで、多次元（n次元）の擬似乱数列の場合における数２に対応する式として数６を考える。ここで、nは擬似乱数列の次元数である。
【数５】
2015075937.tif 000007
【数６】
2015075937.tif 000008
【００１８】
N(=n×M)個の擬似乱数から構成されるn次元擬似乱数列の１次原点積率は、数７で算出される。ここで、Mは擬似乱数の１次元あたりの生成個数であり、ξin+1はin+1番目の擬似乱数である。
【数７】
2015075937.tif 000009
【００１９】
この場合の擬似乱数列の１次積率と理論的な確率分布の１次積率との二乗誤差、すなわち積率適合度Sは、数８で算出される。
【数８】
2015075937.tif 000010
【００２０】
数８に示す積率適合度Sを指標として、多次元の擬似乱数列の一様性を検定できる。しかし、数８に示す積率適合度Sは１次積率のみ考慮されている。
【００２１】
（１−３）多次元の擬似乱数（高次積率）
つぎに、高次積率を考慮した多次元の擬似乱数の検定方法について説明する。
n次元関数f(X1,X2,・・・,Xn)のk次の関数として数９を考える。この場合、k次原点積率は、数１０で与えられる。
【数９】
2015075937.tif 000011
【数１０】
2015075937.tif 000012
【００２２】
N(=n×M)個の擬似乱数から構成されるn次元擬似乱数列のk次原点積率は、数１１で算出される。
【数１１】
2015075937.tif 000013
【００２３】
この場合の擬似乱数列と理論的な確率分布との１次からm次までの積率の二乗誤差、すなわち積率適合度Sは、数１２で算出される。ここで、mは考慮に入れる積率の最大次数であり、2以上の任意の値が設定される。Mは擬似乱数の１次元あたりの生成個数、nは擬似乱数列の次元数、ξin+1はin+1番目の擬似乱数である。
【数１２】
2015075937.tif 000014
【００２４】
数１２の積率適合度Sは、多次元の擬似乱数列と理論的な確率分布との高次までの積率の一致の程度を示す。積率適合度Sが小さいほど擬似乱数列が理論的な確率分布に適合するといえる。そのため、数１２に示す積率適合度Sを指標として、多次元の擬似乱数列の一様性を検定できる。しかも、数１２の積率適合度Sは高次までの積率が考慮されているので、多次元の擬似乱数列を精度よく検定できる。数１２におけるmは２以上の任意の値が設定されるが、大きい方が好ましい。mが大きい方がより高次の積率を考慮に入れることができ、より多くの確率特性値の一致の程度を評価できることから、検定の精度が高くなる。
【００２５】
積率適合度Sを指標とした検定は、例えば以下のように行われる。予め積率適合度Sの閾値を定めておく。検定対象の擬似乱数列の積率適合度Sを算出し、積率適合度Sが閾値未満であれば、検定対象の擬似乱数列が一様分布に適合すると判断する。積率適合度Sが閾値以上であれば、検定対象の擬似乱数列が一様分布に適合しないと判断する。
【００２６】
なお、積率適合度Sは、擬似乱数列と確率分布との高次までの積率の一致の程度を示す指標であればよい。数１２においては、積率適合度Sを残差平方和（擬似乱数列の積率と理論的な確率分布の積率との差（残差）の１次からm次までの平方和）と定義したが、RMS（残差平方和の平方根）、最大残差（１次からm次までの残差のうちの最大値）、残差絶対値の積算値（残差の絶対値の１次からm次までの総和）、SN比等他の定義としてもよい。
【００２７】
また、上記では擬似乱数列が一様分布に適合するかを検定する方法について説明したが、同様の方法で、正規分布、対数正規分布、指数分布等他の分布に適合するかを検定することもできる。この場合、確率分布の積率（数１０の右辺）を所望の確率分布に応じたものとすればよい。
【００２８】
（１−４）検定装置
つぎに、本発明の一実施形態に係る擬似乱数の検定装置について説明する。
図１に示すように、本実施形態の検定装置Ａは、擬似乱数生成手段１１と、積率適合度算出手段１２と、検定手段１３と、表示手段１４とを備える。擬似乱数生成手段１１は、擬似乱数を生成する手段であり公知の擬似乱数生成器を用いることができる。積率適合度算出手段１２および検定手段１３は、後述の検定プログラムがコンピュータに組み込まれることにより実現される。表示手段１４は、コンピュータに接続されたディスプレイ等である。なお、擬似乱数生成手段１１は、検定装置Ａとは物理的に分離された構成としてもよい。
【００２９】
図２に、検定プログラムの処理をフローチャートにて示す。
まず、擬似乱数生成手段１１により多次元の擬似乱数列が生成される（ステップS11）。この擬似乱数列が検定対象となる。擬似乱数生成方法は特に限定されず、メルセンヌ・ツイスタやXorshift、SFMT（メルセンヌ・ツイスタの改良版）、WELL、GFSR、線形合同法等、種々の方法を採用できる。なお、擬似乱数生成手段１１が検定装置Ａとは物理的に分離された構成である場合には、擬似乱数生成手段１１により生成された擬似乱数列の検定装置Ａへの入力を受け付ける。
【００３０】
つぎに、積率適合度算出手段１２により、検定対象の擬似乱数列と理論的な確率分布との高次までの積率の一致の程度を示す積率適合度を算出する（ステップS12）。擬似乱数列の一様性を検定する場合には、確率分布として一様分布を選択して積率適合度Sを算出する。この場合、例えば数１２に示す式を用いて積率適合度Sを算出する。なお、積率適合度Sを算出する式として他の式を用いてもよい。また、一様分布以外の分布に適合するかを検定する場合には、所望の確率分布に応じた式を用いて積率適合度Sを算出する。
【００３１】
つぎに、検定手段１３は積率適合度Sを指標として検定を行う（ステップS13）。例えば、予め積率適合度Sの閾値を定めておき、ステップS12で算出した積率適合度Sが閾値未満であれば、検定対象の擬似乱数列は適合すると判断する。積率適合度Sが閾値以上であれば、検定対象の擬似乱数列は適合しないと判断する。
【００３２】
最後に、表示手段１４に検定結果を表示する（ステップS14）。なお、検定手段１３およびステップS13を設けず、ステップS12で算出した積率適合度Sをそのまま表示手段１４に表示するように構成してもよい。
【００３３】
以上のように、検定装置Ａは、高次までの積率を考慮した積率適合度Sを指標とするので、多次元の擬似乱数列を精度よく検定できる。
【００３４】
（２）擬似乱数の選別
上記の検定方法を利用して、複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別することができる。以下、本発明の一実施形態に係る選別装置について説明する。
【００３５】
図３に示すように、本実施形態の選別装置Ｂは、入力手段２１と、擬似乱数生成手段２２と、積率適合度算出手段２３と、選別手段２４と、記憶部２５と、表示手段２６とを備える。擬似乱数生成手段２２は、擬似乱数を生成する手段であり、公知の擬似乱数生成器を用いることができる。積率適合度算出手段２３および選別手段２４は、後述の選別プログラムがコンピュータに組み込まれることにより実現される。入力手段２１は、コンピュータに接続されたキーボードやマウス等である。表示手段２６は、コンピュータに接続されたディスプレイ等である。記憶部２５はハードディスク等のコンピュータがアクセス可能な記憶媒体である。
【００３６】
図４に、選別プログラムの処理をフローチャートにて示す。
まず、入力手段２１により、選別対象の擬似乱数列の次元数nおよび生成個数Nの入力を受け付ける（ステップS21）。なお、生成する擬似乱数列の数や、確率分布の別（一様分布、正規分布等）、擬似乱数生成方法の別（メルセンヌ・ツイスタ、Xorshift等）の入力も受け付けるよう構成してもよい。
【００３７】
つぎに、擬似乱数生成手段２２は、擬似乱数生成のためのシードを設定し（ステップS22）、そのシードを用いて擬似乱数列を生成する（ステップS23）。この際、ステップS21で入力された次元数nおよび生成個数Nに従い擬似乱数列を生成する。なお、ステップS21で確率分布の別や擬似乱数生成方法の別が入力された場合には、それに従い擬似乱数列を生成する。
【００３８】
つぎに、積率適合度算出手段２３により、ステップS23で生成した擬似乱数列と理論的な確率分布との高次までの積率の一致の程度を示す積率適合度を算出する（ステップS24）。一様乱数を選別する場合には、例えば数１２に示す式を用いて積率適合度Sを算出する。なお、積率適合度Sを算出する式として他の式を用いてもよい。また、ステップS21において一様分布以外の確率分布が指定された場合には、その確率分布に応じた式を用いて積率適合度Sを算出する。
【００３９】
以上のステップS22からステップS24までの処理を所定の回数繰り返す。この際、ステップS22では毎回シードを変えるようにする。繰り返し回数は任意に設定すればよい。ステップS21において生成する擬似乱数列の数が入力された場合には、その数の分だけ繰り返す。繰り返し回数の分だけ、擬似乱数列が生成される。したがって、繰り返し回数が多いほど、生成する擬似乱数列の数が多くなり、多数の擬似乱数列から最適な擬似乱数列を選別することができ、より最適な擬似乱数列を選別できる可能性が高くなる。
【００４０】
以上の処理により、複数の擬似乱数列について、それぞれの積率適合度Sが算出される。つぎに、選別手段２４は複数の擬似乱数列のなかから、積率適合度Sが最小である擬似乱数列を、n次元N個の擬似乱数列として最適な擬似乱数列として選別する（ステップS25）。そして、選別された擬似乱数列を記憶部２５に記憶する。ここで、記憶部２５には、選別した擬似乱数列をそのまま記憶してもよいし、後述のごとくその擬似乱数列のシードのみ記憶してもよい。最後に、表示手段２６に選別結果を表示する（ステップS26）。
【００４１】
以上のように、選別装置Ｂは、高次までの積率を考慮した積率適合度Sが最小である擬似乱数列を選別するので、多次元の擬似乱数列を精度よく選別できる。
なお、ステップS25で選別される擬似乱数列は、ステップS21で指定された次元数nおよび生成個数Nにおいて最適な擬似乱数である。次元数nまたは生成個数Nが異なれば他の擬似乱数列が選別される可能性がある。
【００４２】
（３）擬似乱数データ
前述のごとく、擬似乱数は数式を用いて生成するため再現性があり、同一の擬似乱数生成方法に同一のシードを指定すれば同一の擬似乱数列を生成できる。そのため、上記選別処理において、選別した擬似乱数列をそのまま記憶する代わりに、シードを記憶してもよい。そうすれば、記憶されたシードを用いて何度でも同じ擬似乱数列を生成できる。
【００４３】
また、前述のごとく、次元数nまたは生成個数Nが異なれば他の擬似乱数列が選別される可能性がある。すなわち、次元数nおよび生成個数Nごとに、最適な擬似乱数列およびシードが異なる。そこで、次元数nおよび生成個数Nごとに最適な擬似乱数列のシードを記憶しておけば、種々の条件（次元数n、生成個数N）における最適な擬似乱数列を記憶できることとなる。
【００４４】
図７に示すように、本発明の一実施形態に係る擬似乱数データＤは、次元数領域４１と、生成個数領域４２と、シード領域４３とを備えた表形式のデータである。なお、図７に記載された数値は、例示である。
【００４５】
次元数領域４１には擬似乱数列の次元数nが記憶され、生成個数領域４２には擬似乱数列の生成個数Nが記憶される。シード領域４３には、次元数領域４１に記憶された次元数n、および生成個数領域４２に記憶された生成個数Nに対応して、その擬似乱数列として最適な擬似乱数列のシードが記憶される。シード領域４３に記憶されるシードは、例えば、上記の選別装置Ｂにより選別された擬似乱数列のシードである。なお、他の選別方法で選別された擬似乱数列のシードをシード領域４３に記憶してもよい。
【００４６】
このように、擬似乱数データＤには、擬似乱数の次元数nおよび生成個数Nに対応するシードを記憶できるので、予め種々の条件（次元数n、生成個数N）で擬似乱数列を選別して、最適な擬似乱数列のシードを記憶しておくことができ、選別の結果を何度でも利用できる。また、擬似乱数列をそのまま記憶する場合に比べて記憶領域を少なくできる。
【００４７】
なお、擬似乱数データＤに、確率分布の別（一様分布、正規分布等）が記憶される確率分布領域を設けてもよい。この場合には、次元数n、生成個数N、および確率分布の別に対応して、最適な擬似乱数列のシードがシード領域４３に記憶される。そのため、種々の確率分布において最適な擬似乱数列を記憶することができる。
【００４８】
また、擬似乱数データＤに、擬似乱数生成方法の別（メルセンヌ・ツイスタ、Xorshift等）が記憶される生成方法領域を設けてもよい。この場合には、次元数nおよび生成個数Nに対応して、最適な擬似乱数生成方法の別およびシードが、それぞれ生成方法領域およびシード領域４３に記憶される。そのため、種々の擬似乱数生成方法のうち最適な擬似乱数生成方法も記憶できる。次元数n、生成個数N、および擬似乱数生成方法の別に対応して、最適なシードをシード領域４３に記憶してもよい。このようにすれば、各擬似乱数生成方法において最適な擬似乱数列を記憶することができる。
【００４９】
（４）モンテカルロ計算
上記のような擬似乱数データＤを用いれば、モンテカルロ計算を効率よく行うことができる。以下、本発明の一実施形態に係るモンテカルロ計算装置について説明する。
【００５０】
図５に示すように、本実施形態のモンテカルロ計算装置Ｃは、入力手段３１と、記憶部３２と、擬似乱数生成手段３３と、計算手段３４と、表示手段３５とを備える。擬似乱数生成手段３３は、擬似乱数を生成する手段である。計算手段３４は、モンテカルロ計算によりシミュレーションや数値計算を行う手段である。入力手段３１は、コンピュータに接続されたキーボードやマウス等である。表示手段３５は、コンピュータに接続されたディスプレイ等である。記憶部３２はハードディスク等のコンピュータがアクセス可能な記憶媒体である。モンテカルロ計算装置Ｃは、後述のモンテカルロ計算プログラムがコンピュータに組み込まれることにより実現される。
【００５１】
予め、上記の選別装置Ｂ等を用いて、複数の多次元の擬似乱数列のうち所望の確率分布に最も適合する擬似乱数列を選別し、その擬似乱数列のシードが記憶部３２に記憶されている。擬似乱数の選別は、モンテカルロ計算を行う前に、コンピュータの空き時間を利用して行うことが好ましい。記憶部３２には、上記の擬似乱数データＤ等の形式で、擬似乱数列の次元数nおよび生成個数Nに対応するシードが記憶されている。
【００５２】
図６に、モンテカルロ計算プログラムの処理をフローチャートにて示す。
まず、入力手段３１により、モンテカルロ計算で用いる擬似乱数列の次元数nおよび生成個数Nの入力を受け付ける（ステップS31）。なお、確率分布の別（一様分布、正規分布等）や擬似乱数生成方法の別（メルセンヌ・ツイスタ、Xorshift等）の入力も受け付けるよう構成してもよい。
【００５３】
つぎに、擬似乱数生成手段３３は、入力された次元数nおよび生成個数Nに対応するシードを、記憶部３２に記憶された擬似乱数データＤから取得する（ステップS32）。そのシードを用いて、入力された次元数nおよび生成個数Nの擬似乱数列を生成する（ステップS33）。
【００５４】
つぎに、計算手段３４は、ステップS33で生成した擬似乱数列を用いてモンテカルロ計算を行う（ステップS34）。モンテカルロ計算は公知の方法で行われる。また、モンテカルロ計算の目的はシミュレーションや数値計算等特に限定されない。最後に、モンテカルロ計算の結果を表示手段３５に表示する（ステップS35）。
【００５５】
擬似乱数データＤは、一度作成しておけば、同じ条件の擬似乱数列の選別を二度と行う必要がない。したがって、モンテカルロ計算装置Ｃは、記憶されたシードを用いて擬似乱数を生成してモンテカルロ計算を行うことができ、モンテカルロ計算のたびに擬似乱数の選別を行う必要がなく、計算時間を短縮できる。しかも、最適な擬似乱数列を用いてモンテカルロ計算を行うので、得られる解の精度や計算効率がよくなる。
【実施例】
【００５６】
モンテカルロ計算の実施例として、下記数１３に示す指数関数の４重積分を求める問題を考えた。数１３に示す積分は解が分かっているため、解の精度の検証が可能である。
【数１３】
2015075937.tif 000015
【００５７】
モンテカルロ計算では、擬似乱数の精度のみの影響を調べるために、分散逓減法等を援用しない入門的（Crude）モンテカルロ法を用いた。入門的モンテカルロ法では、下記数１４の定積分は、一様擬似乱数を用いて数１５で近似評価される。ここで、Nは擬似乱数の生成個数、ξiはi番目の擬似乱数である。
【数１４】
2015075937.tif 000016
【数１５】
2015075937.tif 000017
【００５８】
（実施例１）
上記実施形態の擬似乱数の選別方法により４次元の擬似乱数列の選別を行った。擬似乱数列の生成個数は1,000個、10,000個、100,000個、1,000,000個、10,000,000個の５パターンとした。積率適合度Sの算出には数１２に示す式を用いた。ここで、数１２においてm=5とし、５次までの積率を考慮することとした。なお、信頼性工学では２次までの積率で信頼性指標を定義し、不規則関数論の相関理論でも２次までの積率で確率過程をモデル化している。このような状況に鑑みて、３次以上が好ましいと考え、計算時間を考慮して５次（m=5）と決めた。また、計算時間を考慮して、各パターンにおいて1,000個の擬似乱数列から最適な擬似乱数を選別することとした。また、擬似乱数生成方法としてメルセンス・ツイスタを採用した。
【００５９】
各パターンにおいて選別した擬似乱数列を用いて、入門的モンテカルロ法により数１３の積分の解を求めた。各パターンの計算結果と、正解値からの誤差を表１に示す。
【００６０】
（比較例１）
擬似乱数の選別を行わずに、生成した擬似乱数列を用いて入門的モンテカルロ法により数１３の積分の解を求めた。擬似乱数列のシードとしてデフォルトのシードを用いた。これは、通常の工学者は、特別な理由がない限り擬似乱数の検定を行うことはなく、デフォルトの乱数シードを用いてモンテカルロ計算を行うからである。各パターンにおける計算結果と、正解値からの誤差を表２に示す。
【００６１】
（比較例２）
擬似乱数の選別を、従来の共分散行列を用いた方法により行った。生成した擬似乱数列を用いて入門的モンテカルロ法により数１３の積分の解を求めた。各パターンにおける計算結果と、正解値からの誤差を表３に示す。
【００６２】
（比較例３）
擬似乱数の選別を、数８に示す積率適合度Sを用いて行った。すなわち、１次積率のみを考慮して選別を行った。生成した擬似乱数列を用いて入門的モンテカルロ法により数１３の積分の解を求めた。各パターンにおける計算結果と、正解値からの誤差を表４に示す。
【００６３】
表１〜４より、実施例１は比較例１〜４に比べて誤差が少ないことが分かった。このことから、本実施形態の選別方法によれば、最適な擬似乱数列を選別でき、収束がはやく、効率的なモンテカルロ計算ができることが分かった。
【００６４】
実施例１：高次積率を考慮した積率適合度による選別を行った場合
【表１】
2015075937.tif 000018
【００６５】
比較例１：選別を行わない場合
【表２】
2015075937.tif 000019
【００６６】
比較例２：共分散行列による選別を行った場合
【表３】
2015075937.tif 000020
【００６７】
比較例３：１次積率のみ考慮した積率適合度による選別を行った場合
【表４】
2015075937.tif 000021
【符号の説明】
【００６８】
Ａ    検定装置
１１  擬似乱数生成手段
１２  積率適合度算出手段
１３  検定手段
１４  表示手段
Ｂ    選別装置
２１  入力手段
２２  擬似乱数生成手段
２３  積率適合度算出手段
２４  選別手段
２５  記憶部
２６  表示手段
Ｃ    モンテカルロ計算装置
３１  入力手段
３２  記憶部
３３  擬似乱数生成手段
３４  計算手段
３５  表示手段
Ｄ    擬似乱数データ
４１  次元数領域
４２  生成個数領域
４３  シード領域
【図１】
2015075937.tif 000023
【図２】
2015075937.tif 000024
【図３】
2015075937.tif 000025
【図４】
2015075937.tif 000026
【図５】
2015075937.tif 000027
【図６】
2015075937.tif 000028
【図７】
2015075937.tif 000029