首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >生成无规模和小世界的网络

生成无规模和小世界的网络
EN

Stack Overflow用户
提问于 2015-06-22 11:16:18
回答 2查看 2.3K关注 0票数 1

我在谷歌上搜索了很多,目的是为了找到一个非常基本的算法版本,能够生成无规模和小世界的网络。不幸的是,我的搜索没有给出结果。

我不需要很复杂的东西。只是需要一些东西来解释如何生成所需的网络,以及为什么算法是这样工作的。

我很清楚如何生成Erdos-Renyi图,但对于无标度和小世界的情况,我找不到类似的东西。

伪代码以及C/C++、Maltab、Java和Python对我都有好处。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-22 12:28:25

我对无规模或小规模的世界网络一无所知(只听说过这些名字),但谷歌的快速搜索让我浏览了以下维基百科页面:

model

Barabási-Albert (BA)模型是一种利用优先附着机制生成无随机尺度网络的算法。

model

Watts-Strogatz模型是一种随机图生成模型,它生成具有小世界性质的图,包括短平均路径长度和高聚类。

这两种算法在维基百科的页面中都有很好的描述。

票数 2
EN

Stack Overflow用户

发布于 2018-01-18 10:37:11

很抱歉,如果这不是您想要的,但是在Netlogo中有一个非常好的例子,用于两种类型的网络的模型库。

在netlogo v. 5中,生成一个小型世界网络的代码是:

代码语言:javascript
运行
复制
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

我相信模型库能进一步帮助你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30978577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档