#memory #netlogo
#память #netlogo
Вопрос:
Привет, щедрые люди,
Я пишу модель для принятия решений фермером, основанную на урожае за последний период. Первоначально земельные участки (небольшие или большие) позволяют фермеру использовать либо грунтовые, либо поверхностные воды. В более поздних случаях фермер будет решать, использовать ли воду грунтовую или поверхностную, в зависимости от урожая. Высокий уровень растениеводства заставляет фермеров иметь память больше, чем число X, например, и если память больше, чем X; фермер выберет стратегию, которую он использовал, чтобы получить более высокий урожай. Я не могу понять, как будет создаваться память фермера для использования в качестве входных данных в том же цикле / блоке кода, который я написал для начального выхода. Эксперты на борту, пожалуйста, окажите свою помощь.
Globals [ surface-water surface-water maximum-yield water-demand water-used ]
Turtle-own [ yield memory]
to setup
clear-all
create 5 [ set yield 0
set memory 0
set surface-water 10
set maximum yield 60
set groundwater 20
set water-demand 17
set land random 5 3]
reset-ticks
end
to go
tick
ask turtles with land >= 4 [ ifelse random 1 = 0 [set groundwater-use groundwater - water-demand
set yield 0.8 * maximum-yield
set memory % of yield ]
[ set groundwater-use 0.5 * water-demand
set surfacewater-use groundwater-use 0.5 * water-demand
set yield 0.85 * maximum-yield
set memory % of yield]
ask ask turtles with land < 4 [ set groundwater-use 0.5 * water-demand
set surfacewater-use groundwater-use 0.5 * water-demand
set yield 0.85 * maximum-yield
set memory % of yield]
end
Комментарии:
1. Я не уверен, что полностью понимаю ваш вопрос. Если вы создадите две переменные для каждого фермера, которые хранят наилучшую урожайность и стратегию, используемую для достижения этой урожайности, ответит ли это на ваш вопрос?
2. Я думаю, да. как это будет записано / включено?
3. Вам нужно попробовать написать некоторый код самостоятельно, и мы поможем вам исправить это, если это не сработает. Но общая идея состоит в том, чтобы иметь две переменные в
farmers-own
(например, наилучшую доходность и наилучшую стратегию), а затем обновлять их, если доходность этого тика лучше, чем текущее значение наилучшей доходности.