当前位置: 首页 > 知识库问答 >
问题:

我如何在一个种群中迭代得到离我最近的agent并动态检查agent的距离?

归泽宇
2023-03-14

我正在尝试做一个流行病传播建模,其中所有的代理都在一个连续的空间中移动。所有的特工都有一个“现场视野”区域。如果在一个“易受影响”的代理的这个“现场视野”内,另一个“暴露”的代理出现并停留5分钟或更长时间,那么该易受影响的代理也将成为“暴露”的代理。如果“暴露”试剂出现并停留不到5分钟,那么“易受影响”试剂将保持在“易受影响”状态。

我的座席的状态图如下所示:

最初6个代理将通过发送一些来自Main的味精来“暴露”。由于代理也是行人类型的代理,在时间零时,没有代理接收消息。所以,我必须在模型启动3分钟后从main发送消息,以便有人接收消息。这很管用。

从“易受影响”状态的第一个过渡动作如下所示。我将过渡超时设置为3.1分钟,因为在3分钟时会有一些第一次暴露的试剂。

如果“FieldofVision”附近或内部没有人,则“NoExposedNearbany”转换将执行如下所示。

如果“FieldofVision”中有“暴露”的人,则“FoundExposedNearby”转换将执行如下所示,并将再次经过相同的循环,直到暴露的人离开“FieldofVision”

如果被曝光者离开“FieldofVision”三角形,则“ExposedNearbyLeft”转换将按如下方式执行,并计算最终时间。

exposedNearbyLeft转换]5

然后“probablyexposited”状态将计算“暴露”的代理接近“敏感”代理的总暴露时间&将检查它是否大于5。如果大于5,则它将经历“EnoughExposition”转换,否则它将经历“NotenoughExposition”&将再次回到易受影响的状态。

问题是,在运行时7分钟后,我得到了这个错误。看来,我的代码在一段时间后无法得到pedX&pedY的值。我的问题是我如何继续这个循环&寻找最近的暴露代理和StateChart的易受影响代理在彼此的“FieldofVision”内的持续时间?有没有建议这样做?

这是一篇很长的文章,需要通读。如果你已经走到这一步,首先我感谢你的耐心。而且,如果你能分享一些想法,我可以如何获得代理的动态距离,以检查某人是否新曝光,我将真的很感激。会很感激你的反馈。

共有1个答案

鲁洋
2023-03-14
if (myPed != null) {
    your code doing stuff with myPed...;
}
 类似资料:
  • 我正在研究如何在BST中找到最接近目标的k值,并遇到了以下规则实现: 给定非空的二元搜索树和目标值,在BST中查找距离目标最近的k个值。 注: 给定的目标值是浮点。您可以假设k始终有效,即:k≤ 节点总数。保证BST中只有一组最接近目标的唯一k值。假设BST是平衡的。 实现的想法是: 比较离目标最近的节点的前辈和后辈,我们可以使用两个堆栈来跟踪前辈和后辈,然后像我们在合并排序中所做的那样,我们比较

  • 我有500000个代理,它们是在上下文中添加的,但不在显示中。对于我来说,是否有一种简单的方法来定位特定的代理(不显示它),并使用代理监视器跟踪其属性随时间的变化,如下所示:

  • 问题内容: 我在Linux环境中有一个示例脚本,该脚本基本上针对当前shell运行,向其添加密钥并运行两个git命令: 脚本实际上可以正常工作,但是每次运行脚本时,我都会得到一个新进程,因此我认为这可能会成为性能问题,并且最终可能会导致无用的进程。 输出示例: 此外,还有所有这些,是否有可能找到一个现有进程并将我的密钥添加到其中? 问题答案: 到目前为止,答案似乎并未回答原始问题… 这对我有用:

  • 如果我在这里混淆了任何与ISO日期相关的术语,请提前道歉。

  • 我希望使用Geopandas/Shapely实现ArcPy Generate Near表的等效功能。我对Geopandas和Shapely非常陌生,并且已经开发出一种有效的方法,但我想知道是否有更有效的方法。 我有两个点文件数据集——人口普查街区中心和餐馆。我在寻找每个人口普查街区形心到最近餐馆的距离。同一家餐厅是多个街区最近的餐厅,没有任何限制。 对我来说,这变得有点复杂的原因是因为Geopan

  • 这是我的第一个地理数据帧: 城市1 还有我的第二个地理数据框:City2: 我想第三个数据帧与最近的城市从城市1到城市2的距离像: 下面是我使用geodjango和dict的实际解决方案(但太长了): 以下是我的尝试: 这里: 问候