A generalization of the Von Neumann extractor
Claude Gravel

TL;DR
This paper introduces a generalized iterative randomness extraction algorithm based on Von Neumann's method, analyzes its correctness, complexity, and implementation details, and explores its behavior with biased Bernoulli sources.
Contribution
It presents a novel iterative algorithm extending Von Neumann's extractor, with proven correctness and detailed complexity analysis, including new asymptotic results.
Findings
Expected complexity approaches 3.1022 as bias tends to 0
Complexity diverges as bias approaches 1/2
Algorithm is implemented in standard C++
Abstract
An iterative randomness extraction algorithm which generalized the Von Neumann's extraction algorithm is detailed, analyzed and implemented in standard C++. Given a sequence of independently and identically distributed biased Bernoulli random variables, to extract randomness from the aforementioned sequence pertains to produce a new sequence of independently and identically distributed unbiased Bernoulli random variables. The iterative construction here is inspired from the work of Stout and Warren 1984 who modified appropriately the tree of probabilities produced by recursively repeating the Von Neumann's extraction algorithm. The correctness of the iterative algorithm is proven. The number of biased Bernoulli random variables needed to produce one unbiased instance is the complexity of interest. The complexity depends on the bias of the source. The expected complexity converges toward…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDNA and Biological Computing · Algorithms and Data Compression · Computability, Logic, AI Algorithms
