LEARNING RANDOM NUMBERS: A MATLAB ANOMALY

  • Authors:
  • Petr Savicky;Marko Robnik-Sikonja

  • Affiliations:
  • Institute of Computer Science, Academy of Sciences of Czech Republic Praha, Czech Republik;University of Ljubljana, Faculty of Computer and Information Science, Ljubljana, Slovenia

  • Venue:
  • Applied Artificial Intelligence
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.