问题

计算数学 >> 数据结构
Questions in category: 数据结构 (Data Structure).

伪随机数生成器

Posted by haifeng on 2020-05-29 08:43:56 last update 2020-05-29 08:43:56 | Answers (0) | 收藏


许多库中的随机数生成器基于函数

xi+1(Axi+C)mod(2B1)

 

如果令 A=48271, C=1, B=31, 则有

(48271×179424105+1)mod(2311)=179424105

可以是用 Calculator 验证:

>> (48271*179424105+1)mod(2^31-1)
in> (48271*179424105+1)@(2^31-1)

out> 179424105

这说明, 如果种子(即初值) x0=179424105, 则生成器将陷入周期为 1 的循环.

 

 


References:

Mark Allen Weiss 著, 张怀勇 等译《数据结构与算法分析C++描述》(第3版). P.333