首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >问:需要帮助在网络中传播危机

问:需要帮助在网络中传播危机
EN

Stack Overflow用户
提问于 2016-03-05 07:02:03
回答 1查看 24关注 0票数 1

我创建了一个代理网络,每个代理都有一个GDP值和一个GDP增长率。所述代理与无向链路互连。

我已经做了一个倒计时,每200个滴答随机分配一个‘休克状态’给10名特工。当一个代理人受到冲击时,它得到了“危机中的价值?”,因此它的GDP增长率也随之发生了变化。

但是,我想添加第二个触发器。我要那些“危机中”的特工检查他们的联系邻居,看看他们中是否有“危机中的”。如果他们与危机中真实的代理人联系在一起,那么他们应该检查他们自己的GDP是否小于有危机状态的GDP的一半。如果规模较小,那么代理人将设置自己的“危机中?”和事实一样。

代码语言:javascript
运行
复制
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

如果您有时间,请帮助我调整蔓延危机的程序!

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-05 16:05:37

my-gdp更改为[my-gdp] of myself

代码语言:javascript
运行
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35811193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档