Condensed Matter Physics 2006, Vol. 9, No 2(46), pp. 367–372

A recipe for an unpredictable random number generator ˜ ´ M.A.Garc´ıa-Nustes, L.Trujillo, J.A.Gonzalez Centro de F´ısica, Instituto Venezolano de Investigaciones Cient´ıficas (IVIC), A.P 21827, Caracas 1020–A, Venezuela

Received February 27, 2006, in final form April 19, 2006 In this work we present a model for computing the random processes in digital computers which solves the problem of periodic sequences and hidden errors produced by correlations. We show that systems with noninvertible non-linearities can produce unpredictable sequences of independent random numbers. We illustrate our results with some numerical calculations related to random walks simulations. Key words: random number generator, independent random numbers PACS: 05.10.-a, 05.40.a, 05.40.Fb, 07.05.Tp

Many challenging problems in computational physics are associated with reliable realizations of randomness (e.g. Monte Carlo simulations). In a typical 32-bit format a maximum of 232 floating point numbers can be represented. Therefore, a recursive function Xn+1 = f (Xn , Xn−1 , . . . , Xn−r+1 ) acting on these numbers generates a sequence X0 , X1 , X2 , . . . , XN −1 which should repeat itself. It is known that for any recursive function, a digital computer can only generate periodic sequences of numbers [1–7]. These generators are not unpredictable. Definition of truly unpredictable process: The next values are not determined by the previous values. A process Xn = P (θT Z n ) is said to be unpredictable if for any string of values X0 , X1 , X2 , . . . , Xm of length m + 1, generated using some θ = θ1 , there are other values of θ for which function Xn = P (θT Z n ) generates exactly the same string of numbers X0 , X1 , X2 , . . . , Xm , but the next value Xm+1 is different, where m is any integer. Note that this kind of process cannot be expressed as a map of type Xn+1 = f (Xn , Xn−1 , . . . , Xn−r+1 ) [8–10]. All the known generators (in some specific physical calculations) give rise to incorrect results because they deviate from randomness [2,4,5,7]. It is trivial that any periodic process is not unpredictable. Suppose that mT is the period of the sequence generated. Given any string of mT values: Xs , Xs+1 , . . . , XmT −1 ; the next value XmT is always known because the process is periodic. On the other hand, for any generator of type Xn+1 = f (Xn , Xn−1 , . . . , Xn−r+1 ), given any string of r values: Xs , Xs+1 , . . . , Xs+r−1 ; the next value Xs+r is always determined by the previous r values. Thus it is not unpredictable. So the subsequences must be correlated. An example of this can be found in [5], where the authors have shown that using common pseudo random number generators, the produced random walks present symmetries, meaning that the generated numbers are not independent. On the other hand, the logarithmic plot of the mean distance hdi versus the number of steps N is not a straight line (as expected theoretically, hdi ∼ N 1/2 ) after N > 105 (in fact, it is a rapidly decaying function). Here d is defined as the end to end mean-square distance from the origin of the random walk as a function of the number of steps. Other papers on the effect of the pseudorandom number generator on random walk simulations are as follows [11–13]. In the following, we shall show that using non-invertible nonlinear functions, we can create an unpredictable random number generator which does not contain visible correlations while simulating a random walk with the length 109 . Let us investigate the following function[8–10]: Xn = P (θ T Z n ), ˜ c M.A.Garc´ıa-Nustes, ´

L.Trujillo, J.A.Gonzalez

(1) 367

˜ ´ M.A.Garc´ıa-Nustes, L.Trujillo, J.A.Gonzalez

where P (t) is a periodic function, θ is a real number, T is the period of the function P (t), and Z is a noninteger real number. Let Z be a rational number expressed as Z = p/q, where p and q are relative prime numbers. Now let us define the following family of sequences   s  n  q p (k,m,s) m Xn = P T (θ0 + q k) , (2) p q where k, m and s are non-negative integers. Parameter k distinguishes different sequences. For all sequences parametrized by k, the strings of m + 1 values Xs , Xs+1 , Xs+2 , . . . , Xs+m are the same. This is because   s  n    s  n  q p q p + T kpn−s q (m−n+s) = P T θ0 Xn(k,m,s) = P T θ0 p q p q for all s 6 n 6 m + s. Note that the number k p(n−s) q (m−n+s) is an integer for s 6 n 6 m + s. So we can have an infinite number of sequences that share the same string of m + 1 values. Nevertheless, the next value " #  s  (s+1) q p T kp(m+1) (k,m,s) Xs+1 = P T θ0 + p q q (k,m,s)

