当前位置: 首页 > 面试题库 >

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

文国发
2023-03-14
问题内容

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

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


问题答案:

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

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

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

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

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

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



 类似资料:
  • 问题内容: 给定初始整数参数,我需要生成受控的伪随机数序列。为此,我使用了标准的Java Random类,该类由整数参数设定。我想确保在可预见的将来(甚至更多),我将在整个系统(操作系统,还有Java / JDK版本)中生成相同的序列。 总结:Java是否可以确保其 实现 和 版本 之间的伪随机数生成器具有可再现性/可移植性? 问题答案: 是。 该javadoc的解释: 此类的实例用于生成伪随机数

  • 我需要/想要随机(不是全部)生成密码。 我的工作:目前我正在用SecureRandom生成它们 我正在使用 然后像这样播种 目标:一种(最好是快速)创建随机数的方法,这些随机数在密码学上至少和SHA1PRNG安全随机实现一样安全。这些在JRE和Android的不同版本上需要相同。 编辑:种子由用户输入生成。 问题:

  • 用 Cargo 进行自动容器管理 在测试加入到 servlet 容器的 Web 应用程序时,编写符合逻辑的可重复的测试尤其需要技巧。在 Andrew Glover 的提高代码质量的这个续篇中,他介绍了 Cargo,这是一个以通用方式自动化容器管理的开源框架,有了这个框架,您可以随时编写符合逻辑的可重复的系统测试。 在本质上,像 JUnit 和 TestNG 一样的测试框架方便了可重复性测试的创建。

  • 本文向大家介绍PHP的伪随机数与真随机数详解,包括了PHP的伪随机数与真随机数详解的使用技巧和注意事项,需要的朋友参考一下 首先需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。 伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算

  • 问题内容: 作为我项目的一部分,我需要通过提供一组数字来创建不重复的2或3位数字随机数。我不想为此实现一个列表或数组,因为我应该为每个函数调用获取1个随机数。 我尝试使用Java的SecureRandom类来做到这一点。我也从某些站点获得了帮助,但是我陷入了困境,我们可以改组VALUES并完成它吗?但是我不知道该怎么办。谁能帮我? 问题答案: Fisher- yates随机播放算法 是必经之路。其

  • 字符串随机 Random::randStr(6); 纯数字字符串随机 Random::randNumStr(6);