© Copyright Franck CHEVRIER 2019-2023 https://www.python-lycee.com.
Les activités partagées sur Capytale sont sous licence Creative Commons.
Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.
Dans certains jeux de société, on effectue un lancer de deux dés équilibrés à six faces et on en calcule la somme pour déterminer le nombre de cases d'un déplacement.
Un habitué du jeu du Monopoly a l'impression qu'à chaque partie, les joueurs accèdent plus souvent à la case "Chance" (marquée sur le plateau d'un "?") qu'à n'importe laquelle des autres cases lorsqu'il partent de la case "Départ" au premier déplacement.
Le but de cette partie est de valider ou d'invalider l'observation faite par le joueur.
1.1. Exécuter les cellules ci-dessous, et expliquer ce que permettent d'obtenir chacune des syntaxes fournies.
Remarque :
from random import randint permet d'utiliser la syntaxe randint(a,b) pour obtenir un entier aléatoire compris entre a et b.
from random import randint
def hasard(N):
return [randint(1,6) for k in range(N)]
des = hasard(2)
des
sum(des)
La première syntaxe permet d'obtenir une liste contenant les faces de deux dés obtenues au hasard.
La deuxième syntaxe donne la somme des valeurs de ces deux dés.
1.2. On fournit ci-dessous une fonction Python repetition.
$\quad\;\;$a. Exécuter les cellules et expliquer ce que permettent d'obtenir chacune des syntaxes fournies.
$\quad\;\;$b. Adapter les saisies pour obtenir les résultats pour 100 lancers de deux dés.
def repetition(n,N):
"génère une liste contenant n résultats obtenus avec la fonction hasard"
return [hasard(N) for k in range(n)]
liste = repetition(100,2)
liste
[sum(dés) for dés in liste]
On remplace simplement la valeur 10 par 100 dans l'appel à la fonction repetition.
1.3. Exécuter la cellule ci-dessous, qui permet de générer 1000 lancers de deux dés et de recenser dans un tableau les nombres d'apparition de chaque somme.
import IPython ; from IPython.display import display, HTML
def Genere_html(res):
"""
Fonction qui génère un affichage de la liste des résultats (format html)
"""
#code html pour les images des faces du dé
De_faces={k:"<img src='https://raw.githubusercontent.com/PythonLycee/PyLyc/master/img/Faces_des/dface"+str(k)+".png' style='display:inline-block; margin:1px;'>" for k in range(1,7)}
#code html correspondant aux faces des dés obtenus
Images="<pre>"
Saut_l=0
for elt in res:
for de in elt:
Images+=De_faces[de]
Images+=" "
Saut_l+=len(elt)
if Saut_l>=20:
Images+="<br>"
Saut_l=0
nb_des=len(elt)
Images+=" </pre>"
#corps du rendu html
html="""
<html>
<body>
<table style='font-size: 16px;'>
<tr style='border: 2px solid black;'>
<td><center>Lancers<br>de<br>dés</center></td>
<td colspan="""+str(6*nb_des)+"""><br/>"""+Images+"<br/><br/><center>"+"""</center></td>
</tr>
<tr style='background-color:#FFFFDD;'>
<td style='border: 2px solid black;'><br/><center><strong>Somme</strong></center></td>
"""
for k in range(nb_des,6*nb_des+1):
html+="<td style='border: 2px solid black;'><br/><center>"+str(k)+"</center></td>"
html+="<td style='border: 2px solid black;'><br/><center><strong>Total</strong></center></td>"
html+="""
</tr>
<tr style='background-color:#FFFFDD;'>
<td style='border: 2px solid black;'><br/><center><strong>Effectif</strong></center></td>
"""
for k in range(nb_des,6*nb_des+1):
html+="<td style='border: 2px solid black;'><br/><center>"+str( [ sum(des) for des in res].count(k) )+"</center></td>"
html+="<td style='border: 2px solid black;'><br/><center><strong>"+str(len(res))+"</strong></center></td>"
html+="""
</tr>
</table>
</body>
</html>
"""
return html
display(HTML(Genere_html(repetition(1000,2))))
1.4. On s'intéresse maintenant aux résultats fournis dans le tableau ci-dessus.
$\quad\;$a. Quelle est la fréquence à laquelle le joueur arrive sur la case "Chance" en partant de la case "Départ" au Monopoly ?
$\quad\;$b. Semble-t-on avoir autant de chances d'arriver sur les différentes cases possibles ?
Le calcul de la fréquence dépend des résultats obtenus, mais on observe en théorie une valeur "proche" de 167/1000. Les valeurs du tableau permettent de conclure qu'il n'y a pas équiprobabilité d'obtenir chaque somme.
1.5. L'issue de l'expérience peut se modéliser sous la forme $(\text{d}_1;\text{d}_2)$,
$\quad\;$où $\text{d}_1$ et $\text{d}_2$ sont deux nombres entiers compris entre 1 et 6.
$\quad\;$Dénombrer le nombre de couples de valeurs de dés $(\text{d}_1;\text{d}_2)$ qui permettent aux joueurs d'accéder à la case "Chance".
$\quad\;$(on pourra s'aider d'un tableau ou d'un arbre)
$\quad\;$En déduire la probabilité d'accéder à cette case.
Il y a 6 couples $(\text{d}_1;\text{d}_2)$ qui permettent d'accéder à la case "Chance" sur 36 couples en tout.
La probabilité cherchée est donc $\displaystyle \frac{6}{36}=\frac{1}{6}$.
1.6. Calculer de la même façon les probabilités d'arriver sur les différentes cases possibles, en partant de la case "Départ".
$\quad\;$L'impression du joueur de Monopoly était-elle justifiée ?
Les probabilités d'obtenir $2$, $3$, $4$, $5$, $6$, $7$, $8$, $9$, $10$, $11$ et $12$ sont respectivement :
$\displaystyle \frac{1}{36}$ ; $\displaystyle\frac{2}{36}=\frac{1}{18}$ ; $\displaystyle\frac{3}{36}=\frac{1}{12}$ ; $\displaystyle\frac{4}{36}=\frac{1}{9}$ ; $\displaystyle\frac{5}{36}$ ; $\displaystyle\frac{6}{36}=\frac{1}{6}$ ; $\displaystyle\frac{5}{36}$ ; $\displaystyle\frac{4}{36}=\frac{1}{9}$ ; $\displaystyle\frac{3}{36}=\frac{1}{12}$ ; $\displaystyle\frac{2}{36}=\frac{1}{18}$ et $\displaystyle\frac{1}{36}$.
Le Grand-duc de Toscane avait remarqué que lorsqu'il lançait un grand nombre de fois trois dés équilibrés à 6 faces, il semblait obtenir plus souvent une somme valant 10 qu'une somme valant 9.
Il ne comprenait pas ce paradoxe, car il avait également remarqué qu'il y a autant de façons d'écrire 9 que 10 comme somme de 3 nombres entiers compris entre 1 et 6.
Le but de cette partie est d'analyser ce problème posé par le Duc de Toscane.
2.1. On souhaite vérifier l'observation faite par le Grand-duc de Toscane :
2.2. Exécuter la cellule ci-dessous, qui permet de générer 10000 lancers de trois dés et de recenser dans un tableau les nombres d'apparition de chaque somme.
Remarque : Pour fonctionner, cette cellule nécessite que la cellule de la question 1.2 ait été exécutée.
display(HTML(Genere_html(repetition(10000,3))))
2.3. On s'intéresse maintenant aux résultats fournis dans le tableau ci-dessus.
$\quad\;$a. Quelle est la fréquence d'obtention de la somme 9 ? et de la somme 10 ?
$\quad\;$b. Le Grand-duc de Toscane semble-t-il avoir raison lorsqu'il affirme qu'on obtient plus souvent 10 que 9 ?
Le calcul de la fréquence dépend des résultats obtenus, mais on observe en théorie une valeur "proche" de $0,125$ pour l'obtention du 9 et "proche" de $0,1157$ pour l'obtention du 10. On observe bien que la fréquence d'obtention du 9 est supérieure à la fréquence d'obtention du 10
2.4. À l'aide de schémas ou d'ébauches de schémas, calculer la probabilité d'obtenir une somme de 9 puis la probabilité d'obtenir une somme de 10 lorsqu'on lance 3 dés. Conclure.
Un peu d'histoire...
C'est Galilée qui répondit au paradoxe du Grand-duc de Toscane, en estimant de façon correcte les probabilités des différentes sommes obtenues en lançant trois dés.
Antoine Gombaud, dit "Le Chevalier de Méré" est à l'origine de la question suivante.
Lequel des deux événements parmi les deux proposés ci-dessous est-il le plus probable ?
- Obtenir au moins un 6 en lançant quatre dés
- Obtenir au moins un double 6 en lançant 24 fois deux dés.
Le but de cette partie est d'analyser ce problème posé par le Chevalier de Méré.
3.1. On s'intéresse au cas du lancer de quatre dés.
$\quad\;\;$a. Exécuter les deux cellules ci-dessous. Que représentent les résultats affichés ?
$\quad\quad\;$La probabilité d'obtenir au moins un 6 lorsqu'on lance quatre dés semble-t-elle supérieure ou inférieure à 50% ?
from random import randint
def quatredes():
"fonction qui effectue 4 lancers de dés et indique si on a obtenu au moins un 6"
de1 = randint(1,6)
de2 = randint(1,6)
de3 = randint(1,6)
de4 = randint(1,6)
return 6 in [de1,de2,de3,de4]
quatredes()
def repete_quatredes(N):
"fonction qui répète N fois la fonction quatredes et indique dans combien de cas on a obtenu au moins un 6"
compteur=0
for k in range(N):
if quatredes():
compteur = compteur+1
return compteur
repete_quatredes(10000)
$\quad\;$b. L'issue de l'expérience peut se modéliser sous la forme $(\text{d}_1;\text{d}_2;\text{d}_3;\text{d}_4)$,
$\quad\;\quad$où $\text{d}_1$, $\text{d}_2$, $\text{d}_3$ et $\text{d}_4$ sont quatre nombres entiers compris entre 1 et 6.
- Combien y a-t-il d'issues possibles en tout ?
- Combien y a-t-il d'issues où on n'a obtenu aucun 6 ?
- En déduire le nombre d'issues où a obtenu au moins un 6.
- En déduire la probabilité d'obtenir au moins un 6 lorsqu'on lance quatre dés.
3.2. On s'intéresse au cas des 24 lancers de deux dés.
$\quad\;\;$a. Exécuter les deux cellules ci-dessous. Que représentent les résultats affichés ?
$\quad\quad\;$La probabilité d'obtenir au moins un double 6 lorsqu'on lance 24 fois deux dés semble-t-elle supérieure ou inférieure à 50% ?
from random import randint
def deuxdes():
"fonction qui effectue jusqu'à 24 lancers de deux dés et indique si on a obtenu un double 6"
for k in range(24):
de1 = randint(1,6)
de2 = randint(1,6)
if de1==6 and de2==6: return True
return False
deuxdes()
def repete_deuxdes(N):
"fonction qui répète N fois la fonction deuxdes et indique dans combien de cas on a obtenu un double 6"
compteur=0
for k in range(N):
if deuxdes():
compteur = compteur+1
return compteur
repete_deuxdes(10000)
$\quad\;$b. L'issue de l'expérience peut se modéliser sous la forme $(\text{d}_1;\text{d}_2)$,
$\quad\;\quad$où $\text{d}_1$ et $\text{d}_2$ sont deux nombres entiers compris entre 1 et 6.
- Quelle est la probabilité, lorsqu'on lance deux dés, de ne pas obtenir un double 6 ?
- En déduire la probabilité de n'obtenir aucun double 6 lorsqu'on lance 24 fois deux dés.
- En déduire la probabilité d'obtenir au moins un double 6 lorsqu'on lance 24 fois deux dés.
3.3. Conclure : Quelle réponse peut-on apporter au problème du Chevalier de Méré ?
En conclusion, la probabilité d'obtenir au moins un 6 en lançant quatre dés est supérieure à la probabilité d'obtenir au moins un double 6 en lançant 24 fois deux dés.
Un peu d'histoire...
C'est Blaise Pascal qui répondit au paradoxe du Chevalier de Méré, en estimant de façon correcte ces deux probabilités.
© Copyright Franck CHEVRIER 2019-2023 https://www.python-lycee.com.
Les activités partagées sur Capytale sont sous licence Creative Commons.
Dernière modification de l'activité : Mai 2023