Abstract
It seems surprising that when applying widely used random number generators to generate one million random numbers on modern architectures, one obtains, on average, about 116 collisions. This article explains why, how to mathematically compute such a number, why they often cannot be obtained in a straightforward way, how to numerically compute them in a robust way and, among other things, what would need to be changed to bring this number below 1. The probability of at least one collision is also briefly addressed, which, as it turns out, again needs a careful numerical treatment. Overall, the article provides an introduction to the representation of floating-point numbers on a computer and corresponding implications in statistics and simulation. All computations are carried out in R and are reproducible with the texttt included in this article.
Acknowledgments
I would like to thank Professor Ivan Kojadinovic (Université de Pau et des Pays de l’Adour) and Professor Gianfausto Salvadori (Università del Salento) for motivating this problem. I would also like to thank the Editor Daniel R. Jeske, an Associate Editor and two anonymous reviewers for their insightful feedback.