is uncertain. In general Xs+1

(k,m,s)

Xs−1

(k,m,s)

can take q different values. In addition, the value Xs−1 " #  s  (s−1) p T kq (m+1) q = P T θ0 + , p q p

,

is also undetermined from the values of the string Xs , Xs+1 , Xs+2 , . . . , Xs+m . There can be p different possible values. In the case of a generic irrational Z, there are infinite possibilities for the future and for the past. From the observation of the string Xs , Xs+1 , Xs+2 , . . . , Xs+m , there is no method for determining the next and the previous values of the sequence. But this is not the only feature of these functions. It can be shown that there are no statistical correlations between Xm and Xn if m 6= n, and that they are also independent in the sense that their probability densities satisfy the relationship P (Xn , Xm ) = P (Xn )P (Xm ) [14,15]. Moreover, we shall show that, given the function (1), any string of sequences Xs , Xs+1 , . . . , Xs+r constitutes a set of statistically independent random variables. Without loss of generality, we assumePthat P (t) has zero mean and can be expressed using the ∞ following Fourier representation P (t) = k=−∞ ak eiπkt . We can calculate the r-order correlation functions [14,15]: Z E(Xn1 · · · Xnr) = dθP (T θZ n1 ) · · · P (T θZ nr ) = =

X ∞ X

k1 =−∞ ∞ X

k1 =−∞

··· ···

∞ X

kr =−∞ ∞ X

kr =−∞

ak1 · · · akr

Z

1

0

dθ exp {iπ(k1 Z n1 + · · · + kr Z nr )T θ}

ak1 · · · akr δ(k1 Z n1 + · · · + kr Z nr , 0),

(3)

where the coefficients ki can be different integers, and δ(n, m) = 1 if n = m or δ(n, m) = 0 if n 6= m. When all ni are even, the following equation is satisfied n2 nr n2 nr E(Xsn1 Xs+1 · · · Xs+r ) = E(Xsn1 )E(Xs+1 ) · · · E(Xs+r ).

(4)

The main problem in this equation is when one of the numbers ni is odd. In this case, the n2 nr correlations E(Xsn1 Xs+1 · · · Xs+r ) should be zero. A nonzero correlation in equation (4) exists 368

Unpredictable random number generator

only for the sets (n1 , n2 , . . . , nr ) that satisfy the equation k1 Z n1 + · · · + kr Z nr = 0. For a typical real number Z, this equation is never satisfied. If we use non-invertible nonlinear functions, type of (1), we can implement a Truly Random Number Generator (TRNG). In this case, we propose the following function Xn = [θs Z n ]

mod 1.

(5)

Function (5) is an example of the general case Xn = P [θT Z n ] studied in this paper. We have shown that the subsequences Xs , Xs+1 , . . . , Xs+r constitute a set of statistically independent random variables. The particular case of function (5) is well-known to produce uniformly distributed numbers [8–10]. Now we shall formulate a central limit theorem. Using theorems proved in previous studies [14–19] and the results obtained from this paper, we obtain the following formula: If Z is a generic real number and Xn = 2(Yn − 1/2), Yn = [θZ n ] mod 1, then   Z β 2 X1 + X2 + · · · Xr 1 √ lim P α < <β = √ e−ξ dξ. r→∞ r π α

(6)

The Gaussian distribution of the sums is correct even for other functions Xn = P [θZ n ], where P (t) is periodic. This has been shown in numerical simulations [14]. The numbers Xn = [θZ n ] mod 1 are uniformly distributed[8–10]. We can simulate different stochastic processes (with different distributions) using different functions Xn = P [θT Z n ]. As ρ(Xn ) = 1, ρ(Xn+1 ) = 1, ρ(Xn , Xn+1 ) = 1, it is trivial that they are independent. It is interesting to check the theoretical predictions using numerical simulations of the behavior of different stochastic processes. For instance, let us study the function Un = cos[2πθZ n ]. All the moments and higher-order correlations can be exactly calculated [14,15]: For odd m: E(Unm ) = 0. If any ni is odd, then

n1 nr E(Usn0 Us+1 · · · Us+r ) = 0.

(7)

(8) (9)

Suppose now that all ni are even: n1 nr E(Usn0 Us+1 · · · Us+r ) =

E(Usn0 ) = n1 E(Us+1 ) = nr E(Us+r ) =

     n1 nr n0 2−(n0 +n1 +···+nr ) · · · , n1 nr n0 2 2 2   n0 2−n0 , n0 2   n1 2−n1 ,..., n1 2   nr 2−nr . nr

