Motivée à l’origine par l’analyse des jeux de hasard, la théorie des probabilités, par ses concepts, ses méthodes et ses résultats, intervient dans de très nombreux domaines, comme les sciences humaines (sociologie, économie…) ou naturelles (physique, biologie, chimie…). Les élèves sont ainsi confrontés, en permanence, à partir du collège jusqu’aux études supérieures, à l’analyse de phénomènes probabilistes.
Le paradoxe de Monty Hall est un exemple concret de l’utilisation des probabilités. Inspiré du jeu télévisé américain Let’s Make a Deal, présenté par Monty Hall (1921–2017) entre 1963 et 1977, il fait également une apparition en 1990 dans la rubrique Ask Marylin du Parade Magazine.
Des simulations pour se convaincre
Lors d’un jeu télévisé, trois portes se dressent face au candidat. Derrière l’une d’entre elles se trouve une voiture, derrière les deux autres, des chèvres (supposées représenter des lots de consolation). Le candidat sélectionne une porte parmi les trois. Le présentateur, qui sait ce qui se cache derrière chacune des portes, en ouvre une et dévoile une chèvre. Le candidat doit alors faire un nouveau choix : rester sur sa première idée ou bien changer ?
La probabilité de gagner en changeant de porte est-elle plus grande que celle de gagner sans en changer ?
Pour répondre à cette problématique, nous allons simuler, à l’aide d’un programme en langage Python, un grand nombre de parties du jeu de Monty Hall. À la rentrée 2018, une mise à jour gratuite de la calculatrice Graph 90+E de Casio permettra d’intégrer un nouveau menu de programmation en langage Python. C’est ce nouveau menu qui sera utilisé pour réaliser notre simulation.
Dans ce programme, nous définirons une fonction qui génère une partie. Parmi les trois portes, l’une d’entre elles est choisie pour y cacher la voiture. Puis, la fonction sélectionne le premier choix du participant et élimine une des deux portes cachant la chèvre. Selon la tactique adoptée par le candidat, modifier ou non son choix, nous compterons le nombre de parties gagnées par le candidat sur mille parties jouées.
Entrons un peu dans les détails. En premier lieu, une classe « Tactique » est créée. Le candidat a deux possibilités : modifier ou garder son choix initial.
La seconde étape consiste à définir la fonction « jouer_jeu ». Elle simule pour une seule partie le choix de la porte par le candidat, l’ouverture d’une mauvaise porte par le présentateur, puis le choix final du candidat.
Pour simuler un nombre important de parties, définissons la fonction « jouer ». Cette fonction retourne le résultat de chaque partie dans une liste. Les résultats sont stockés en fonction du gain du candidat (0 : perdu ou 1 : gagné). Il ne nous reste plus qu’à sommer tous les éléments de ces listes pour un nombre de parties jouées (ici, mille) selon la tactique du candidat, puis à afficher le résultat.
Une fois le programme écrit, nous pouvons l’exécuter dans la console Shell.
Ainsi, sur mille parties, environ 66 % sont gagnées si le candidat change de porte et seulement 34 % s’il n’en change pas. Nous pouvons raisonnablement conjecturer que la probabilité de gagner est plus importante lorsque le candidat change de porte.
Mesdames, Messieurs, si vous souhaitez augmenter vos chances de gagner à ce jeu, un petit conseil : modifiez votre choix initial !
Bayes à la manœuvre
Contrairement à ce que beaucoup de gens peuvent penser, les candidats qui choisissent de changer de porte ont bien deux tiers de chance de gagner contre un tiers seulement s’ils conservent leur premier choix. À l’aide du théorème de Bayes, validons ce raisonnement.
Soient P (A | B) la probabilité de l’évènement A sachant l’évènement B, P (A) et P (B) les probabilités respectives de A et de B. Alors (voir en pages 22 à 24) :
Appliquons ce théorème à notre problème. Supposons que le joueur choisisse d’abord la porte 1 (le raisonnement serait le même pour les deux autres portes).
On obtient :
avec P (V1) la probabilité que la voiture se trouve derrière la porte 1, P (C2) la probabilité que le présentateur dévoile une chèvre derrière la porte 2, et P (C2 | V1) la probabilité que le présentateur dévoile une chèvre derrière la porte 2 sachant que la voiture est derrière la porte 1.
La probabilité P (V1) est égale à 1/3. En effet, la voiture est présente de manière équiprobable derrière chacune des trois portes.
P (C2 | V1) est égale à 1/2. Le présentateur, qui sait où se trouve la voiture, peut ouvrir selon son choix les portes 2 ou 3 sachant que derrière la porte 1, choix du candidat, se trouve la voiture.
P (C2 | V2) = 0 : si la voiture est derrière la porte 2, il n’y a aucune chance pour que le présentateur ne l’ouvre.
P (C3 | V3) = 1 : si la voiture se trouve derrière la porte 3, et que le joueur a choisi la porte?1, le présentateur est obligé de choisir la porte 2.
On calcule alors :
On en déduit :
Le candidat a donc environ 33 % de chance de gagner s’il ne change pas de porte.
Mais si le candidat change de porte, la chance de gagner grimpe à environ 67 % :
La probabilité de gagner est plus importante quand le candidat modifie son choix.