[set ability random 20 ]
在go程序中,我希望他们将自己的能力值与其相关邻居的值进行比较。 例如:turtle1 = 5的能力,neighbor1 = 10的能力,neighbor2 = 4的能力。因此(absoulute)差异为[5,1]。因此,他将从neighbor2获得更多信息,而不是来自neighbor1。
但我不知道如何处理问每个邻居的差异问题。作为第一个想法,我想通过像[difference1,...,difference(n)]这样的列表变量来做这件事。
到目前为止,我只使用平均值得到了一个汇总方法,但这与最近的社会学习理论并不完全一致,并且可能会覆盖代理人有许多不同邻居但与他非常相似的人:
ask turtles
[
set ability random 20
set ability-of-neighbor (sum [ability] of link-neighbors / count link-neighbors)
set neighbor-coefficient (abs (ability - ability-of-neighbor))
;;the smaller the coefficient the more similar are the neighbors and the more the turtle learns from his neighbor(s)
]
再次感谢您的帮助和建议,我非常感谢您的评论。
亲切的问候,
Moritz的
答案 0 :(得分:3)
我有点时间了解你想要的东西,但这是一种排名链接邻居的方法。
Unable to create the selected preference page.
An error occurred while automatically activating bundle com.android.ide.eclipse.adt (479).
它按能力差异的升序生成一个链接邻居列表。
如果您只想使用最近邻居
let link-neighbor-rank sort-on [abs (ability - [ability] of myself)] link-neighbors
我希望这会有所帮助。