Select 代理根据模型中的条件更改台面中的该属性?

Select agents by a condition out of the model and change that attribute in mesa?

对于我正在使用 mesa 和 mesa-geo 进行的基于代理的建模,我需要一种方法 select 并从 model.py.

中操纵代理

例如,如果你采取 Introductory Tutorial,每一步你都希望所有没有钱的代理人中有特定的随机百分比(self.wealth = 0)收到一笔钱。

因此你需要从所有代理人那里知道财富,选择财富为零的人,随机选择他们的数量并设置财富 = 1。但是有没有办法,从 model.py?

根据我的理解,您只能通过 model.grid.agents 获取代理列表,但在这里您看不到属性,也无法更改属性。

最后我找到了解决办法。关键词是面向对象编程。 Here 是一个很好回答这个问题的问题。 最后我意识到我的问题是添加函数以通过属性标准查找对象然后更改这些对象的属性。 正如我已经提到的,可以通过 self.space.agentsself.grid.agents.

在模型本身中访问属性列表