Algorithmic random number generators are everywhere, used for all kinds of tasks, from simulation to computational creativity.
Yet most people haven't given much thought to the random number generators they use. Is the RNG you're using a good source of randomness? What does it even mean to be a good RNG?
In this talk, we will examine the desirable properties of a random number generator including performance, correctness, uniformity, and unpredictability, as well as sound mathematical grounding.
We will observe how the RNGs in widespread use lack desirable properties (most commonly failing statistical tests for randomness).
Then we will show how a simple twist on a venerable-but-flawed RNG technique can provide all the properties we desire, resulting in the PCG family of RNGs.
Melissa O'Neill is a Professor of Computer Science at Harvey Mudd College, where she has been a member of the faculty since July, 2001. She was born in England, but did her graduate work in Canada with F. Warren Burton at SFU. O'Neill has broad interests in computer science, with contributions in the areas of functional programming, memory management, parallel and concurrent computing, genetic programming, random number generation, and computer science education. She is perhaps best known on the Internet for her JFP paper, The Genuine Sieve of Eratosthenes, which showed that a simple example that had been enjoyed by the functional programming community for more than 30 years wasn't quite what it appeared to be. Her website is www.cs.hmc.edu/~oneill and the PCG website is www.pcg-random.org.