问题标签 [agent-based-modeling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
30 浏览

model - 如何设置逐笔计数器的最小限制?

我创建了一个补丁自己的变量,每次代理登陆特定补丁时,该变量都会增加“1”。

它也每刻减少 0.1。

到目前为止,代码看起来像这样

有没有办法在不指定例如的情况下为补丁变量设置上限和/或下限;

我“假设”不断调用此过程来阻止变量低于 0 或高于 10 会在扩大规模时导致一些性能问题。

干杯

0 投票
4 回答
665 浏览

simulation - 如何在netlogo中制作累积和列表

如何制作其他列表的累积总和列表?

我是这样尝试的:

但它不起作用。谁能解决这个问题?它说“+ 排除了输入但得到了一个列表”。

0 投票
2 回答
74 浏览

netlogo - *你*如何解释 Netlogo 中的宏行为?

我很想知道人们使用什么策略从模型的结果(从观察到的紧急行为)中反向工作以试图回答这个问题:导致这种宏观行为的个体海龟是什么?

0 投票
1 回答
84 浏览

simulation - 两个应该做同样的代码括号的比较

对不起,如果我惹恼了你,但我的老师说这段代码 [1] 不够好,我应该使用代理集而不是单个值。

代码[1](第一个代码工作得很好)

我的代码 [2](不能作为代码 [1] 工作,有什么问题?):

在代码 [2] 中,我尝试使用代理集,但结果看起来不像代码 [1] 中的结果。在 Code[1] 中,我的海龟正在创建很好的 huddles,但在 Code[2] 中它们不会那样做。我有点绝望……如果有人问的话。海龟应该以更高的概率移动到“输出热量”值较高的补丁。

0 投票
2 回答
82 浏览

netlogo - 请求补丁评估后的海龟行为

我正在 NetLogo 中创建鱼缸式模拟。有“猎物”、“捕食者”和“隐藏点”。

这个想法是,当捕食者出现在地图上时,猎物将单独运行“隐藏”行为并前往最近的“隐藏点”——前提是它和“隐藏点”之间没有掠食者。

运行隐藏命令的相关代码。

问题是我不知道如何正确使用“询问补丁”中的 if 语句。因此,当一个猎物发现威胁时,所有猎物都在运行语句的 else 部分,而不是单独评估它。

我将如何解决这个问题?

任何帮助表示赞赏。

0 投票
1 回答
90 浏览

netlogo - 让海龟评估不同品种海龟的颜色

我正在为捕食者模型构建交互。

我有一个猎物,它会根据它当前所处的状态改变颜色。我正在处理的状态是“隐藏”,其中猎物是黄色的。我有一个捕食者正在评估它是否可以追逐猎物,我试图通过评估猎物的颜色来做到这一点,但它似乎不起作用。

当我运行模型时,捕食者不断打印“追逐”——无论猎物是否“隐藏”。

这里是隐藏功能。

任何帮助,将不胜感激。

0 投票
1 回答
203 浏览

python - 是否可以对基于代理的模型进行矢量化?

我已经使用 Python 对象在 Python 中实现了我自己的基于代理的模型 (ABM)。具体来说,这是一个Virus对象和Host对象的模型,其中Virus对象存在于Host对象中(存储在一个列表中),可以与其他Virus对象交换基因,并且可以在Host对象接触时传递给另一个Host对象。

OOP 方式使其灵活且易于编程,但如果不使用 PyPy 或 numba 或将一些代码移至 Cython,我将很难加快速度。加速总是好的,所以我不会在这里讨论我为什么要这样做。

不过,我在这里的问题更为根本。是否可以对此类模型进行矢量化?或者这种模型的层次结构和相互依赖的性质是否使得使用向量和矩阵在逻辑上不可能实现?

0 投票
1 回答
268 浏览

social-networking - NetLogo:向链接邻居询问滴答计数器值

目前,我正在研究一个基于代理的模型,该模型关于社交网络中成功的创新传播。到目前为止,我是基于代理的建模和编程的新手。

主要思想是模拟农民之间的社会学习,因此代理人采用创新的决定主要取决于他的个人网络,这意味着如果他有良好的联系并且他的邻居成功地使用了创新,他将更有可能采用位于网络中的远程。

除了关于社会学习的网络相关争论之外,我想实现一个时间维度,例如代理的邻居成功使用创新的时间越长,代理就越有可能采用创新。但这正是我目前陷入困境的地方。我的目标是实现以下论点。到目前为止,伪代码如下所示。

1) 海龟自己的刻度计数器 ...

...

2)在第二个过程中,每个代理应该检查他的邻居使用这个创新多长时间(根据“检查邻居采用的时间”)。

非常感谢您的帮助和建议。

亲切的问候,

莫里茨

0 投票
1 回答
677 浏览

complexity-theory - 第 10 章中的 Netlogo 业务模型代码。Railsback 和 Grimm 的第 4 章,基于代理和基于个体的模型

我正在尝试 Railsback 和 Grimm 书中的示例(基于代理和基于个体的建模)。我使用第 10.4 章中的说明编写了一个商业模型。我可以成功设置模型,但是当我单击 go 按钮时,出现错误

这是我的代码

0 投票
1 回答
73 浏览

simulation - 为每个海龟查询/创建海龟子集

我有一个agentset所有海龟的年龄/经验值不同的地方。我想做的是为每只海龟找到更有经验的海龟,然后跟随这些海龟。不幸的是,我收到以下错误ifelse [ age-experience > my-own-age-experience ]

此处应为 TRUE/FALSE,而不是列表或块。

这是我的代码: