线性同余生成器产生随机序列

原创 2018年04月16日 13:17:44

产生比M小的随机序列的线性同余生成器公式为:x[i+1]=A*x[i]%M

如果M是素数,A的若干选择可以得到周期为M-1的随机序列,可以选择M=2^31-1=2 147 483 647,A=48 271。

为了避免溢出,可以使用以下公式:x[i+1]=A*(x[i]%Q)-R*[X[i]/Q]+Mδ(X[i])

其中Q和R分别是M/A的商和余数,如果前两项相减结果是正的,δ(X[i])为0;如果结果是负的则δ(X[i])为1。


时间序列(R语言处理金融序列)

-
  • 1970年01月01日 08:00

线性同余随机发生器

一. LCG(linear congruential generator)线性同余发生器 伪随机数生成器   LCG 算法数学上基于公式:X(n + 1) = (a * X(n) + c) % m 其...
  • cay22
  • cay22
  • 2014-11-27 17:43:14
  • 3769

使用线性同余法生成伪随机数/序列(C++实现)

计算机上可以用物理方法来产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生,这样产生的序列与真正的随机数序列不同,所以称为伪随机数或伪随机序列,只要方法和参数选择合适,所产生的...
  • liyuefeilong
  • liyuefeilong
  • 2015-08-16 00:50:23
  • 5227

随机数生成器与线性同余法产生随机数

1、随机数生成器与/dev/random:随机数生成器,顾名思义就是能随机产生数字,不能根据已经产生的数预测下次所产生的数的“器”(器存在软件与硬件之分),真正的随机数生成器其产生的随机数具有随机性、...
  • Apollon_krj
  • Apollon_krj
  • 2017-12-05 17:48:29
  • 360

Math.random() 线性同余 伪随机数

同余方程: 对于一组整数Z,Z里的每一个数都除以同一个数m,得到的余数可以为0,1,2,...m-1,共m种。我们就以余数的大小作为标准将Z分为m类。每一类都有相同的余数   在每一类下的任意两...
  • u011916334
  • u011916334
  • 2016-07-29 13:46:46
  • 676

用线性同余法生成“伪”随机数

线性同余方法(LCG)是个产生伪随机数的方法。 它是根据递归公式: 其中是产生器设定的常数。 LCG的周期最大为,但大部分情况都会少于M。要令LCG达到最大周期,应符合以...
  • memray
  • memray
  • 2013-05-15 21:41:39
  • 25331

线性同余算法以及java中随机数的实现分析

线性同余算法(伪随机数算法)
  • lizhi20091225
  • lizhi20091225
  • 2013-08-20 23:07:33
  • 1445

线性同余伪随机数生成器

  • 2011年04月21日 12:25
  • 31KB
  • 下载

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

线性同余随机数生成器介绍: 古老的LCG(linear congruential generator)代表了最好最朴素的伪随机数产生器算法。主要原因是容易理解,容易实现,而且速度快。  ...
  • feipeixuan
  • feipeixuan
  • 2014-04-29 09:05:22
  • 2167

乘同余法产生(0,1)均匀分布随机数

  • 2011年11月08日 22:30
  • 240B
  • 下载
收藏助手
不良信息举报
您举报文章:线性同余生成器产生随机序列
举报原因:
原因补充:

(最多只允许输入30个字)