(10) (11) (12) (13)

2

Note that the condition for independence is satisfied n1 nr n1 nr E(Usn0 Us+1 · · · Us+r ) = E(Usn0 )E(Us+1 ) · · · E(Us+r ),

(14)

for all integers n0 , n1 , . . . nr . We have performed extensive numerical simulations that confirm the values of these moments and the independent conditions. An additional checking is as follows. 369

˜ ´ M.A.Garc´ıa-Nustes, L.Trujillo, J.A.Gonzalez

(a)

(b) 4500

4000

4000

3500

3500

3000

3000

n+1

2500

ρ(U

n

ρ(U )

)

4500

2000

2500 2000

1500

1500

1000

1000

500

500

0 −1

−0.5

0

0.5

1

0 −1

Un

−0.5

0

0.5

1

Un+1

Figure 1. Probability densities for random variables Un = cos[2πθZ n ] and Vn = Un+1 . √ √ −1 −1 (a) ρ(U ) = (π 1 − U 2 ) ; (b) ρ(V ) = (π 1 − V 2 ) .

Figure 2. Probability density ρ(Un , Un+1 ), when Un −1 (π 2 (1 − U 2 )(1 − V 2 )) .

= cos[2πθZ n ]. Here ρ(U, V )

=

√ −1 The probability density of Un is ρ(U ) = (π 1 − U 2 ) . Define Vn = Un+1 . The probability √ −1 density of Vn is ρ(V ) = (π 1 − V 2 ) . We have checked both theoretically and numerically that p −1 ρ(U, V ) = (π 2 (1 − U 2 )(1 − V 2 )) , that is ρ(U, V ) = ρ(U )ρ(V ). This can be observed in figure 1 and figure 2. In order to avoid computation problems, we have used the following procedure. We change parameter θ after each set of M values of Xn , where M is the maximum number for which there are no overflow problems, such that the next value of Xn+1 is obtained with the new θ. Let us define θs = A(Cs + Xs ) + 0.1, (15) where Cs is a sequence obtained using the digits of the Champernowne’s number [20] (i.e., 0.1234567891011 . . .): C0 = 0.123456 , C1 = 0.234567, C2 = 0.345678, C3 = 0.456789, C4 = 0.567891, and so on. This sequence is nonperiodic. Index s is the order number of θ, such that s = 0 corresponds to the θ used for the first set of M sequence values X1 , X2 , . . . , XM ; s = 1 for the second set XM+1 , XM+2 , . . . , X2M , and so on. X0 represents the TRNG’s seed. Using this method we have generated a very long sequence of random numbers without computational problems. To test function (5) as a truly random number generator, we have implemented a random walk 370

Unpredictable random number generator

simulation program in C++. We have made a sampling test of a random walk with N = 109 steps with 100 realizations with different initial seeds. The mean distance hdi was being calculated every 1000 steps of the random walk. The Champernowne sequence of numbers used in the generator was produced previously by a short C++ program, who created a sequence of a maximum of 40000 Champernowne’s numbers. If a larger amount of values to Cs is necessary, it can be obtained using a segment code that has 40 thousand values already stored in Cs and mixing them, e.g. the algorithm takes the first value of the series C1 , the third C3 and so on, and adds them at the end of the series, obtaining Cs+1 = C1 , Cs+2 = C3 ,. . . ; if more values are necessary, this procedure or cycle is repeated but now skipping two values C1 , C3 , C5 ,. . . three values C1 , C4 , C7 and so on. In this way, we can make the Cs sequence as large as we wish. We present a logarithmic plot of the mean distance hdi versus the number of steps N with N = 109 steps with A = 6.9109366 and Z = π/2 (See figure 3). We can verify that there is no deviation from the theoretical straight line, even for N  105 steps, which is a very good test of the reliability of the Random Number Generator used in the random walk simulations. (a)

(b)

8

5

10

10

7

10 4

10

6

10

log

log

3

10

2

10

5

10

4

10

3

10 1

10

2

10

1

0

10 0 10

2

10

4

6

10

10

log(N)

8

10

10

10

10

1

10

2

10

3

10

4

10

5

10

log (N)

Figure 3. Logarithmic plot of the mean distance hdi versus the number of steps N = 109 steps. (a) for generator (5); (b) the same simulation for a generator of type Xn+1 = aXn mod T .

