vault backup: 2025-05-09 12:27:48

This commit is contained in:
arc 2025-05-09 12:27:48 -06:00
parent cbe5d6cde7
commit e5d60bfb94

View File

@ -31,10 +31,15 @@ To store two coin flips, you might have the first subdivision represent the outc
| $0.25 - 0.5$ | Tails, Heads |
| $0.50 - 0.75$ | Heads, Tails |
| $0.75 - 1.00$ | Heads, Heads |
Imagine a situation where we want to store the coin flip *Heads, Heads, Tails*.
Imagine a situation where we want to store all possible outcomes of three consecutive coin flips *Heads, Heads, Tails*.
Encoding this would happen as follows:
1. First we subdivide the range by the probability of each event happening. The probability of each is 50%, so that's simple. Referring above, we know that heads is represented by the top half of the range, and tails is represented by the bottom half of the range.
> Because the *first* coin flip resulted in *Heads*, the output value must be between $0.50$ and $1.00$.
2. Subdividing the range $0.50$ and $1.00$ again to store the results of the second flip, we end up with values between $0.50$ and $0.75$ representing the sequence *Heads, Tails*, and values between $0.75$ and $1.00$ representing the sequence *Heads, Heads*.
> Because the *second* coin flip resulted in *Heads*, we know that the output value must be between $0.75$ and $1.00$
3. Subdividing the range $0.75$ and $1.00$ yet again, $0.
3. Subdividing the range $0.75$ and $1.00$ yet again, $0.750$ - $0.875$ means the third coin flip resulted in *Tails*, and a value in the range $0.875$ - $1.000$ means the third coin flip resulted in *Heads*
> Because the *third coin flip resulted in *Heads*, any value between $0.875$ and $1.000$ encodes the fact that the first three coin flips went *Heads, Heads, Tails*.
The decoding process performs the same series of steps, but by asking a question instead of outputting a value.
1. Is the value between $0.00$ and $0.50$? If so, the first coin flip resulted in *Tails*. Otherwise if the value is between $0.50$ and $1.00$, the first coin flip resulted in *Heads*.
The above process can be repeated just like the encoding process until we've determined the output of the first three