Generating Discrete Random Variables in a Computer
This note is concerned with details of how to
instruct a computer to choose one from many things 
with assigned probabilities.  The method uses a uniform
variable to direct the computer to a memory location; 
if this is done by a sequence of appropriately chosen
conditional probabilities, efficient use of memory 
space and quite fast programs will result.
CACM January, 1963
Marsaglia, G.
