我在谷歌上搜索了很多,目的是为了找到一个非常基本的算法版本,能够生成无规模和小世界的网络。不幸的是,我的搜索没有给出结果。
我不需要很复杂的东西。只是需要一些东西来解释如何生成所需的网络,以及为什么算法是这样工作的。
我很清楚如何生成Erdos-Renyi图,但对于无标度和小世界的情况,我找不到类似的东西。
伪代码以及C/C++、Maltab、Java和Python对我都有好处。
发布于 2015-06-22 12:28:25
发布于 2018-01-18 10:37:11
很抱歉,如果这不是您想要的,但是在Netlogo中有一个非常好的例子,用于两种类型的网络的模型库。
在netlogo v. 5中,生成一个小型世界网络的代码是:
to setup_network
if network = "small-world" [
let max-who 1 + max [who] of turtles
let sorted sort ([who] of turtles)
foreach sorted[ ?1 ->
ask turtle ?1 [
let i 1
repeat number-of-links [
create-link-with turtle ((?1 + i) mod max-who)
set i i + 1
]
]
]
repeat round (rewire-prop * number-of-agents) [
ask one-of turtles [
ask one-of my-links [die]
create-link-with one-of other turtles with [link-with myself = nobody]
]
]
]
if display-network? [
layout-circle (sort turtles) (max-pxcor - 1)
display
]
end
我相信模型库能进一步帮助你。
https://stackoverflow.com/questions/30978577
复制相似问题