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

How to make a random binary list of lenght 67

这是我第一次 post 在这里(也是我第一次使用 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”将是 "blue",而“00111”将是 "red".

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

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

不确定您在这里遇到了什么错误,但看起来您可能正在尝试全局设置一个 turtles-own 变量。如果 culture-tags 是一个 turtles-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.

组合