[PYTHON] Une histoire dont j'ai été très convaincu lorsque j'ai écrit le code du problème Monty Hall et calculé le taux de gain

Quel est le problème de Monty Hall?

"Il y a trois portes fermées devant le joueur, derrière une porte il y a une nouvelle voiture en cadeau, et derrière les deux portes il y a une chèvre, ce qui veut dire éteint. Le joueur frappe la porte de la nouvelle voiture. Une fois que le joueur a sélectionné une porte, le modérateur Monty ouvre la porte restante avec la chèvre et montre la chèvre. Le joueur est maintenant informé qu'il peut remplacer la première porte qu'il choisit par la porte restante non ouverte. Le joueur doit-il changer la porte? " ([wikipedia](https://ja.wikipedia.org/wiki/Monty Hall problème))

La bonne réponse est «changer», et si vous la changez, le taux de gain sera de 66,7%.

Quand je commence à étudier les statistiques probabilistes et l'apprentissage automatique, un jour je propose le théorème bayésien qui va m'aider.

Le problème de Monty Hall est un problème de théorie des probabilités et est l'un des exemples de probabilité postérieure ou de probabilité subjective du théorème de Bayes. Il découle du débat sur le jeu dans "Let's make a deal", un jeu télévisé américain animé par Monty Hall (de son vrai nom Monte Halperin). C'est une sorte d'astuce psychologique, et même si le résultat dérivé de la théorie des probabilités est expliqué, il y a encore beaucoup de gens qui ne sont pas convaincus, c'est donc aussi appelé dilemme ou paradoxe. C'est un bon exemple de "problème dans lequel une réponse intuitivement correcte et une réponse logiquement correcte sont différentes".

J'ai écrit le code et calculé le taux de gain

Au début, j'ai simplement laissé tomber l'énoncé de problème dans le code et l'ai exécuté, mais après avoir réfléchi un peu, il est devenu la forme suivante, et j'ai été convaincu sans l'exécuter.

python


from random import randint

itr = 10000
cnt = 0
for i in range(itr):
    t = randint(1, 3)
    c = randint(1, 3)
    if t != c:
        cnt += 1
print(cnt/itr)

Si le premier choix est une perte, ce sera atari si vous changez. La probabilité de choisir une perte en premier est de 66,7%, donc si vous changez, le taux de victoire est de 66,7%.

Recommended Posts

Une histoire dont j'ai été très convaincu lorsque j'ai écrit le code du problème Monty Hall et calculé le taux de gain
Une histoire qui était pratique lorsque j'ai essayé d'utiliser le module d'adresse IP python
Écrivons un programme de simulation simple pour le "problème de Monty Hall"
J'ai écrit le code pour l'échantillonnage Gibbs
Explication intuitive qui ne repose pas sur la formule du problème de Monty Hall et simulation avec Python
D'une manière ou d'une autre, le code que j'ai écrit a fonctionné et j'ai été impressionné, alors je vais le poster
Une histoire à laquelle j'étais accro après la communication SFTP avec python
Une histoire lorsque j'utilisais IntelliJ sous Linux et que je ne pouvais pas saisir le japonais
Lors de l'écriture dans un fichier csv avec python, une histoire que j'ai fait une légère erreur et n'a pas respecté la date de livraison
Une histoire que Seaborn était facile, pratique et impressionnée
Une histoire à laquelle j'étais accro chez np.where
Une histoire à laquelle j'étais accro en spécifiant nil comme argument de fonction dans Go
J'ai écrit un script qui divise l'image en deux
Une histoire sur l'écriture d'AWS Lambda et de devenir un peu accro aux valeurs par défaut des arguments Python
Code dont j'aurais aimé me souvenir lors de ma première participation à AtCoder (Réflexion 1 pour la prochaine fois)
Une histoire qui n'a pas fonctionné lorsque j'ai essayé de me connecter avec le module de requêtes Python