Random Numbers and Computers

This book covers pseudorandom number generation algorithms, evaluation techniques, and offers practical advice and code examples. Random Numbers and Computers is an essential introduction or refresher on pseudorandom numbers in computer science.  The first comprehensive book on the topic, readers ar...

Full description

Saved in:
Bibliographic Details
Main Author Kneusel, Ronald T
Format eBook Book
LanguageEnglish
Published Cham Springer Nature 2018
Springer
Springer International Publishing AG
Springer International Publishing
Edition1
Subjects
Online AccessGet full text
ISBN9783319776972
3319776975
9783319776965
3319776967
DOI10.1007/978-3-319-77697-2

Cover

Table of Contents:
  • 6 Cryptographically Secure Pseudorandom Number Generators -- 6.1 Properties of Secure Generators -- 6.2 Blum Blum Shub -- 6.3 ISAAC -- 6.4 Fortuna -- 6.5 ChaCha20 -- 6.6 Chapter Summary -- Exercises -- References -- 7 Other Random Sequences -- 7.1 Introduction -- 7.2 Using Normal Numbers -- 7.3 Using Factorials -- 7.4 Using Cellular Automata -- 7.5 Using Chaotic Maps -- 7.6 An Experiment -- 7.7 Chapter Summary -- Exercises -- References -- Index
  • Intro -- Preface -- A Note About Terminology -- Who Should Read This Book -- How To Use This Book -- Acknowledgments -- Contents -- 1 Random and Pseudorandom Sequences -- 1.1 Random Sequences -- 1.2 Experiment: Humans Are Bad at Randomness -- 1.3 Pseudorandom Sequences -- 1.4 Experiment: Fractals and Good Versus Bad Pseudorandom Values -- 1.5 A CPU Hardware Generator -- 1.6 Chapter Summary -- Exercises -- References -- 2 Generating Uniform Random Numbers -- 2.1 Uniform Random Numbers -- 2.2 Linear Congruential Generators -- 2.3 Mersenne Twisters -- 2.4 Xorshift and Variants -- 2.5 Complimentary Multiply-with-Carry Generators -- 2.6 Counter-Based Generators -- 2.7 Combined Generators -- 2.8 Speed Tests -- 2.9 Quasirandom Generators -- 2.10 Chapter Summary -- Exercises -- References -- 3 Generating Nonuniform Random Numbers -- 3.1 Nonuniform Random Numbers -- 3.2 Normal Distribution -- 3.3 Binomial Distribution -- 3.4 Gamma and Beta Distributions -- 3.5 Exponential Distribution -- 3.6 Poisson Distribution -- 3.7 Chapter Summary -- Exercises -- References -- 4 Testing Pseudorandom Generators -- 4.1 Classical Randomness Tests -- 4.1.1 χ2 Test -- 4.1.2 Kolmogorov-Smirnov Test -- 4.1.3 Serial Test -- 4.1.4 Gap Test -- 4.1.5 Maximum-of-t Test -- 4.1.6 Serial Correlation Test -- 4.1.7 Permutation Test -- 4.1.8 Random Excursions Test -- 4.2 Applying the Classical Randomness Tests -- 4.3 Test Suite-Dieharder -- 4.4 Test Suite-TestU01 -- 4.5 Quick Randomness Tests-ent -- 4.6 Chapter Summary -- Exercises -- References -- 5 Parallel Random Number Generators -- 5.1 Methods for Generating and Testing Streams of Random Numbers -- 5.2 Per Stream Generators -- 5.3 Skipping -- 5.4 Random Seeding -- 5.5 Fog Method -- 5.6 Counter-Based Generators in Parallel -- 5.7 Discussion -- 5.8 Chapter Summary -- Exercises -- References