1- Génération de valeurs aléatoires
Fonction de génération de base et construction de générateurs
La fonction ALEA() renvoie un nombre aléatoire tiré uniformément dans [0;1]. A partir de cette fonction
simple, il est possible de construire différents générateurs aléatoires. Soit par exemple une cellule nommée a qui
contient une valeur numérique positive, une cellule nommée b qui contient une valeur numérique positive telle que b>a.
●Dans ce cas, la fonction a*ALEA() renvoie un nombre dans [0;a]
●En continuant, on a (b-a)*ALEA() qui renvoie un nombre dans [0;b-a]
●Enfin, la fonction (b-a)*ALEA()+a renvoie un nombre dans [a;b]
Génération de nombres entiers
En première approche, pour tirer des valeurs entières, on utilise le générateur de valeurs réelles. Par
exemple, pour tirer un nombre entier dans [N;M], on commence par nommer une cellule N qui contient la valeur de la
borne inférieure, une cellule M qui contient la valeur de la borne supérieure. Comme fonction de tirage aléatoire d'un
nombre entier, on peut proposer : ARRONDI((M-N)*ALEA()+N) qui tire une valeur aléatoire dans [N;M] et arrondit
ensuite cette valeur à l'entier le plus proche.
Une telle fonction est cependant biaisée, étudions l'évolution de ARRONDI((M-N)*ALEA()+N) en fonction
de la valeur de (M-N)*ALEA()+N :
La valeur de (M-N)*ALEA()+N est dans : Valeur de ARRONDI((M-N)*ALEA()+N)
[N;N+0.5[ N
[N+0.5;N+1.5[ N+1
[N+1.5;N+2.5[ N+2
... ...
[M-1.5;M-0.5[ M-1
[M-0.5;M] M
On remarque que la taille de l'intervalle qui permet d'obtenir N est 0.5, de même que la taille de l'intervalle qui permet
d'obtenir M. En revanche, la taille de l'intervalle permettant d'obtenir K entier dans ]N;M[ est 1. Donc, le générateur
aléatoire ARRONDI((M-N)*ALEA()+N) ne produit pas une distribution uniforme sur les entiers. Pour produire une
distribution uniforme, on part d'un tirage dans l'ensemble [N-0,5;M+0,5] : les arrondis des valeurs tirées dans cet
Manipulations statistiques 2