我尝试在Netlogo中生成有向图。两个节点之间应该只有一个链接。我使用以下代码片段:
breed [nodes node]
directed-link-breed [edges edge]
.
.
.
ask nodes
[
create-edges-to ((other nodes) with [not edge-neighbor? self])
]
它不断在节点之间创建两个链接(从和到)。我的错误是什么?
提前致谢!
埃里克。
答案 0 :(得分:1)
有两个问题:首先,在检查节点是否连接到自身的情况下使用self
。你想在这里myself
。
其次,因为你使用定向链接,如果A连接到 B,则B被认为是A的链接邻居,但反之则不然(因为它是定向的。)想想{{1 as,“有没有办法从龟A到达龟B”。
NetLogo提供in-link-neighbor?和out-link-neighbor?解决这个问题。所以你可以这样做:
link-neighbor
请记住,因为这是针对每只乌龟运行的,所以您将获得线性度分布。如果这就是你想要的,那就太好了!但它可能不是。 (编辑:实际上是在考虑这个问题,如果你想让所有海龟通过一个有向链接连接,你绝对不会这样做,所以没关系。)