伪随机生成算法(线性同余算法)

来源:互联网 发布:知乎日报api接口 编辑:程序博客网 时间:2024/06/05 02:46

定义:

伪随机数:通过某种数学公式或者算法产生的数值序列。虽然在数学意义上伪随机数是不随机的,但是如果能够通过统计检验,可以当成真随机数使用。

算法:

伪随机数产生最基础的思想是均匀分布(当然这不是唯一的思路)。一般来说,如今主流的编程语言中使用的随机数函数基本采用这种均匀分布思想,而其中最常用的算法就是”线性同余法”。伪随机数生成器如下:

xn=(axn1+b)mod(m)

其中,a,b,m都是生成器设定的常数,周期为m。

高性能线性同余算法参数取值:
(1)乘数a满足a=4p+1;增量b满足b=2q+1。其中p,q都是正整数。
(2)m值最好选的大一些,m值直接影响伪随机数序列的周期长短。
(3)ab值越大,产生的伪随机数越均匀。
(4)am互质,产生的随机数效果较不互质好。

参考资料:
http://www.cnblogs.com/forget406/p/5294143.html

0 0
原创粉丝点击