我有一个使用随机模拟的脚本。该脚本在群集上运行多次(大约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 ...)。这些连续种子的结果的随机数(以及最后)是否是随机且独立的?
答案 0 :(得分:1)
对于许多PRNG设计,使用顺序种子初始化的实例可能导致具有不良关联的随机序列。 a post on the Unity Blog中对此进行了说明。为了减少发生此问题的可能性,应使用不相关种子初始化这些实例(另请参见“ Multiple independent random number streams from single seed”)。