复杂网络-无标度网络BA模型
%建立无标度网络BA模型
%第一部分,设立基础数据,四个参数
m_original=50; %未增长前网络节点个数m_original
m_add=3; %每次添加一个点增加的边数m_add
m_after_growth=52; %增长后的网络规模m_after_growth
pp=3; %pp:初始网络节点的连接选择
%pp=1 节点均孤立
%pp=2 节点间构成完全图
%pp=3 随机连接一些边(随机图)
%第二部分,得到m_original个点的横纵坐标(初始网络的横纵坐标)
x=100*rand(1,m_original);
y=100*rand(1,m_original);
%rand(1,n)是生成一行n列的列向量,其中每个数的值是0-1,再乘上100,相当于把点分布到100*100的二维空间中
%第三部分,通过pp值得到初始网络(初始邻接矩阵A)的状态
A=zeros(m_original); %初始化邻接矩阵A为全0矩阵
switch pp %通过选择pp,确定A的初始状态
case 1 %节点孤立图
A=zeros(m_original);
case 2 %节点完全图
A=ones(m_original);
case 3 %节点随机图
for i=1:m_original
for j=i+1:m_original %操纵上半角矩阵
p=rand(1,1); %生成0-1随机数
if p>0.5 %以0.5的概率生成边
A(i,j)=1;
A(j,i)=1;
end
end
end
end
%第四部分,生成增加的节点和边
for k=m_original+1:m_after_growth %一共生成m_after_growth-m_original+1个节点
M=k-1; %当前要生成第k个节点,那么针对的图的规模就是k-1
p=zeros(1,M); %初始化每个点的连接概率为0
%随机生成第k个节点的坐标
x_now=100*rand(1,1);
y_now=100*rand(1,1);
x(k)=x_now;
y(k)=y_now;
for i=1:M
p(i)=(length(find(A(i,:)==1))+1)/(length(find(A==1))+M);
end
%这里就是前面说的修正孤立节点连接概率为0的方法
p
pp=cumsum(p); %第一轮的叠加概率计算
pp
%第五部分,初始化访问数组
visit=zeros(1,M); %初始化访问数组为全0数组(1行M列)
for i=1:m_add %开始生成m_add条边
random_data=rand(1,1);
random_data
aa=find(pp>=random_data); jj=aa(1); %通过上方介绍的叠加概率+随机数的方法,得到随机连边
A(k,jj)=1;
A(jj,k)=1;
visit(jj)=1; %标记访问
visit %显示访问情况
degree=zeros(1,M); %给出度数组来记录变化后的度值,以达到访问过度数假装变成0的目的
total_degree=0; %总度数
for ii=1:M
if visit(ii)==1
p(ii)=0;
degree(ii)=0;
else
degree(ii)=length(A(i,:)==1)+1; %如果访问过度数为0,没有就照原来的方法
end
total_degree=total_degree+degree(ii); %总度数计算
end
for iii=1:M
p(iii)=degree(iii)/total_degree; %新一轮的p数组计算
end
p
pp=cumsum(p); %新一轮的叠加概率计算
pp
end
end
A
plot(x,y,'ro','MarkerEdgeColor','g','MarkerFaceColor','r','MarkerSize',8); %画出点
hold on; %保持住窗口
for i=1:m_after_growth
for j=i+1:m_after_growth %按邻接矩阵上三角矩阵画出连线
if A(i,j)~=0 %~=0是不等于0的意思,就是有边,就画出来
plot([x(i),x(j)],[y(i),y(j)],'linewidth',1.2);
end
end
end
axis equal; %横纵坐标相等
hold off; %停止保存窗口
复杂网络-无标度网络BA模型相关推荐
- 基于小世界网络/无标度网络/复杂网络进行SEIR病毒传播仿真研究
在老师的指导下,完成了一次小小研究:学者观点 | 从复杂网络理论分析为何这场战"疫"如此艰苦,著作权为天津大学管理与经济学部所有,如需引用请事先联系 PiperLiu@qq.com ...
- networkx 标签_networkx绘制BA无标度网络
step1: 导入networkx复杂网络库.matplotlib.pyplot.pandas import networkx as nximport matplotlib.pyplot as plt ...
- 级联失效matlab,加权无标度网络的级联失效模型
社交网.交通网.通信网等领域均呈现无标度特性[, 是复杂网络中常见的一种现象, 不同网络中的节点和边都承载着不同形式的负载, 且负载的承受能力是有限的.加权无标度网络是指节点和边根据权值构建成的网络[ ...
- BA无标度网络(一):规则网络生成
在讨论BA网络的生成时,涉及到初始网络的选择,理论上当然可以选择只之前已近提及的ER随机网络模型或者WS小世界网络等等,但是如果初始规模较小,这些网络的的特性并不能很好的体现,所以我在生成BA无标度网 ...
- 常见网络模型——BA无标度网络(使用轮盘赌算法)(python)
之前记录了一下,常见的四种网络模型--ER.BA.WS.规则图,以及如何使用python实现,具体请移步: https://blog.csdn.net/un357951/article/details ...
- 网络模型 - 随机网络,无标度网络,分层网络
转自: http://www.flickr.com/photos/caseorganic/4510691991/in/set-72157624621620243 小图 大图 Network Model ...
- 复杂性思维第二版 四、无标度网络
四.无标度网络 原文:Chapter 4 Scale-free networks 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在本章中,我们将处理来自在线社交网络的数据,并使 ...
- 从零认识 无标度网络
喜欢的话请关注我们的微信公众号~<你好世界炼丹师>. 公众号主要讲统计学,数据科学,机器学习,深度学习,以及一些参加Kaggle竞赛的经验. 公众号内容建议作为课后的一些相关知识的补充,饭 ...
- 复杂网络之无标度网络与小世界网络生成程序
近日需要用到无标度网络与小世界网络,早上用matlab写了这两种网络的matlab程序,放在这,有用者可以拿去用,请自己验证正确性后使用. 共有三个文件,swnet.m 是sw小世界模型 ...
- Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.7 - 图生成 无标度网络
1.概述 Barabási和Albert(1999)的"富者更富"(Rich get richer)生成模型(BA模型)最被熟知的无标度网络子集的生成模型.它让每个网页根据一个非均 ...
最新文章
- 脑电传感器并不复杂,那精度呢?
- 用户系列之四:用户登录过程之配置文件的使用详解
- input file实现批量上传
- 7个顶级资源网站,不知道就很可惜
- JavaScript字符串方法——持续补充
- RabbitMQ消息队列之一:RabbitMQ的环境安装及配置
- linux 17 中文输入,Rethat Linux Fedora17添加中文输入法
- 用U盘制作Windows7安装以及MacBook Air上装Win7
- OD 手动脱壳 - UPX
- Sublime Text3自定义主题
- Cypress下载安装+问题记录
- 景深 (摄影测量与遥感学术语)
- Android股票列表联动
- 基于Python语言量化金融分析师AQF实训项目
- 轩逸车联网功能怎么用_车联网有什么功能
- python中key什么意思_Python中字典的key都可以是什么
- tk.mybatis.mapper.MapperException: 无法获取实体类com.leyou.work.entity.Brand对应的表名!
- oracle12c创建表空间、创建用户、创建权限
- 互联网未来30年发展的大趋势,专家:竞争会更激烈!
- [译] Chrome 73 开发者工具新特性
热门文章
- 小学三年级英语听力测试软件,人教小学三年级英语(下)期末检测题+听力测试...
- 神策分析 2.1 重磅上线!报警诊断、多主体分析、渠道追踪等赋能企业数字化经营...
- 【已解决】NC65收款合同查询数据最多只显示5000条
- mysql手册05_存储过程和存储函数
- JSP EL表达式中11个隐藏对象file:///D:/SoftwareFile/qq file/MobileFile/34090016310074682(1).png
- MPLAB ICD3
- 人工智能时代都需要哪些数学知识?这些经典教材给你划重点
- 微信免费检测僵尸粉方法,微信免费检测僵尸粉工具
- Java中native方法的使用
- 倍福plc的型号_倍福模块选型