【问题标题】:agents sharing with each other their lists代理彼此共享他们的列表
【发布时间】:2019-07-27 06:07:41
【问题描述】:

我正在制作一个 NetLogo 模型。每个代理都有一个由 5 个整数组成的列表(代理列表)。在每一次滴答声中,海龟都会与另一只海龟建立链接,并相互分享他们的列表。

turtles-own [ agent-list ]
.
.
.    
ask turtles [
    create-link-with one-of other turtles
    set agent-list lput agent-list of link-neighbors agent-list
  ]

我知道上面的代码不起作用,我应该如何修复它?

【问题讨论】:

  • 打勾后,您是否希望海龟拥有agent-list,如[ 1 1 1 1 1 [ 2 2 2 2 2 ] ][ [ 1 1 1 1 1 ] [ 2 2 2 2 2 ] ][ 1 1 1 1 1 2 2 2 2 2] 或其他不同的名称?你能提供更多细节吗?
  • 谢谢提及,我想要最后一种格式:[ 1 1 1 1 1 2 2 2 2 2]

标签: simulation netlogo


【解决方案1】:

您所描述的组合列表的最简单方法可能是sentence

turtles-own [ agent-list ]

to setup
  ca
  crt 3 [ 
    set agent-list map [random 10] range 5
  ]
  reset-ticks
end

to link-and-share
  ask turtles [
    let target one-of other turtles
    create-link-with target
    set agent-list sentence agent-list [agent-list] of target
    show agent-list
  ]
end

但是,您必须根据您实际想要做的事情进行一些调整,因为这意味着在过程中稍后链接的海龟可能会拉出已经修改了自己 @ 的海龟的 agent-list 987654324@。所以,如果海龟 0 抢到海龟 1 的 agent-list,然后海龟 4 抢到海龟 0 的 agent-list,海龟 4 的 agent-list 将是 15 个整数,而不是 10,类似于下面的输出:

(turtle 1): [6 1 5 4 7 3 9 8 1 1]
(turtle 0): [9 0 3 3 5 3 9 8 1 1]
(turtle 2): [3 9 8 1 1 9 0 3 3 5 3 9 8 1 1]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-26
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多