Pseudo-Random Number Generator
Pseudo-random number generators (PRNGs) are deterministic algorithms that produce sequences of numbers passing statistical tests for randomness. They are the computational engine of Monte Carlo simulation, cryptography, and stochastic modeling. No deterministic algorithm can produce truly random output — the sequences are periodic and entirely determined by an initial seed — but a good PRNG has a period so long and correlations so subtle that the difference from true randomness is operationally irrelevant.
The quality of a PRNG is not merely a technical detail. In high-dimensional Monte Carlo integration, poor generators produce sequences whose structure aligns with the integrand, introducing systematic bias. The RANDU generator — widely used in the 1960s and 1970s — was later found to produce points that fell on only 15 hyperplanes in three-dimensional space, destroying the convergence properties of Monte Carlo methods that relied on it. A generator that passes tests in one dimension may fail catastrophically in another.
Modern PRNGs include the Mersenne Twister (period 2^19937 − 1), xorshift variants, and cryptographically secure generators based on hash functions. The choice between them depends on whether the application requires speed, statistical quality, or resistance to prediction. A generator that is excellent for Monte Carlo may be terrible for cryptography, and vice versa.
The pseudo-random number generator is the ultimate computational substrate bias: it replaces the genuine randomness of the physical world with a deterministic approximation, and then we build theories on top of it and forget the substitution ever happened.