The Ziggurat Method for Generating Random Variables

نویسندگان

  • George Marsaglia
  • Wai Wan Tsang
چکیده

We provide a new version of our ziggurat method for generating a random variable from a given decreasing density. It is faster and simpler than the original, and will produce, for example, normal or exponential variates at the rate of 15 million per second with a C version on a 400MHz PC. It uses two tables, integers ki and reals wi. Some 99% of the time, the required x is produced by: Generate a random 32-bit integer j and let i be the index formed from the rightmost 8 bits of j. If j < ki return x = j wi. We illustrate with C code that provides for inline generation of both normal and exponential variables, with a short procedure for setting up the necessary tables.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Comment on the Implementation of the Ziggurat Method

We show that the short period of the uniform random number generator in the published implementation of Marsaglia and Tsang’s Ziggurat method for generating random deviates can lead to poor distributions. Changing the uniform random number generator used in its implementation fixes this issue.

متن کامل

A modified ziggurat algorithm for generating exponentially- and normally-distributed pseudorandom numbers

The Ziggurat Algorithm is a very fast rejection sampling method for generating PseudoRandom Numbers (PRNs) from statistical distributions. In the algorithm, rectangular sampling domains are layered on top of each other (resembling a ziggurat) to encapsulate the desired probability density function. Random values within these layers are sampled and then returned if they lie beneath the graph of ...

متن کامل

Design Flaws in the Implementation of the Ziggurat and Monty Python methods (and some remarks on Matlab randn)

Ziggurat and Monty Python are two fast and elegant methods proposed by Marsaglia and Tsang to transform uniform random variables to random variables with normal, exponential and other common probability distributions. While the proposed methods are theoretically correct, we show that there are various design flaws in the uniform pseudo random number generators (PRNG’s) of their published implem...

متن کامل

Ziggurat Revisited

Random numbers following a Standard Normal distribution are of great importance when using simulations as a means for investigation. The Ziggurat method (Marsaglia and Tsang, 2000; Leong, Zhang, Lee, Luk, and Villasenor, 2005) is one of the fastest methods to generate normally distributed random numbers while also providing excellent statistical properties. This note provides an updated impleme...

متن کامل

Optimal Choice of Random Variables in D-ITG Traffic Generating Tool using Evolutionary Algorithms

Impressive development of computer networks has been required precise evaluation of efficiency of these networks for users and especially internet service providers. Considering the extent of these networks, there has been numerous factors affecting their performance and thoroughly investigation of these networks needs evaluation of the effective parameters by using suitable tools. There are se...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000