我有一个netlogo模型,它有单独的程序来设置一个小世界和erdos-renyi网络。用户可以通过使用滑块指定他们想要的每个品种的数量来指定要创建的网络和每个网络的节点数量,对于我的erdos renyi网络...
我的模型用于通过网络模拟麻疹的传播
to setup-erdos-renyi
clear-all
;; Make a circle of turtles
set num-nodes (num-children + num-adults + num-toddlers)
create-children num-children
create-adults num-adults
create-toddlers num-toddlers
layout-circle turtles (max-pxcor - 8)
;; Now give each pair of turtles an equal chance
;; of creating a link
ask turtles [
;; we use "self > myself" here so that each pair of turtles
;; is only considered once
create-links-with turtles with [self > myself and random-float 1.0 < probability]
]
setup
infect-initial
ask links [set closed? false]
display
reset-ticks
end
我想要做的是实施模拟这些乌龟之间优先依恋的选项。
我一直在查看Netlogo内置的附带优惠附件模型,但我很难将其应用到我的模型中。我真正难以理解的是如何
to-report find-partner
report [one-of both-ends] of one-of links
end
此代码段用于在示例模型中找到每个节点的合作伙伴,这是基于模式已经具有的链接数量,从而导致优先附件?
我相信一种解决方案是播种随机链接集,然后使用此代码段创建更多链接,直到预定数量的链接。
答案 0 :(得分:0)
这段代码:
to-report find-partner
report [one-of both-ends] of one-of links
end
你问“这是基于一个节点已经拥有的链接数量,从而导致优先附件吗?”
答案是肯定的。但理解为什么有点微妙。我们不是先直接选择一个节点,而是选择一个随机链接,然后用它来引导我们到一个节点。为什么这样做?
嗯,例如,假设节点A有100个链接到它,但节点B只有一个链接连接到它。如果我们随机选择一个链接,那么我们将选择一个连接到A的链接,而不是连接到B的链接的100倍。这正是我们的目标 - 节点被选中的机会与其链接数完全成比例