Ce petit projet contient une implémentation et une simulation du célèbre problème de Monty Hall.
Le but est de simuler plusieurs parties du problème de Monty Hall pour comparer deux stratégies de joueur :
- "Rester" (ne pas changer de porte après que l'animateur ouvre une porte)
- "Changer" (échanger vers la porte restante après que l'animateur ouvre une porte)
La simulation montre empiriquement que la stratégie "changer" donne environ 2/3 de chances de gagner tandis que "rester" donne environ 1/3.
-
script.py: script principal converti depuis le notebookmonty-hall-demo.ipynb. Il contient :- les commentaires et explications originaux (les cellules markdown du notebook ont été transformées en commentaires Python),
- la fonction
run_simulation(N: int = 1000)qui exécute N simulations et affiche les ratios de succès pour les deux stratégies, - un point d'entrée
if __name__ == '__main__':qui lancerun_simulation(1000)par défaut.
-
monty-hall-demo.ipynb: (optionnel) le notebook d'origine s'il est présent dans le répertoire (peut contenir des explications, graphiques et expérimentations interactives).
- Pour chaque partie on place aléatoirement la voiture derrière l'une des 3 portes (les autres contenant des chèvres).
- Le joueur choisit une porte au hasard.
- L'animateur ouvre une porte différente de celle du joueur et contenant une chèvre.
- Pour la stratégie "rester", on vérifie si le choix initial du joueur contient la voiture.
- Pour la stratégie "changer", le joueur échange vers la porte restante non ouverte par l'animateur et non choisie initialement ; on vérifie si cette porte contient la voiture.
- On calcule et affiche le ratio de victoires pour chaque stratégie sur N parties.
- Python 3.x
- numpy
Installation (si nécessaire) :
py -3 -m pip install --user numpy