如何制作长度为67的随机二进制列表

时间:2017-06-12 15:28:16

标签: list random binary netlogo

这是我在这里的第一篇文章(这是我第一次使用netlogo),所以我会尽量简洁:

我正在尝试为我的海龟写一份清单,比如Epstein和Axtell在GAS中的表格(第73页)。

到目前为止,我试过这个没有结果。

to setup-culture-tags                                     ;set variable
  let initial-culture-tags n-values 67 [ random 2 ]       ;create a random 
                                                           binary list of 67 
  set culture-tags initial-culture-tags                   ;
end

制作清单后,我想根据0的数量对这些进行分类。例如,“00011”将是“蓝色”而“00111”将是“红色”。

这里的想法是给海龟一个长度为67的随机二进制列表。然后,它们将根据“标记翻转”进行交互并更改其值: 对于每个邻居,随机选择一个标签。 如果邻居在该位置同意代理人,则不做任何更改;如果他们不同意,则翻转邻居的标签以同意代理商的标签。

我不知道这是不是一个愚蠢的问题,但我开始感到沮丧,所以我会感激一点帮助。

1 个答案:

答案 0 :(得分:2)

不确定您在这里遇到了什么错误,但看起来您可能尝试全局设置turtles-own变量。如果culture-tagsturtles-own变量(如果您希望所有海龟都拥有自己的culture-tags列表,那么它必须是这样),您必须使用ask turtles [ ...来询问每只乌龟填充所需的列表。试试这个:

turtles-own [ culture-tags ]

to setup

  ca
  reset-ticks
  crt 10

  ask turtles [
    set culture-tags n-values 67 [ random 2 ]        
  ]

  ask one-of turtles [
    show length culture-tags
    show culture-tags
  ]

end

要获得零/一的计数,请查看filter的词典条目,然后尝试将其与length合并。