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...
        Saved in:
      
    
          | Main Author | |
|---|---|
| Format | eBook Book | 
| Language | English | 
| Published | 
        Cham
          Springer Nature
    
        2018
     Springer Springer International Publishing AG Springer International Publishing  | 
| Edition | 1 | 
| Subjects | |
| Online Access | Get full text | 
| ISBN | 9783319776972 3319776975 9783319776965 3319776967  | 
| DOI | 10.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