Jeu de treize
Un célèbre mathématicien français, Pierre Raymond De Montmart, connu pour ses travaux en combinatoire, a proposé un jeu simple appelé le Jeu de Treize. Vous disposez d’un paquet de 13 cartes, numérotées de 1 à 13. Mélangez le paquet et tirez les cartes une par une. Il y a coïncidence lorsque le numéro de la carte correspond à l’ordre dans lequel elle est tirée. Par exemple, si la 5e carte que vous tirez est un 5, c’est une coïncidence. Vous gagnez si vous parcourez toutes les cartes sans aucune coïncidence. Calculons la probabilité de gagner à ce jeu à l’aide d’une simulation.
En réalisant cet exercice, vous renforcerez votre capacité à formuler des problèmes abstraits dans le cadre d’une simulation pour estimer des probabilités.
Cet exercice fait partie du cours
Simulation statistique en Python
Instructions
- À chaque partie, tirez toutes les cartes de
decksans remise et affectez le résultat àdraw. - Vérifiez s’il y a des coïncidences dans la pioche et, le cas échéant, incrémentez le compteur
coincidencesde 1. - Calculez la probabilité de gagner comme la fraction de parties sans aucune coïncidence et utilisez
prob_of_winningpour afficher vos résultats.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Pre-set constant variables
deck, sims, coincidences = np.arange(1, 14), 10000, 0
for _ in range(sims):
# Draw all the cards without replacement to simulate one game
draw = np.random.choice(____, size=____, replace=____)
# Check if there are any coincidences
coincidence = (draw == list(np.arange(1, 14))).any()
if coincidence == ____:
coincidences += 1
# Calculate probability of winning
prob_of_winning = ____
print("Probability of winning = {}".format(____))