JP5273613B2 - Random number generation apparatus, random number generation method, random number generation program, and simulation apparatus - Google Patents
Random number generation apparatus, random number generation method, random number generation program, and simulation apparatus Download PDFInfo
- Publication number
- JP5273613B2 JP5273613B2 JP2009085223A JP2009085223A JP5273613B2 JP 5273613 B2 JP5273613 B2 JP 5273613B2 JP 2009085223 A JP2009085223 A JP 2009085223A JP 2009085223 A JP2009085223 A JP 2009085223A JP 5273613 B2 JP5273613 B2 JP 5273613B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- primitive
- random numbers
- random
- number generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、乱数生成装置、乱数生成方法、乱数生成プログラム、及びシミュレーション装置に関し、特に、一様乱数、正規乱数など、分布に対称性を有することが好ましい乱数の生成に適した乱数生成装置、乱数生成方法、乱数生成プログラム、及び生成された乱数を利用したシミュレーション装置に関する。 The present invention relates to a random number generation device, a random number generation method, a random number generation program, and a simulation device, and in particular, a random number generation device suitable for generating random numbers that preferably have symmetry in distribution, such as uniform random numbers and normal random numbers, The present invention relates to a random number generation method, a random number generation program, and a simulation apparatus using the generated random numbers.
モンテカルロ法は、乱数を用いたシミュレーション技術であり、種々の分野で検討が加えられている。一様乱数、正規乱数の生成についても古くから多くの研究がなされており、一様擬似乱数の生成方法として、特にメルセンヌ・ツイスタ(以下「MT」と略記する。)法は著名である。一方、正規乱数の生成方法としては、例えば非特許文献1に、渋谷氏による方法が紹介されている。
The Monte Carlo method is a simulation technique using random numbers, and has been studied in various fields. Many researches have been made on the generation of uniform random numbers and normal random numbers, and the Mersenne Twister (hereinafter abbreviated as “MT”) method is particularly well known as a method for generating uniform pseudorandom numbers. On the other hand, as a method for generating normal random numbers, for example, Non-Patent
しかしながら、従来の乱数生成法は一般に計算量が多く、コンピュータ上で複雑なシミュレーションを行うには、少しでも計算量を減らすことが、高速度化に繋がる。また、一様乱数や正規乱数の場合、乱数の均等分布性、分布への当てはまり方の改善は、モンテカルロ法シミュレーションの高速、高精度化に繋がる。 However, the conventional random number generation method generally has a large amount of calculation, and in order to perform a complicated simulation on a computer, reducing the amount of calculation as much as possible leads to an increase in speed. Further, in the case of uniform random numbers and normal random numbers, the improvement of the uniform distribution of random numbers and the method applied to the distribution leads to high speed and high accuracy of the Monte Carlo simulation.
本発明は上記の諸点に鑑みてなされたものであって、特に、一様乱数、正規乱数など、分布に対称性を有することが好ましい乱数の生成に適した乱数生成装置、乱数生成方法、乱数生成プログラム、及び生成された乱数を利用したシミュレーション装置を提供することを目的としている。 The present invention has been made in view of the above points, and in particular, a random number generation device, a random number generation method, and a random number suitable for generating random numbers that preferably have symmetry in distribution, such as uniform random numbers and normal random numbers. An object of the present invention is to provide a generation program and a simulation apparatus using the generated random number.
上記の問題点を解決するために、本発明に係る乱数生成装置は、N個(Nは2以上の自然数)の原始乱数を取得する原始乱数取得部と、前記N個の原始乱数から、符号の反転処理により、乱数を生成する乱数生成部と、前記乱数生成部が生成した乱数の少なくとも一部を、乱数として出力する乱数出力部とを備え、前記乱数生成部は、前記N個の原始乱数を(x1,x2,・・xN)と表した場合に、前記N個の原始乱数の少なくとも一つの符号の反転処理を行ってN個の乱数を生成するとともに、N個の原始乱数のうち、符号の反転処理を行う原始乱数の個数を変化させて、最終的にN個全部の原始乱数の符号の反転処理が成されるまで、乱数を生成することを特徴としている。 In order to solve the above problem, a random number generation device according to the present invention includes a source random number acquisition unit that acquires N (N is a natural number of 2 or more) source random numbers, and a code from the N source random numbers. And a random number output unit that outputs at least a part of the random numbers generated by the random number generation unit as random numbers, the random number generation unit including the N primitives When the random numbers are represented as (x 1 , x 2 ,... X N ), N numbers of random numbers are generated by performing an inversion process of at least one sign of the N number of primitive random numbers. Among the random numbers, the number of primitive random numbers for which the sign inversion process is performed is changed, and random numbers are generated until the sign inversion process for all of the N primitive random numbers is finally performed.
本発明に係る乱数生成装置では、乱数生成部が、得られたN個の原始乱数について順次「符号の反転処理」を行い、新たな乱数を生成する。この処理により、乱数発生に要する計算量、シミュレーションに要する計算量の削減を図りつつ、シミュレーションの精度の維持、向上をも図ることが可能となる。 In the random number generation device according to the present invention, the random number generation unit sequentially performs “sign inversion processing” on the obtained N primitive random numbers to generate a new random number. With this processing, it is possible to maintain and improve the accuracy of simulation while reducing the amount of calculation required for generating random numbers and the amount of calculation required for simulation.
「符号の反転処理」については、下記に詳細に説明するが、例えばN=2の場合には、原始乱数として、x1、y1の2個の乱数が取得された場合であって、原点座標が(0,0)の場合、x1を−x1に、y1を−y1に変換する処理が含まれる。原点座標が(0.5,0.5)の場合であって、x1、y1の2個の乱数がそれぞれ0から1の範囲内で生成されるような場合であれば、x1を1−x1に、y1を1−y1に変換する処理も「符号の反転処理」の一例である。N=3の場合であれば、原始乱数として、x1、y1、z1の3個の乱数が取得されるが、3個の乱数のそれぞれについて順次「符号の反転処理」を行うことで、3次元座標上における7個の新たな点(21個の乱数)が生成されることになる。即ち、前記乱数生成部は、前記N個の原始乱数から、(N*2N−N)個の乱数を生成する構成とすることができる。 The “sign inversion process” will be described in detail below. For example, when N = 2, two random numbers x 1 and y 1 are acquired as the original random numbers, and the origin If the coordinates are (0, 0), the x 1 to -x 1, it includes processing for converting y 1 to -y 1. If the origin coordinate is (0.5, 0.5) and two random numbers x 1 and y 1 are generated within the range of 0 to 1, respectively, x 1 is set. The process of converting y 1 to 1-y 1 into 1-x 1 is also an example of “sign inversion process”. In the case of N = 3, three random numbers x 1 , y 1 , and z 1 are acquired as primitive random numbers. By sequentially performing “code inversion processing” for each of the three random numbers. Seven new points (21 random numbers) on the three-dimensional coordinates are generated. That is, the random number generator may generate (N * 2 N −N) random numbers from the N primitive random numbers.
前記乱数生成部は、前記原始乱数取得部が、0からa(aは正の実数)までの範囲内で生成されたN個の原始乱数を取得し、0からaまでの範囲内で乱数を生成する場合に、n番目の原始乱数xnに対する符号の反転処理として(a−xn)を算出する構成とすることができる。なお、前記乱数出力部は、前記原始乱数取得した原始乱数の少なくとも一部を乱数として出力する構成とすることができる。 The random number generation unit acquires N primitive random numbers generated by the primitive random number acquisition unit within a range from 0 to a (a is a positive real number), and generates a random number within a range from 0 to a. In the case of generating, (a−x n ) can be calculated as a sign inversion process for the nth primitive random number x n . The random number output unit may be configured to output at least a part of the original random number acquired as the random number as a random number.
このような「符号の反転処理」による乱数の生成は、例えば3次元多重積分の場合や3変数モデルのシミュレーションを行うような場合にはN=3として乱数を生成することが好適である。3本の座標軸の全てについて、均等分布性、多次元確率分布への当てはまりを改善することができるからである。4次元多重積分の計算を行う場合などにはN=4とすることが好適となる。 For the generation of random numbers by such “sign inversion processing”, for example, in the case of three-dimensional multiple integration or the simulation of a three-variable model, it is preferable to generate random numbers with N = 3. This is because it is possible to improve the uniform distribution and the fit to the multi-dimensional probability distribution for all three coordinate axes. In the case of performing the calculation of four-dimensional multiple integration, it is preferable to set N = 4.
本発明に係る乱数生成手法の適用範囲は、多重積分に限定されず、種々のモンテカルロ法シミュレーションに用いることができる。特に、一様乱数、正規乱数など、分布に対称性を有する乱数が好適に用いられるような計算に適している。本発明に係る乱数生成プログラムは、本発明に係る乱数生成をコンピュータに実行させることを特徴とするコンピュータ・プログラムである。本発明に係る記録媒体は、本発明に係るコンピュータ・プログラムを記録したコンピュータ読み取り可能な記録媒体であって、記録媒体には、例えばROM、CD−ROM、DVD等の各種記録媒体が含まれる。本発明に係る乱数生成は、電子回路を用いてハードウェア的に実現することもできる。 The application range of the random number generation method according to the present invention is not limited to multiple integration, and can be used for various Monte Carlo simulations. In particular, it is suitable for calculations in which random numbers having symmetry in distribution, such as uniform random numbers and normal random numbers, are preferably used. A random number generation program according to the present invention is a computer program that causes a computer to execute random number generation according to the present invention. The recording medium according to the present invention is a computer-readable recording medium in which the computer program according to the present invention is recorded. Examples of the recording medium include various recording media such as ROM, CD-ROM, and DVD. The random number generation according to the present invention can also be realized by hardware using an electronic circuit.
本発明に係る乱数生成装置等によると、計算量を低減しつつ、乱数分布の適切化を図ることができるという効果を奏する。 According to the random number generation device and the like according to the present invention, the random number distribution can be optimized while reducing the amount of calculation.
以下、本発明の実施の形態について、図面を参照しながら説明する。図1は、本実施の形態の乱数生成装置の概略構成について説明するためのブロック図である。本実施の形態の乱数生成装置100は、原始乱数取得部101、乱数生成部102、乱数出力部103を備えている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram for explaining a schematic configuration of the random number generation device according to the present embodiment. The random
原始乱数取得部101は、本実施の形態の乱数生成装置における乱数生成の基礎となる原始乱数を取得する。原始乱数は、一様乱数の場合、例えば上記MT法により生成された乱数でも良いし、他の方法により生成された擬似乱数、自然乱数であっても良い。正規乱数の場合では、渋谷氏による正規乱数であっても良い。
The primitive random
乱数生成部102は、原始乱数取得部101が取得したN個の乱数から、符号の反転処理により、N個を超える乱数を生成する。乱数生成部102の処理については、後で詳細に説明する。
The random
乱数出力部103は、乱数生成部102にて生成された乱数を出力する。乱数出力部103が出力する乱数には、原始乱数取得部101が取得した原始乱数を含む構成とすることができる。乱数出力部103が出力した乱数が、順次、例えばモンテカルロ法シミュレーションに用いられる。
The random
(実施の形態1)
本発明の第1の実施の形態として、原始乱数取得部101が順次2個ずつの乱数を取得する場合(N=2)について説明する。図2は、本実施の形態の乱数生成部102の処理内容について説明するための図である。
(Embodiment 1)
As a first embodiment of the present invention, a case where the original random
同図の例において、原始乱数取得部101が2個の原始乱数(x1,y1)を取得したとする。乱数生成部102は、当該2個の乱数から、符号の反転処理により、6個の新たな乱数を生成する。即ち、x―y座標の原点を(0,0)とした場合、(x1,―y1)(―x1,y1)(―x1,―y1)の6個の新たな乱数が生成される。
In the example of the figure, it is assumed that the primitive random
乱数出力部103は、乱数生成部102で新たに生成された6個の乱数に原始乱数2個を加えて、合計8個の乱数を出力する。その後、原始乱数取得部101は、さらに2個の原始乱数を取得し、上記と同様に6個の新たな乱数を生成し、乱数出力部103が8個の乱数を出力する。この処理を繰り返すことにより、多量の乱数を順次生成することができる。本実施の形態の乱数生成部102の処理のような符号の反転処理は、原始乱数の生成処理と比較して、少ない計算量で済むため、必要な乱数の数が増加するほど、計算量減少効果は大きくなる。
The random
なお、原始乱数生成部101が、0から1の間で生成される原始乱数を取得し、乱数出力部103が、やはり0から1の間の乱数を出力する構成とする場合には、図2における原点を(0.5,0.5)とすればよい(0.5=1/2)。図3は、原点を(0.5,0.5)とした場合について説明するための図である。この場合、原始乱数取得部101が取得した原始乱数が、第1象限から第4象限の中のどこに位置するかは不定であるが、いずれの象限に入った場合でも、6個の新たな乱数を容易に生成することができることは明らかである。原点が(0,0)以外の場合であっても、原始乱数が0からaまで(aは正の実数)の範囲であって、乱数生成部102が0からaまでの範囲内の乱数を出力する場合、原点の値をa/2として、n番目の原始乱数の値xnを(a−xn)の値に変換すれば良い。xnを(a―xn)に変換することも「符号の反転処理」に含める。この「符号の反転処理」の定義については、原始乱数の数Nが増加しても同様に考えることができる。なお、区間(a,b)の一様乱数ηは、0から1までの範囲で生成される一様乱数ξを使って、η=(b−a)×ξ+aのように変換することができる。また、(a+b)/2を原点として「符号の反転処理」を行っても良い。即ち、区間(a,b)の一様乱数であっても「符号の反転処理」は可能である。正規乱数の場合でも、原点が対称点となるように変換しておけば、容易に「符号の反転処理」は実現することができる。なお、一般に正規乱数の場合、実際に必要とされる正規乱数の分布のピークの位置は0ではないことも多いが、経験的に(あるいは実測にて)得られた目標値としてのピークの値を原点と考えて「符号の反転処理」を行うようにすることもできる。
In the case where the primitive
このような乱数生成方法と用いた場合の利点は、一様乱数における均等分布性の改善、正規乱数においては、乱数分布への当てはまり方(多次元確率分布への当てはまり方)の改善を図ることができる点である。即ち、多重積分などの領域積分型モンテカルロ法、事象再現型モンテカルロ法のいずれにも適用可能な、シミュレーションに用いる乱数としての質を保ちつつ、大幅に計算量を削減することが可能となる。 The advantage of using such a random number generation method is to improve the uniform distribution of uniform random numbers, and to improve the method of applying to random numbers (how to apply to multidimensional probability distributions) for normal random numbers. It is a point that can be. That is, it is possible to significantly reduce the amount of calculation while maintaining the quality as a random number used for simulation, which can be applied to both the area integration type Monte Carlo method such as multiple integration and the event reproduction type Monte Carlo method.
(実施の形態2)
第1の実施の形態では、原始乱数取得部101が2個ずつの原始乱数を取得する場合について説明した。第2の実施の形態では、原始乱数取得部101が3個ずつの原始乱数を取得する場合(N=3)について説明する。
(Embodiment 2)
In the first embodiment, the case where the source random
図4は、本実施の形態における乱数生成部102の処理内容について説明するための図である。本実施の形態では、原始乱数取得部101が(x1,y1,z1)という3個の原始乱数を取得する。
FIG. 4 is a diagram for explaining the processing contents of the random
乱数生成部102は、前記3個の原始乱数から、21個の乱数を生成する。21個とは、3*23−3に相当する。この個数は、取得した原始乱数の個数Nに、2のN乗を乗算し、原始乱数の個数Nを減算した値である。図5は、本実施の形態における乱数生成の具体的な考え方について説明するための図である。
The random
原始乱数が3個であるから、まず、いずれか1個(例えばz1)について符号の反転処理を行う。次に、例えばy1について符号の反転処理を行い、z1、−z1として処理を行う。さらに、x1についても符号の反転処理を行い、順次符号の反転処理が実行される原始乱数を増加させる。 Since there are three primitive random numbers, first, the sign inversion process is performed for any one (for example, z 1 ). Next, for example, the sign inversion process is performed for y 1 , and the process is performed as z 1 and −z 1 . Furthermore, it performs inversion processing of the code also x 1, increases the primitive random sequential inversion processing of the code is executed.
最終的に、3個の原始乱数全てについて符号の反転処理がなされ、乱数(―x1,―y1,―z1)を得る。以上のような処理の結果、原始乱数を除き、全部で21(=7*3)個の乱数が生成される。原始乱数取得部101が取得する原始乱数の個数Nを増加させていくに従い、多数の乱数を発生させるために必要な計算量は、通常の乱数生成と比較して減少していくという効果が奏せられる。原始乱数が0から1の間で生成され、0から1の間で乱数を生成する場合、即ち原点を(0.5,0.5,0.5)とした場合等の乱数生成方法(符号の反転処理の考え方)は、第1の実施の形態と同様である。
Finally, the sign inversion process is performed for all three primitive random numbers to obtain random numbers (-x 1 , -y 1 , -z 1 ). As a result of the above processing, a total of 21 (= 7 * 3) random numbers are generated except the original random number. As the number N of the source random numbers acquired by the source random
上記第1及び第2の実施の形態では、原始乱数取得部101が2個、又は3個の原始乱数を取得し、乱数生成部102が、2*22−2(=6)個、又は3*23−3(21個)の乱数を生成する場合について説明した。しかしながら、原始乱数取得部101が取得する原始乱数の個数は、2個、3個に限定されるわけでは勿論なく、4個以上として、乱数生成部102における乱数生成の次元数を大きくすることもでき、理論上はNの値を増加させるほど、計算量は(1/2N)と大幅に減少する。もっとも処理時間は具体的なプログラミングの手法によっても異なる。
In the first and second embodiments, the source random
例えば、N=4とした場合、図6に示されるように、4個の原始乱数から60個の新たな乱数が生成される。もっとも、Nの数値を大きくすればするほど、乱数として、絶対値同一の値が出力される割合は増加することになる。これは、いわゆる準モンテカルロ法に用いるような場合には大きな問題とはならない可能性もあるし、下記に説明するような4次元多重積分、あるいは4変数モデルのシミュレーションにおいては、むしろ好適である。他の用途に用いるのであれば、乱数生成部102が生成した乱数の中から、絶対値同一の値を間引いて出力するような実施形態も可能である。
For example, when N = 4, as shown in FIG. 6, 60 new random numbers are generated from 4 primitive random numbers. However, the larger the numerical value of N, the higher the ratio of outputting the same absolute value as a random number. This may not be a big problem when used in a so-called quasi-Monte Carlo method, and is rather preferable in the simulation of a four-dimensional multiple integration or a four-variable model as described below. If used for other purposes, an embodiment in which the same absolute value is thinned out and output from the random numbers generated by the random
図7は、本実施の形態の乱数生成を適用した多重積分の数値計算例を示す図である。同図中において、「通常乱数」とは、富士通Fortran&C Academic Package V4.0に添付されている乱数生成プログラムを用いたものを言い、MT乱数とは、上記メルセンヌ・ツイスタ乱数である。計算例1は、3次元多重積分に上記実施の形態(N=3)を適用した場合の結果を示すものであり、計算例2は、4次元多重積分に上記実施の形態(N=4)を適用した場合の結果を示すものである。計算例1では、大きな精度向上効果が見られる。また、計算例2では、精度向上効果に加え、計算時間の短縮効果も大きいことがわかる。上記Nで表される次元数が大きくなるほど、本願発明の計算量削減効果が大きくなることが示された。 FIG. 7 is a diagram illustrating a numerical calculation example of multiple integration to which the random number generation according to the present embodiment is applied. In the figure, “normal random number” means a program using a random number generation program attached to Fujitsu Fortran & C Academic Package V4.0, and MT random number is the Mersenne Twister random number. Calculation example 1 shows the result when the above embodiment (N = 3) is applied to three-dimensional multiple integration, and calculation example 2 shows the above embodiment (N = 4) for four-dimensional multiple integration. The result when applying is shown. In Calculation Example 1, a large accuracy improvement effect is seen. In addition, it can be seen that the calculation example 2 has a large effect of reducing the calculation time in addition to the accuracy improvement effect. It was shown that the calculation amount reduction effect of the present invention increases as the number of dimensions represented by N increases.
本発明は、例えば、モンテカルロ法に用いる乱数生成に適用することができる。 The present invention can be applied to, for example, random number generation used in the Monte Carlo method.
101 原始乱数取得部
102 乱数生成部
103 乱数出力部
101 Primitive random
Claims (20)
前記N個の原始乱数から、符号の反転処理により、乱数を生成する乱数生成部と、
前記乱数生成部が生成した乱数の少なくとも一部を、乱数として出力する乱数出力部とを備え、
前記乱数生成部は、
前記N個の原始乱数を(x1,x2,・・xN)と表した場合に、前記N個の原始乱数の少なくとも一つの符号の反転処理を行ってN個の乱数を生成するとともに、N個の原始乱数のうち、符号の反転処理を行う原始乱数の個数を変化させて、最終的にN個全部の原始乱数の符号の反転処理が成されるまで、乱数を生成する
ことを特徴とする乱数生成装置。 A source random number acquisition unit for acquiring N (N is a natural number of 2 or more) source random numbers;
A random number generator for generating a random number from the N primitive random numbers by means of sign inversion;
A random number output unit that outputs at least a part of the random number generated by the random number generation unit as a random number;
The random number generator
When the N primitive random numbers are represented as (x 1 , x 2 ,... X N ), N number of random numbers is generated by performing an inversion process of at least one code of the N primitive random numbers. , Change the number of primitive random numbers for which the sign inversion process is performed among N primitive random numbers, and finally generate random numbers until the sign inversion process for all N primitive random numbers is performed. Random number generator characterized.
前記N個の原始乱数から、(N*2N−N)個の乱数を生成する
ことを特徴とする請求項1に記載の乱数生成装置。 The random number generator
The random number generation device according to claim 1, wherein (N * 2 N −N) random numbers are generated from the N primitive random numbers.
前記原始乱数取得部が、0からa(aは正の実数)までの範囲内で生成されたN個の原始乱数を取得し、0からaまでの範囲内で乱数を生成する場合に、n番目の原始乱数xnに対する符号の反転処理として(a−xn)を算出する
ことを特徴とする請求項1又は2に記載の乱数生成装置。 The random number generator
When the primitive random number acquisition unit acquires N primitive random numbers generated within a range from 0 to a (a is a positive real number), and generates a random number within a range from 0 to a, n The random number generation device according to claim 1, wherein (a−x n ) is calculated as a sign inversion process with respect to the first primitive random number x n .
ことを特徴とする請求項1又は2に記載の乱数生成装置。 When the primitive random number acquisition unit acquires N primitive random numbers generated within a range from a to b, and the random number generation unit generates a random number within a range from a to b, (a + b) The random number generation device according to claim 1 or 2, wherein a sign inversion process with / 2 as an origin is performed.
ことを特徴とする請求項1又は2に記載の乱数生成装置。 The said random number generation part performs the inversion process of the code | symbol which used the preset target value as the origin, when the said primitive random number acquisition part acquires a regular random number. Random number generator.
前記原始乱数取得した原始乱数の少なくとも一部を乱数として出力する
ことを特徴とする請求項1から5のいずれかに記載の乱数生成装置。 The random number output unit
6. The random number generation device according to claim 1, wherein at least a part of the acquired original random number is output as a random number.
前記乱数生成部は、取得した2個の原始乱数から6個の乱数を生成する
ことを特徴とする請求項1から6のいずれかに記載の乱数生成装置。 The primitive random number obtaining unit obtains two primitive random numbers,
The random number generation device according to claim 1, wherein the random number generation unit generates six random numbers from the two acquired primitive random numbers.
前記乱数生成部は、取得した3個の原始乱数から21個の乱数を生成する
ことを特徴とする請求項1から6のいずれかに記載の乱数生成装置。 The primitive random number obtaining unit obtains three primitive random numbers,
The random number generation device according to any one of claims 1 to 6, wherein the random number generation unit generates 21 random numbers from the obtained three primitive random numbers.
前記Nの値の指定入力を受け付ける次元数指定入力受付部を備える
ことを特徴とする請求項1から6のいずれかに記載の乱数生成装置。 The random number generation device includes:
The random number generation device according to any one of claims 1 to 6, further comprising: a dimension number designation input receiving unit that receives a designation input of the value of N.
前記乱数生成部が生成した乱数から、同一の値を間引いて乱数として出力する
ことを特徴とする請求項1から9のいずれかに記載の乱数生成装置。 The random number output unit
The random number generation device according to claim 1, wherein the same value is thinned out from the random number generated by the random number generation unit and output as a random number.
前記N個の原始乱数から、符号の反転処理により、乱数を生成する乱数生成ステップとを含み、
前記乱数生成ステップでは、
前記N個の原始乱数を(x1,x2,・・xN)と表した場合に、前記N個の原始乱数の少なくとも一つの符号の反転処理を行ってN個の乱数を生成するとともに、N個の原始乱数のうち、符号の反転処理を行う原始乱数の個数を変化させて、最終的にN個全部の原始乱数の符号の反転処理が成されるまで、乱数を生成する
ことを特徴とする乱数生成方法。 A primitive random number obtaining step of obtaining N (N is a natural number of 2 or more) primitive random numbers;
A random number generation step of generating a random number from the N primitive random numbers by a sign inversion process;
In the random number generation step,
When the N primitive random numbers are represented as (x 1 , x 2 ,... X N ), N number of random numbers is generated by performing an inversion process of at least one code of the N primitive random numbers. , Change the number of primitive random numbers for which the sign inversion process is performed among N primitive random numbers, and finally generate random numbers until the sign inversion process for all N primitive random numbers is performed. Characteristic random number generation method.
前記N個の原始乱数から、(N*2N−N)個の乱数を生成する
ことを特徴とする請求項10に記載の乱数生成方法。 In the random number generation step,
The random number generation method according to claim 10, wherein (N * 2 N −N) random numbers are generated from the N primitive random numbers.
前記原始乱数取得部ステップにおいて0からa(aは正の実数)までの範囲内で生成されたN個の原始乱数を取得し、0からaまでの範囲内で乱数を生成する場合に、n番目の原始乱数xnに対する符号の反転処理として(a−xn)を算出する
ことを特徴とする請求項11又は12に記載の乱数生成方法。 In the random number generation step,
When N primitive random numbers generated in the range from 0 to a (a is a positive real number) are acquired in the primitive random number acquisition unit step, and random numbers are generated in the range from 0 to a, n 13. The random number generation method according to claim 11, wherein (a−x n ) is calculated as a sign inversion process for the first primitive random number x n .
前記N個の原始乱数から、符号の反転処理により、乱数を生成する乱数生成処理とをコンピュータに実行させ、
前記乱数生成処理では、
前記N個の原始乱数を(x1,x2,・・xN)と表した場合に、前記N個の原始乱数の少なくとも一つの符号の反転処理を行ってN個の乱数を生成するとともに、N個の原始乱数のうち、符号の反転処理を行う原始乱数の個数を変化させて、最終的にN個全部の原始乱数の符号の反転処理が成されるまで、乱数を生成する処理をコンピュータに実行させる
ことを特徴とする乱数生成プログラム。 Primitive random number acquisition processing for acquiring N (N is a natural number of 2 or more) primordial random numbers;
Causing the computer to execute a random number generation process for generating a random number from the N primitive random numbers by a sign inversion process;
In the random number generation process,
When the N primitive random numbers are represented as (x 1 , x 2 ,... X N ), N number of random numbers is generated by performing an inversion process of at least one code of the N primitive random numbers. , Among the N primitive random numbers, changing the number of primitive random numbers for which the sign inversion process is performed, and finally generating a random number until the sign inversion process for all N primitive random numbers is performed. A random number generation program that is executed by a computer.
前記N個の原始乱数から、(N*2N−N)個の乱数を生成する
ことを特徴とする請求項14に記載の乱数生成プログラム。 In the random number generation process,
The random number generation program according to claim 14, wherein (N * 2 N −N) random numbers are generated from the N primitive random numbers.
前記原始乱数取得処理において0からa(aは正の実数)までの範囲内で生成されたN個の原始乱数を取得し、0からaまでの範囲内で乱数を生成する場合に、n番目の原始乱数xnに対する符号の反転処理として(a−xn)を算出する
ことを特徴とする請求項14又は15に記載の乱数生成プログラム。 In the random number generation process,
In the primitive random number acquisition process, when N primitive random numbers generated within a range from 0 to a (a is a positive real number) are acquired and a random number is generated within a range from 0 to a, the nth The random number generation program according to claim 14, wherein (a−x n ) is calculated as a sign inversion process for the original random number xn .
前記乱数生成部は、
前記N個の原始乱数を(x1,x2,・・xN)と表した場合に、前記N個の原始乱数の少なくとも一つの符号の反転処理を行ってN個の乱数を生成するとともに、N個の原始乱数のうち、符号の反転処理を行う原始乱数の個数を変化させて、最終的にN個全部の原始乱数の符号の反転処理が成されるまで、乱数を生成する
ことを特徴とする電子回路部品。 An electronic circuit component including a random number generation unit that generates a random number from N (N is a natural number of 2 or more) primitive random numbers by a sign inversion process,
The random number generator
When the N primitive random numbers are represented as (x 1 , x 2 ,... X N ), N number of random numbers is generated by performing an inversion process of at least one code of the N primitive random numbers. , Change the number of primitive random numbers for which the sign inversion process is performed among N primitive random numbers, and finally generate random numbers until the sign inversion process for all N primitive random numbers is performed. Features electronic circuit components.
シミュレーション計算対象が3次元多重積分計算である
ことを特徴とするシミュレーション装置。 In the simulation apparatus which performs simulation using the random number generated by the random number generation apparatus according to claim 8,
A simulation apparatus characterized in that a simulation calculation object is a three-dimensional multiple integral calculation.
N次元多重積分若しくは変数N個にモデリングされた数式のシミュレーション計算を行う場合に、N個の原始乱数を取得して前記乱数生成部により生成された乱数を用いることを特徴とするシミュレーション装置。 In the simulation apparatus which performs a simulation using the random number generated by the random number generation apparatus according to claim 1,
An N-dimensional multiple integration or a simulation apparatus characterized by using N random numbers generated by the random number generation unit by acquiring N primitive random numbers when performing simulation calculation of a mathematical model modeled on N variables.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009085223A JP5273613B2 (en) | 2009-03-31 | 2009-03-31 | Random number generation apparatus, random number generation method, random number generation program, and simulation apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009085223A JP5273613B2 (en) | 2009-03-31 | 2009-03-31 | Random number generation apparatus, random number generation method, random number generation program, and simulation apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010237961A JP2010237961A (en) | 2010-10-21 |
JP5273613B2 true JP5273613B2 (en) | 2013-08-28 |
Family
ID=43092216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009085223A Expired - Fee Related JP5273613B2 (en) | 2009-03-31 | 2009-03-31 | Random number generation apparatus, random number generation method, random number generation program, and simulation apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5273613B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5754726B2 (en) * | 2011-03-31 | 2015-07-29 | 独立行政法人国立高等専門学校機構 | Random number seed selection device, random number seed selection method, and random number seed selection program |
KR101839753B1 (en) | 2016-02-29 | 2018-04-26 | (주) 카이엠 | Method and device for controlling deviation of random number and method and device for simulation by controlling deviation of random number |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3580737B2 (en) * | 1999-08-30 | 2004-10-27 | 富士通株式会社 | Normal random number generator and recording medium |
JP2002015265A (en) * | 2000-06-30 | 2002-01-18 | Numerical Technologies Inc | Method and system for simulation of asset variation of asset management and method for generating pseudo- random number used for the same simulation |
-
2009
- 2009-03-31 JP JP2009085223A patent/JP5273613B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010237961A (en) | 2010-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | A 3D memristive cubic map with dual discrete memristors: design, implementation, and application in image encryption | |
JP5864684B1 (en) | Semiconductor device | |
Medykovskyy et al. | Methods of protection document formed from latent element located by fractals | |
JP5273613B2 (en) | Random number generation apparatus, random number generation method, random number generation program, and simulation apparatus | |
Valdez et al. | A framework for interactive structural design exploration | |
WO2018104993A1 (en) | Information processing apparatus and program | |
CN119783836A (en) | A method for constructing chaotic system model based on state variables and uncertain variables | |
Lo et al. | Studies on linear matrix inequality relaxations for fuzzy control systems via homogeneous polynomials | |
Kıran | A novel chaos-based encryption technique with parallel processing using CUDA for mobile powerful GPU control center | |
JP2018120536A (en) | Data interpolation apparatus and method therefor, and image processing apparatus | |
CN103020474A (en) | Cluster model determining method based on cluster statistical distribution model and power spectrum model | |
CN110427630A (en) | Method, apparatus, electronic equipment, storage medium and the translation model of machine translation | |
KR101321897B1 (en) | A high-performance digital hologram generating device based on independent calculation of a holographic pixel | |
Nowak et al. | On harmonic analysis operators in Laguerre-Dunkl and Laguerre-symmetrized settings | |
CN109375895A (en) | Acceleration method and device for polynomial multiplication, and NTRU encryption and decryption acceleration method and device | |
Garg et al. | Three-dimensional generalized differential transform method for space-time fractional diffusion equation in two space variables with variable coefficients | |
Kumar et al. | Analysis of the Impact of Logistic Map with Gaussian Membership Function for Cryptography. | |
JP6067596B2 (en) | Pairing arithmetic device, multi-pairing arithmetic device, program | |
Bonny et al. | A New Chaotic System With Two Stable Node-Foci Equilibria and an Unstable Saddle-Focus Equilibrium: Bifurcation and Multistability Analysis, Circuit Design, Voice Cryptosystem Application, and FPGA Implementation | |
JP5164215B2 (en) | Data converter | |
JP2010111099A5 (en) | Image processing apparatus, image processing method, and program | |
JP5291642B2 (en) | Graph state generation apparatus and method | |
JP2021184225A (en) | Conversion program, conversion method and information processor | |
Garcia-Mallen et al. | Towards an accelerator for differential and algebraic equations useful to scientists | |
Esen et al. | Superintegrable cases of four-dimensional dynamical systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120321 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130507 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |