Rapid generation of discrete random variates from general distributions
First Claim
1. A generator of discrete random variates comprisinga source of random numbers suppliable on demand from a uniformly distributed number set for use in generating addresses;
- a first random access memory storing mappings of said addresses into a set of numerical values corresponding to a preselected discrete probability distribution, each numerical value covering a range of addresses, and coded addresses corresponding to transitional values in said probability distribution;
a second random access memory storing transitional values only of a cumulative distribution function derived from said probability distribution;
means responsive to the address corresponding to a selected random number from said source for accessing said first memory to retrieve a random variate directly, and for accessing said second memory using said coded address; and
means responsive to a coded address corresponding to a selected random number from said source for comparing said selected random number with successive cumulative distribution function values from said second memory in increasing order until the cumulative distribution function value next higher than said random number is determined, the random variate corresponding to such next highest value being the valid output random variate.
1 Assignment
0 Petitions
Accused Products
Abstract
Method and apparatus for the rapid generation of discrete random variates, of a general probability distribution, from random variates of a uniform distribution uses simple logic and moderate storage requirements. Access to a first table at an address which is a function of a uniform variate gives the desired variate value directly for a large percentage of cases and in the remaining cases the desired variate value is obtained by an indexed search of a second table of cumulative distribution function values. Results of greater precision are realized in faster execution times with less logic complexity and reduced storage bulk as compared with prior methods and apparatus.
33 Citations
8 Claims
-
1. A generator of discrete random variates comprising
a source of random numbers suppliable on demand from a uniformly distributed number set for use in generating addresses; -
a first random access memory storing mappings of said addresses into a set of numerical values corresponding to a preselected discrete probability distribution, each numerical value covering a range of addresses, and coded addresses corresponding to transitional values in said probability distribution; a second random access memory storing transitional values only of a cumulative distribution function derived from said probability distribution; means responsive to the address corresponding to a selected random number from said source for accessing said first memory to retrieve a random variate directly, and for accessing said second memory using said coded address; and means responsive to a coded address corresponding to a selected random number from said source for comparing said selected random number with successive cumulative distribution function values from said second memory in increasing order until the cumulative distribution function value next higher than said random number is determined, the random variate corresponding to such next highest value being the valid output random variate. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for generating discrete random variates comprising the steps of:
-
supplying on demand a random number selected from a uniformly distributed number set; forming an address for a first random access memory from a fixed segment of a fixed multiple of said random number; addressing said first random access memory with said address, said first memory storing mappings of said addresses into a set of numerical values corresponding to a predetermined discrete probability distribution, each numerical value covering a range of addresses, and coded addresses corresponding to transitional values in said probability distribution; reading out the desired random variate directly from said first memory where said address is uncoded; addressing a second random access memory where said address is coded, said second memory storing transitional values only of a cumulative distribution function derived from said probability distribution; comparing said selected random number with successive transitional cumulative distribution function values from said second memory until the cumulative distribution function value next higher than the selected random number is found; and reading out the desired random variate corresponding to said next higher cumulative distribution value as the valid output random variate.
-
Specification