线性同余法

来源:互联网 发布:百度快照优化软件 编辑:程序博客网 时间:2024/04/30 00:01

  线性同余方法是目前应用广泛的伪随机数生成算法,其基本思想是通过对前一个数进行线性运算并取模从而得到下一个数。即:
a(i+1)=(a(i)*b+c)mod(m)
其中b称为乘数,c称为增量,m称为模数,它们均为常数。
 
乘数、增量和模数的选取可以多种多样,只要保证产生的随机数有较好的均匀性和随机性即可。
线性同余法的最大周期是m,但一般情况下会小于m。要使周期达到最大,应该满足以下条件:
(1) c和m互质;
(2) m的所有质因子的积能整除b-1;
(3) 若m是4的倍数,则b-1也是;
(4) b,c,a(0)(初值,一般即种子)都比m小;
(5) b,c是正整数。
0 0
原创粉丝点击