Lancer 1 000 fois une pièce de monnaie, lancer 1 000 fois un dé, effectuer 1 000 tirages avec remise dans une urne, et noter à chaque fois le résultat obtenu, qui peut le faire ? Un programme de calcul bien sûr !
I. Simulation de variables aléatoires avec Python
À noter
Pour employer ces fonctions, il faut importer le module random grâce à l’instruction « from random import * ».
Pour simuler un grand nombre d’expériences identiques et indépendantes on dispose de l’instruction random() qui fournit un nombre pseudo-aléatoire de l’intervalle [0 ; 1[(ne pas oublier les parenthèses).
La fonction randint(a, b) renvoie un nombre entier de l’intervalle 〚a;b〛.
Exemple : Le programme suivant simule le jet d’une pièce de monnaie truquée de telle sorte que la probabilité de « pile » soit 0,4. Il définit de fait la variable aléatoire nommée pile qui compte le nombre de « pile » au cours de 1 000 lancers.
II. Simulation de variables aléatoires avec un tableur
Dans la feuille de calcul ci-contre, on a simulé 20 expériences (seules les premières sont affichées). Chaque expérience consiste à lancer 100 000 fois (n = 100 000) une pièce truquée, avec une probabilité de « pile » de 0,35 (p = 0,35).
Pour chaque expérience, une formule calcule la proportion m de « pile » obtenues (colonne J) et la distance entre m et p (colonne L). Si la distance est inférieure à un nombre donné (rayon r) alors une formule affiche 1 et sinon 0 (colonne M). Enfin la cellule K8 compte la proportion d’expériences où cette distance (|p – m|) est inférieure au rayon. Il y en a ici 95 %.
Méthode
1) Calcul de l’espérance avec un tableur
Le tableau ci-dessous résume la loi de probabilité d’une variable aléatoire X.
1. Écrire une formule permettant de calculer P(X = –3).
2. La cellule G3 contient la valeur de E(X). Quelle formule peut-on écrire ?
Conseil
1. Envisagez le calcul de la somme de tous les nombres pk.
2. Revenez à la définition de l’espérance d’une variable aléatoire.
Solution
1. La somme p1 + … + p5 vaut 1. On peut donc écrire en C2 : « = 1-SOMME(B2 ; D2 : F2) ». On trouve 1 – 0,92 = 0,08.
2. Il suffit d’écrire « = SOMME(B3 : F3) », qui additionne les nombres pkxk.
2) Répétitions de variables aléatoires
Commenter ce programme générant les lancers décrits dans la fiche.
Solution
Le programme exécute une première boucle (lignes 1 à 11) de 20 expériences identiques et affiche la proportion de « pile » obtenue (m sur la ligne 9) pour chacune d’elles (ligne 10). Une expérience (lignes 3 à 8) consiste à tester si un nombre choisi aléatoirement (ligne 4 : hasard) est inférieur ou égal à 0,35. Si oui, la variable aléatoire pile augmente de 1.
Vérifiez que vous avez bien compris les points clés des fiches 33 à 35.