Я пишу модель «хищник-жертва», в которой у хищника есть небольшая внутренняя модель машинного обучения, чтобы решить, в какой среде он будет охотиться.
Если хищник не имел успешной охоты днем ранее они назначают себя из четырех стратегий случайным образом. Каждая стратегия имеет уникальную среду обитания, в которой они могут охотиться, однако, несмотря на то, что все они перемещаются из случайных областей среды в центральное место, а затем «рисуют» с помощью режима пера и игнорируют все другие части среды, я не могу понять, почему ,
Я пробовал много комбинаций кода, чтобы исправить это, и он всегда делает то же самое. Моя последняя попытка состоит в следующем
if strat = "strat1" [ifelse any? patches in-cone 0 250 with [habitat = "rugged slope"]
[set target-patch min-one-of patches in-cone 0 250 with [habitat = "rugged slope"] [distance myself]
face target-patch
fd 1]
[face one-of patches with [habitat = "rugged slope"]
fd 1]]
if strat = "strat2" [ifelse any? patches in-cone 0 250 with [habitat = "gentle slope"]
[set target-patch min-one-of patches in-cone 0 250 with [habitat = "gentle slope"] [distance myself]
face target-patch
fd 1]
[face one-of patches with [habitat = "gentle slope"]
fd 1]]
if strat = "strat3" [ifelse any? patches in-cone 0 250 with [habitat = "rugged forest"]
[set target-patch min-one-of patches in-cone 0 250 with [habitat = "rugged forest"] [distance myself]
face target-patch
fd 1]
[face one-of patches with [habitat = "rugged forest"]
fd 1]]
if strat = "strat4" [ifelse any? patches in-cone 0 250 with [habitat = "gentle forest"]
[set target-patch min-one-of patches in-cone 0 250 with [habitat = "gentle forest"] [distance myself]
face target-patch
fd 1]
[face one-of patches with [habitat = "gentle forest"]
fd 1]]
]
end
Как вы можете видеть, им говорят go в определенных областях, но результат выглядит следующим образом (картинка прилагается)
Хищники покидают свои den (розовый), и, несмотря на наличие уникальных команд о том, где go, они просто встречаются посередине и рисуют.