Techniques for simulating "randomness" constitute an important part of the array of tools needed to carry out successfully a probabilistic simulation. These techniques have attracted considerable attention and have been developed to the point where it is possible to generate samples from virtually any probability distribution (or from reasonable approximations of these probability distributions).

The approach used to generate these samples consists of two steps. Sequences of statistically independent random numbers, distributed uniformly within some finite range, are first produced. These sequences are then processed and transformed into sequences of samples from the desired probability distributions. This second step is obviously the more interesting of the two: it is indeed surprising how a sequence of independent, uniformly distributed random numbers can be used to simulate almost any kind of random phenomenon imaginable.