Home >Backend Development >Python Tutorial >Simulating the Monty Hall problem using Streamlit

Simulating the Monty Hall problem using Streamlit

Susan Sarandon
Susan SarandonOriginal
2024-10-21 06:14:30640browse

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?.

Simulating the Monty Hall problem using Streamlit

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.

References

UC Analytics for the cover image

The above is the detailed content of Simulating the Monty Hall problem using Streamlit. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn