如何解决具有多个随机数生成器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 举报,一经查实,本站将立刻删除。