问:需要帮助来传播网络中的危机
Q: Need help to disseminate a crisis in a network
我创建了一个代理网络,其中每个代理都有 GDP 值和 GDP 增长率。代理与无向 link 互连。
我做了一个倒计时,每 200 个滴答随机分配一个 'shock status' 给 10 个代理。当代理人受到冲击时,它会获得值 'in-crisis? = true',因此其 GDP 增长率会发生变化。
但是,我想添加第二个触发器。我希望 'in-crisis? = false' 的特工检查他们的 link 邻居,看看他们中是否有 'in-crisis? = true'。如果他们 linked 到一个危机为真的代理人,那么他们应该检查他们自己的 GDP 是否小于 linked 状态 'in-crisis? = true' 的 GDP 的一半.如果它更小,那么代理会将他自己的 'in-crisis?' 设置为 true。
to shock
if ticks mod 200 = 0 [ ;; This is the countdown
spread-crisis
ask n-of 10 turtles [
become-in-crisis]
]
end
to spread-crisis ;;;;;;;;;;;;;;;; This is the second trigger. I need help here!
ask turtles with [in-crisis? = false]
[ if any? link-neighbors with [in-crisis? = true] [
if any? link-neighbors with [gdp > my-gdp] [
become-in-crisis ] ]]
end
to-report my-gdp
report (gdp * 2)
end
to become-in-crisis
set in-crisis? true
let random-years-of-shock 20 + random 100
set shock-tick random-years-of-shock
end
如果有时间,请帮我调整传播危机程序!
谢谢
将 my-gdp
更改为 [my-gdp] of myself
。
to spread-crisis
ask turtles with [not in-crisis?] [
if any? link-neighbors with [in-crisis? and gdp > [my-gdp] of myself] [
become-in-crisis
]
]
end
我创建了一个代理网络,其中每个代理都有 GDP 值和 GDP 增长率。代理与无向 link 互连。
我做了一个倒计时,每 200 个滴答随机分配一个 'shock status' 给 10 个代理。当代理人受到冲击时,它会获得值 'in-crisis? = true',因此其 GDP 增长率会发生变化。
但是,我想添加第二个触发器。我希望 'in-crisis? = false' 的特工检查他们的 link 邻居,看看他们中是否有 'in-crisis? = true'。如果他们 linked 到一个危机为真的代理人,那么他们应该检查他们自己的 GDP 是否小于 linked 状态 'in-crisis? = true' 的 GDP 的一半.如果它更小,那么代理会将他自己的 'in-crisis?' 设置为 true。
to shock
if ticks mod 200 = 0 [ ;; This is the countdown
spread-crisis
ask n-of 10 turtles [
become-in-crisis]
]
end
to spread-crisis ;;;;;;;;;;;;;;;; This is the second trigger. I need help here!
ask turtles with [in-crisis? = false]
[ if any? link-neighbors with [in-crisis? = true] [
if any? link-neighbors with [gdp > my-gdp] [
become-in-crisis ] ]]
end
to-report my-gdp
report (gdp * 2)
end
to become-in-crisis
set in-crisis? true
let random-years-of-shock 20 + random 100
set shock-tick random-years-of-shock
end
如果有时间,请帮我调整传播危机程序!
谢谢
将 my-gdp
更改为 [my-gdp] of myself
。
to spread-crisis
ask turtles with [not in-crisis?] [
if any? link-neighbors with [in-crisis? and gdp > [my-gdp] of myself] [
become-in-crisis
]
]
end