【问题标题】:Do consequtive RNG seed yield independent random numbers?后续的 RNG 种子会产生独立的随机数吗?
【发布时间】:2018-07-05 06:24:01
【问题描述】:

我有一个使用随机模拟的脚本。该脚本在一个集群上运行多次(大约 100 次)。当然,我希望每个脚本的结果彼此独立,但我也希望结果可以重现。 因此,我想在脚本的开头设置随机数生成器的种子,但是这个种子在集群上的每次运行中当然必须不同。

我想这样做:

import sys
import numpy as np
# sys.argv[1] is the number of the job on the cluster
np.random.seed(int(sys.argv[1]))

但是,这当然给了我连续的种子 (1,2,3...)。随机数(以及最终)是这些连续种子的结果是随机且独立的吗?

【问题讨论】:

  • 当然它们实际上并不是独立的。相关的问题是他们是否似乎独立。他们应该使用精心设计的 PRNG。你总是可以自己运行一些统计测试来验证。

标签: numpy random


【解决方案1】:

对于许多 PRNG 设计,使用顺序种子初始化的实例可能会导致具有不良相关性的随机序列。这在a post on the Unity Blog 中有说明。为减少出现此问题的可能性,应使用 unrelated 种子初始化这些实例(另请参阅“Multiple independent random number streams from single seed”)。

【讨论】:

    猜你喜欢
    • 2020-04-25
    • 2021-10-28
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多