社交网络v2

时间:2017-07-17 16:11:01

标签: networking netlogo friend

我试图建立一个朋友网络,就像在here中对JenB的最终修正之前的这个例子,因为它对我来说更容易理解,而且Bryan Head说这将是他的方式会用更少的代理人来做。我计划使用大约200个,可能还有300个代理商。

我的问题是......如果不成对,我怎么能这样做?我希望代理在y刻度期间与半径x中的每个代理商交换朋友,并使用相同的颜色(我仍在处理刻度条件)。在找到JenB示例之前,我尝试使用if和一些条件但是它太重了。

我认为没有必要重新编写完整的代码。但我会把它写下来让你看我的版本。

to make-friends
ask agentes [
let new-friendships friends - count my-friendships
if (new-friendships > 0) [
  set possible-friends other agentes in-radius sight-radius with [
    (count my-friendships < friends) and (color = [color] of myself) ]
  create-friendships-with n-of min (list new-friendships count possible-friends) possible-friends]
end

V2 CODE

我开始使用另一段代码,因为我不完全知道如何做得更好。这是最后一个版本。 random-in-range 0 12条件位于设置中。

to make-friends
  ask agentes [
    let new-friends max-friends - count my-friendships
    let possible-friends other agentes with [color = [color] of myself] in-radius sight-radius
    if new-friends > 0 [
      let chosen n-of min (list new-friends count other possible-friends) other possible-friends
      create-friendships-with chosen ;in-radius sight-radius [ hide-link ]
      set possible-friends other possible-friends
      set friends friendship-neighbors
      ask chosen [
        if my-friendships = friends [ set possible-friends other possible-friends ] ]
    ]
  ]
end

0 个答案:

没有答案