【问题标题】:How to kill off selected links in a network如何杀死网络中的选定链接
【发布时间】:2015-02-10 21:33:21
【问题描述】:

我正在尝试在 Netlogo 中创建一个命令,在该命令中,我要求绿色海龟上的链接存活,而所有其他链接都死掉,以便与绿海龟的链接在我的刻度重置后仍然存在。有人知道如何要求负值吗?就像'所有非绿海龟?我想不通这个!请帮忙。

【问题讨论】:

  • 基本上我想要做的是找到一个类似于“杀死所有连接到非绿海龟的链接”的命令,但我找不到相关的代码语言来执行此操作

标签: netlogo


【解决方案1】:

可能有一个更优雅的解决方案,但这应该可以满足您的需求:

用两端的 [[color] != green ] [ die ] 询问链接

ask links with [ [color] of end1 != green OR [color] of end2 != green ] [ die ]

这假设链接的两端都需要连接到绿海龟。否则,您可以分别查看两端并像这样使用end1end2

ask links with [ [color] of end1 != green AND [color] of end2 != green ] [ die ]

【讨论】:

  • 您的第一个版本不起作用:[color] of both-ends 报告颜色的列表,例如:[green green][red green]。由于该列表将始终!= green,因此所有链接都会失效。
  • 你说得对,我没有彻底测试过。对于这种情况,使用第二种方法并将两个条件与OR 连接起来将是另一种方法,除了您的解决方案。我会相应地编辑我的答案。
【解决方案2】:

从乌龟的角度来看:

ask turtles with [ color != green ] [ ask my-links [ die ] ]

从链接的角度来看:

ask links with [ [ color ] of both-ends != [green green] ] [ die ]

或者更花哨,也许不太可读:

ask links with [ reduce or [ color != green ] of both-ends ] [ die ]

【讨论】:

  • 也许是all? both-ends [color != green]
猜你喜欢
  • 2011-05-28
  • 1970-01-01
  • 2015-06-05
  • 1970-01-01
  • 1970-01-01
  • 2014-07-13
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多