目前,我正在研究一种基于代理的模型,该模型关于社交网络中成功的创新扩散。到目前为止,我是基于代理的建模和编程的新手。
主要思想是在农民中建立社会学习模型,因此代理人采用创新的决定主要取决于他的个人网络,这意味着如果他有良好的关系并且他的邻居正在成功地使用创新,他将更有可能采用而不是他位于远程网络中。
除了关于社会学习的网络相关论点之外,我想实现时间维度,例如,代理的邻居成功使用创新的时间越长,代理人也越有可能采用创新。但这正是我此刻陷入困境的关键所在。我的目标是实现以下参数。到目前为止,伪代码如下所示。
1)海龟自己的蜱计数器 ...
ask turtles
[
ifelse [adopted? = true]
[set ime-adopted time-adopted + 1] [set time-adopted 0]
]
...
2)在第二次尝试中,每个代理人都应该检查他的邻居使用这项创新的时间长度("检查邻居的时间和#34;)。
ask turtles with [not adopted?]
[
[ask link-neigbhors with [adopted?]
[...*(Here I dont know how to ask for the time adopted value)*]
;the agent will then sum up all values he got from his neighbors from "time-adopted"
set time-neighbors-adopted [sum all "time-adopted" values of neighbors]
]
;The agent will then implement these values into his personal utility
;function which determines if he adopts the innovation or not
set utility utiltiy + 0.3 * time-neighbors-adopted
]
非常感谢您的帮助和建议。
亲切的问候,
Moritz的