"コンピュータにより、擬似乱数を生成する際のシード種を選別する乱数シード選別装置であって、モンテカルロ計算の収束性が良い擬似乱数列を、多くの乱数列の中から選別する選別部を有し、当該収束性の良い擬似乱数列をシード種により識別することを特徴とする乱数シード選別装置。コンピュータにより、擬似乱数を生成する際のシード種を選別する乱数シード選別方法であって、モンテカルロ計算の収束性が良い擬似乱数列を、多くの乱数列の中から選別する選別ステップを有し、当該収束性の良い擬似乱数列をシード種により識別することを特徴とする乱数シード選別方法。コンピュータにより、擬似乱数を生成する際のシード種を選別する乱数シード選別プログラムであって、モンテカルロ計算の収束性が良い擬似乱数列を、多くの乱数列の中から選別する選別処理を前記コンピュータに実行させるとともに、当該収束性の良い擬似乱数列をシード種により識別することを特徴とする乱数シード選別プログラム。しかし、対称変量法は対称確率分布に従う擬似乱数を対象として、奇数次積率のみの改善を目的としたもので、2次再抽出法は2次積率までの改善を考えたものである。これらの欠点を解消しようとしたのが、非特許文献1の提案手法である。しかし、非特許文献1では、発生擬似乱数の全てを計算機メモリ配列に一時保存していたため、計算に使用できる擬似乱数の数が限られ、所要精度の解を得るのに問題があった。また、従来の積率適合法も、非特許文献1の提案法も、擬似乱数の精度向上は、ある程度期待できるが、擬似乱数の所要発生時間は長くなる。擬似乱数の高精度化のためにロスする計算時間以上に、モンテカルロ計算による解の推定精度の向上が実現できれば計算効率は向上するが、解析参照時間が短い問題、対象問題の基本変数が少ない問題等では、モンテカルロ法の計算効率向上の程度は小さくなる。以上のことを考慮して、本願発明では、非特許文献1で紹介した手法を、モンテカルロ計算の実行前に、擬似乱数の頻度検定として用いるようにした。ただし、従来の擬似乱数の検定のように、単に擬似乱数発生システムの良否を検定するのではなく、モンテカルロ計算の収束性が良い擬似乱数列を、多くの乱数列の中から選別する。そして、乱数列は乱数シードによって識別して用いる。無限個の乱数を使って所用の確率分布を正確に再現できる理想的な乱数の母集団を想定すれば、どのシードの乱数を使っても計算値推定値は、正解値に収束するものと考えられる。しかしながら、実際には、我々は、限られた時間内に解を推定しなければならず、また、擬似乱数の周期性の問題、計算機資源特にメモリ容量には限りがあること等も視野に入れると、計算の効率化が必要不可欠である。実際に、限られた個数の擬似乱数でモンテカルロ計算を行った場合、シードが異なれば、それらの計算結果も、各シードによって大きなバラツキが出ることは、良く経験するところである。そこで、本願発明では、限られた個数の擬似乱数を使って解を推定する場合、効率の良い計算ができる擬似乱数シードを選別する方法を提案する。すなわち、所用個数の擬似乱数を発生させた場合、それらの積率が理論値に最も近くなるような最適な乱数シードを予め選別しておいて、必要時に用いることを考える。モンテカルロ計算を実際に行う前に、計算機の空き時間を利用して、種々の条件で、そのような最適な乱数シードをデータベース化しておけば、必要時に最適な乱数シードを参照して普通のモンテカルロ計算を行うだけで効率計算が期待できる。効率化のために浪費する計算時間等は全く無くなる。数値計算例では、いくつかの典型的な問題に対して、本研究で紹介した手法を適用して、擬似乱数の確率特性の改善効果に関する検討を行う。モンテカルロ法は、冒頭で言及したように、領域積分型と事象再現型とに大別されるので、それぞれについて例題を考える。すなわち、領域積分型モンテカルロ法の例として、円周率を求める問題、指数関数の4重積分を求める問題、および、2次元正規確率分布の上側超過確率を求める問題を考える。所要量を期待値演算としてモンテカルロ計算で求める場合、考慮するバラツキを有するパラメータこれは基本変数とも言うの数だけの多重積分が必要となるため、そのベンチマーク的な例題として円周率の問題と4重積分の問題を考える。必ずしも工学分野への応用問題と言うわけではないが、提案手法を工学分野に有効利用するための基礎的データを与える例題である。もちろん、工学分野には多重積分を必要とする問題も多数あり、例題の考え方は容易に応用可能である。また、2次元正規確率分布の上側超過確率の問題は、建設分野の確率統計問題として良く出てくる典型的な計算である。一方、事象再現型モンテカルロ計算の例としては、ごく簡単な遺伝的アルゴリズム単純GAを対象とするへの応用例を示す。遺伝的アルゴリズムは、生物の進化の過程をシミュレーションしたものであるが、交叉確率、突然変異確率等に乱数を用いるモンテカルロ計算である。ただし、領域積分の形に定式化できないので、事象再現型モンテカルロ計算である。この応用例は、工学分野では、最適化問題等に応用することができる。本発明に係る乱数シード選別装置等によると、効率の良い計算ができる擬似乱数シードが選別できるという効果がある。以下、本発明の実施の形態について、図面等を参照しながら説明する。A頻度検定による擬似乱数シードの選別擬似乱数の具備すべき条件は、a速やかに多数個発生できること、b周期があるとすれば十分長い周期を有すること、c再現性があること、d良好な統計的性質を持つこと等が挙げられる。このうち、a高速生成の条件は、計算機で発生させる擬似乱数であれば満足している。次のbの条件は、メルセンヌツィスター等の乱数を使えば相当長い周期は確保できるものの大規模問題等では極めて多くの乱数が必要とされる場合があるので注意が必要である。また、cの条件は、同一の擬似乱数列を何度でも発生できるか否かを問うている。擬似乱数は、数式を用いて発生させているので、シードを指定すれば再現性があり、物理乱数を用いない限り自動的に満足している。通常、このような条件を利用することは無いが、本実施の形態では、頻度検定の結果を計算機メモリに保存して計算機資源を消耗することのないように、積極的に利用する。最後のdの条件は、擬似乱数の利用目的にあった検定を、利用前に実施すべきであるが、現状はほとんど実施されていない。統計的検定としては、頻度検定、系列相関検定、組合せ検定、ギャップ検定、連の検定等が知られている。これらのうち、頻度検定は重要な検定となることが多い。特に、確率統計の処理問題では、必要不可欠な検定である。以下、非特許文献1で紹介した積率適合法を再度簡単に紹介し、その方法を対象問題へ応用する方法を紹介する。B擬似乱数の一様性の評価擬似乱数が所要の確率分布へどの程度適合しているかを計算プログラムで検定する方法としては、a乱数の定義区間を適当に等分割して、各区間の頻度を観測する方法、bカイ2乗適合度検定でのカイ2乗値を利用する方法、cコルモゴロフ検定での最大絶対偏差値を利用する方法等が知られている。しかし、方法aとbでは区間分割をどのように分割するかと言う問題、方法cでは発生擬似乱数の並べ替えをする問題が生ずる。そこで、非特許文献1では、発生させた擬似乱数列の積率を観測し、それらの理論値との一致度によってその擬似乱数列の精度を評価した。完全な確率情報は、確率密度関数で与えられるが、頻度分布で比較することは、プログラム作成上、上述のような欠点がある。そこで、無限大次数までの全ての確率モーメントは、完全な確率情報と等価であることを利用して、対象擬似乱数の良否を、擬似乱数列の積率で評価するのが提案手法の目的である。従来の積率適合の手法の中に、同様な目的で開発されたものもあるが、本件発明では、具体的には、以下のようにして、高精度の一様擬似乱数系列を選別するようにした。区間0,1で一様分布する確率変数Xの原点回りのn次原点積率理論値は、一般に、下記数1のように与えられる。そこで、当該モンテカルロ計算に必要な数のN個の擬似乱数から構成される擬似乱数列をM系列たとえば1000系列発生させ、L次までの積率適合を考える。この時、j番目の擬似乱数系列中のi番目の擬似乱数Xiji=1、、N;j=1、、Mに対して、k次の標本原点積率は、下記数2で計算できる。j番目の擬似乱数系列についての原点積率の2乗誤差は、下記数3で与えられる。以上より、非特許文献1では,上記の2乗誤差Sjが最小となる擬似乱数列を一番良好な擬似乱数列とし、その擬似乱数列を実際のモンテカルロ計算に用いた。なお、本明細書において、●^数2、数3では、記号^は●の真上に配置されている。は、●の推定値であることを示す記号として用いている。C乱数シードの選別非特許文献1では、最小2乗誤差Sjの擬似乱数列を探索するために、最適な擬似乱数列の候補を計算機メモリに一時保存した。しかし,擬似乱数シードが決まれば、同一の擬似乱数列が完全に再現されるので、上記での記述中、系列をシードと読み替えれば、擬似乱数をメモリに保存する必要が無くなる。さらに、非特許文献1では、最適な擬似乱数列を試行ごとに毎回計算していたので、効率を計算する場合に、数2、数3の所要計算時間もモンテカルロ計算の所要時間に算入した。しかし、最小の2乗誤差Sjとなるような擬似乱数シードを予め調査してデータベース化しておけば、2度とこのような最小2乗誤差Sjを計算する必要が無い。したがって、本実施の形態においては、モンテカルロ計算を実行する前の頻度検定の代わりに、式数3の2乗誤差Sjが最小となるような乱数シードを選別しておくことにする。そして、実際にモンテカルロ計算する場合には、選別した乱数シードを用いることにする。ただし、最適な乱数シードを選別する場合には、より効果のあるシードを選別するために、計算で必要とする擬似乱数の個数ごとに、乱数シードを選別すべきことに注意を要する。その結果は、擬似乱数の所要個数ごとに作表しておけば、同じ計算環境であれば、種々の問題に利用可能である。積率適合度として、数3を用いれば、1次元問題は効率計算を期待することができる。多次元の場合は、数1に対応する式本明細書では試行関数と呼ぶ。について、種々検討した。そこで、n次元の多次元の場合は、生成擬似乱数の多次元空間への分布状況、即ち、生成擬似乱数がn次元空間内で偏り無く、どれだけ一様にばらついているかが重要となることから、試行関数として、下記数4を考えた。この場合の2乗誤差は、下記数5で表される。本願発明者は、このようにして生成した一様擬似乱数を用いれば、効率的なモンテカルロ計算が可能となることを多数の数値計算例で例証している。なお、n次元関数fx1,x2,xnの積分をモンテカルロ法で求める場合、試行関数として考えている下記数6は、被積分関数のn次元関数の一番簡単な場合例えば2次元であればX1X2、3次元であればX1X2X3、4次元であればX1X2X3X4、。いずれもは乗算を表す。を考えていることに対応する。なお、本実施の形態では、計算機の空き時間を利用して、予め作成した高精度擬似乱数のシード表に基づいて計算するので、計算効率は、同一のモンテカルロ法に基づく限り、単純に、解の推定分散の比として表わされる推定に伴う分散については、後に数11として説明する。D数値計算例領域積分型モンテカルロ計算の計算例として、円周率を求める問題と指数関数の4重積分を求める問題と2次元正規確率分布の上側超過確率を求める問題を考える。事象再現型モンテカルロ計算の計算例としては、遺伝的アルゴリズムの最大値探索問題を考える。計算には、富士通FortranCVer40使用CPUとOSはWindows登録商標XPonPentium登録商標IV28GHz上で提供されるC言語を用いた。D-1計算条件乱数シードの選別で用いる乱数精度の指標Sjの計算では、なるべく少ない計算で最小のSj数3参照が得られる積率次数を試算し、5次迄の積率数2、数3でL=5を考えていることに対応する。ちなみに、信頼性工学では2次までの積率で信頼性指標を定義し、不規則関数論の相関理論でも2次までの積率で確率過程をモデル化している。このような状況に鑑みて、L=3以上として、計算時間との兼ね合いでL=5と決めた。また、乱数シードの選別も、なるべく多くのシードから求める方が良いが、これも計算時間との関係から1000個のシードから選別することにする。なお、乱数シードの選別を行わない場合のモンテカルロ計算では、乱数生成システムがデフォルトで有する乱数シードを用いることにする。これは、普通の工学者は、特別な理由がない限り、擬似乱数の検定を行うことはなく、デフォルトの乱数シードを用いてモンテカルロ計算を行うのが普通である状況を反映させたものである。さらに、モンテカルロ計算では、擬似乱数の精度のみの影響を調べるために、分散逓減法等を援用しない入門的Crudeモンテカルロ法を用いる。入門的モンテカルロ法では、下記数7の定積分は、N個の一様擬似乱数ξ1、ξ2、、ξNを用いて、下記数8で近似評価される。D-2円周率の計算提案手法で選別した乱数シードを用いて、検証が簡単で、この種の計算のベンチマーク的な計算例として、円周率πを入門的モンテカルロ法によって計算した。数8による入門的モンテカルロ計算を行った結果を図1に示す。図1の左半分には、処理系の組み込み関数として一般に提供されている普通の擬似乱数をシード選別しないまま用いた場合の結果と、MTメルセンヌツィスター乱数と呼ばれる擬似乱数をシード選別しないまま用いた場合の結果を示す。一方、図1の表の右側には、数3によるシード選別を行った場合の普通擬似乱数を用いた場合とMT乱数を用いた場合とを示している。いずれも正解値との誤差を百分率で示している。図1の表より、シード選別を行うことによって、モンテカルロ計算による解の推定精度が向上することが確認できる。また、普通の擬似乱数の場合とMT乱数の場合との間では、明らかな結果の違いは見られないようである。D-34重積分の計算モンテカルロ法のメリットの1つとして、モンテカルロ法は、次元数に関係なく同じ計算公式を使って多次元積分を求めることができる。しかしながら、多次元積分の計算は、多くの時間を必要とし、効率化が必要不可欠である。ここでは、解の精度の検証が可能な多次元積分として、下記数9のような4重積分を考えた。入門的モンテカルロ法によって数9を計算した結果を図2に示す.表記法は図1の表と同様である。図2の表より、多次元の場合は、数3によるシード選別を行った擬似乱数を使っても、モンテカルロ法による解の推定精度に余り影響しないことが分かる。また、円周率の計算時と同様に、普通の擬似乱数の場合とMT乱数の場合との間では、明らかな結果の違いは見られないようである。D-42次元正規確率分布の上側超過確率の計算たとえば、信頼性評価問題では、当該基本変数の同時確率密度関数を破壊領域にわたって積分し破壊確率を求めるが、通常、小さな確率となるため、多くの擬似乱数を必要とする。したがって、このような積分においても、擬似乱数の精度向上が計算結果に与える影響を知ることは、モンテカルロ法に基づく信頼性評価を行う際には重要である。そこで、多次元確率変数の簡単な確率計算問題として、平均値0、分散1の正規分布に従う2変数χ1とχ2とを考え、それらの相関係数がγ0.6の場合の上側確率下記数10で表されるを求める。正解値は、P=0000654である。数8によって数10を推定した結果を図3、図4に示す。図3の表は、普通の擬似乱数とMT乱数をシード選別しないままモンテカルロ計算に用いた場合の計算結果である。図4の表は、これらの擬似乱数に対して数3によるシード選別を行った場合の計算結果である。なお、表中の変動係数ρとは、数8による推定誤差に基づく変動係数であり、数7の推定に対しては、次式数11によって評価することができる。図3の表と図4の表とを比較することにより、この場合も、数3によるシード選別は、モンテカルロ計算による解の推定精度に余り影響しないことが分かる。また、普通の擬似乱数の場合とMT乱数の場合との間でも、明らかな結果の違いが見られないようである。今まで示した計算では、1次元確率特性が良好な擬似乱数のシードを、多くの乱数シードの中から数2、数3の評価式を使って選別したが、多次元積分の問題では、余り良い結果を得ることができなかった。そこで、同様にして、対象とする多次元確率分布への分布状況が良好な擬似乱数シードを数5によって選別すれば、多次元積分を求める問題でも、効率の良いモンテカルロ計算を実施することができるのではないかと考えた。そこで、多次元確率分布への分布状況を考慮して選別した擬似乱数シードを数5にもとづいて作表したこの表は、各実施者の計算環境によって異なる。その結果を使って、数10の上側超過確率の計算を数8の入門的モンテカルロ法で行った。数値計算の結果を図5に示す。図3の表と図5の表との比較により、選別シードの擬似乱数を用いれば、効率化を実現できることが分かる。また、図3の表と図5の表とを比較すると、誤差が大きいにもかかわらず推定誤差に基づく変動係数ρが小さい場合等が存在する。これは、たとえば、誤差が大きくても、大きな数値を推定するほど推定が容易になることを反映したものである。事象再現型計算の場合に対応させて言えば、頻繁に生起する事象を推定することは容易であるが、稀にしか生起しない事象を推定するのは困難であることに対応する。したがって、推定誤差に基づく変動係数ρのみを推定精度の評価指標として使う場合は、注意が必要である。D-5単純GAによる最大値探索問題への適用領域積分型モンテカルロ法では、積分領域を陰の形であれ陽の形であれ、定式化する必要があり、その記述には、充分な検討を要する場合がある。そのような場合、注目事象を計算機内で正確に再現する方法事象再現型モンテカルロ法が便利である。事象再現型モンテカルロ法は、きわめて多くの問題に適用可能で、安定的に解を得ることができるが、効率が悪く、その効率化に関する研究は重要課題である。ここでは、事象再現型モンテカルロ法の一つである遺伝的アルゴリズムを対象に、本実施の形態で説明した方法で選別した最適乱数シードの適用を考える。遺伝的アルゴリズムとしては、単純GAを考える。そして、単純GAに基づき、次式数12の関数の最大値を求める問題を考える。これはx=π/2の時に最大値4.0をとる関数であり、単純GAの計算では、これを適応関数とする。変数xのコーディングは0と1の2進表現を行い、解空間0≦x≦πを212個の離散値に等分する。単純GAは、個体数20、交叉確率0.4、突然変異確率0.1、計算世代数41として計算を行った。デフォルトの擬似乱数シードを用いて計算を行った結果を図6の表の左半分に、最適乱数シードの適用を行った単純GAによる計算結果を同図に示される表の右半分に示す。世代ごとの線列の評価値適合度を示している。表中、平均とは20個の個体で得られる評価関数値の平均値である。また、最大値とは、20個の個体で得られる評価関数値の最大値である。歴代最大値とは、過去の世代を通じての歴代の最大値を示している。図6の表より、右半分の結果は、左半分の結果に比べ、各値が全体的に大きくなり、正解値4.0が出やすくなっているのが分かる。その結果、最適乱数シードの適用によって、容易に正解値が出現している状況を確認することができる。E総括今回の研究では、効率の良い計算ができる擬似乱数シードの選別を、計算機の空き時間モンテカルロ計算の前を利用して実施する方法、および、そのような結果を擬似乱数の必要個数ごとに最適乱数シードとして作表しておく方法を提案した。そして、いくつかの典型的な例題に提案手法を適用して、擬似乱数の確率特性の改善効果に関する検討を行った。得られた主な結果は以下のとおりである。1本研究で提案した手法によって作表した最適乱数シードを用いてモンテカルロ計算を実施すれば、効率の良いモンテカルロ計算を行うことができる。2多次元の積分問題に対しては、1次元確率特性に着目して選別した乱数シードを用いても、計算の効率化が余り期待できない。多次元確率分布への分布状況の考慮が必要である。3事象再現型モンテカルロ計算の一例として遺伝的アルゴリズムの最大値探索問題を考え、本研究で提案した手法を適用した結果、効率的な計算が可能であることが確認できた。数値計算は、限定された条件下での結果ではあるが、提案した乱数シードの選別法は汎用性のある方法であり、今後、種々の分野へ応用されることが期待される。"