The Monty Hall Dilemma has reared its ugly head again. I have trouble with it because it’s like one of those two-way pictures in which what it looks like depends on how you’re squinting. Here’s the problem, for our Martian friends:
In the game Let’s Make a Deal, a contestant is asked to pick one of three doors. If he picks the right one, he wins a car. If he picks one of the wrong doors he wins crap. The contestant picks a door, but before it is opened the host, Monty Hall, opens up one of the doors that had crap behind them. Now there are two unopened doors, and the contestant is asked whether he will take what’s behind the door he originally picked, or if he’ll switch to the other unopened door.
Which should he choose?
The gut assumption is that it doesn’t matter, that both doors are equally likely to be hiding the car. But a lot of people have argued that the probability is actually that switching will get you the car 66.7% of the time.
A friend of mine wrote a program to demostrate the problem, which is a practical approach. The problem seems to be that the answer still depends on how you do the algebra. Since I didn’t speak C, I wrote my own program, but I got the opposite results. His program ran random scenarios and got the 66.7/33.3 results. Mine ran through all the finite number of dilemmas and got the 50/50 result.
Maybe somebody who speaks Basic can tell me how I’m setting the problem up wrong, but it looks to me that of the 12 possible outcomes, it comes down even whether switching will get you the car.
100 s=0
105 REM The number of winning switches
110 ns=0
115 REM The number of winning non-switches
120 t=0
125 REM The total number of dilemas possible
130 for x=1 to 3
135 REM x is the door the prize is behind
140 for y=1 to 3
145 REM y is the contestant’s initial pick
150 for z=1 to 3
155 REM z is Monty’s elimination
160 if z=x then goto 210
165 REM Monty doesn’t eliminate the door the prize is behind
170 if z=y then goto 210
175 REM Monty doesn’t eliminate the door the contestant has already picked
180 t=t+1
185 REM The scenarios that pass Monty’s Choice are counted
190 if y=x then ns=ns+1
195 REM No-switch winners are counted
200 if y<>x then s=s+1
205 REM Switch winners are counted
210 next z
220 next y
230 next x
240 print “Switch:”, s/t100;"%"
250 print “No switch:”, ns/t100;"%"
260 print “Total dilemas:”, t
In case you don’t happen to have a basic interpreter handy, try pasting the
code into Cocoa.