17,991 research outputs found
Driving Markov chain Monte Carlo with a dependent random stream
Markov chain Monte Carlo is a widely-used technique for generating a
dependent sequence of samples from complex distributions. Conventionally, these
methods require a source of independent random variates. Most implementations
use pseudo-random numbers instead because generating true independent variates
with a physical system is not straightforward. In this paper we show how to
modify some commonly used Markov chains to use a dependent stream of random
numbers in place of independent uniform variates. The resulting Markov chains
have the correct invariant distribution without requiring detailed knowledge of
the stream's dependencies or even its marginal distribution. As a side-effect,
sometimes far fewer random numbers are required to obtain accurate results.Comment: 16 pages, 4 figure
On the generation of pseudo-random numbers from several non-uniform distributions
Methods for generating pseudorandom numbers from nonuniform statistical distribution
Optimal Discrete Uniform Generation from Coin Flips, and Applications
This article introduces an algorithm to draw random discrete uniform
variables within a given range of size n from a source of random bits. The
algorithm aims to be simple to implement and optimal both with regards to the
amount of random bits consumed, and from a computational perspective---allowing
for faster and more efficient Monte-Carlo simulations in computational physics
and biology. I also provide a detailed analysis of the number of bits that are
spent per variate, and offer some extensions and applications, in particular to
the optimal random generation of permutations.Comment: first draft, 22 pages, 5 figures, C code implementation of algorith
On Buffon Machines and Numbers
The well-know needle experiment of Buffon can be regarded as an analog (i.e.,
continuous) device that stochastically "computes" the number 2/pi ~ 0.63661,
which is the experiment's probability of success. Generalizing the experiment
and simplifying the computational framework, we consider probability
distributions, which can be produced perfectly, from a discrete source of
unbiased coin flips. We describe and analyse a few simple Buffon machines that
generate geometric, Poisson, and logarithmic-series distributions. We provide
human-accessible Buffon machines, which require a dozen coin flips or less, on
average, and produce experiments whose probabilities of success are expressible
in terms of numbers such as, exp(-1), log 2, sqrt(3), cos(1/4), aeta(5).
Generally, we develop a collection of constructions based on simple
probabilistic mechanisms that enable one to design Buffon experiments involving
compositions of exponentials and logarithms, polylogarithms, direct and inverse
trigonometric functions, algebraic and hypergeometric functions, as well as
functions defined by integrals, such as the Gaussian error function.Comment: Largely revised version with references and figures added. 12 pages.
In ACM-SIAM Symposium on Discrete Algorithms (SODA'2011
RAGE: A Java-implemented Visual Random Generator
Carefully designed Java applications turn out to be efficient and platform independent tools that can compete well with classical implementations of statistical software. The project presented here is an example underlining this statement for random variate generation. An end-user application called RAGE (Random Variate Generator) is developed to generate random variates from probability distributions. A Java class library called JDiscreteLib has been designed and implemented for the simulation of random variables from the most usual discrete distributions inside RAGE. For each distribution, specific and general algorithms are available for this purpose. RAGE can also be used as an interactive simulation tool for data and data summary visualization.
- …