有了之前的准备工作,就可以进行接下来的BA无标度网络的生成了:

function Ans = BA(m0,M0,t,m)
%BA(m0,M0,t,m)
%先生成一个m0个节点、共M0条连边的网络,保证每个点都有至少一条连边
%随后生长t个节点,每个节点需要m条连边
%m<m0; 定义m0为偶数
% M0<=1/2*m0*(m0-1)
%----------------生成一个初始网络----------------------A = regular(m0,M0,t);%规则网络%--------------开始生长t个节点,每个节点向网络连接m条边------
for i = m0+1:m0+tx = i;B = P_degree(A,i-1);for j = 1:mp = rand();y = Choosevertex(p,B);while A(x,y) == 1 || x-y == 0  p = rand();y = Choosevertex(p,B);endA(x,y) = 1;A(y,x) = 1;end
end
Ans = A;
%----------------画出图像------------------------
% figure
% AA = A(1:m0+t-1,1:m0+t-1);
% C = graph(A,'upper');
% CC = graph(AA,'upper');
% D = degree(CC);
% e = max(D);
% f = find(D>=(e-1))';
% F = find(D==e)';
% g = m0+t;
% plot(C);
% h = plot(C,'Layout','force');
% highlight(h,f)
% highlight(h,f,'NodeColor','g')
% highlight(h,F)
% highlight(h,F,'NodeColor','r')
% highlight(h,g,'Marker','s','MarkerSize',15,'NodeColor','magenta')
end

在代码后半部分的画图代码可以选择性使用。

同时,对于BA无标度网络我们可以得到一些相关特性的图像,这里提供一种:

clear
A = BA(4,6,1000,4);
[a,b] = P_k(A);
loglog(a,b,'s');
hold onA = BA(6,8,1000,6);
[a,b] = P_k(A);
loglog(a,b,'>');
hold onA = BA(8,10,1000,8);
[a,b] = P_k(A);
loglog(a,b,'o');
hold onc = 5:0.01:50;
d = 70.*c.^-2.9;
loglog(c,d,'--');
xlabel('k')
ylabel('P(k)')

这段代码中涉及到一个自定义函数,代码如下:

function [a,b] = P_k(a)
N = size(a,2);
A = graph(a,'upper');
B = degree(A);
C = max(B);
K = 1:C;
for i = 1:Cn(i) = size(find(B==i),1);
end
n = n./N;
a = K;
b = n;
end

BA无标度网络(三):网络生成相关推荐

  1. BA无标度网络(一):规则网络生成

    在讨论BA网络的生成时,涉及到初始网络的选择,理论上当然可以选择只之前已近提及的ER随机网络模型或者WS小世界网络等等,但是如果初始规模较小,这些网络的的特性并不能很好的体现,所以我在生成BA无标度网 ...

  2. networkx 标签_networkx绘制BA无标度网络

    step1: 导入networkx复杂网络库.matplotlib.pyplot.pandas import networkx as nximport matplotlib.pyplot as plt ...

  3. 常见网络模型——BA无标度网络(使用轮盘赌算法)(python)

    之前记录了一下,常见的四种网络模型--ER.BA.WS.规则图,以及如何使用python实现,具体请移步: https://blog.csdn.net/un357951/article/details ...

  4. BA无标度网络模型构造算法

    BA无边度网络模型构造算法 (1)增长:从一个具有 m_0 个节点的联通网络开始,每次引入一个新的节点, 并且连到 m 个已经存在的节点上,这里 m <= m_0. (2)优先连接:一个新的节点 ...

  5. 网络三.网络传输设备:集线器,交换机,路由器

    网络三.网络传输设备 3.1 信号在网线和集线器中传输 3.1.1 每个包都是独立传输的 计算机发送的数据通过集线器.路由器等设备被转发,最终到达目的地.中间的转发设备不会影响到包里面的数据:数据流向 ...

  6. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.7 - 图生成 无标度网络

    1.概述 Barabási和Albert(1999)的"富者更富"(Rich get richer)生成模型(BA模型)最被熟知的无标度网络子集的生成模型.它让每个网页根据一个非均 ...

  7. 网络模型 - 随机网络,无标度网络,分层网络

    转自: http://www.flickr.com/photos/caseorganic/4510691991/in/set-72157624621620243 小图 大图 Network Model ...

  8. 随机网络与无标度网络

    原文地址:http://blog.lmtw.com/b/peon/archives/2009/66662.html 传统的随机网络(如ER模型),尽管连接是随机设置的,但大部分节点的连接数目会大致相同 ...

  9. 复杂网络作业1——随机生成三种网络(小世界、无标度、ER随机)

    主要是调用调用networkx和random库(可以直接构建网络.然后利用random随机生成相应数据) plt.show()可以生成相应的图片 小世界网络中要注意邻接个数必须是偶数 版本1:直接生成 ...

  10. 复杂性思维第二版 四、无标度网络

    四.无标度网络 原文:Chapter 4 Scale-free networks 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在本章中,我们将处理来自在线社交网络的数据,并使 ...

最新文章

  1. Python基础02-Python基础
  2. 给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数
  3. 8个秘诀成就顶级增长黑客
  4. C++的运算符重载(转)
  5. Java数据类型分类
  6. JAVA中dot的用法_Java 方法
  7. 单片机流水灯源代码+仿真
  8. OpenSSL 生成CA证书及终端用户证书
  9. android app与gprs通信,gprs连接管理app
  10. C#实现Modbus协议与PLC通信
  11. saber软件安装后怎么打开_Saber2016安装包和安装详细安装步骤
  12. 凸包问题-Graham-Scan算法-python实现
  13. Java基于SM4算法实现文件加密 SM4FileUtils
  14. IS_ERR()宏是什么意思
  15. 李小龙的传奇人生(2)
  16. css通知页面,CSS3 transition 实现通知消息轮播条
  17. 笔记-动物病理(3:脱水)
  18. mac系统连接服务器教程视频教程,超详细教程:手把手教你15分钟在苹果Mac上装个Windows...
  19. shell exec命令
  20. CSS和HTML笔记11.18

热门文章

  1. VS2015密钥 VS2017密钥
  2. 如何在水经注会员中心购买流量下载地图
  3. 0x68111002_黑苹果10.12.2驱动R9 270显卡成功一例
  4. android 无损分区,有什么可行办法把安卓4.4用的tf卡第一个分区从fat32无损转换成ext4?...
  5. 渗透测试-postmessage xss
  6. Python数学问题2:求100以内素数之和
  7. 爱帮网“搜索+社区”就地展开
  8. Oracle导入元数据,eova oracle 导入元数据报错
  9. 浏览器安装fehelper插件,亲测可行
  10. Mac环境下安装JDK