具有均匀素数模数的线性同余发生器的分布

时间:2016-09-12 12:55:10

标签: random probability

线性同余生成器是一种算法,产生由重现

定义的伪随机序列

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 的适当值)?

1 个答案:

答案 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

这告诉我们什么?

  • 最重要的是当且仅当(&lt; - &gt;等价关系)
    • 如果我理解正确的话,你问的是模数值(上面:m)是否通过某种方法给出的随机性
    • 上面的定理告诉我们,对于m的每次选择,都存在c,因此RNG不会有一个完整的句号(一个不是相对素数的数字)! / LI>
    • 没有一个完整的时间段会打破你的频率测试
    • 含义:单独使用模数/ m的信息不足以推断随机性(一般情况下;对于m的每次选择,都会有ac会破坏整个期间!)

以上不是正式的,但应该给你一个进一步分析的想法!