问题描述
我正在用 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 (将#修改为@)