数学百科

产生伪随机数的乘同余法

2023-06-06

英文

multiplicative congruential method for generating pseudo-random numbers

简介

产生伪随机数的一种常用方法.乘同余法的一般形式是,对任意初值X1,用如下递推公式确定:

其中的A与M均为常数.为使乘同余法所产生的伪随机数具有更好的性质,一般情况下,常取M=2S,其中S是计算机中二进制整数的最大可能位数;A≌M1/2,而且A≡3或5(mod 8);X1与M互素.

M也可以是小于2s的素数,例如M=231-1;A为M的一个本原根,即对M-1的任一素因子q,都有A(M-1)/q≠1(mod M);X1为任意非零整数.这时所得随机数序列的周期可达M-1.