优惠附件中的“查找伙伴”程序如何运作?

时间:2014-03-24 20:08:03

标签: simulation netlogo

我有一个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

此代码段用于在示例模型中找到每个节点的合作伙伴,这是基于模式已经具有的链接数量,从而导致优先附件?

我相信一种解决方案是播种随机链接集,然后使用此代码段创建更多链接,直到预定数量的链接。

1 个答案:

答案 0 :(得分:0)

这段代码:

to-report find-partner
  report [one-of both-ends] of one-of links
end

你问“这是基于一个节点已经拥有的链接数量,从而导致优先附件吗?”

答案是肯定的。但理解为什么有点微妙。我们不是先直接选择一个节点,而是选择一个随机链接,然后用它来引导我们到一个节点。为什么这样做?

嗯,例如,假设节点A有100个链接到它,但节点B只有一个链接连接到它。如果我们随机选择一个链接,那么我们将选择一个连接到A的链接,而不是连接到B的链接的100倍。这正是我们的目标 - 节点被选中的机会与其链接数完全成比例