B Generating Pseudo-Random Numbers and Random Variates
Learning Objectives
To be able to describe and use linear congruential pseudo-random number generation methods
To be aware of current state of the art pseudo-random number generation methods
To be able to define and use key terms in pseudo-random number generation methods such as streams, seeds, period, etc.
To be able to explain the key issues in pseudo-random number testing
To be able to derive and implement an inverse cumulative distribution function based random variate generation algorithm
To be able to explain and implement the convolution algorithm for random variate generation
To be able to explain and implement the acceptance rejection algorithm for random variate generation
Randomness in simulation is often modeled by using random variables and probability distributions. Thus, simulation languages require the ability to generate random variates. A random variate is an instance (or realization) of a random variable. In this section, you will learn how simulation languages allow for the generation of randomness. Generating randomness requires algorithms that permit sequences of numbers to act as the underlying source of randomness within the model. Then, given a good source of randomness, techniques have been established that permit the sequences to be transformed so that they can represent a wide variety of random variables (e.g. normal, Poisson, etc.). The algorithms that govern these procedures are described in the second part of this chapter.