[ExI] It's simply obvious, right?
Alejandro Dubrovsky
alito at organicrobot.com
Sun Nov 25 14:35:41 UTC 2007
On Sat, 2007-11-24 at 07:43 -0800, Jef Allbright wrote:
> This TED video illustrates a difficulty at the core of much futurist discussion.
>
> The subject is not new, but it might as well be, for the resounding
> lack of progress acquiring an intuitive grasp of reasoning about
> uncertainty.
>
[snip]
> <http://www.ted.com/index.php/talks/view/id/67>
Thanks Jef for that link. While the message is about the general
suckiness of humanity in understanding probability, I was struck by the
specifics of the result of the first example too much to pay much
attention to the rest of the video (which was more familiar to me).
For those of you who couldn't be bothered watching the video, the
question in the first example is:
If you are tossing coins, does it take a) longer, b) same or c) shorter
on average to get the sequence HTT or HTH, in which the obvious answer
b) same is wrong.
(If this scenario is overly familiar to you, I recommend pressing
delete/next and skipping the rest of the n00b-talk that follows, or
maybe skip to the last paragraph and send some pointers)
=== spoiler space follows ===
=== that was your last chance ===
so HTT takes 8 tosses on average while HTH takes 10.
I was surprised enough to not believe it until I did some simulations,
and then surprised that I hadn't heard of this before (not because I
know anything about probability, but because it seems exactly like the
smart-arse result that people around me would know).
The example is a bit more complicated than needed. It works just as
well with HH vs HT (6 vs 4) but he probably does not use it to avoid
people calculating it quickly or giving the right answer because they
are "too" ignorant of probability (by thinking that HH is less likely in
general because it contains the same result twice in a row and getting
the right result by the wrong reasoning). This result probably
maximises shock value.
Thinking about trying to exploit my equals with this newfound
information through the traditional 'do you wanna bet' method led me to
thinking of mechanisms of establishing the bet. A simple format seemed
to be be what I call the 'bingo' mechanism where I get HT, you get HH,
we start flipping a coin and if I fill my string before you, I get X
dollars, and viceversa, and we start again.
This has the subtle (to me) side-effect of destroying the advantage
since the advantage of HT over HH, if I understand this at all, is that
failing on your second guess takes you back to having fulfilled the
first, but in 'bingo', failing on your second gives the game to the
opposition. This kills it in the case of HTH vs HTT for the same
reasons, but there are others
eg HTH (10) vs TTT (14) seems somewhat intuitive but
HTT (8.66) vs TTH (26) seems disproportionately large difference (yes, I
can see that the TT sequence is ending for the first vs starting for the
second, but a 3:1 ratio still seems too large)
The main point of this email is in sharing my amazement at this result,
but also to ask if there was any intuitive way to see them. To me, most
times I set up a run, I might know which should win but the margins seem
unpredictable. What is the simple formula which gives the result for
any sequence pair (or triple, I haven't tested those but I'm sure they
would be whacky too).
(Hideous, hacky, uncommented python script follows for those who want to
replicate the results or play along with minimum of effort. Python
required. www.python.org. To play non-bingo version, remove lines 31
and 36. Modify sa and sb to change the challengers)
#!/usr/bin/python
import os, sys
import random
def tosser():
while True:
yield random.choice(['H', 'T'])
ta = 0
tb = 0
sa = 'HTT'
sb = 'TTH'
ga = ''
gb = ''
samples = 1000000
for index, face in enumerate(tosser()):
if index > samples:
break
if (index % 10000) == 0:
print index
ga += face
gb += face
if ga[-len(sa):] == sa:
ta += 1
ga = ''
gb = ''
if gb[-len(sb):] == sb:
tb += 1
gb = ''
ga = ''
print "Total for %s: %d\tAverage: %f" % (sa, ta, float(samples)/ta)
print "Total for %s: %d\tAverage: %f" % (sb, tb, float(samples)/tb)
More information about the extropy-chat
mailing list