Simulations are a programming technique that force us to explicate premises and processes that are easily overlooked when merely relying on verbal problem descriptions.
In this chapter, we introduced and illustrated two basic types of simulations:
by enumeration (explicating the information contained in a problem description)
by sampling (involving actual randomness and the need for managing repetitions)
Both types of simulations involve probabilistic information, but deal with it in different ways.
When simulating non-trivial problems with many assumptions, even basic simulations often yield unexpected and surprising results. In addition, simulations often allow to evaluate the robustness of phenomena (e.g., the variability in results due to random sampling).
Pointers to related sources of inspirations and ideas:
On the Monty Hall problem
Wikipedia: Monty Hall problem summarizes the history and controversy surrounding the problem, and provides pointers to several variants and similar puzzles.
See Statistics How To: Monty Hall problem for additional links and resources.
The psychology of the Monty Hall problem is investigated in Krauss & Wang (2003). The problem’s Bayesian structure and reasons for the most common error are explicated in Section 5. Applications of Neth, Gradwohl, et al. (2021).
Math 187: Introduction to Cryptography lets you play interactive simulations: