Lau*_*ire 15 python random portability
在给定初始参数的情况下,我需要生成受控的伪随机数序列.为此,我使用标准的python随机生成器,由此参数播种.我想确保我将跨系统生成相同的序列(操作系统,但也包括Python版本).
总结:python是否确保其伪随机数生成器在实现和版本中的可重复性/可移植性?
不,它没有.random
模块的文档中没有这样的承诺.
文档包含的内容是这句话:
在版本2.3中更改:MersenneTwister将Wichmann-Hill替换为默认生成器
因此在Python 2.3之前使用了不同的RNG.
到目前为止,我一直在使用numpy.random.RandomState
可重现的伪随机性,尽管它也没有达到你所追求的正式承诺.
如果你想要完全重现,你可能想要random
在你的程序中包含一个源代码的副本,或者从中破解"P²RNG"(伪伪RNG)hashlib
.