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

NetLogo中为买家分配动态记忆访问所有卖家的实现问题

解决方案:给每个买家维护独立的已访问卖家列表

你现在的问题根源在于用了全局共享的patch属性visited?——所有买家共用同一套访问标记,一个买家把卖家标成已访问,其他人自然就看不到了。解决办法很简单:给每个买家单独维护自己的已访问卖家列表,别依赖全局的patch属性。

步骤1:调整Agent定义与初始化

建议把卖家从patch改成独立的breed(更符合NetLogo的Agent设计逻辑,后续扩展功能也方便),同时给每个买家添加专属的已访问卖家列表:

步骤2:修改单个前往最近卖家的逻辑

每个买家只寻找不在自己已访问列表中的卖家,完成交易后把该卖家加入自己的列表:

步骤3:修改遍历所有卖家的逻辑

每个买家独立遍历自己未访问的卖家,直到自己的已访问列表包含所有卖家:

关键说明

  • 用buyers-own [visited-sellers]替代全局的patches-own [visited?],每个买家有独立的访问记录,互相不干扰。
  • 改用sellers breed替代patch作为卖家,Agent职责更清晰,后续要加卖家的库存、价格这类属性时更方便。
  • 用member?检查卖家是否已被当前买家访问,lput把新访问的卖家追加到列表末尾。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:30:27