Tout le monde est célèbre [problème de Monty Hall](http://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3% Connaissez-vous 83% BB% E3% 83% 9B% E3% 83% BC% E3% 83% AB% E5% 95% 8F% E9% A1% 8C)?
Je vais laisser l'explication détaillée au lien ci-dessus, mais voici un aperçu du problème.
Il y a 3 portes fermées
L'une des trois portes A, B, C contient un cadeau gratuit (voiture).
Les deux autres contiennent une perte (chèvre)
Vous choisissez une porte
Le modérateur ouvrira la porte perdue des portes que vous n'avez pas sélectionnées
Eh bien, vous pouvez ou non resélectionner la porte
À propos, à ce moment, est-il plus probable que la voiture gagne si la porte est resélectionnée? Ou la probabilité est-elle la même sans avoir à resélectionner?
Au début, vous ne savez pas dans laquelle des trois portes se trouve la voiture.
Parmi les portes non sélectionnées, la perte sera ouverte.
Dans cet état, vous pouvez ou non sélectionner à nouveau la porte.
(L'image est [Wikipedia](http://en.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%BB% Réimprimé à partir de E3% 83% 9B% E3% 83% BC% E3% 83% AB% E5% 95% 8F% E9% A1% 8C))
Pensez-y pour le moment.
Le Livre Guinness a le QI le plus élevé au monde [Marilyn Boss Savant](http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AA%E3%83%AA] % E3% 83% B3% E3% 83% BB% E3% 83% 9C% E3% 82% B9% E3% 83% BB% E3% 82% B5% E3% 83% 90% E3% 83% B3% E3 % 83% 88) était controversé en 1990, affirmant que la resélection doublerait les chances de heurter une voiture que de ne pas la resélectionner.
En réponse, les lecteurs ont été inondés de 10 000 déclarations disant «sa réponse est fausse», dont 1 000 sont titulaires d'un doctorat et «même si vous changez de porte, la probabilité est de cinquante-cinquante (1/5). Puisqu'il vaut 2), il ne peut pas être doublé à 2/3. "
Un mathématicien qui a publié 1500 articles au cours de sa vie [Paul Erdesh](http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%83%AB%E3 % 83% BB% E3% 82% A8% E3% 83% AB% E3% 83% 87% E3% 82% B7% E3% 83% A5) est "impossible", Robert de l'Université George Mason «En tant que mathématicien professionnel, je m'inquiète du manque de connaissances mathématiques du grand public. Admettre mes erreurs améliorera la situation», a déclaré le Dr Scott Smith de l'Université de Floride. Le meilleur détenteur de l'indice du renseignement au monde devrait lui-même arrêter immédiatement la folie de répandre l'ignorance mathématique dans le monde et en connaître la honte! », Critiqué par d'autres médecins éminents l'un après l'autre. Controversé.
Et la bonne réponse?
Ce problème est simulé par la méthode de Monte Carlo sur un ordinateur, ce qui prouve que la réponse de Savanto était correcte. En d'autres termes, si vous resélectionnez la porte après la révélation de l'extérieur, les chances sont doublées.
Simulons-le avec Python.
import sys
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import font_manager
from random import choice
def montyhall(N, doors):
"""Renvoie un vecteur indiquant si vous avez résolu ou non le problème de Monty Hall et gagné"""
#Préparez un vecteur de même longueur que le nombre d'essais
arr_picked = np.zeros(N)
arr_switch = np.zeros(N)
for i in range(N):
car = choice(doors) #Décidez au hasard de la porte dans laquelle se trouve la voiture
picked = choice(doors) #Choisissez la porte qui vous semble la bonne réponse
#Le modérateur ouvre la porte avec la chèvre
goat = choice(list(set(doors) - set([picked, car])))
#Sélectionner de nouveau
switch = choice(list(set(doors) - set([picked, goat])))
#Stocker le résultat de la bonne réponse à la position correspondante de chaque vecteur
if picked == car:
arr_picked[i] = 1 #1 si la réponse est correcte si elle n'est pas resélectionnée
if switch == car:
arr_switch[i] = 1 #1 si la réponse est correcte une fois resélectionnée
#Renvoie deux vecteurs
return (arr_picked, arr_switch)
def plot(N, arr_picked, arr_switch):
"""Tracez les résultats"""
#Il est pratique de spécifier la police en fonction de l'environnement
if sys.platform == "darwin":
font_path = "/Library/Fonts/Osaka.ttf"
else:
font_path = "/usr/share/fonts/truetype/fonts-japanese-gothic.ttf"
prop = font_manager.FontProperties(fname=font_path)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
X = np.arange(N) + 1 #Amenez le nombre d'essais sur l'axe X
picked_car = arr_picked.cumsum() #Trouvez le nombre cumulé de bonnes réponses
switch_car = arr_switch.cumsum()
ax.plot(X, picked_car, label='picked up')
ax.plot(X, switch_car, label='switched car')
ax.set_title('Nombre total de problèmes de Montyhall', fontproperties=prop)
ax.legend(loc='best')
plt.savefig('image.png')
def main(args):
N = 10000 #Simuler 10000 fois
doors = np.array([1, 2, 3])
#Résolvez le problème de Montyhall
(arr_picked, arr_switch) = montyhall(N, doors)
#Tracez les résultats
plot(N, arr_picked, arr_switch)
#Calculez le nombre cumulé de victoires
win_picked = arr_picked.sum()
win_switch = arr_switch.sum()
print("Si vous n'avez pas changé la porte: %f %% (%d)" %
(100.0 * win_picked / N, win_picked))
print("Si vous changez la porte: %f %% (%d)" %
(100.0 * win_switch / N, win_switch))
#=>Pendant 10000 matchs
#Si vous n'avez pas changé la porte: 33.060000 % (3306)
#Si vous changez la porte: 66.940000 % (6694)
↑ Le taux de réponse correcte de la voiture commutée (lorsqu'elle est resélectionnée) est clairement doublé.
Ce problème est la base des statistiques bayésiennes [probabilité postérieure](http://en.wikipedia.org/wiki/%E4%BA%8B%E5%BE%8C%E7%A2%BA%E7%8E Souvent utilisé pour expliquer% 87). En d'autres termes, la probabilité qu'il y ait trois portes et qu'une voiture soit dans l'une d'elles est la "pré-probabilité", et la probabilité que le modérateur ouvre la porte et voit la chèvre est la "post-probabilité". Parlons des statistiques bayésiennes à un autre moment.
Même les problèmes qui ont été trompés par un mathématicien bien connu il y a 20 ans peuvent maintenant être facilement démontrés en utilisant l'ordinateur à portée de main en utilisant uniquement des logiciels libres. À l'extrême, nous pouvons dire que nous avons acquis des capacités d'analyse de données qui surpassent même les mathématiciens il y a à peine 20 ans. C'est une exagération, bien sûr, mais il est certain que la vérité des choses peut être révélée en déplaçant les mains de cette manière, en déplaçant l'ordinateur et en analysant réellement les données. Acquérir la capacité de vérifier scientifiquement avec un ordinateur même face à de vrais problèmes.