# Monty Hall Explanation

## The Monty Hall Problem is Very Counterintuitive

• If you still don’t believe it, you are in good company:

## Simplest Explanation

• Your first choice has a 1/3 chance of having the car
• So there’s a 2/3 it is behind one of the other doors
• Monty will never open the door with the car behind it
• After he opens a door, the entire 2/3 probability shifts to the other closed door

## Monty is Key!

• Imagine you chose door 1, and you are asked whether you want the prize behind door 1 or the better of the prizes behind doors 2 and 3

• This is exactly what you get when you switch (because Monty always removes the worse prize of the two when he opens a door)!

## Another Appeal to Intuition

• Imagine there are 100 doors, 99 goats, and 1 car
• You pick a door, so you have a 1/100 chance of winning the car
• Then Monty opens 98 of the doors revealing 98 of the goats
• There is still one other unopened door: Should you switch?

• If you pick a goat on your first choice (99/100), you will always get the car if you switch
• By switching, you only get a goat if you had the car at first, and that’s super rare (1/100)

## More Involved (and More Satisfying) Explanation

### Consider the Following Scenario:

• Say you pick door 1 and then Monty opens door 3
• Should you stay with door 1 or switch to door 2?

• Before Monty opened door 3, the car had a $$1/3$$ chance of being behind each door

$p(car1)=\frac 13,\ \ \ p(car2)= \frac 13, \ \ \ p(car3)=\frac 13$

• But Monty is not opening doors at random: He will always open a goat door (and never the car)!

• What is the probability Monty opens door 3, the true location of the car?

• If you were right initially (the car is actually behind door 1), Monty can open either door 2 or door 3 (and picks one at random):

$p(open3 \mid car 1) = \frac 12 \\ \text{(in words: the probability Monty opens #3 given that the car is behind #1 is 1/2)}$

• However, if you chose door 1 and the car is behind door 2, Monty has no choice but to open door 3!

$p(open3 \mid car2) = 1$

• Finally, if you chose door 1 and the car is behind door 3, Monty cannot open door three without revealing the car! This has no chance of happening.

$p(open3 \mid car3) = 0$

## Bayes’ Rule

• OK, so you chose door 1 and then monty opened door 3
• What are the chances that the car is behind door 2 (i.e., should you switch)?

• We are interested in $$p(car2 \mid open3)$$
• From above, we already have the flip of it, but this is not the same: $$p(open3 \mid car2)$$

• We can turn it around using Bayes’ rule, which states that

$p(A\mid B)=\frac{p(A)p(B\mid A)}{p(B)}$

In our case,

$p(car2 \mid open3)=\frac{p(car2)p(open3 \mid car2)}{p(open3)}$

• We already have the two pieces in the numerator (from above):

$p(car2 \mid open3)=\frac{(\frac 13 )\left(1\right)}{p(open3)}$

• We just need the denominator (the probability Monty opens door 3)
• We can get this by adding together the probabilities of all the different situations in which Monty opens door 3 (this is the Law of Total Probability):

\begin{aligned} p(open3)&=p(open3\ \& \ car1)+p(open3\ \& \ car2)+p(open3\ \& \ car3)\\ &=p(car1)p(open3 \mid car1)+p(car2)p(open3 \mid car2)+p(car3)p(open3 \mid car3)\\ &=(\frac13)(\frac 12)+(\frac13)(1)+(\frac13)(0)\\ &=(\frac16)+(\frac13)+(0)\\ &=\frac 12 \end{aligned}

• Now we have the denominator, so

$p(car2 \mid open3)=\frac{(\frac 13 )\left(1\right)}{(\frac12)}=2/3$

• This tells us that, if we picked door 1 and Monty opened door 3, then there is a $$\frac23$$ chance that the car is behind door 2

• That means there is only a $$\frac13$$ chance the car is behind door 1 (let’s use Bayes’ rule again)

$p(car1 \mid open3)=\frac{(\frac 13 )(\frac 12)}{(\frac12)}=1/3$

• Thus, we would be much better off switching!

• This will be true no matter which door you pick initially!

# The probability the car is behind door 1, door 2, and door 3 is initially 1/3

car1 <- 1/3
car2 <- 1/3
car3 <- 1/3

# Say you choose door 1

# Monty will never open the door with the car behind it (!)
# What is the probability Monty opens door 3, given your choice (door 1) and the actual location of the car?

open3_car1 <- 1/2 #if the car was behind 1 (your door), he could open either goat door 2 or 3
open3_car2 <- 1 #if you chose 1, and the car's behind 2, he has to open 3
open3_car3 <- 0 #if you chose 1, and the car is behind 3, he cannot open 3

## Monty is CERTAIN to open door 3 if the car is behind door 2
## Monty is only 50:50 to open door 3 if the car is behind door 1
## Monty will NEVER open door 3 if the car is behind it

## Say Monty opens door 3, revealing a goat.

## What is the probability that the car is behind door 1, given door 3 was opened?
## (What is the probability your initial choice was correct)?

car1 * open3_car1 / (car1*open3_car1 + car2*open3_car2 + car3*open3_car3)
## [1] 0.3333333
## What is the probability that the car is behind door 2, given door 3 was opened?
## (What is the probability that the other unopened door has the car?)

car2 * open3_car2 / (car1*open3_car1+car2*open3_car2+car3*open3_car3)
## [1] 0.6666667

We can simulate this in R too (you can edit/run the code below):

#randomly assign cars and goats

doors <- sample(c("goat","goat","car"))

#you pick door 1 (below you can change it to whatever you want)!

yours <- 1

others <- doors[-yours]

if(others[1]=="goat" & others[2]=="goat"){
open <- sample(c(1,2),size=1)
} else if(others[1]=="goat" & others[2]!="goat"){
open <- 1
} else {
open <- 2
}

open=ifelse(yours==1,open+1,ifelse(yours==3,open,ifelse(yours==2,floor(open*3/2))))

print(paste("Monty opened door",open,"revealing a",doors[open]))
## [1] "Monty opened door 3 revealing a goat"
print(paste("If you kept your original door:", doors[1]))
## [1] "If you kept your original door: goat"
print(paste("If you switched:", doors[!c(1,2,3)%in%c(yours,open)]))
## [1] "If you switched: car"
######################################

##Simulate the game 5000 times

results <- replicate(n = 5000, {

doors <- sample(c("goat","goat","car"))
yours <- 2
others <- doors[-yours]

if(others[1]=="goat" & others[2]=="goat"){
open <- sample(c(1,2),size=1)
} else if(others[1]=="goat" & others[2]!="goat"){
open <- 1
} else open <- 2

open <- ifelse(yours==1,open+1,ifelse(yours==3,open,ifelse(yours==2,floor(open*3/2))))

return(c(stay=doors[yours], switch=doors[!c(1,2,3)%in%c(yours,open)]))
})

#full results
head(t(results))
##      stay   switch
## [1,] "goat" "car"
## [2,] "car"  "goat"
## [3,] "goat" "car"
## [4,] "car"  "goat"
## [5,] "goat" "car"
## [6,] "goat" "car"
#proportions if you stay
table(t(results)[,1])/5000
##
##    car   goat
## 0.3322 0.6678
#proportions if you switch
table(t(results)[,2])/5000
##
##    car   goat
## 0.6678 0.3322