Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Random numbers and computers
Kneusel R., Springer International Publishing, New York, NY, 2018. 260 pp. Type: Book (978-3-319776-96-5)
Date Reviewed: Dec 20 2018

Randomness is a fascinating topic, with contradictory opinions on what causes it. Rather than using this term to mean lawlessness, I personally define it as the presence of an inherent variability in the experimental setup that makes the response unpredictable. Pseudorandom numbers are important: we can use a model that is in our hands to produce them, and then use them to simulate a random phenomenon when the generating model is not in our hands.

Chapter 1 clearly introduces the fundamentals of random and pseudorandom sequences. Chapters 2 and 3 deal with generating uniform and nonuniform variates (for example, binomial, Poisson, normal, beta, gamma, and so on). Chapter 2’s subtopics include linear congruential generators (LCGs), Mersenne twisters, complementary-multiply-with-carry generators, counter-based generators, and quasi-random generators, to name a few.

Chapter 4 addresses the important topic of testing pseudorandom generators. Several statistical tests are described here, for example, chi-squared, Kolmogorov-Smirnov, gap, serial, permutation, and serial correlation tests. My personal view is that none of these tests prove that the sequence is random. They merely prove that the sequence looks random. A sequence is random, strictly speaking, only when the length of the shortest program that can output it (called its Kolmogorov complexity) equals its length.

Chapter 5 covers methods for generating (and testing) parallel streams of pseudorandom numbers. Subtopics include random seeding, the fog method, skipping, and per stream generators. The next chapter (6) is on cryptographically secure pseudorandom number generators. The properties of such generators are discussed, followed by four examples, three of which are in current use (ISAAC, Fortuna, and ChaCha20). The last chapter focuses on other random sequences, for example, using normal numbers, factorials, cellular automata, and chaotic maps.

On the plus side, the author provides useful example code in C and Python. The book will undoubtedly prove to be a useful guide for researchers, postgraduates, and advanced undergraduates in statistics, computing, and related disciplines.

On the negative side, although this is not a book about genuine randomness, Kolmogorov complexity should have been reviewed. Chapter 3 should have included some more nonuniform distributions, for example, geometric, hyper-geometric, negative binomial, and Cauchy. Also missing: the decimal expansions of irrational numbers (which are non-terminating and non-repeating) do not have a cycle from which they can be proposed as random number generators provided we can generate a fairly long sequence of the expansions quickly and easily in the computer. The number pi has already been tried; others are also in the running.

Reviewer:  Soubhik Chakraborty Review #: CR146350 (1905-0161)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Random Number Generation (G.3 ... )
 
 
Probability And Statistics (G.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Random Number Generation": Date
Stochastic investigations of pseudo-random number generators
Ugrin-Šparac G. Computing 46(1): 53-65, 1991. Type: Article
Apr 1 1992
Implementing a random number package with splitting facilities
L’Ecuyer P. (ed), Côté S. ACM Transactions on Mathematical Software 17(1): 98-111, 1991. Type: Article
Nov 1 1991
Efficient and portable combined Tausworthe random number generators
Tezuka S., L’Ecuyer P. (ed) ACM Transactions on Modeling and Computer Simulation 1(2): 99-112, 1991. Type: Article
May 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy