Патч-сеть для «подключения точек» и оценки общей площади, принадлежащей «домашнему диапазону» агента - PullRequest
0 голосов
/ 21 октября 2019

У меня есть агенты, перемещающиеся по ландшафту с различными ресурсами. Скажем, мой агент начинается в центре, а затем перемещается по ландшафту изогнутой линией. Я хотел бы как-то сделать набор патчей или другую группу ВСЕХ патчей, которые охватывают область внутри патчей, по которой перемещался агент, имитируя расчет домашнего диапазона. Я не смог концептуально подумать, как это сделать, поэтому у меня нет кода для показа, но любая помощь очень ценится.

1 Ответ

0 голосов
/ 23 октября 2019

Наиболее эффективный способ, вероятно, состоит в том, чтобы просто отслеживать минимальную / максимальную координаты участков, посещаемых черепахами. Вот упрощенный пример:

turtles-own [ min-x max-x min-y max-y ]

to setup
  clear-all
  create-turtles 1
  reset-ticks
end

to go
  ask patches [ set pcolor black ]
  ask turtles [
    rt random 30 lt random 30 fd 1 ; move randomly
    update-min-max
    ask home-range [ set pcolor [ color ] of myself - 2 ]
  ]
  tick
end

to update-min-max ; turtle command
  set min-x min (list min-x pxcor)
  set min-y min (list min-y pycor)
  set max-x max (list max-x pxcor)
  set max-y max (list max-y pycor)
end

to-report home-range ; turtle reporter
  report patches with [
    pxcor >= [ min-x ] of myself and
    pxcor <= [ max-x ] of myself and
    pycor >= [ min-y ] of myself and 
    pycor <= [ max-y ] of myself
  ]
end

Предполагается, что мир не переносится.

...