优惠附加Netlogo

时间:2017-06-02 15:44:29

标签: social-networking netlogo

我正在尝试调整(简单)优先附件网络模型(在Netlogo模型库中可用)以包含确定网络结构的滑块变量。根据优先依恋模型(或“意见领袖”模型)的理论,根据分布p(k)αk^ - ,网络中的每个个体被分配了许多联系, k 。 γ,并随机连接到这个数量的人。因此,我想要一个可以适应γ的滑块。

在原始代码的核心,合作伙伴和链接是随机选择的:

to go
  if count turtles > num-nodes [ stop ]
  ;; choose a partner attached to a random link
  ;; this gives a node a chance to be a partner based on how many links it has
  ;; this is the heart of the preferential attachment mechanism
  let partner one-of [both-ends] of one-of links
  ;; create new node, link to partner
  create-turtles 1 [
    set color red
    ;; move close to my partner, but not too close -- to enable nicer looking networks
    move-to partner
    fd 1
    create-link-with partner
  ]
  ;; lay out the nodes with a spring layout
  layout
  tick
end

我对如何包含此参数感到有点迷失。

任何可以提供帮助的人?

提前致谢。

编辑:仍然无法让这个工作。我甚至在设置中制作了“正常”的优先附件模型而不是去(再次从模型库中改编)。但仍然无法理解我应该如何调整此代码以包含gamma参数。我的代码:

to create-new-nodes [n]
    clear-all
    ask patches [ set pcolor white ]
    create-nodes n [
    set color red
    set shape "circle"
  ]

    reset-ticks
end

to wire-pref-attach
  create-new-nodes 2 ; create the first two nodes (0 and 1)
  ask node 0 [ create-edge-with node 1] ; link them together
  create-nodes num-nodes - 2 [
    create-edge-with [one-of both-ends] of one-of edges ; pref select old node with more links
    set color red
    set shape "circle"
  ]
  radial-layout

end

to radial-layout
  layout-radial nodes edges (node 0)
end

非常感谢帮助!

1 个答案:

答案 0 :(得分:0)

我认为你错过了我原来的评论,Barabasi-Albert(BA)算法中没有任何地方可以插入任何这样的参数。您需要以完全不同的方式构建网络。也就是说,您需要找出构建网络的方法或过程或算法,然后担心编写代码来实现该方法。

我认为您需要Dorogovtsev等人(2000)使用优先链接的增长网络结构中描述的算法(如果您有权限,请参阅https://journals.aps.org/prl/pdf/10.1103/PhysRevLett.85.4633)。在BA算法中,现有网络中用于连接新节点的节点的选择概率与度数成比例(或问题中的 k )。在扩展算法中,每个节点都具有固有的吸引力 A ,而选择的概率则是 A + k

本文中的公式12描述了指数之间的关系(您的参数gamma为:gamma = 2 + A / m,其中 m 是out-degree(每个附加的边数)节点)。