The Monty Hall Problem

Articles —> The Monty Hall Problem

The Monty Hall problem arises from the game show Let's make a deal originally hosted by Monty Hall. Lets Make a Deal presents contestants with a choice of three doors, behind one of which is a prize. After an initial choice by the contestant, the host unveils a door without the prize. Now comes the choice: should the contestant keep their choice, or switch to the other remaining door?

While the game itself might seem trivial, the statistics behind the game are quite interesting - intuitively many believe their chances are now 1/2, yet statistically the contestant is more likely to win if they switch their choice. To understand this logic, take a step back and think about the scenarios:

Door 1Door 2Door 3
Scenario 1PrizeNothingNothing
Scenario 1NothingPrizeNothing
Scenario 1NothingNothingPrize

The above table outlines the three possible scenarios. As an example, lets suppose the contestant chooses Door #1. The host will then unveil a door without the prize.

Door 1Door 2Door 3
Scenario 1PrizeNothingNothing
Scenario 1NothingPrizeNothing
Scenario 1NothingNothingPrize

Of course as a contestant one doesn't know where the prize is, yet the unveiling of the first door without the prize (yellow in the table above) unveils information. Consider the result of the scenarios above under the condition that the contestant keeps their initial choice rather than changes their choice to the other door. If one stays with door #1 the chances of a prize of 1/3 (scenario 1). If one switches, the chances are 2/3 (scenario 2 and 3). Thus, the probability of winning is higher if the contestant changes their choice rather than if they stick with their original choice.

Still not convince? Here's a simulation written in R

#Function which tests if one is correct if they 

#do not switch after the first door is unveiled

simcount = 1000;

f = function(){

    prize = sample(1:3, 1);

    choice = sample(1:3, 1);

    return (prize == choice);


simulation = replicate(simcount, f());

#How often the choice is correct

length( which ( simulation == TRUE ) ) / simcount;

The code above first creates a function which replicates a single game, returning true if the original choice of the contestant matches the correct door with the prize (without switching). Running this 1000 times and calculating how often the contestant is correct yields 0.3, or 1/3. Alternatively, always switching is the rest of the probability, or one minus this value (2/3).

As an extreme example, imagine there are thousands of doors. The contestant chooses one door - highly unlikely to be the door with the prize. Then, the host unveils what is behind all the doors without a prize - leaving the contestants 2 doors of choice: their original plus an as yet unveiled door. Would you switch?


<-- The Future of Java Applets
What is Bioinformatics: A Primer -->

There are no comments on this article.

Back to Articles

© 2008-2014 Greg Cope