TS. DM7-Correction
I. Pile ou Face ?
On lance trois fois de suite une pièce de monnaie. On compte combien de fois pile (ou face) tombe lors de ces trois lancers.
Voici un programme Python, qui permet d’obtenir par exemple un million de simulations. :
http://lycee.lagrave.free.fr/maths/python/pile_face.py
Listing 1: Simulation de trois lancers successifs d’une pièce de monnaie
1# -*- coding : utf -8 -*-
2from random import randint
3# ## On lance trois fois de suite une pièce de monnaie .
4# ## On compte combien de fois pile ( ou face ) tombe
5
6def piece ( n) :
7T = []
8for kin range (n) :
9X=0
10 for jin range (3) :
11 X += randint (0 ,1)
12 T += [ X ]
13 return([ T. count ( i) / float (n) for iin range (0 ,4) ])
14
15 print piece (1000000)
sachant que :
randint(0,1) renvoie un entier aléatoirement compris entre 0et 1;
T.count(i) compte le nombre de fois où i apparaît dans la liste T.
1. Interpréter l’affichage obtenu à la suite de l’exécution de l’algorithme précédent.
Voici un exemple d’affichage suite à l’exécution de l’algorithme :
>>>
[0.125109 , 0.375204 , 0.374274 , 0.125413]
Cette liste représente la distribution des fréquences d’un échantillon de taille 100 000 (l’ensemble des fréquences
de chaque valeur de l’échantillon) c’est une approche « fréquentiste » de la loi de probabilité de la variable aléa-
toire Xqui comptabilise le nombre de pile (ou face) lors de ces trois lancers. Cette « Approche fréquentiste » exige
de simuler un grand nombre de fois l’expérience, si l’on ne veut pas se trouver devant des résultats expérimentaux
ridicules, parce que la convergence dans la loi forte des grands nombres est lente.
Cet algorithme est donc un moyen expérimental pour trouver la probabilité d’un événement associé à une ex-
périence aléatoire que l’on peut répéter. « Soit n un entier naturel non nul. Lorsque l’on répète n fois, de façon in-
dépendante, une expérience aléatoire, la fréquence f d’une issue a tendance à se stabiliser, lorsque n devient grand,
autour d’une valeur p. On choisit alors cette valeur p comme probabilité de l’issue. »
On obtient par simulation la loi de probabilité de X:
X=xi0 1 2 3
p(X=xi)0,125 109 0,375 204 0,374 274 0,125 413
2. Déterminer les valeurs théoriques associées à cette simulation.
La loi de probabilité de Xest obtenue par exemple à l’aide de l’arbre pondéré page suivante.
X=xi0 1 2 3
p(X=xi)0,125 0,375 0,375 0,125
où la variable aléatoire Xcomptabilise le nombre de fois où pile est obtenu à la suite de ces trois lancers.
P(X=0) =1
2×1
2×1
2=1
8=0,125 P(X=1) =µ1
2×1
2×1
2+µ1
2×1
2×1
2+µ1
2×1
2×1
2=3
8=0,375
P(X=3) =1
2×1
2×1
2=1
8=0,125 P(X=2) =µ1
2×1
2×1
2+µ1
2×1
2×1
2+µ1
2×1
2×1
2=3
8=0,375
F
F
F
P
P
F
P
P
F
F
P
P
F
P
1
21
2
1
2
1
2
1
2
1
21
2
1
2
1
2
1
2
1
2
1
2
1
2
1
2X=3
X=2
X=2
X=1
X=2
X=1
X=1
X=0
Remarque : On reconnaît le schéma de Bernouilli où les paramètres sont : n=3p=0,5 q=0,5
On en déduit : P(X=0) =Ã3
0!µ1
20µ1
23
=1
8=0,125 P(X=1) =Ã3
1!µ1
21µ1
22
=3
8=0,375
II. Tirage de boules dans des urnes.
On peut adapter le programme précédent à la situation suivante : On dispose de trois urnes, la première contenant 7boules
blanches et 4noires, la deuxième 5blanches et 2noires, la troisième 6blanches et 3noires.
On tire une boule dans chaque urne et on compte le nombre de boules blanches obtenues.
1. Compléter le listing pour obtenir l’affichage, sur un million de simulations, de la loi de probabilité de la variable
aléatoire qui comptabilise le nombre de boules blanches obtenues à la suite de ces trois tirages.
http://lycee.lagrave.free.fr/maths/python/tirages_boules.py
1 2 34
5 6 7 8
9 10 11
1 2 34
5 6 7
1 2 34
5 6 7 8
9
Listing 2: Simulation d’un tirage de boules dans des urnes
1# -*- coding : utf -8 -*-
2from random import randint
3# ## On dispose de trois urnes , on tire une boule dans chaque urne
4# ## On compte le nombre de boules blanches obtenues
5def boules ( n ) :
6T = []
7for kin range (n) :
8X=0
9if randint (1 ,11) <= 7 :
10 X += 1
11 if randint (1 ,7) <= 5 :
12 X += 1
13 if randint (1 ,9) <= 6 :
14 X += 1
15 T += [ X ]
16 return([ T. count ( i) / float (n) for iin range (0 ,4) ])
17
18 print boules (1000000 )
Voici un exemple d’affichage suite à l’exécution de l’algorithme :
>>>
[0.034606 , 0.216381 , 0.445771 , 0.303242]
2. Déterminer la loi de probabilité de la variable aléatoire associée à cette simulation.
Soit Xla variable aléatoire qui comptabilise le nombre de boules blanches obtenues à la suite de ces trois tirages.
Une issue de cette expérience aléatoire est un triplet (a,b,c)
aest une boule de l’urne 1 où best une boule de l’urne 2 et cest une boule de l’urne 3.
X=0 lorsque le triplet obtenu est (N,N,N) donc P(X=0) =4
11 ×2
7×3
9=24
693 =8
231 '0,034
X=1 lorsque le triplet obtenu est (B,N,N) ou (N,B,N) ou (N,N,B) donc :
P(X=1) =µ7
11 ×2
7×3
9+µ4
11 ×5
7×3
9+µ4
11 ×2
7×6
9=150
693 =50
231 '0,216
X=2 lorsque le triplet obtenu est (B,B,N) ou (B,N,B) ou (N,B,B) donc :
P(X=2) =µ7
11 ×5
7×3
9+µ7
11 ×2
7×6
9+µ4
11 ×5
7×6
9=309
693 =103
231 '0,445
X=3 lorsque le triplet obtenu est (B,B,B) donc P(X=3) =7
11 ×5
7×6
9=210
693 =70
231 '0,303
D’où la loi de probabilité de X:
X=xi0 1 2 3
p(X=xi)8
231
50
231
103
231
70
231
III. Tirage de boules avec remise.
Simulons le tirage successif de quatre boules avec remise
dans une urne contenant 7boules blanches et 3boules
noires. Comptons la fréquence des tirages contenant
exactement deux boules blanches ;
au moins une boule blanche.
1 2 34
5 6 7 8
9 10
1. Compléter le listing pour obtenir sur un million de simulations, la fréquence des tirages contenant exactement deux
boules blanches. http://lycee.lagrave.free.fr/maths/python/tirages_boules_avec_remise.py
Listing 3: Simulation d’un tirage de boules avec remise
1# -*- coding : utf -8 -*-
2from random import randint
3# ## On simule le tirage successif de quatre boules avec remise
4# ## On affiche la fréquence des tirages contenant nb boules blanches .
5
6def boule (n , nb ) :
7X=0
8for kin range (n) :
9B=0
10 for jin range (1 ,5) :
11 if randint (1 ,10) <= 7 :
12 B += 1
13 if B == nb :
14 X += 1
15 return(X/ float ( n) )
16
17 print boule (1000000 ,2)
Voici un exemple d’affichage suite à l’exécution de l’algorithme :
>>>
0.264272
2. Modifier l’affichage du listing précédent pour obtenir la fréquence des tirages contenant au moins une boule blanche.
Obtenir au moins une boule blanche est le contraire d’en obtenir aucune, il suffit donc de modifier l’affichage
ligne 17 du listing précédent par :
.
print 1 - boule (1000000 ,0)
Voici un exemple d’affichage suite à l’exécution de l’algorithme modifié :
>>>
0.991988
3. Calculer les résultats théoriques associées à cette simulation.
Le tirage se fait avec remise. La probabilité d’obtenir (N,N,B,B) est :
3
10 ×3
10 ×7
10 ×7
10 =441
10 000
Les tirages de deux boules exactement sont les anagrammes de (N,N,B,B).
On multiplie donc le résultat précédent par : Ã4
2!=4!
2! ×2! =6
Si Xest la variable aléatoire qui comptabilise le nombre de boules blanches obtenues à la suite de ces quatre
tirages.
P(X=2) =6×441
10 000 =1323
5000 =0,2646 et P(X>1) =1P(X=0) =1µ3
104
=0,9919
1 / 4 100%