vix.ing · top · new · best · stats

Random numbers for simulation

1990/10/01 by Pierre L'Ecuyer, Pierre L’Ecuyer · 285 citations
Computer Science · Mathematics · #Algorithm #Algorithms and Data Compression #Arithmetic #Chaos-based Image/Signal Encryption #Compiler #Computer science #Function (biology) #Generator (circuit theory) #Mathematics #Numerical Methods and Algorithms #Power (physics) #Programming language #Quality (philosophy) #Random number generation #Software

paper · pdf · doi:10.1145/84537.84555

published in Communications of the ACM 33(10), 85-97 (Association for Computing Machinery)

openalex publication_date 1990/10/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/05/21

Abstract

In the mind of the average computer user, the problem of generating uniform variates by computer has been solved long ago. After all, every computer :system offers one or more function(s) to do so. Many software products, like compilers, spreadsheets, statistical or numerical packages, etc. also offer their own. These functions supposedly return numbers that could be used, for all practical purposes, as if they were the values taken by independent random variables, with a uniform distribution between 0 and 1. Many people use them with faith and feel happy with the results. So, why bother? Other (less naive) people do not feel happy with the results and with good reasons. Despite renewed crusades, blatantly bad generators still abound, especially on microcomputers [55, 69, 85, 90, 100]. Other generators widely used on medium-sized computers are perhaps not so spectacularly bad, but still fail some theoretical and/or empirical statistical tests, and/or generate easily detectable regular patterns [56, 65]. Fortunately, many applications appear quite robust to these defects. But with the rapid increase in desktop computing power, increasingly sophisticated simulation studies are being performed that require more and more “random” numbers and whose results are more sensitive to the quality of the underlying generator [28, 40, 65, 90]. Sometimes, using a not-so-good generator can give totally misleading results. Perhaps this happens rarely, but can be disastrous in some cases. For that reason, researchers are still actively investigating ways of building generators. The main goal is to design more robust generators without having to pay too much in terms of portability, flexibility, and efficiency. In the following sections, we give a quick overview of the ongoing research. We focus mainly on efficient and recently proposed techniques for generating uniform pseudorandom numbers. Stochastic simulations typically transform such numbers to generate variates according to more complex distributions [13, 25]. Here, “uniform pseudorandom” means that the numbers behave from the outside as if they were the values of i.i.d. random variables, uniformly distributed over some finite set of symbols. This set of symbols is often a set of integers of the form 0, . . . , m - 1 and the symbols are usually transformed by some function into values between 0 and 1, to approximate the U(0, 1) distribution. Other tutorial-like references on uniform variate generation include [13, 23, 52, 54, 65, 84, 89].

Citations

Cited by

Related