4 ms·
How to create a fair coin from an arbitrarily biased coin: 1. Toss the coin and remember the answer. 2. Toss the coin again, if it is different from your prev
by orlp 1y ago
How to create a fair coin from an arbitrarily biased coin:
1. Toss the coin and remember the answer.
2. Toss the coin again, if it is different from your previous toss then your result from #1 is fair. Otherwise, go back to step 1.
If p is the probability of getting heads, there are four possible outcomes with their associated probabilities:
TT -> (1 - p)^2 (rejected)
HT -> p * (1 - p)
TH -> (1 - p) * p
TT -> p^2 (rejected)
Needless to say, p * (1 - p) and (1 - p) * p have an equal probability, so if we don't reject our two tosses, we have a fair outcome.
- stevage 1y agoThat's cute. intuitively, if two flips give different outcomes, it's fifty/fifty which would be first.
- gametorch 1y agoBut also, you might have to flip the coin an arbitrarily large number of times before you get a "heads tails" or "tails heads" roll (if I can arbitrarily pick how biased the coin is).
- IAmBroom 1y agoThe opening scene of "Rosencrantz and Guildenstern Are Dead" springs to mind. And that coin wasn't even biased... although Tom Stoppard was a confounding factor.
- IAmBroom 1y agoYou are assuming an unbiased coin. Imagine I glue a poker chip to a washer. There's a clear bias in the outcome of this "coin". This method resolves that bias.
- stevage 1y agoI understood perfectly already.
- gwern 1y agoReference: https://en.wikipedia.org/wiki/Randomness_extractor#Von_Neumann_extractor https://en.wikipedia.org/wiki/Randomness_extractor#Von_Neuma...
- gerdesj 1y ago"arbitrarily" is doing some heavy lifting! I'm not sure that two concurrent harmonious answers constitutes a "fixed" coin or a diagnosis of a fixed coin. This scheme will be rubbish with a one sided coin ie the limit for "arbitrary fixed coin".
- IAmBroom 1y agoHow is that "heavy lifting"? It's perfectly reasonable for any real-world "coin".
- minikomi 1y ago1. flip the coin until it lands on its edge. 2. the person who achieves this is the winner.
- nullc 1y agoVN extrator is a specific case of a more general idea: When you independently (hard assumption of VN extractor) draw M times with N possibilities then you can extract entropy from their permutation. Assign some scheme for converting permutations to an index. Then get uniform bits out, maintain two variables: one is the product of the number of permutations, the other gets multiplied by the number of permutations and the index added. Whenever the number of possibilities is divisible by two, output the LSB of the index accumulator and halve the number of possibilities. Size up your groups and accumulators and you can get arbitrarily high extraction rates. Doing it efficiently and in constant time (e.g. without divisions) is the more exciting trick. A colleague and I managed an extractor for the binary case that packs takes 10+3N multiplies and N CTZs to pack N bits (giving an exact invertible encoding when bits choose ones is < 2^64).