问题标签 [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 回答
168 浏览

python - 在用 Python 编写的基于代理的模型中使用 __slots__

我对在 Python中构建基于代理的经济系统模型很感兴趣。典型的模型可能有成千上万的代理(即公司、消费者等)。

典型的公司代理类可能类似于:

在我的大多数模型中,属性不是动态创建的,因此我可以使用以下方法编写类__slots__

但是,似乎__slots__通常不鼓励使用。我想知道这是否是__slots__.

0 投票
5 回答
7154 浏览

python - 用于 NetLogo 的 Python 或 JavaScript 脚本?

NetLogo 非常适合基于代理的建模...除了语言。我总是发现自己在扭曲我的大脑,试图弄清楚如何在 NetLogo 的 Logo 实现中做一些应该很容易编码的事情(例如实现一个简单的 case 语句)。Logo 不是程序员的语言(向那些被这个断言激怒的人道歉)。

我看到了 Abe Gong 的 Tengolo 项目,该项目声称可以做到这一点(http://compsocsci.blogspot.com/2012/02/announcing-tengolo-python-alternative.html),但该项目似乎已被放弃。堆栈溢出中的另一个问题(基于代理的模拟:性能问题:Python vs NetLogo & Repast)似乎表明 Python 会更慢。

似乎很有可能使用 Jython 编译成 NetLogo 可以使用的模块,但我想知道是否有人知道可以让我用 Python 等明智的语言进行 NetLogo 模拟的东西。想法?

0 投票
1 回答
847 浏览

list - 如何在 netlogo 中设置一个随机值但总和不变的列表?

我对 netlogo 和整体建模相当陌生。我现在正在模拟荷兰的城市固体废物系统,我需要能够在我的模型中的一个品种(市镇)之间随机分配预定数量的废物。我需要在废物处理器中为钱做同样的事情。

我已经尝试过使用全局变量,拥有品种,甚至创建了一个新的废物品种(这有点工作,但我的解决方案需要太多的计算能力,我不知道如何简化它。

提前致谢

0 投票
1 回答
104 浏览

statistics - 虚拟实验的重复次数足以“从统计上确定”其发现?

在阅读Netlogo 中关于 BehaviourSpace 的这篇文章后,作者指出“[...] 模型是随机的,您需要多次运行每个参数设置才能在统计上确定这一点”,我想知道重复多少次才足够对虚拟实验中的发现“从统计上确定”?

0 投票
1 回答
125 浏览

java - 通过 GUI 多次运行

我正在尝试为我的基于代理的模型(Repast)启动一个 GUI,以便能够多次运行该模型。我将根据来自 GUI 的不同运行的不同分布生成输入参数。通常我们应该为不同的运行使用批处理文件。但是,出于这个原因,我想使用 GUI,因为我有可以处理一次运行但不能处理多次运行的 GUI。你能帮我谈谈你在这方面的想法吗?

0 投票
0 回答
840 浏览

python - Python Simulation Patient-Doctor Link(Simpy,急诊科)

我正在开展一个项目,以使用 Simpy 2.6 描述急诊科的患者流程。

假设入口区域有 3 位医生。我的流程是,在看过一位特定的医生(比如 X 医生)后,患者会(有 80% 的机会)去实验室。实验室测试结束后,患者将通过重新加入队列返回原来的医生 X。

但是我怎样才能在患者医生之间建立联系?现在我的代码中的病人是“无记忆的”——他们只是在实验室测试后随机去看医生。入院区共有床位20张。

请帮我!先感谢您!!

0 投票
0 回答
178 浏览

java - 自动创建二维阵列模拟图

所以我正在研究基于代理的模拟,我将使用一个二维数组,它可以是 500x5000 或 1000x1000。实际模拟将由构成房间的墙壁组成。我不想手动插入每面墙的问题,因为这可能需要很长时间。

有没有一种方法可以创建地图的简单 2D 图像并让程序读取该图像并根据图像将墙壁插入 2D 数组中。

问候

0 投票
1 回答
159 浏览

java - 元胞自动机不工作

更新:只是为了指定,根据我如何更改规则,我可以设置它,以便在几代之内,所有细胞要么永久存活,要么死亡。我通过将语句回显到控制台来检查这一点。但是,这并没有反映在将所有单元格显示为始终相同颜色的 GUI 中。

我正在尝试实现一个简单的元胞自动机来复制生活游戏。这使用 MASON 库。我的三门课:

单元格.java

矩阵.java

MatrixWithUI.java

但是,由于某种原因,所有单元格都连续设置为 0(或关闭)。有什么想法吗?

0 投票
1 回答
708 浏览

java - 梅森获得摩尔邻居

我正在用 MASON 进行模拟。我有一个 SparseGrid2D 对象,我在我的主模拟类中填充如下:

然后在我的可分步课程中,我调用:

然而,由于某种原因,neight.size() 一直返回一个而不是返回所有相邻的单元格。我认为 getMooreNeighbors 排除了空的相邻单元格,所以我添加了:

到我的主班尝试解决这个问题,但即使每个单元格现在至少有一个对象填充,它也没有奏效!

有什么想法吗?

完整版代码:

质子测试.java

质子.java

0 投票
0 回答
61 浏览

java - 未显示的画像

编辑:当 field 或 hunterField 在任何位置都没有对象时,一切都会正确显示。field 和 hunterField 都专门持有扩展同一个类的对象,所以我猜它可能与继承有关......?

我使用 MASON 创建了一个简单的基于代理的模型。后端工作找到,但是当我尝试显示我的代理时,只显示“墙”代理。(墙壁描绘)我的代码在下面......有什么想法吗?