具有多个随机数生成器rng的脚本的通用随机种子?

问题描述

我正在用 python 开发一个基于代理的模型,其中我有很多可以分裂或死亡的项目。在我的脚本的一次运行中,我使用了几个随机生成器。一个简化的例子:

import numpy as np
#Division and death probability 
division_prob = 0.5 
death_prob = 0.3
population = [item0,item1,item2,...,item100] 
np.random.seed(2021)
for item in population:
    #division
    if np.random.uniform(0,1) < division_prob:
        population.append(item.copy())
    #death
    if np.random.uniform(0,1) < death_prob:
        population.remove(item)

在这种情况下,如果我为 rng 提供种子,那么我总是为所有项目获得相同的随机数。有没有办法像脚本的一般随机种子(这样我可以再次运行脚本并获得相同的结果),但在循环内我可以获得每个项目的不同随机数?提前致谢!

编辑:抱歉,我实际上意识到我犯了一个错误,并且确实在循环之外编写了“np.random.seed()”,在这种情况下,我为循环中的每个项目获得了不同的值。无论如何,感谢来自“Peter O”的评论。我意识到这些功能现在是遗留的,应该使用“np.random.Generator”。所以现在解决了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)