3 ms·
Simulate it. I thought as you think. I wrote a simulation to show I was right. I was wrong. I have had this interchange several times. Invariably it goes o
by dllthomas 6y ago
Simulate it.
I thought as you think. I wrote a simulation to show I was right. I was wrong.
I have had this interchange several times. Invariably it goes one of two ways. They have endless reasons why they have to be right and they don't need to write a goddamn simulation, or they tell me they wrote the simulation and they have learned they were wrong.
- Arnavion 6y agoSpecifically, it's the difference between var num_stays_wins = 0; var num_switches_wins = 0; for (var i = 0; i < 100000; i++) { const car_door = Math.floor(Math.random() * 3); const my_choice = Math.floor(Math.random() * 3); var montys_choice; do { montys_choice = Math.floor(Math.random() * 3); } while (montys_choice === my_choice); if (montys_choice === car_door) { i -= 1; continue; } if (my_choice === car_door) { num_stays_wins += 1; } else { num_switches_wins += 1; } } console.log(num_stays_wins, num_switches_wins); and var num_stays_wins = 0; var num_switches_wins = 0; for (var i = 0; i < 100000; i++) { const car_door = Math.floor(Math.random() * 3); const my_choice = Math.floor(Math.random() * 3); var montys_choice; do { montys_choice = Math.floor(Math.random() * 3); } while (montys_choice === my_choice || montys_choice === car_door); if (my_choice === car_door) { num_stays_wins += 1; } else { num_switches_wins += 1; } } console.log(num_stays_wins, num_switches_wins); (The difference is in the calculation of `montys_choice`.)
- IggleSniggle 6y agoI think you’ve simply misread what they are saying. They are saying that the situation in which Monty opens a door and it reveals the grand prize, are the set of cases that we do not care about because we have already lost, and can thus discard them. This is basically just a different way of saying that Monty looks behind the door to be sure to only reveal goats. Yes, the probability of wins will be different in these two scenarios, but it doesn’t affect the conclusion: when Monty reveals a goat, you should always switch. Edit: if you believe I am the confused one after this comment, I will go make the simulation as you suggest.
- Arnavion 6y agoThere is a simulation in the sibling to your comment, ready to be pasted in your browser console.
- IggleSniggle 6y agoThat simulates a different scenario than what’s being described here; it simulates a situation where we count the times when Monty picks the car. But those situations are irrelevant because they have no bearing on the fundamental question of whether or not to switch doors when Monty shows you a goat. Effectively, we discard all outcomes when Monty shows you the car, making it an identical “game” as when Monty simply does not ever choose the car. As I said, the outcome per game will be different (since you suddenly have an additional opportunity to lose), but the math around whether or not to switch when shown a goat remains unchanged.
- Arnavion 6y ago>it simulates a situation where we count the times when Monty picks the car. No, it does not. >> if (montys_choice === car_door) { i -= 1; continue; } This discards the game where Monty chose a car. >> do { montys_choice = Math.floor(Math.random() * 3); } while (montys_choice === my_choice || montys_choice === car_door); This makes Monty never choose a door with a car. Neither one counts the game where Monty opened a door with a car as a win for either staying or switching.
- IggleSniggle 6y agoThank you (and everyone else in this thread) for sticking with it with me. It was a struggle to read that single line of code on a cell-phone screen, and that was compounded by the fact that it turns out that I don't understand the Monty Hall problem when I thought that I did. I'm going to sit with this one for awhile.
- dllthomas 6y agoSo let's say you and I sit down, and do the following: 1) I roll a 3-sided die (or a 6 sided, wrapping) and keep it covered. 2) You pick a number, 1-3 3) I flip a coin. If it's heads, I pick the lower available number; if it's tails I pick the higher. 4) I peak at the die. If it's my number, we reveal and start over. 5) I (always, at this point) offer you a wager: if the die shows your number (so you would have lost if you switch), you pay me $7; if the die doesn't show your number, I pay you $5. Assuming you believe the die and coin are fair, etc, would you agree to play that game 1000 times? In those games, is there a reason you would turn down the wager? Is it the same game if I flip the coin secretly, peek at the die, announce my number (picked algorithmically in the obvious way), and then pay out according to whether switching would win (as above)? Because (assuming I've explained these games as I intend... it's getting late) I would play the former with you not the latter (but I would play the latter if we switched the payments around - I chose 5 and 7 because 7/12 is halfway between 1/2 and 2/3).