【发布时间】:2015-06-24 22:04:20
【问题描述】:
在NetLogo中:假设模型有
- A 品种的海龟 (0) 与 B 品种的 3 只海龟 (1、2 和 3) 具有无向链接;
- 乌龟 0 有一个名为“number-of-links”的属性,它等于 3。
现在,让 0 的 3 个邻居中的一个死掉..
如何对海龟 0 进行编程以将其链接数自动更改为 2?
【问题讨论】:
在NetLogo中:假设模型有
现在,让 0 的 3 个邻居中的一个死掉..
如何对海龟 0 进行编程以将其链接数自动更改为 2?
【问题讨论】:
如果您只想要一种跟踪数字链接的方法,请使用count my-links 而不是自定义变量。
一般来说,当链接数量发生变化时更新值最不容易出错的方法是在需要时计算该值。对于链接数量,这只是count my-links。对于更复杂的事情,将它们包装在记者中:
to-report energy-of-neighbors
report sum [ energy ] of link-neighbors
end
如果无论出于何种原因这都不起作用(代理需要对链接消失做出反应,或者您看到动态计算对性能造成严重、可衡量的影响),那么您必须自己进行更新链接数量变化。最好的方法是将行为封装在命令中:
to update-on-link-change [ link-being-removed ] ;; turtle procedure
; update stuff
end
然后把可能导致链接数变化的东西(比如海龟死亡)也封装在命令中:
to linked-agent-death ;; turtle procedure
ask links [
ask other-end [ update-on-link-change myself ]
]
die
end
【讨论】:
sum [ value ] of my-links:D 干杯!