线性同余生成器是一种算法,产生由重现
定义的伪随机序列X n + 1 =(X n * a + c)mod q
在某些条件下(即a,c,q,X 0 的值),序列满足频率测试:在任何长度为L的子序列中(L足够大)小于给定k的元素的数量< q大致为(k / q)* L.
当模q是从某个(大)区间统一选择的素数时,是否有这种事实的形式证明?否则说明:如果q是均匀随机素数且k <= q,则
P(X n &lt; k)= k / q
保持(对于a,c,X 0 的适当值)?
答案 0 :(得分:0)
(阅读关于这个问题的起源/动机的内容会很不错。)
根据wiki,你有一个混合同余生成器(如果我们允许c
非零。)
赫尔 - 多贝尔定理说(小心;不同的变量名称):
The period of a general mixed congruential generator is at most m, and for some choices of factor a much less than that. The mixed congruential generator will have a full period for all seed values if and only if:
m and c are relatively prime
a-1 is divisible by all prime factors of m
a-1 is divisible by 4 if m is divisible by 4
这告诉我们什么?
m
)是否通过某种方法给出的随机性m
的每次选择,都存在c
,因此RNG不会有一个完整的句号(一个不是相对素数的数字)! / LI>
以上不是正式的,但应该给你一个进一步分析的想法!