跨系统和版本的python伪随机数的可重复性?

发布于 2021-01-29 14:58:48

给定初始参数,我需要生成一个受控的伪随机数序列。为此,我使用了标准的python随机生成器,并以此参数作为种子。我想确保在整个系统(操作系统和Python版本)中生成相同的序列。

总结:python是否确保其 实现版本 之间的伪随机数生成器具有可重复性/可移植性?

关注者
0
被浏览
69
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    不,不是。random模块的文档中没有这样的承诺。

    该文档包含的内容是这样的:

    在版本2.3中进行了更改:MersenneTwister取代了Wichmann-Hill作为默认生成器

    因此,在Python 2.3之前使用了其他RNG。

    到目前为止,我一直在使用numpy.random.RandomState可重现的伪随机性,尽管它也并没有做出您所追求的正式承诺。

    如果您想获得完全的可复制性,则可能需要在程序中包含random的源副本,或从一起破解“P²RNG”(伪-伪-
    RNG)hashlib



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看