Probabilités#

Certaines probabilités peuvent être calculées exactement. Une simulation permet aussi de les estimer en répétant un grand nombre de fois la même expérience aléatoire.

Dès la seconde

Produire un résultat aléatoire#

Le module random contient des fonctions liées au hasard. Il faut l’importer avant de les utiliser.

Exemple
Importer random
Prêt
Sortie

Chaque cellule de cette page réécrit import random afin de pouvoir être exécutée indépendamment.

random.randint(a, b) choisit un entier entre a et b, bornes incluses.

Exemple
Tirer un entier
Prêt
Sortie

Après plusieurs exécutions, les valeurs 2 et 10 ne doivent jamais apparaître.

Simuler un dé ou une pièce#

Une fonction peut représenter une expérience aléatoire. Chaque appel réalise alors un nouveau lancer et renvoie son résultat.

Exemple
Lancer un dé
Prêt
Sortie

Peut-on obtenir 0 ? Peut-on obtenir 7 ? Les bornes choisies dans randint répondent directement à ces questions.

Pour un pile ou face, on peut coder les deux issues par 0 et 1.

Exemple
Pile ou face
Prêt
Sortie

Répéter une expérience#

Une boucle permet d’effectuer plusieurs lancers en une seule exécution.

Exemple
Dix lancers de dé
Prêt
Sortie

Le nombre de lancers peut être modifié sans changer le reste du programme.

Compter un événement#

Le compteur augmente uniquement lorsque l’événement étudié se produit.

Exemple
Compter les 6
Prêt
Sortie

Plusieurs exécutions donnent des compteurs différents : les vingt lancers ne produisent pas toujours la même série de résultats.

Passer du compteur à la fréquence#

La fréquence d’un événement est :

\[\text{fréquence}=\frac{\text{nombre de succès}}{\text{nombre total d’essais}}.\]
Exemple
Fréquence d’un 6
Prêt
Sortie

La probabilité exacte vaut \(\frac16\approx0{,}167\). Remplace 1000 par 20, puis par 10 000. Avec davantage d’essais, la fréquence fluctue encore, mais elle est généralement plus proche de la probabilité théorique.

Somme de deux dés#

Exemple
Un lancer de deux dés
Prêt
Sortie

On peut maintenant estimer la probabilité d’obtenir une somme supérieure ou égale à 8.

Exemple
Une somme supérieure ou égale à 8
Prêt
Sortie

Un calcul exact donne \(\frac{15}{36}=\frac5{12}\approx0{,}417\). Compare cette valeur à plusieurs simulations.

Approcher pi par la méthode de Monte-Carlo#

On choisit des points au hasard dans le carré \([-1;1]\times[-1;1]\). Son aire vaut 4. Le disque de centre O et de rayon 1, contenu dans le carré, a pour aire \(\pi\).

La proportion de points situés dans le disque est donc proche de \(\frac{\pi}{4}\).

Points aléatoires dans un carré et disque utilisé pour approcher pi Points aléatoires dans un carré et disque utilisé pour approcher pi
Les points retenus sont ceux qui se trouvent à l’intérieur du disque unité.

La condition mathématique est \(x^2+y^2\leqslant1\) ; en Python, elle s’écrit x**2 + y**2 <= 1.

Exemple
Approximation de pi
Prêt
Sortie

random.uniform(-1, 1) choisit un nombre décimal entre −1 et 1. Augmente essais et observe à la fois l’amélioration habituelle de l’approximation et les fluctuations qui subsistent.

Exercices#

Exercice 1

Écrire une fonction nombre_faces(n) qui simule n lancers d’une pièce et renvoie le nombre de faces obtenues. L’utiliser pour 20 lancers et afficher le résultat.

À toi
Vingt lancers d’une pièce
À faire
Sortie

Exercice 2

Écrire une fonction frequence_quatre(n) qui simule n lancers d’un dé et renvoie la fréquence d’apparition du nombre 4. L’utiliser pour 100 lancers et afficher le résultat.

À toi
Fréquence du nombre 4
À faire
Sortie

Exercice 3

Écrire une fonction frequence_somme_sept(n) qui simule n lancers de deux dés et renvoie la fréquence de l’événement « obtenir une somme égale à 7 ». L’utiliser pour 200 essais et afficher le résultat.

À toi
Fréquence d’une somme égale à 7
À faire
Sortie

Dans le parcours