Accueil site Tableur Programmation Outils XML Téléchargement Informations



Algorithmique

Avec Python

Statistiques / Probabilité 
 
Introduction
Initiation
  Généralités
  Première activité
  Calcul d'une racine carrée
  Exemple en géométrie
  Exemple avec Logo
Prolongement
  Symétrie centrale
  Parallélogramme
  Procédures avec Logo
  Récursivité avec Logo
Avec Algobox
  Fraction irréductible
  Fonction monotone
  Résolution d'équation 1
  Résolution d'équation 2
Avec Python
  Environnement
  Autres environnements
  L'essentiel
  Premier exemple
  Addition de fractions
  Cryptographie
  Statistiques / Probabilité
Avec Java
  Environnement
  L'essentiel
  Premier exemple
  Avec des classes
 
Jeu du lièvre et de la tortue
Il s'agit pour le lièvre et la tortue de parcourir un trajet de 6 cases. Pour cela on lance au maximum 6 fois un dé.
Le lièvre et la tortue avancent de la manière suivante :
- si le 6 sort au cours d'un des 6 lancers, alors le lièvre avance de 6 cases ;
- sinon la tortue avance d'une case à chaque lancer.
La question est de savoir si le jeu est équitable.

On peut donc réaliser un petit programme qui simule ce jeu.
On utilisera la fonction randrange() de la bibliothèque random de Python.
La première ligne du programme importera donc la fonction de cette bibliothèque : from random import randrange
On peut également utiliser une liste, nommée ici tirage, pour mémoriser les différents lancers de dé. Ce n'est pas indispensable mais cette liste permet d'afficher pour chaque partie les lancers successifs (au moins quand le nombre de parties demandées est inférieur à un certain nombre, fixé ici à 20)


Télécharger ce programme pour Python.
En l'exécutant, on obtient par exemple :


Remarque :
Dans le programme précédent, on peut avantageusement remplacer int(l:n*100) par format(l/n*100,",") pour avoir un ou deux chiffres après la virgule.
Pistes d'exploitation de ce jeu
On s'aperçoit que lorsque le nombre de parties est grand (1000, 2000, ....10000,...) le nombre de parties gagnées par le lièvre est proche de 66% et celui de la tortue 33%. Pourquoi ?
Soient :
  • A, l'évènement "La tortue gagne"
  • B, l'évènement "Le lièvre gagne"
Le plus simple est d'essayer d'évaluer la probabilité P(A) de l'évènement A
Pour évaluer la probabilité P(B) de l'évènement B, on peut procéder par différence : P(B)=1 - P(A)
Mais on peut aussi calculer directement P(B) sans connaître P(A).
On peut demander aux élèves de montrer que :

Prolongement
Peut-on rendre ce jeu plus équitable ?
Par exemple en modifiant le nombre de lancers de chaque partie.
On peut faire une étude expérimentale en modifiant légèrement le programme précédent.
On introduit une nouvelle variable,ici nbl, pour le nombre de lancers :


Télécharger ce programme pour Python.
Quel est donc le nombre de lancers qui rend plus équitable ce jeu ?
Calculer les probabilité des deux évènements A et B pour ce nombre de lancers.

© Matabu mars 2020 - Tous droits réservés. Limitation à l'usage non commercial, privé ou scolaire.