Lune

SODA2026Top-tier venue

Efficient Online Random Sampling via Randomness Recycling

Thomas L. Draper, Feras A. Saad

2026Year

Abstract

This article studies the fundamental problem of using i.i.d. coin tosses from an entropy source to efficiently generate random variables X i ∼ P i (i ≥ 1), where (P 1 , P 2 , . . . ) is a random sequence of rational discrete probability distributions subject to an arbitrary stochastic process. Our method achieves an amortized expected entropy cost within ε > 0 bits of the information-theoretically optimal Shannon lower bound using O(log(1/ε)) space. This result holds both pointwise in terms of the Shannon information content conditioned on X i and P i , and in expectation to obtain a rate of E[H(P 1 ) + • • • + H(P n )]/n + ε bits per sample as n → ∞ (where H is the Shannon entropy). The combination of space, time, and entropy properties of our method improves upon the Knuth and Yao (1976) entropy-optimal algorithm and Han and Hoshi (1997) interval algorithm for online sampling, which require unbounded space. It also uses exponentially less space than the more specialized methods of Kozen and Soloviev (2022) and Shao and Wang (2025) that generate i.i.d. samples from a fixed distribution. Our online sampling algorithm rests on a powerful algorithmic technique called randomness recycling, which reuses a fraction of the random information consumed by a probabilistic algorithm to reduce its amortized entropy cost.

On the practical side, we develop randomness recycling techniques to accelerate a variety of prominent sampling algorithms, which include uniform sampling, inverse transform sampling, lookup-table sampling, alias sampling, and discrete distribution generating (DDG) tree sampling. We show that randomness recycling enables state-of-the-art runtime performance on the Fisher-Yates shuffle when using a cryptographically secure pseudorandom number generator, and that it reduces the entropy cost of discrete Gaussian sampling. Accompanying the manuscript is a performant software library in the C programming language.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 7c0a3c4b-579c-4fa9-b924-0c9e96a5a2e7

Builds on3

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines