Netlogo PDG中的记忆效应

Netlogo PDG中的记忆效应,netlogo,Netlogo,我尝试用netlogo a PDG进行模拟,并研究合作中的记忆效应。我希望记忆是一个系数,我对你的问题的解释是,你希望有一种计算衰减的累积变量值回报的方法。实现这一点的方法是存储变量的当前值,并在每次勾选时使用新支付的总额和旧累计支付的贴现值更新该值。这意味着,例如,过去两个滴答声的回报在累积中已贴现两次 下面是一个完整的模型作为示例。我已经将每个刻度的回报固定为5,这样你就可以看到记忆的效果 globals [ memory ] ; how much to retain each tick t

我尝试用netlogo a PDG进行模拟,并研究合作中的记忆效应。我希望记忆是一个系数,我对你的问题的解释是,你希望有一种计算衰减的累积变量值回报的方法。实现这一点的方法是存储变量的当前值,并在每次勾选时使用新支付的总额和旧累计支付的贴现值更新该值。这意味着,例如,过去两个滴答声的回报在累积中已贴现两次

下面是一个完整的模型作为示例。我已经将每个刻度的回报固定为5,这样你就可以看到记忆的效果

globals [ memory ] ; how much to retain each tick
turtles-own [ payoff ]

to setup
  clear-all
  set memory 0.9
  create-turtles 1
  inspect one-of turtles
  reset-ticks
end

to go
  ask turtles
  [ let new-payoff 5
    set payoff new-payoff + memory * payoff
  ]
end

第一次勾选后,收益为5。第二次勾选后,收益为9.5=5+0.9*5。在第三次勾选后,回报是13.55=5+0.9*9.5,也就是5+0.9*5+0.9*0.9*5

到目前为止你尝试了什么?我刚刚发布了我的代码…你能进一步解释一下吗?你会犯什么错误,你期望会发生什么?如果您可以将问题分解为离散的编码问题,而不是暂时呈现模型,那么这可能会有所帮助。您可能想看看和关于提交a的部分。嗨,谢谢您的回答!我创建了一个名为memory length ju的滑块,可以看出记忆会影响合作,从而在一个世界中持续存在。滑块从1移动到50。但是这种方法太简单了,我现在想把记忆作为一个增益系数来引入,它只会乘以累积的历史收益,这真是太好了!!!非常感谢你!如何使内存成为从0到1的变量?为了将合作密度绘制为内存的函数,以了解内存如何帮助世界上的合作者保持活力?可以使用滑块设置任何全局变量,而不是将其作为代码中声明的全局变量。当你创建一个滑块时,你实际上是在用这个名字创建一个全局变量。嘿,Jen,我试图修改我的代码并使用你建议的公式,但当我运行world时,它会给我一个routime错误,因为内存系数期望付款是一个数字,但它们是一个数字列表,应该是这样的。。。。你能看一下我的模拟并给我一个解决问题的方法吗?你需要发布一个新问题,因为这是一个不同的问题。听起来你想从你的列表中提取带有相关收益的数字。
globals [ memory ] ; how much to retain each tick
turtles-own [ payoff ]

to setup
  clear-all
  set memory 0.9
  create-turtles 1
  inspect one-of turtles
  reset-ticks
end

to go
  ask turtles
  [ let new-payoff 5
    set payoff new-payoff + memory * payoff
  ]
end