使用没有进行统计模拟是否正确22562256(或更多)来自 MWC prng 的输出?

机器算法验证 模拟 随机生成
2022-03-27 08:23:43

在一次关于 Marsaglia 的 Multiply-With-Carry 伪随机数生成器及其在生成用于统计目的的随机数据中的潜在用途的对话中,有人说:

没有任何统计模拟会使用2256这种发生器的输出。

那是对的吗?

  • 如果“是” ——是否有解释可以帮助我理解为什么这是正确的?是否有任何其他统计目的2256将使用 MWC prng 输出?
  • 如果“否” ——你能给我一个统计模拟的名称吗?我可以举个例子吗?

我之所以问这个问题是因为(作为一个统计新手)我相信 Marsaglia(作为一个统计专家)有充分的理由以“接近创纪录的时期”来开发 MWC prng 。但是现在,我很难理解 MWC prng 可能会派上用场的统计目的,如果确实没有统计模拟会使用的话 2256(或更多)来自此类生成器的输出。

1个回答

很难说“永远不会有统计模拟,因为永远是一段很长的时间,我们可能会找到方法来做我们现在看不到的事情。

然而,在可预见的未来,2256或者1077模拟比我们在当前对计算的理解下能够在合理时间内生成的数量级要高出许多数量级(更不用说我们真正需要的用于统计目的的东西,可能甚至更少),我怀疑它甚至会在 MWC 成为随机数生成史册中被长期遗忘的脚注之前,就遥遥领先。可能很难理解这个数量多大。

想象一下你有7×1018核心(地球每个人都有十亿个核心),每个核心都以每秒十亿次模拟的速度尖叫。让它运行一个世纪(大约π十亿秒)。那将是大致的尺寸模拟10402256. 你必须让它运行1040 世纪

(地球已经存在了一段时间4×107世纪)

所以不会很快。

(如果我们假设像量子计算机这样的技术......我们为什么要使用 MWC?)

实际上,我认为您引用的人是正确的。早在我们解决这个问题之前,我们就会停止使用 MWC。

(我的回答故意避免解决任何关于 MWC 一般适用性的问题,因为它与问题没有直接关系,但如果有人将它用于某事,这将是一个考虑因素。)


至于为什么有人会开发一个周期远远长于任何模拟所需的生成器;一个优点是您不必担心具有不同种子的两个模拟之间的依赖性 - 如果我今天用一个种子进行模拟,明天用第二个种子进行模拟,我得到的随机数集几乎不会有任何重叠.