- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道为什么下面的代码,使用 Mersenne Twister(在 java 中),无论我运行多少次,总是给出相同的 99 数字。本质上它不是随机的?
MersenneTwister mt = new MersenneTwister();
for(int i = 0; i<=99; i++ ) {
System.out.println("Next "+mt.nextDouble());
}
最佳答案
tl;dr:将您的 new MersenneTwister()
更改为 new MersenneTwister(new Date())
。
伪随机数生成器使用种子 来确定出现的数字序列。如果您不设置,生成器将默认设置一个种子。某些生成器每次默认使用不同的种子,例如使用您计算机的时钟,或从 /dev/urandom
中读取。其他人将默认使用固定种子。
听起来您的生成器默认使用固定种子(MersenneTwister()
的文档说“构造并返回带有默认种子的随机数生成器,这是一个常量” [强调原文])。当然,这会产生相同的数字流。
您应该使用 MersenneTwister(Date)
构造函数(只需使用 new MersenneTwister(new Date())
)或 MersenneTwister(int)
一个(尽管这看起来不太理想,因为 int
只有 32 位宽)。
关于java - MersenneTwister 不提供随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23576651/
我必须使用 MersenneTwister 创建随机数字序列(我无法更改算法)。在前三次尝试后,对生成算法的不同调用总是给出相同的结果。这是代码: var getRandomArray=functio
我想知道为什么下面的代码,使用 Mersenne Twister(在 java 中),无论我运行多少次,总是给出相同的 99 数字。本质上它不是随机的? MersenneTwister mt
我正在尝试生成 Mersenne Twister 生成器,但我总是收到此消息“MersenneTwister 无法解析为类型”这是我的代码 public class RandomVariable {
我有一个列表(包含 100.000 个数据),我想使用 MersenneTwister 选择其中的 4000 个。我还想使用当前系统时间,因为我运行了 15 次程序,并且需要不同的次数。 Mersen
执行: using Random rng1 = MersenneTwister(42) rng2 = MersenneTwister(42) v = [ x for _ = 1:4, x = rand
我的任务是将一些 python 代码移植到 Scala 以用于研究目的。现在我使用 Apache Math3 公共(public)库,但在使用 MersenneTwister 时遇到困难。 在 Pyt
我必须使用一个伪随机数生成器在不同平台上使用相同的种子获得相同的数字。 我试图在 Android(java) 和 Arduino(c) 的随机类中设置“种子”,他们给我不同的数字和相同的种子,我需要的
我是一名优秀的程序员,十分优秀!