我正在尝试调整(简单)优先附件网络模型(在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
非常感谢帮助!
答案 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(每个附加的边数)节点)。