Numerical recipes in C: the art of scientific computing
Numerical recipes in C: the art of scientific computing
Random number generators: good ones are hard to find
Communications of the ACM
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator
ACM Transactions on Modeling and Computer Simulation (TOMACS) - Special issue on uniform random number generation
Data mining: practical machine learning tools and techniques with Java implementations
Data mining: practical machine learning tools and techniques with Java implementations
Modern Cryptography, Probabilistic Proofs, and Pseudorandomness
Modern Cryptography, Probabilistic Proofs, and Pseudorandomness
Machine Learning
Sparse Serial Tests of Uniformity for Random Number Generators
SIAM Journal on Scientific Computing
Theoretical and Empirical Analysis of ReliefF and RReliefF
Machine Learning
Improved long-period generators based on linear recurrences modulo 2
ACM Transactions on Mathematical Software (TOMS)
Generating good pseudo-random numbers
Computational Statistics & Data Analysis
TestU01: A C library for empirical testing of random number generators
ACM Transactions on Mathematical Software (TOMS)
Hi-index | 0.00 |
We describe how dependencies between random numbers generated with some popular pseudo-random number generators can be detected using general purpose machine-learning techniques. This is a novel approach, since usually pseudo-random number generators are evaluated using tests specifically designed for this purpose. Such specific tests are more sensitive. Hence, detecting the dependence using machine-learning methods implies that the dependence is indeed very strong. The most important example of a generator, where dependencies may easily be found using our approach, is MATLAB's function rand if the method state is used. This method was the default in MATLAB versions between 5 (1995) and 7.3 (2006b), i.e., for more than 10 years. In order to evaluate the strength of the dependence in it, we used the same machine-learning tools to detect dependencies in some other random number generators, which are known to be bad or insufficient for large simulations: the infamous RANDU, ANSIC, the oldest generator in C library, minimal standard generator, suggested by Park and Miller (1988), and the rand function in Microsoft C compiler.