代码之家  ›  专栏  ›  技术社区  ›  Jürg Merlin Spaak

相同的rng种子产生独立的随机数吗?

  •  2
  • Jürg Merlin Spaak  · 技术社区  · 6 年前

    我有一个使用随机模拟的脚本。这个脚本在集群上运行多次(大约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…)。随机数(最后)是这些连续种子的结果是随机的和独立的吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Peter O. Manuel Pinto    6 年前

    对于许多prng设计,使用序列种子初始化的实例可能导致具有不希望的相关性的随机序列。如图所示 a post on the Unity Blog 是的。为了减少出现此问题的可能性,应该使用 无关的 种子(另见“ Multiple independent random number streams from single seed “).