For example, every cryptographically secure pseudo-random number generator (CSPRNG) is required to satisfy the next-bit test and withstand "state compromise extensions". This makes me wonder what properties must a RNG have to be used in a Monte Carlo simulation.
It appears that most people just use runif
or sample.int
in R, but are they really good enough? Please note that I expect the answer to be language-agnostic, as I might switch to C, Clojure or even SQL at some time.
I find this question interesting because such a RNG must be random enough to produce quality result, and at the same time not as CPU-expensive as CSPRNGs due to performance concerns.