【发布时间】:2016-03-16 08:33:46
【问题描述】:
我必须能够重复使用我的代码进行的实验,它会生成一些随机数,并且我需要获取我的新 random() 语句的初始化值。我有这句话来制作我使用的随机对象
Dim r As Random = New Random()
正如我所读,它从系统日期时间获取初始化值。如果实验成功,我需要能够重复它。我怎样才能得到初始化编号才能做到:
Dim r As Random = New Random(OldInitializationValue)
我认为每次执行我的应用程序时我都必须自己创建一个 Initialization 值,但如果有一种方法可以保存它,我会很高兴知道它。
提前感谢您的回答。
【问题讨论】:
-
你不能。这就是“随机”的意义所在。如果您想要可重复的序列,您还需要在第一次调用中明确指定种子
-
显然种子值可以由构造函数显式设置;是否可以选择将种子值存储在其他地方以供以后参考?
-
PS:R 中的任何课程都说明您需要存储种子以实现可重复性。他们还解释说,您不能使用加密 RNG,因为它们不可重复
-
如果你想对某事使用相同的随机值集,你可以使用 Mersenne Twister。它是否适用于您正在做的事情尚不清楚。