Netlogo 当x数量的补丁消失时,与其他海龟断开联系?

Netlogo 当x数量的补丁消失时,与其他海龟断开联系?,netlogo,Netlogo,当海龟偏离与之相关的海龟x数量的补丁时,我如何让它们断开链接?我已经尝试过这行代码,我认为如果合作者链接在radius链接半径>最大链接半径[询问链接[die]]end,它将工作,以断开链接,但我得到错误“链接预期2个输入,一个数字和一个数字”。任何帮助都将不胜感激,谢谢。代码贴在下面 turtles-own [ energy ] breed [ cooperators cooperator ] breed [ uncooperators uncooperator ] to set

当海龟偏离与之相关的海龟x数量的补丁时,我如何让它们断开链接?我已经尝试过这行代码,我认为如果合作者链接在radius链接半径>最大链接半径[询问链接[die]]end,它将工作
,以断开链接,但我得到错误“链接预期2个输入,一个数字和一个数字”。任何帮助都将不胜感激,谢谢。代码贴在下面

turtles-own [ energy ] 

breed [ cooperators cooperator ] 
breed [ uncooperators uncooperator ]




to setup 
  ca
  ask patches [
    set pcolor green
  ]
  create-uncooperators num-uncooperators [
    setxy random-xcor random-ycor
    set color red
    set energy random 100
  ]set-default-shape turtles "person"
  create-cooperators num-cooperators [
    setxy random-xcor random-ycor
    set color yellow
    set energy random 100
  ]
  reset-ticks
end

to go 
  if not any? turtles [ stop ] 
  ask cooperators [
    set energy energy - 1
    move
    communicate
    cooperate
    break-link
  ]
  ask uncooperators [
    set energy energy - 1
    move 
  ]
  tick
end

to move
  lt 50
  rt 50
  fd 1
end



to communicate
  if count my-links < 1 [
   create-link-to one-of uncooperators in-radius linking-radius
  ]
end

to break-link
  if cooperator link in-radius linking-radius > max-link-radius [ ask one-of links [ die ] ]
end
海龟拥有[能量]
繁殖[合作者合作者]
品种[未开箱操作员未开箱操作员]
设置
ca
询问补丁[
将颜色设置为绿色
]
创建uncooperators num uncooperators[
setxy随机xcor随机ycor
设置颜色为红色
将能量随机设置为100
]将默认形状海龟设置为“人”
创建合作者num个合作者[
setxy随机xcor随机ycor
设置颜色为黄色
将能量随机设置为100
]
重置滴答声
结束
外带
如果没有?乌龟[停]
询问合作者[
设置能量-1
移动
沟通
合作
断开连接
]
询问操作员[
设置能量-1
移动
]
打上钩
结束
移动
lt 50
rt 50
fd 1
结束
沟通
如果我的链接数<1[
创建链接到“半径链接半径”中的一个操作符
]
结束
断开连接
如果合作者链接的半径链接半径>最大链接半径[询问其中一个链接[die]]
结束

请仅发布相关代码,通常是针对NetLogo的代码,即给出错误的过程和调用错误的过程。这是给出错误消息的行:

to break-link
  if cooperator link in-radius linking-radius > max-link-radius
  [ ask one-of links [ die ]
  ]
end
NetLogo告诉您它不知道您指的是哪个
链接,因为链接由两个数字标识——两端的海龟。如果查看代码,单词
link
后跟两个数字(radius和linking radius中的变量),但它们不是海龟标识符。我认为您需要做一些类似于要求长链接断开的事情,在这种情况下,您将物理/空间距离与网络距离(要传递多少个链接)混合在一起。这是你想要的吗

to break-link
  ask cooperators
  [ if distance one-of link-neighbors > max-link-radius
    [ ask one-of links [ die ]
    ]
  ]
end
link neigbors
用于查找与执行请求的海龟连接的海龟。但这并不能实现您的目标,因为随机链接已死亡,而不是满足距离条件的链接。可能是(未测试):

to break-link         ; called by a cooperator turtle
  let furthest-friend max-one-of link-neighbors [distance myself]
  if distance furthest-friend > max-link-radius
  [ ask link-with furthest-friend [ die ]
  ]
end