问题标签 [repast-hpc]

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 回答
15 浏览

repast-hpc - 共享离散空间投影中不同类型代理的同步问题

我有一个关于不同代理同步的问题。

所以我有一个与 BaseAgent 类共享的上下文,正如教程所建议的那样,我们在同一上下文中拥有超过 1 个代理类型。然后我还有 4 个代理类,它们是基本代理类的子类。对于它们中的每一个,我都有必要的可序列化代理包,并且在我的模型类中,我还为它们中的每一个提供了特定的包接收器和提供者。

所有这些代理共享形式的离散空间投影:

我的 4 种代理类型中有 3 种可以移动,我已经实施了它们的移动。但是,它们可以从一个进程移动到另一个进程,我需要使用 RepastHPC 教程 HPC:D03,步骤 02:Agents Moving in Space 中介绍的 4 个同步语句。

然而问题是我不确定如何实际同步它们,因为代理需要它们的特定提供者、接收者和可序列化包才能正确复制到其他进程中。我尝试执行以下操作:

但是,运行时出现以下错误:

所以我不确定如何实际同步每个特定代理类型的代理,因为它们都与 BaseAgentClass 共享相同的上下文和空间投影。

提前感谢您的帮助!

0 投票
1 回答
11 浏览

repast-hpc - 有没有办法修改 Repast HPC Grid 缓冲区中的代理,并将这些更改传播回原始代理?

我的问题是关于在另一个进程上修改代理。我正在使用一个网格,其中有静态代理,每个网格单元一个代理。每个代理都可以使用 Moore2DGridQuery 获取其直接邻居。然后根据相邻代理的状态,他们可以选择他们的邻居之一并改变他们的状态。人类和僵尸的方式几乎相同,僵尸可以感染人类。但是,由于代理可以修改直接邻居,这意味着邻居可能是缓冲区中的代理。因此,如果我想“感染”缓冲区中的代理并将其传播回原始代理,那么最好的方法是什么?

0 投票
1 回答
12 浏览

repast-hpc - 在超过 4 个进程上运行离散网格投影

我目前的模型在 4 个进程上运行离散网格投影。我通过以下方式创建网格:

我想尝试在 8 或 16 个进程上运行模型,所以我想知道,在这种情况下 processDimensions 应该是什么。我尝试像最初一样在每个轴上保持 2,但是在第一次 grid balance() 调用之后导致以下错误