Probabilités

Problème du Chevalier de Méré

Émilie a lu dans un livre que le Chevalier de Méré (1607-1684) posa le problème suivant : « Lorsqu’on lance simultanément deux dés (numérotés de 1 à 6 et non truqués), est-il probable que la somme des faces supérieures soit égale à 7 ou qu’elle soit égale à 8 ? » L’objectif de l’exercice est de simuler un grand nombre de fois de lancers de deux dés pour aider Émilie à répondre à la question.

  1. Simulation de l'expérience
  2. Voici une fonction en Python qui simule le lancer de deux dés équilibrés et renvoient la somme des faces supérieures :

    # -*- coding: utf-8 -*-
    from random import *
    def SommeDeuxDe () :
    	de1=randint(1,6)
    	de2=randint(1,6)
    	return de1+de2
    1. Ecrire un algorithme simulant n lancers de deux dés et renvoyant la fréquence d’apparition du 7 et celle du 8.
    2. Ecrire une fonction en Python, de paramètre le nombre n de lancers de deux dés, qui simule les n lancers et renvoie la fréquence d’apparition du 7 et celle du 8.
    3. Faire plusieurs simulations.
    4. Quelle réponse donner au Chevalier de Méré ?
  3. Justifications
    1. À l’aide d’un tableau à double entrée, donner une table d’addition illustrant le problème.
    2. Calculer la fréquence d’apparition du 7 et du 8 dans cette table.
    3. Lorsqu’on lance simultanément deux dés (numérotés de 1 à 6 et non truqués), est-il probable que la somme des faces supérieures soit égale à 7 ou qu’elle soit égale à 8 ?
    4. Donner une réponse justifiée au Chevalier.

Une solution de l'exercice "Problème de Méré".

# -*- coding: utf-8 -*-
from random import*
from math import *
def mere(nb_tirages) :
    nombreDeSept = 0
    nombreDeHuit = 0
    for i in range(1,nb_tirages+1):
        de1 = randint (1, 6)
        de2 = randint (1, 6)
        if de1+de2 == 7 :
            nombreDeSept = nombreDeSept + 1
        if de1+de2 == 8 :
            nombreDeHuit = nombreDeHuit + 1
    return nombreDeSept/nb_tirages,nombreDeHuit/nb_tirages
fr7,fr8=mere(10000)
print("la fréquence de l'apparition du 7 est :", fr7)
print("la fréquence de l'apparition du 8 est :", fr8)

Diagramme en Barres

  1. Recopier et exécuter ce script.
  2. Quel est le rôle de ce script ?
  3. # -*- coding: utf-8 -*-
    import matplotlib.pyplot as plt
    from random import *
    def frequenceFacesDe(nb_tirages) :
        plt.grid ( True )
        plt.xlabel (" Faces du dé")
        plt.ylabel (" Effectifs ")
        effectif = 0
        plt.title (" Nombre de lancers = "+str( nb_tirages ))
        liste_faces = [1, 2, 3, 4, 5, 6]
        liste_effectifs = [0, 0, 0, 0, 0, 0]
        for i in range (nb_tirages):
            de = randint (1, 6)
            liste_effectifs[de-1] = liste_effectifs[de-1] + 1
        plt.bar( liste_faces , liste_effectifs)
        plt.show ()
    frequenceFacesDe(1000)
  4. Simuler la somme de deux dés et afficher le diagramme en barres des résultats obtenus.

Une solution de l'exercice "Somme de deux dés".

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
from random import *
def SommeDeuxDes(nb_tirages):
    plt.grid ( True )
    plt.xlabel (" Somme des des")
    plt.ylabel (" Effectifs ")
    effectif = 0
    plt.title (" Nombre de lancers = "+str( nb_tirages ))
    liste_valeurs = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
    liste_resultats = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    for i in range (nb_tirages):
        de1 = randint (1, 6)
        de2 = randint (1, 6)
        liste_resultats [de1+de2-2] = liste_resultats [de1+de2-2]+1
    plt.bar( liste_valeurs , liste_resultats )
    plt.show ()
SommeDeuxDes(1000)
Diagramme_en_Barres

Problème du Duc de Toscane

Le Duc de Toscane était un grand amateur de jeux de dés, à force de jouer, il lui semblait avoir remarqué qu’en lançant trois dés et en additionnant les points obtenus, il obtenait plus souvent 10 points que 9 points.

Il n’arrive pas à comprendre pourquoi, parce que selon lui, il y avait autant de chances d’avoir l’un ou l’autre des deux résultats, chacun pouvant être obtenu de six façons différentes :

\[ 9 = 1 + 2 + 6 = 1 + 3 + 5 = 1 + 4 + 4 = 2 + 2 + 5 = 2 + 3 + 4 = 3 + 3 + 3. \] \[ 10 = 1 + 3 + 6 = 1 + 4 + 5 = 2 + 2 + 6 = 2 + 3 + 5 = 2 + 4 + 4 = 3 + 3 + 4. \]

Ce problème, appelé problème de Duc de Toscane, fut à l’époque (XVIe siècle) source de nombreuses discussions. L’objectif de l’exercice est de simuler un grand nombre de fois de lancers de trois dés pour tester l’observation du Duc de Toscane.

  1. Simulation de l'expérience
    1. En utilisant l'exercice 2 ci-dessous, écrire une fonction en python simulant le lancer de trois dés et affiche les résultats en diagramme en bâtons
    2. Faire plusieurs simulations.
    3. Les résultats des simulations affirment-ils l’observation du Duc de Toscane ?
    4. Quelle réponse donner au Duc de Toscane ?
  2. Justifications
    1. Faire un arbre pour présenter toutes les issues possibles de cette expérience.
    2. Donner une réponse justifiée au Duc de Toscane.

Une solution de l'exercice "Problème de Duc de Toscane".

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
from random import *
def SommeTroisDes(nb_tirages):
    plt.grid ( True )
    plt.xlabel (" Somme des des")
    plt.ylabel (" Effectifs ")
    plt.title (" Nombre de lancers = "+str( nb_tirages ))
    liste_valeurs = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
    liste_resultats = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    for i in range (nb_tirages):
        de1 = randint (1, 6)
        de2 = randint (1, 6)
        de3 = randint (1, 6)
        liste_resultats [de1+de2+de3-3] = liste_resultats [de1+de2+de3-3]+1
    plt.bar( liste_valeurs , liste_resultats )
    plt.show ()
SommeTroisDes(1000)
Diagramme_en_Barres