Answers:
要查找给定种子的非全周期LCG PRNG的周期,您只需要计算PRNG的迭代次数,直到它再次生成种子值即可。
从引用的维基百科页面:
期间长度
从历史上看,错误的选择导致了LCG的无效实施。一个特别说明性的例子是RANDU,它在1970年代初期被广泛使用,由于使用了这种不良的LCG,导致许多结果目前受到质疑。
如果您不约束自己使用全周期LCG PRNG,那您将承担巨大的风险。
如果您不知道给定的LCG是全周期的,那么您可能会得到一个具有任意数量的相互不同的序列的生成器,其中某些序列可能令人尴尬地很小并且具有令人震惊的随机性,甚至可能比臭名昭著的RANDU生成器还差。
您真的不想检查每个可能的种子值来确保它生成的序列对于您的应用程序来说足够长。
要获得有关伪随机数生成器的出色入门,我强烈建议您阅读有关随机数的数字食谱一章。