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

NetLogo老年与年轻智能体行为无差异问题排查及模拟求助

NetLogo疫情模拟代码问题排查与修正

核心问题分析

你的代码未体现年龄差异的原因集中在以下几点:

  • 智能体状态变量未初始化:days-after-infected和days-of-sick创建时未设初始值,导致潜伏期、发病天数逻辑完全失效
  • 死亡率未区分年龄:老年与年轻群体共用同一个mortality变量,无法体现老年死亡率更高的设定
  • 感染逻辑不符合需求:老年感染半径设为3(比年轻的2大),违背「社交接触少」的设定;且缺失老年智能体之间的感染路径
  • 全局变量未声明:transmission_rate、incubation_period、population-old等关键参数没有定义,运行时会报错

分步修正方案

1. 声明全局变量

添加全局变量定义,区分不同年龄组的核心参数:

2. 初始化智能体状态变量

创建智能体时,将状态变量设为0,确保时间逻辑正常运转:

3. 区分年龄组死亡率

修改sickness过程,为老年群体设置更高的死亡率:

4. 修正感染逻辑

  • 缩小老年感染半径,匹配「社交接触少」设定
  • 补充老年之间的感染路径
  • 允许感染的老年智能体传播病毒:

5. 补充参数初始化(调试用)

在setup开头添加参数赋值,方便快速验证效果:

效果验证

修正后可观察到:

  • 老年智能体移动速度慢(forward 1 vs 年轻的forward 3)
  • 老年感染范围更小,社交接触频率更低
  • 老年死亡率显著高于年轻群体
  • 潜伏期、发病天数逻辑正常触发

内容的提问来源于stack exchange,提问作者Борис Дорис

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:20:39