Abstract
Although the multiplicative congruential method for generating pseudo-random numbers is widely used and has passed a number of tests of randomness [1, 2], attempts have been made to find an additive congruential method since it could be expected to be faster. Tests on a Fibonacci sequence [1] have shown it to be unsatisfactory. The sequence xi+1 = (2a + 1) xi + c (mod 235) (1) has been tested on the IBM 704. In appendix I it is shown that the sequence generates the full period of 235 numbers for a ≧ 2 and c odd. Similar results obtain for decimal machines. Since multiplication by a power of the base can be accomplished by shifting, which is comparable in speed to addition, this scheme requires essentially three additions. It takes 14 machine cycles on the IBM 704, compared to 28 for the multiplicative method, so that the saving is 168 μs/random number. The scheme has the further advantage that it does not destroy the multiplier-quotient register.
Some tests have been made on the randomness of this sequence for a = 7 and c = 1, and a summary of the results is given in appendix II, where now the random numbers are considered to lie in the interval (0, 1).
The serial correlation coefficient between one member of this sequence and the next is shown by Coveyou [3] to be approximately 0.8 per cent. By taking a = 9 this correlation coefficient can be reduced to approximately 0.2 per cent without increasing the time. Taking a = 21 would make this correlation very small but would require one more machine cycle on the IBM 704. Another way to reduce the correlation is to choose c such that the numerator in Coveyou's expression for the correlation coefficient is zero. This cannot be done exactly since it requires that c = (.5 ± √3/6)2P where P is the number of binary digits (excluding sign) in a machine word. However, a machine representation close to either of these numbers should be satisfactory. Some correlations with c = (.788+)235 and a = 7 were obtained and did not differ significantly from those given for c = 1 in the first section of appendix II.
The author wishes to thank R. R. Coveyou for communicating his results in advance of publication and Elizabeth Wetherell for carrying out the calculations.
- 1 O TAUSSKY AND J. TODD, "Generation and Testing of Pseudo-Random Numbers" in Symposium on Monte Carlo Methods (H. A Mayer ed.), pp 15-28 (John Wiley and Sons, New York, 1956).Google Scholar
- 2 J MOSHMAN, The generation of pseudo-random numbers on a decimal calculator, J. Assoc. Comp. Mack. I (1954), 88-91. Google Scholar
- 3 R. R CovEYou, Serial correlation in the generation of pseudo-random numbers, J. Assoc. Comp. Mach. 6 (1959), 72-74. Google Scholar
Index Terms
A New Pseudo-Random Number Generator
Recommendations
Pseudo-Random Number Generator Based on Binary and Quinary Maximal-Length Sequences
A new pseudo-random generator for decimal numbers is presented. A sequence of decimal digits is obtained by combining a binary and a quinary maximal-length sequence generated by feedback shift-register circuits. The autocorrelation sequence (ACS) of the ...
TinyMT pseudo random number generator for Erlang
Erlang '12: Proceedings of the eleventh ACM SIGPLAN workshop on Erlang workshopThis paper is a case study of implementing Tiny Mersenne Twister (TinyMT) pseudo random number generator (PRNG) for Erlang. TinyMT has a longer generation period (2127-1) than the stock implementation of Erlang/OTP random module. TinyMT can generate ...
Design of a pseudo-chaotic number generator as a random number generator
2016 International Conference on Communications (COMM)Generating random numbers is essential in many cryptographic applications like key generation, protocols, nonce and also in Internet for choosing TCP sequence numbers for example. We need generators which are able to construct large amounts of secure ...






Comments