We have presented a random number generator based on the properties of non-invertible transformations of truncated exponential functions. The obtained random process is unpredictable in the sense that the next values are not determined by the previous values. We have applied this generator to the numerical simulation of statistically independent random variables. In the simulation of a random walk with the length 109 , the random process does not contain visible correlations.

References 1. Ferrenberg A.M., Landau D.P., Wong Y.J., Phys. Rev. Lett., 1992, 69, 3382. 2. Grassberger P., Phys. Lett. A, 1993, 181, 43. 3. Vattulainen I., Ala-Nissila T., Kankaala K., Phys. Rev. Lett., 1994, 73, 2513. 4. D’Souza R.M., Bar-Yam Y., Kardar M., Phys. Rev. E, 1998, 57, 5044. 5. Nogu´es J., Costa-Kr¨ amer J.L., Rao K.V., Physica A, 1998, 250, 327. 6. L’Ecuyer P., Oper. Res., 1999, 47, 159. 7. Bauke H., Mertens S., J. Stat. Phys., 2004, 114, 1149. 8. Gonz´ alez J.A., Reyes L.I., Su´ arez J.J., Guerrero L.E., Guti´errez G., Phys. Lett. A, 2002, 295, 25. 9. Gonz´ alez J.A., Reyes L.I., Su´ arez J.J., Guerrero L.E., Guti´errez G., Physica D, 2003, 178, 26. 10. Trujillo L., Su´ arez J.J., Gonz´ alez J.A., Europhys. Lett., 2004, 66, 638. 11. Grassberger P., J. Phys. A: Math. Gen., 1993, 26, 2769. 12. Shchur L.N., Heringa J.R., Bl¨ ote H.W.J., Physica A, 1997, 241, 579. 13. Shchur L.N., Comput. Phys. Comm., 1999, 121, 83. 371

˜ ´ M.A.Garc´ıa-Nustes, L.Trujillo, J.A.Gonzalez

14. 15. 16. 17. 18. 19. 20.

Gonz´ alez J.A., Trujillo L., Acta Physica Pol. B, 2005, 37, 2394. Gonz´ alez J.A., Trujillo L., J. Phys. Soc. Japan, 2006, 75, 023002. Kac M., Stud. Mathematica, 1936, 6 , 46. Kac M., Steinhaus H., Stud. Mathematica, 1936, 6, 59. Kac M., Steinhaus H., Stud. Mathematica, 1936, 6, 89. Kac M., Steinhaus H., Stud. Mathematica, 1937, 7, 1. Champernowne D.G., J. London Math. Soc., 1933, 8, 254.

             .. i- , . !i "#, $.. #%& '()*+ , , 0()(12(3414/.5 I)1*.*2* )62 /78.9 :713i:;()4, <7=*. 1/+i-./. .)4/6 21827, >6+6/61 1020–?, 0()(12(36 @ABCDEFG 27 HIAGJG 2006 B., K GLAEAGMFGDN KCJHOPi – 19 QKiAFO 2006 B. <+7<7)2U 7 7:(34 8 <6: 78 9 <+7R(1i 8 8 V.1378.9 /7T<’ W*(+69, X/6 8.+i=2U <+7 0 Ri 52+7S7* S3( 1<+.iVT. )().9 /7+(3TXRiTXT. <(+i7:. .V)/.9 .<713i:78)71*( <+.9786).9 <7T.37/. Y. <7/6-2UT7-, 5 i T . Z7 1.1*(T. - )(-87+7*).T. )(3i )i 5)71*XT. T7;2*4 <7+7:;286*. )(<(+(:S6V286)i <713i:78)71*i )( 63(;) 9 8 <6: 78 9 V 1(3 6= +( 234*6* 3 1*+2 *41 7SV 13()) <78 6) 1 2 3XR-iUW 8..<6: /.78.9/S32./6)4.. . [ i - . i W W X . XT., ’X- .T. - .T \]^_`ai b]`ac: defeghijg klmhnojklp qlres, feths eufi klmhnojki qlrsh PACS: 05.10.-a, 05.40.a, 05.40.Fb, 07.05.Tp

372

A recipe for an unpredictable random number generator

mean-square distance from the origin of the random walk as a function of the number of .... Using this method we have generated a very long sequence of random ... 1010. 100. 101. 102. 103. 104. 105 log(N) log. (a). 101. 102. 103. 104.

309KB Sizes 2 Downloads 293 Views

Recommend Documents

TinyMT Pseudo Random Number Generator for Erlang
Sep 14, 2012 - vided as a general library for multiple operating systems, since .... 3 On Kyoto University ACCMS Supercomputer System B cluster; the test.

