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

NetLogo疏散模拟问题:乘客行为异常与Setup按钮报错排查

NetLogo疏散模拟问题修复方案

一、Setup按钮报错修复

报错原因

choose-exit过程中构建PP列表的语法错误:(patch-set [neighbors4] of lucky-exit with [accessible?])错误地将筛选逻辑嵌套在patch-set内部,导致NetLogo将单个patch识别为agentset输入,触发类型不匹配错误。

修复方法

将PP列表的构建改为直接对出口的4邻域patch集进行筛选,正确代码如下:

二、乘客智能移动修复(解决徘徊、越界问题)

问题根源

  1. 每次go循环都会重新调用choose-exit,导致乘客频繁更换目标,方向反复变化出现徘徊;
  2. move过程未判断patch-ahead是否存在(边界外情况),导致越界;
  3. 到达LPP后未继续朝向出口,而是重新计算目标,导致停滞。

修复方法

  1. 调整go逻辑,仅当乘客未到达目标区域时才重新计算目标:
  1. 完善move过程,增加边界与可达性判断:
  1. 调整choose-exit逻辑,让LPP作为临时目标,出口作为长期目标:

三、完善PP/LPP机制实现

核心实现逻辑

  • PP定义:出口的4邻域中accessible? = true的patch,确保仅包含可达区域;
  • LPP选择:使用one-of pp-list实现均等概率选择(每个PP被选中概率为1/M,M为PP数量);
  • 边界处理:当PP为空(如出口被阻挡)时,直接将出口设为目标,避免无有效移动方向。

修改后的choose-exit中PP/LPP相关代码:


完整修复后代码

额外修复点

  • 修正update-exit-probabilities中的参数引用错误,避免变量未定义;
  • 在choose-exit中直接存储patch对象而非坐标列表,减少转换错误;
  • 增加概率下限判断,避免exit-probabilities出现负值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 05:02:06