[REBOL] Re: A Rebol Challenge. The Monty Hall Puzzle IN 0 BY TES
From: brett:codeconscious at: 20-Dec-2001 10:46
Hi Reichart,
Thanks for the compliment, I have to "fess up" though must last posted
solution (the verbose one) has
a bug. Found it last night just after I sent it to a friend to try to
convince him of the 2/3 result. :-/
The problem was that the switch strategy was not always assured. Strangely
the result is close to 2/3 for the bugged version.
Anyway the new (longer) version, attached below, fixes the problem by
simulating Monty's part more closely.
I have spent an amazing amout of time on this Monty Hall problem and I'm
currently trying to convince two of my good friends of the result. And yes
one is a statistician.
I'm not sure whether to curse you for the amount of time I've had to
allocate on the problem or thank you for the stimulating
thinking and useful techniques it has produced. :)
REBOL []
box: [Box1 Box2 Box3]
wins: 0
loop number-of-games: 100 [
pick-a: func [what] [copy/part random what 1]
prize: pick-a box
choice1: pick-a box
montys-choices: exclude box union prize choice1
opened-box: pick-a montys-choices
choice2: exclude box union choice1 opened-box
if win: equal? prize choice2 [
wins: wins + 1
]
print join "I choose " [
choice1 ". " opened-box " opened. I switch to "
choice2 ". Prize in " prize ". I "
either win ["win"] ["lose"] "."
]
]
print wins / number-of-games
Brett.