Я написал код NetLogo, чтобы черепахи по очереди меняли значение. Черепахи - это фермеры, расположенные вдоль ручья. У них будут различия в пространственной доступности воды в зависимости от их численности, и они будут забирать воду в соответствии с их очередностью в зависимости от того, кто их числится. Коды все в порядке. Каждый тик занимает больше времени, чем обычно. Я вижу, что для запуска полной модели потребуется еще больше времени. Можно ли изменить эти коды, чтобы модель эффективно работала в соответствии с установленным шаблоном, приведенным на прилагаемом рисунке? Спасибо за помощь
Коды приведены ниже
Breed [farmers farmer]
Farmers-own [water irrigation-turn]
to setup
clear-all
create-farmers 30 [ set irrigation-turn [0]
ask farmer 0 [ setxy min-pxcor + 1 0]
ask farmer 1 [ setxy min-pxcor + 1 2]
ask farmer 20 [ setxy min-pxcor + 1 4]
ask farmer 2 [ setxy min-pxcor + 3 0]
ask farmer 3 [ setxy min-pxcor + 3 2]
ask farmer 21 [ setxy min-pxcor + 3 4]
ask farmer 4 [ setxy min-pxcor + 5 0]
ask farmer 5 [ setxy min-pxcor + 5 2]
ask farmer 22 [ setxy min-pxcor + 5 4]
ask farmer 6 [ setxy min-pxcor + 7 0]
ask farmer 7 [ setxy min-pxcor + 7 2]
ask farmer 23 [ setxy min-pxcor + 7 4]
ask farmer 8 [ setxy min-pxcor + 9 0]
ask farmer 9 [ setxy min-pxcor + 9 2]
ask farmer 24 [ setxy min-pxcor + 9 4]
ask farmer 10 [ setxy min-pxcor + 11 0]
ask farmer 11 [ setxy min-pxcor + 11 2]
ask farmer 25 [ setxy min-pxcor + 11 4]
ask farmer 12 [ setxy min-pxcor + 13 0]
ask farmer 13 [ setxy min-pxcor + 13 2]
ask farmer 26 [ setxy min-pxcor + 13 4]
ask farmer 14 [ setxy min-pxcor + 15 0]
ask farmer 15 [ setxy min-pxcor + 15 2]
ask farmer 27 [ setxy min-pxcor + 15 4]
ask farmer 16 [ setxy min-pxcor + 17 0]
ask farmer 17 [ setxy min-pxcor + 17 2]
ask farmer 28 [ setxy min-pxcor + 17 4]
ask farmer 18 [ setxy min-pxcor + 19 0]
ask farmer 19 [ setxy min-pxcor + 19 2]
ask farmer 29 [ setxy min-pxcor + 19 4]
ask farmers [ set label who
set size 2]
]
reset-ticks
end
to go
define-irrigation-turn
irrigate
tick
end
to define-irrigation-turn ; 11 turtle ; 24 hours irrigation policy
ask farmers [set irrigation-turn [0]
ask farmer 0 [
repeat 235 [
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 1 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 2 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 3 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 4 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 5 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 6 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 7 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 8 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 9 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 10 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 11 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 12 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]
; Turtles 13-16 will follow the same pattern
]
ask farmer 17 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 18 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 19 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 20 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
ask farmer 21 [
repeat 235 [
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 1 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
set irrigation-turn lput 0 irrigation-turn
]]
; farmers from 26-29 will follow the same pattern as of 20 t0 21
]
end
to irrigate
foreach [0 1 2 3 4 5 6 7 8 9 10 12 14 16 18 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30]
[ ?1 ->
ask farmers with [who = ?1] [
if (item ticks irrigation-turn) = 1
[ set color red
set shape "person"
]]]
end
define-irrigation-turn
должен делать? В настоящий момент каждый фермер добавляет 4935 (повторяется 235 раз, добавляя 21 цифру) номеров по одному в конец своего списка. И они делают это каждый ход, поэтому списки должны очень быстро стать очень большими, я не думаю, что вы хотите это сделать. Если это так, есть гораздо лучшие способы сделать это. Итак, поясните, пожалуйста, цель. - person JenB   schedule 24.10.2020