复杂网络(Complex Network),是指具有自组织、自相似、吸引子、小世界、无标度中部分或全部性质的网络。特征:小世界、集群即集聚程度的概念、幂律的度分布概念。

BA模型是由巴拉巴西(Albert-László Barabási)与阿尔伯特(Réka Albert)提出的无标度网络模型。在此之前,大多数网络被想当然的认为是随机的,因此连接度分布可以近似用泊松分布来表示,而巴拉巴西与其学生阿尔伯特、郑浩雄通过对万维网度分布测量的结果却显示万维网度分布服从幂律分布,存在枢纽节点(拥有大量链接的节点)。也许万维网是特别的,巴拉巴西研究组进而又分析了两个网络系统——IBM计算机芯片布线图与好莱坞演员数据库,结果其度分布均遵循幂律分布。

仿真实现BA无标度网络,使用的是MATLAB

clc, clear
m0=input('请输入未增长前的网络节点个数m0: ');
m=input('请输入每次引入新节点时新生成的边数m: ');
N=input('请输入增长后的网络节点总数N: ');
disp('初始网络时m0个节点的连接情况:1表示都是孤立点;2表示构成完全图;3表示随机连接一些边');
se=input('请选择初始网络情况1,2或3: ');
if m>m0disp('输入参数m不合法'); return;
end
x=100*rand(1,m0); y=100*rand(1,m0);  %构造初始用于画图的m0个节点坐标
if se==1A=zeros(m0);
elseif se==2A=ones(m0); A(1:m0+1:m0^2)=0; %对角线元素置0
elseA=zeros(m0); B=rand(m0); B=tril(B); %截取下三角元素A(B<=0.1)=1; %按照概率0.1进行连边A=A+A';  %构造完整的邻接矩阵
end
for k=m0+1:Nx(k)=100*rand; y(k)=100*rand; %生成用于当前节点画图的坐标p=(sum(A)+1)/sum(sum(A)+1); %计算所有节点的连接概率pp=cumsum(p); %求累积分布A(k,k)=0;   %加入新的连边之前,邻接矩阵扩充维数ind=[]; %新节点所连节点的初始集合while length(ind)<mjj=find(pp>rand); jj=jj(1); %用赌轮法选择连边节点的编号ind=union(ind,jj); %使用union保证选择的节点不重复endA(k,ind)=1; A(ind,k)=1; %构造加边以后新的邻接矩阵
end
plot(x,y,'ro','MarkerEdgeColor','g','MarkerFaceColor','r','markersize',8);
hold on, A2=tril(A); [i,j]=find(A2); %找邻接矩阵下三角元素的非零元素
for k=1:length(i)plot([x(i(k)),x(j(k))],[y(i(k)),y(j(k))],'linewidth',1.2)
end
deg=sum(A);  %计算邻接矩阵的列和,即各节点的度
ave_degree=sum(deg)/N;  %计算平均度
figure, bar([1:N],deg); %画各节点度的柱状图
title('网络图各节点度大小');
xlabel('$v_{i}$','Interpreter','Latex'), ylabel('$k$','Interpreter','Latex')
degrange=minmax(deg); %求度的取值范围
pinshu=hist(deg,[degrange(1): degrange(2)]);%求度取值的频数
df=pinshu/N; %求度的频率分布
figure, bar([degrange(1):degrange(2)],df,'r')  %画度分布柱状图
title('网络图的度分布');
xlabel('$k$','Interpreter','Latex'), ylabel('$P$','Interpreter','Latex')

结果展示

赶紧放假吧,好累!!!

BA无标度网络的仿真实现相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 级联失效matlab,加权无标度网络的级联失效模型

    社交网.交通网.通信网等领域均呈现无标度特性[, 是复杂网络中常见的一种现象, 不同网络中的节点和边都承载着不同形式的负载, 且负载的承受能力是有限的.加权无标度网络是指节点和边根据权值构建成的网络[ ...

  7. 从零认识 无标度网络

    喜欢的话请关注我们的微信公众号~<你好世界炼丹师>. 公众号主要讲统计学,数据科学,机器学习,深度学习,以及一些参加Kaggle竞赛的经验. 公众号内容建议作为课后的一些相关知识的补充,饭 ...

  8. 复杂网络之无标度网络与小世界网络生成程序

    近日需要用到无标度网络与小世界网络,早上用matlab写了这两种网络的matlab程序,放在这,有用者可以拿去用,请自己验证正确性后使用. 共有三个文件,swnet.m 是sw小世界模型        ...

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

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

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

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

最新文章

  1. 文本过滤--awk 3
  2. vue连线 插件_一起写一个即插即用的 Vue Loading 插件
  3. 无法打开包括文件:“afxcontrolbars.h”
  4. 社群产品定位三种方式
  5. 数字后端基本概念-合集
  6. 使用curl来调试你的应用
  7. 新年礼物第二弹,热升华机械键盘免费抽
  8. LCD1602动态显示
  9. F - Pasha and Phone CodeForces - 595B(数学)
  10. 【BZOJ1492】【NOI2007】货币兑换 Cash(CDQ分治,斜率优化)
  11. 加州大学洛杉玑分校计算机专业,加州大学洛杉矶分校
  12. html图片加载不出来,图片相对路径问题
  13. 微信三方平台调试过程中遇到的问题
  14. iOS 百度地图之坐标转换
  15. 水漆哪个品牌好?十大品牌水漆排行榜
  16. 【十分钟读懂系列】之什么是SLF,PSL,MLF,SLO?
  17. 基于模板匹配的手写字体数字识别-含Matlab代码
  18. 蓝桥杯 — IAP15F2K61S2-89C52 转换板说明文件
  19. loadrunner入门教程(31) --Analysis
  20. 从输入一个URL地址到浏览器完成渲染的整个过程

热门文章

  1. 技术内参 | 神策分析架构演进:“变”与“不变” 中的思索与创新
  2. 带你极速掌握EMU8086汇编工具,深刻理解微机原理(含安装与快速上手教程)
  3. html页面布局实例,div布局实例
  4. 学生管理 + 用户管理(Element版)
  5. linux环境下刷机9008,LINUX下线刷修复变砖手机
  6. CBoard项目学习
  7. Mac SDK环境变量配置
  8. java struts2_Java struts2面试题及答案
  9. 基于MATLAB的路径规划算法
  10. java分页计算当前页_java分页计算