微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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