The Monty Hall problem is a classic probability puzzle that has intrigued mathematicians and casual thinkers alike. It presents a scenario where a contestant must choose one of three doors, behind one of which is a car 🚗(the prize), while the other two doors hide goats 🐐. After the contestant makes their initial choice, the host, who knows what is behind each door, opens one of the remaining doors to reveal a goat. The contestant is then given the option to either stick with their original choice or switch to the other unopened door🚪.
Although intuition would suggest that switching the door would have no effect on the probability of winning a car ( 1/2 probability of success either by switching or retaining), the truth is that switching the door would result in around 2/3 (67%) chance of success, while remaining with the original door would only result in around 1/3 (33%) chances of success.
The chances of success after switching approach (N-1/N) where N represents the number of doors. For large values of N, the probability of success P(S) by switching is ~1 (near certainty). I came across this problem during a Math fair in my school, and have been fascinated by it ever since. I created this simulator to visualize the problem and prove that switching doors is beneficial.
Libraries and tools used
- Streamlit for the GUI
- Altair for the interactive line chart
- Pandas for recording the outcome of each iteration
- Huggingface Spaces for hosting
Check the demo at:
https://huggingface.co/spaces/0xarnav/MontyHall
You can change the number of doors and iterations to see how the probabilities change. For example, at 10 doors the probability of success after switching becomes ~90%. This simulation proves the surprising conclusion that switching doors generally leads to a higher chance of winning.