如何通过查看两个海龟的属性列表来比较Netlogo中的两个海龟?

如何通过查看两个海龟的属性列表来比较Netlogo中的两个海龟?,netlogo,Netlogo,我的海龟有30多个布尔值属性,我想使用foreach循环来比较海龟,并根据它们的相似性对它们进行排序,而无需单独比较每个属性。我可能忽略了一个明显的要点,我尝试过创建一个属性列表,但没有成功,所有海龟都获得了最大的相似性分数 下面是一些计算两个列表之间的汉明距离的代码。请注意,非常聪明的reduce代码直接取自NetLogo字典 to testme let ll1 (list TRUE TRUE FALSE FALSE) let ll2 (list TRUE FALSE TRUE FAL

我的海龟有30多个布尔值属性,我想使用foreach循环来比较海龟,并根据它们的相似性对它们进行排序,而无需单独比较每个属性。我可能忽略了一个明显的要点,我尝试过创建一个属性列表,但没有成功,所有海龟都获得了最大的相似性分数

下面是一些计算两个列表之间的汉明距离的代码。请注意,非常聪明的
reduce
代码直接取自NetLogo字典

to testme
  let ll1 (list TRUE TRUE FALSE FALSE)
  let ll2 (list TRUE FALSE TRUE FALSE)
  let ll3 ( map = ll2 ll1 )
  show ll3
  show reduce [ [occurrence-count next-item] ->
    ifelse-value (next-item) [occurrence-count + 1] [occurrence-count] ] (fput 0 ll3)
end

如果你想计算一对海龟的相似性分数,你可以把它变成一个记者,以两只海龟为论据。但不清楚你想做的是比较两只海龟,所以我没有为此编写代码。

一旦你有了度量标准,就使用
排序方式,但是“基于它们的相似性”是什么?如果对一只特定的海龟,使用海明距离。如果是对整个团队,请看