【发布时间】:2020-07-22 05:53:51
【问题描述】:
我正在为捕食者猎物系统构建一个模型,并且我正在将一个小型基本机器学习内部模型整合到捕食者中。
捕食者有 4 种策略(策略是变量),在一天开始时他们选择一个策略,并在每天结束时检查他们是否使用该策略成功狩猎。
我有另一个掠夺者拥有的变量,称为最佳策略,我想从上一个成功的策略中复制它
我的代码如下
to recall-hunts
if ticks = 98 [ifelse hunt-today = 1 [set last-hunt "success"] [set last-hunt "failure"]]
end
to evaluate-hunt
if ticks = 99 [if last-hunt = "success" [set best-strat best-strat = strat]
if last-hunt != "success" [set strat one-of strategies]
stop]
end
to strategy
if ticks = 1 [ifelse best-strat = "NA" [set strat one-of strategies] [set strat strat = best-strat]]
stop
end
我希望捕食者评估他们是否使用给定的策略进行了一次良好的狩猎,然后选择以前最适合他们的策略,如果没有最好的策略,那么只需随机选择一个。
strat 是一个从策略列表中选择的变量 ("strat1" "strat2" "strat3" "strat4")
一切正常,除了我的代码,如果狩猎成功,我会在一天结束时将当前策略复制到最佳策略。目前它设置为“假”,所以我猜有些东西正在破坏。
【问题讨论】:
标签: simulation netlogo agent-based-modeling