选择补丁分析neighboors netlogo

Choosing patch analysing neighboors netlogo

我正在尝试为一个从事轮耕的社区建模。为此,我希望每个家庭每年都更换补丁。每个家庭可以有不同的作物面积,这取决于工作的时间和人数。我希望他们能够选择一个补丁,该补丁具有打开作物所需的森林补丁数量。例如,一个家庭的作物面积为 3,因此新位置需要是一个森林斑块,并且有另外两个森林斑块邻居。知道我该如何指定吗?

谢谢

这是一个可能的解决方案:

patches-own [ patch-type ]
breed [ households household ]

to setup
  clear-all
  ask patches [ set patch-type one-of ["forest" "rock" "sand"] ]
  let forest-neighbors-needed 2
  create-households 100 [
    let candidate-locations patches with [
      not any? households-here and
      patch-type = "forest" and
      count neighbors with [ patch-type = "forest" ] >= forest-neighbors-needed
    ]
    ifelse any? candidate-locations [
      move-to one-of candidate-locations
    ] [
      error "No suitable location found!"
    ]
  ]
end

这种方法不是最有效的,因为它会为它创建的每个家庭重建可能的位置集,但如果你的模型不是两个大的,它应该不会有太大的不同。

请注意,您没有向我们详细说明您的模型是如何组织的,因此我不得不做出一些假设。下次,请告诉我们更多信息:您有哪些品种,它们的变量是什么等。理想情况下,post 一些代码显示您已经尝试过的内容。