Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Bernoulli process
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Basic von Neumann extractor === Represent the observed process as a sequence of zeroes and ones, or bits, and group that input stream in non-overlapping pairs of successive bits, such as (11)(00)(10)... . Then for each pair, * if the bits are equal, discard; * if the bits are not equal, output the first bit. This table summarizes the computation. {| ! input !! output |- | 00 || discard |- | 01 || 0 |- | 10 || 1 |- | 11 || discard |} For example, an input stream of eight bits ''10011011'' would by grouped into pairs as ''(10)(01)(10)(11)''. Then, according to the table above, these pairs are translated into the output of the procedure: ''(1)(0)(1)()'' (=''101''). In the output stream 0 and 1 are equally likely, as 10 and 01 are equally likely in the original, both having probability ''p''(1β''p'') = (1β''p'')''p''. This extraction of uniform randomness does not require the input trials to be independent, only [[uncorrelated]]. More generally, it works for any [[exchangeable random variables|exchangeable sequence]] of bits: all sequences that are finite rearrangements are equally likely. The von Neumann extractor uses two input bits to produce either zero or one output bits, so the output is shorter than the input by a factor of at least 2. On average the computation discards proportion ''p''<sup>2</sup> + (1 β ''p'')<sup>2</sup> of the input pairs(00 and 11), which is near one when ''p'' is near zero or one, and is minimized at 1/4 when ''p'' = 1/2 for the original process (in which case the output stream is 1/4 the length of the input stream on average). Von Neumann (classical) main operation [[pseudocode]]: <syntaxhighlight lang="text"> if (Bit1 β Bit2) { output(Bit1) } </syntaxhighlight>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)