SFMT Pseudo Random Number Generator for Erlang - Kenji Rikitake ...
Erlang/OTP [5] has a built-in PRNG library called random mod- ule. ..... RedHat Enterprise Linux AS V4 of x86_64 architecture5. We chose the five SFMT ... WN time [ms] leciel reseaux thin. Figure 5. Total own time of SFMT gen_rand_list32/2 for 10 cal

TinyMT Pseudo Random Number Generator for Erlang
Sep 2, 2012 - Now default PRNG for Python and R. Kenji Rikitake / Erlang ... A) Generate a 32-bit integer random number R. B) Compute Q which is the ...

TinyMT Pseudo Random Number Generator for Erlang - Kenji Rikitake ...
Sep 14, 2012 - Statistics]: Random Number Generation. General Terms Algorithms, Performance. Keywords .... Table 1 shows a list of tinymt-erlang major exported functions referred in this paper. Figure 1 shows the ..... hiroshima-u.ac.jp/~m-mat/MT/ART

SFMT Pseudo Random Number Generator for Erlang - Kenji Rikitake ...
List of sfmt-erlang exported functions referred in this paper. 128-bit shift registers. ..... and does not effectively utilize the concurrent and parallel nature of. Erlang.

Random Minecraft Mod Generator 558
3: 2: 1 (THE BEST!) ... Best Minecraft PS4 Seeds - Gameranx.com ... Free Game Generator Codes on Android phone, Code Generator Minecraft Generator Gift.

Scrambled Number Generator For Secure Image ... - IJRIT
Scrambled Number Generator For Secure Image. Transfer. Y.Chaitanya ... and decryption. Full text: https://sites.google.com/a/ijrit.com/papers/home/V1I1150.pdf.

Scrambled Number Generator For Secure Image ... - IJRIT
The present way of image scrambling technique for a secure data image ... space analysis, statistical analysis, correlation analysis, differential analysis, key ...

scrambled number generator for secure image transfer
... Press, 2009.8:210-211. 7. D. Qi, “Matrix transformation and its application to image hiding,” Journal of North China University of. Technology, vol.11, no.1, pp.24–28, 1999. 8. L. Zhu, W. Li, L. Liao, and H. Li, “A novel algorithm for scr

Chapter 3 Random Number Generation
and restart capabilities are more involved than for LCRNG's but the long sequence lengths and speed of execution .... SLAC VM Notebook,. Module 18, SLAC ...

Software A Recipe for Bedtime
and finish with a sweet lullaby. This recipe for a bedtime routine unfolds in the form of an adorable set of step-by-step instructions. By the end, little ones will be ...

A Recipe for Concept Similarity
knowledge. It seems to be a simple fact that Kristin and I disagree over when .... vocal critic of notions of concept similarity, it seems only fair to give his theory an.

Intelligent Random Vector Generator Based on ...
3, issue 2, pages 188-200, June 1995. [4] M. Kantrowitz, and L.M. Noack, “Functional Verification of a Multiple-issue, Pipelined, Superscalar Alpha Processor –.

Intelligent Random Vector Generator Based on ...
that derives good input probabilities so that the design intent can ... Many industrial companies ..... Verification,” in Proc. of Design Automation Conference,.

Circuit for controlling arc energy from an electrosurgical generator
Dec 4, 2003 - a user of the electrosurgical generator to “dial” in preferred levels of tissue vaporization and thermal spread. With these embodiments, the ...

A Novel Design for a Biogas Generator in Developing Countries
to present a viable alternative energy source. ... ii. Acknowledgments. I am very grateful to my supervisor, Professor Shaker Meguid, for agreeing to supervise.

AVR Video Generator with an AVR Mega163
Many interesting microcontroller applications have a graphics ... While many of the applications have ... above constraints, the TV is also a good example of a.

Fasthpe: A recipe for quick head pose estimation
considered in a gaming scenario, in which the user must control the ... For this game to be of widespread use on standard .... laptop, fast enough for the automatic initialization not to pose ... best match, and therefore the minimum of the NSSD.

Mixing Bandits: A Recipe for Improved Cold-Start ...
Last.fm (www.last.fm) and YouTube (www.youtube.com) al- low users to explicit declare their social connections, while others including Hulu (www.hulu.com), ...

AN AUTOREGRESSIVE PROCESS WITH CORRELATED RANDOM ...
Notations. In the whole paper, Ip is the identity matrix of order p, [v]i refers ... correlation between two consecutive values of the random coefficient. In a time.