You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetLogo病毒传播模型开发:多因素感染概率计算与接触时长追踪技术问询

解决NetLogo病毒传播模型中的感染概率计算与接触时长跟踪问题

当然可以实现你想要的功能!针对你遇到的两个核心难点——调用范围内感染者的属性、准确跟踪接触时长,我给你两种实用解决方案,一种是不使用链接的高效方案(更适合追求模型运行速度的场景),另一种是修正后的链接实现思路,你可以根据需求选择。

不使用链接的高效解决方案(推荐)

这种方法不需要创建链接,通过给易感者维护接触记录列表来跟踪时长,同时直接遍历范围内的感染者获取属性,性能更优。

1. 先定义必要的海龟变量

首先给海龟添加所需属性,包括跟踪接触时长的列表:

在setup过程中初始化exposure-timers:

2. 完整的transmit过程实现

这个过程会完成接触时长更新、感染者属性调用、感染概率计算的全流程:

注意:多个感染者的总感染概率不能直接相加(会超过1),用1 - product(1 - p_i)可以准确计算出至少被一个感染者感染的概率,更符合病毒传播的实际逻辑。

修正后的链接实现方案

如果你还是想使用链接来跟踪接触时长,下面是修正后的代码,解决了你之前无法删除超出范围链接的问题:

1. 定义链接变量

给链接添加跟踪接触时长的属性:

2. 修正后的transmit过程

性能优化提示

如果你模型中的海龟数量较多,想要进一步提升运行速度,可以参考这些小技巧:

  • 优先选择不使用链接的方案,链接会增加模型的计算和存储开销,尤其是海龟数量大的时候
  • 可以缩小in-radius的检查范围,或者通过patch来辅助:让海龟记录所在patch,只检查相邻patch内的海龟,减少需要遍历的数量
  • 避免在同一个过程中重复计算nearby-infected,可以将结果缓存到变量中复用

内容的提问来源于stack exchange,提问作者Johanna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 10:53:13