If he was opening doors randomly then you're left with a one-in-two chance. But if he was giving you information by opening doors he knew were bad, you're left with two possibilities: the door you started with just happened to be the right door (a tiny chance), or (much more likely) the door you started with was not the right door - in which case Monty was forced to open every other door so as to avoid showing you the car, and he has eliminated all the non-car options.
No. Or, well, it depends on what happens if Monty opens a door with the car. If I lose if he does that, then switching doors doesn't change the probability.
It's easy to prove. Let's say that I always pick door #1, and Monty always picks door #2. Then we get the following probabilities:
car-goat-goat: I stay, I win. I switch, I lose.
goat-car-goat: I stay, I lose. I switch, I lose.
goat-goat-car: I stay, I lose. I switch, I win.
Staying: 1/3 chance of winning. Switching: 1/3 chance of winning.
One little letter and the whole thing is a completely different problem.
Upthread I see that you are correctly writing about the different ways you can model Monty's behaviour, and how each different way changes the nature of the problem, the outcomes, and the odds of switching vs. staying.
So I don't understand what you are arguing against right now?
I'm saying that "Monty reveals a goat" is what happens in the correct interpretation of the problem, i.e. Monty knows where the car is, and always chooses a door with a goat in every single instance of game play. In this case switching gives you 2/3 odds of winning the car.
And I'm saying that "Monty revealed a goat" is what happens in the incorrect interpretation of the problem, i.e. Monty does not know where the car is, and in this single instance of game play that you happen to be participating in, he happened to pick a door with a goat. And if you have gotten to this point, switching is 50/50. Just like you say.
Do you understand my way of describing these two different models of Monty?
I'm still not sure what the difference between these models has to do with my point about goat-car-goat. That can't happen in either model when we say that I'm picking door 1 and Monty is picking door 2.
But I'm saying that since that is a wrong interpretation of the original problem, any other wrong interpretation of the problem is equally valid. For example, if Monty picks the car, it's game over and the contestant never gets to choose. Or, if Monty picks the car, the show goes "oops", closes the door, shuffles the prizes, and lets Monty pick again until he picks a goat.
There's not enough information in "Monty picks a door at random" to infer a single interpretation of the problem.
"Monty picks a door at random AND he picked a goat". That's enough information to get down to your universe where goat-car-goat could never happen.
Nitpicky semantics, sure.
But to roll back to the original, original question: I don't think people get the Monty Hall problem wrong because they're interpreting it as "Monty picks a door at random and he picked a goat". They interpret the problem correctly, i.e. "Monty knows where the car is and always picks a goat", and they still get it wrong.
I'm not saying that goat-car-goat could never happen. I'm saying that when you're evaluating what to do after Monty Hall has revealed a goat, the one piece of information you know is that goat-car-goat didn't happen.
I guess you're analyzing from the point of view of someone who's trying to figure out their odds of winning with different strategies before playing.
I agree with you that most people don't get the problem wrong because of interpretation. I'd go even further and say that many people who think they understand it don't get it right because of the interpretation.
Most arguments I see for the correct answer don't use the assumption that Monty knows which door has the goat, and therefore work equally well under a model of Monty picking the door at random. They're just picking different ways to model the problem and assuming a uniform distribution. You get the answer right if you picked a model where the distribution is uniform under the assumptions in the problem.
The real issue seems to be much simpler. Probability is not intuitive. Most people don't have the tools to figure out problems like this reliably, and those that do tend not to apply their tools when they think they see a simple obvious answer.
No, if Monty picks a door by random, but the show shuffles the doors until he gets it "right" and picks a goat, that is exactly the same scenario as if Monty knows where the goats are and picks one straight away, which means my odds of winning when switching is 2/3.
So that is a scenario where "Monty picks a door by random" doesn't lead to the odds changing to 50/50.
If instead you mean that they randomize all three doors and start over, the probability is 1/2 because half the time that the player has a goat you start over and get to pick again, which perfectly cancels out the double probability of having a goat.
This can be analyzed pretty easily using the three possibilities you outlined earlier. Suppose the player gets door 1 and Monty always picks door 2. Each time they shuffle, you get one of the following with equal probability:
A. car-goat-goat
B. goat-car-goat
C. goat-goat-car
A means the player wins, B means we re-shuffle, C means the player loses. It's pretty easy to see that A and B are equally likely outcomes, so they become 50/50 odds after all the re-shuffling is done.
Imagine you're taping episodes of this game show for broadcast. The contestant picks a door, and then Monty picks one of the two remaining doors at random. Monty has 1/3 chance of accidentally picking the car, and if he does, we're scrapping the entire episode.
So to enforce your constraints, we have to scrap 1/3 of all episodes, we're only ever broadcasting the 2/3 of all episodes taped where Monty, by chance, didn't pick the door with the car behind it.
Your numbers are correct, but that interpretation of the problem doesn't make a lot of sense if you think it through.
As for the game show, nothing says that he needed to give this choice every time, it was just some random thing he did to make it more interesting not an important part of the show.
> The point is that given that the door Monty opened had a goat behind it your probability of winning would then be 1/2.
If the episode just ends when Monty picks the car, then I lose if he picks the car. I don't just vanish into thin air such that the universe erases my run. I was on the show, and I lost. And that means my odds of winning are still just 1/3, not 1/2 as you claimed. Yes, the game has changed such that it doesn't matter if I switch doors or not with this addition, but the underlying odds don't change.
The whole premise of the problem is that you are already on the show looking at an open door with a goat behind it.
The original said: "the host, who knows what's behind the doors, opens another door, which has a goat."
Your formulation of the problem changes it from the original Monty Hall problem to something more similar to the Tuesday Boy problem, where the trick is that you have pre-selected a bunch of outcomes and discarded others, changing the probabilities.
And going back to the comments above this, it's not the case that Monty choosing a door by random is the thing that matters, it's the thing that in this version he chose a door by random and you discarded all the outcomes where Monty chose the car.
It's not the case that people are confused by the problem because they interpret the problem like you did. People understand that a goat door is always eliminated as part of the game, and they still don't agree that switching is better.
i initially thought this too, but in both cases you're gonna see 2/3 doors. the thing that makes the difference is when he has the car (2/3 of the time), he has to tell you where it is. so the choice becomes between your unknown door and his 2/3 selectively chosen car door.
I didn't believe it until I simulated it myself.
"Picks a random door out of all closed doors, but that door is never the winner" is a contradiction. It doesn't give you a different chance of winning because it's not a coherent scenario in the first place.
This is a game where you start off with a certain layout, and then proceed forward. If you want conditions, they have to be conditions that you can apply before the game starts. You can't retroactively remove a significant chunk of samples.
If you added an actual outcome to him picking the winner, you could make a valid filter where the answer actually is 50:50. Perhaps they restart the game. Perhaps they never air the episode. And if you calculate only for finished/aired games then it's very clear then that you're solving a different math problem. You can't apply that answer to the original problem.
Monte has to show you what's behind a different door than the one you initially picked. The game doesn't make sense otherwise.
Corrected simulation gives 50/50 when Monty picks at random among 3 doors.
switchWins=33044 switchLoses=33581
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h>
#define NUM_RUNS 100000 #define NUM_DOORS 3 int main(int argc, const char* argv[]) { srand(time(NULL)); char doors[NUM_DOORS]; int switchLoses = 0; int switchWins = 0; for(int i = 0; i < NUM_RUNS; i++) { memset(&doors, 0, sizeof(doors)); doors[rand() % NUM_DOORS] = 1; int myPick = rand() % NUM_DOORS; int montysPick = rand() % (NUM_DOORS - 1); if(montysPick >= myPick) montysPick++; if(doors[montysPick]) continue; if(doors[myPick]) switchLoses++; else switchWins++; } printf("switchWins=%d switchLoses=%d\n", switchWins, switchLoses); return 0; }
EDITED TO ADD:
Just for further info:
3 doors: switchWins=33111 switchLoses=33470
4 doors: switchWins=50182 switchLoses=24698
8 doors: switchWins=74876 switchLoses=12687
100000 doors: switchWins=99998 switchLoses=2
const pickCar = (switchChoice) => {
const doors = [0, 0, 0];
doors[(Math.random() * doors.length - 1) | 0] = 1
let pick = (Math.random() * doors.length - 1) | 0
let goat
for(let i = 0; i < doors.length; i++) { if (doors[i] == 0 && i != pick) goat = i }
let result = pick
if (switchChoice) for(let i = 0; i < doors.length; i++) { if (i != pick && i != goat) result = i }
return result
}
let switchWins = 0;
let switchLosses = 0;
for(let i = 0; i < 100000; i++) {
pickCar(true) == 1 ? switchWins++ : switchLosses++
}
console.log('wins:', switchWins, ', losses: ',switchLosses)