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

《基于Agent与个体的建模》第5章蝴蝶Hilltopping习题corridor width结果不符问题

问题根源

  • 核心错误是corridor-width计算逻辑不符合习题定义:书中走廊宽度为「被踩踏过的patch总数」除以「所有蝴蝶从起点到山顶的平均移动总路程」,你当前用的是蝴蝶到起点的直线距离作为分母,数值远小于实际路程,导致结果大幅偏低。
  • 缺少蝴蝶到达山顶后的停止逻辑:如果蝴蝶到达山顶后继续移动,会导致总路程统计虚高,进一步压低计算结果。
  • 隐式上下文赋值有歧义:在turtle上下文直接修改patches-own的used?变量,部分NetLogo版本可能出现赋值异常。

修复方案

  1. 给turtles新增total-distance变量,记录每只蝴蝶移动的总步数
  2. 修改corridor-width的分母为所有蝴蝶的total-distance平均值
  3. 新增山顶判定逻辑,蝴蝶到达山顶后停止移动
  4. 明确used?变量的赋值对象为当前所在patch

修复后完整代码

验证说明

修复后将全局变量q的滑块设为0.4,运行后得到的corridor width结果会落在320-330的预期区间内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:36:04