无标度网络及MATLAB建模Word文件下载.docx
《无标度网络及MATLAB建模Word文件下载.docx》由会员分享,可在线阅读,更多相关《无标度网络及MATLAB建模Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
从广义上说,无标度网络的无标度性是描述大量复杂系统整体上严重不均匀分布的一种内在性质。
1999年,Albert、Jeong和Bdrabs发现万维网网页的度分布不是通常认为的Poisson分布,而是重尾特征的幕律分布,而且万维网基本上是山少数具有大量超链接的网页串连起来的,绝大部分网页的链接很少,他们把网络的这个特性称为无标度性(Scale-freenature,SF)。
1999年Bdrabs和Albert考察了实际网络的
生成机制,发现增长和择优连接是实际网络演化过程的两个基本要素,他们创造性地构建了能够产生无标度特性的第一个网络模型一一BA模型。
BA网络主要具有以下特性:
具有幕律度分布,是一个无标度网络;
具有小世界特征。
幕律度分布的重尾特征导致无标度网络中有少数具有大量连接边的中枢点,择优连接必然产生“富者愈富”的现象。
BA网络同时具有鲁棒性和脆弱性,面对结点的随机失效,网络具有鲁棒性;
但面对蓄意攻击时,由于中枢点的存在,网络变得十分脆弱,很容易陷于瘫痪。
特别地,网络传染性疾病在无标度网络中不存在传播阈值,疾病一旦产生就在网络上迅速传播并达到稳定状态。
如果没有人为干预,疾病将在网络中永远存在,不会自动灭绝。
这对制定无标度网络上的网络疾病防控策略提出了重大挑战。
2.BA无标度网络构成原则
(1)增长:
网络开始于少数儿个结点(初始设定为mO个),每个相等时间间隔增加一个新点,新点与m个(m小于等于mO)不同的已经存在于网络中的旧点相连产生m条新边。
(2)择优连接:
新点与旧点i相连的概率P取决于结点i的度数ki。
P二
r
经过t步时间步后,BA模型演化成一个具有ft+mO个结点mt条边的网络。
3.MATLAB建模
functionmatrix=FreeScale(X)
%By201121250314
X=X;
mO二3;
m=3;
%初始化网络数据
adjacent_matrix=sparse(mO,mO):
%初始化邻接矩阵
fori=1:
mO
forj二1:
m0
辻j~二i%去除每个点自身形成的环
adjacent_matrix(i,j)二1;
%建立初始邻接矩阵,3点同均同其他的点相连
end
adjacent_matrix=sparse(adjacent_matrix);
%邻接矩阵稀疏化
node_degree=zeros(1,mO+1):
%初始化点的度
node_degree(2:
mO+1)=sum(adjacent_matrix);
%对度维数进行扩展
foriter=4:
N
iter%加点
total_degree=2*m*(iter-4)+6;
%计算网络中此点的度之和
cum_degree=cumsum(node_degree);
%求LL1网络中点的度矩阵
choose=zeros(1,m);
%初始化选择矩阵
%选出第一个和新点相连接的顶点
rl=rand
(1)*total_degree;
%算出与旧点相连的概率
fori二1:
iter-1
辻(rl>
=cum_degree(i))&
(rl<
cum_degree(i+1))%选取度大的点choose
(1)=i;
break
%选出第二个和新点相连接的顶点
r2=rand
(1)*total_degree;
fori=1:
if(r2>
=cum_degree(i))&
(:
r2〈cum_degree(i+1))
choose
(2)=i;
whilechoose
(2)=choose
(1)%第一个点和第二个点相同的话,重新择优
=cum_degree(i))&
Cr2〈cuni_deg:
ree(i+1))
%选出第三个和新点相连接的顶点
r3=rand
(1)*total_degree;
if(r3>
(r3〈cum_degTee(i+1))
choose(3)=i;
while(choose(3)二二choose⑴)(choose(3)二二choose
(2))
fori=l:
(r3〈cum_deg:
滋新点加入网络后,对邻接矩阵进行更新
fork=l:
m
adjacent_matrix(iter,choose(k))=1;
adjacent_matrix(choose(k),iter)=1;
node_degree=zeros(1,iter+1);
node_degree(2:
iter+1)=sum(adjacent^matrix);
matrix=adjacent_matrix;
输入FreeScale(50),可建立一个初始结点为3,最终结点为50的无标度网络,用tu^plot()画图可得到网络建模图形。
gfigure1回弦〔
而初始结点为3,最终结点为60的无标度网络图形如下
4.分析
无标度特性的发现突破了随机网络模型的束缚,使我们认识到各种复杂系统的网络结构,都遵从某些基本的法则,使我们看到了研究系统网络结构的普适规律的可能。
它也使我们可能以复杂网络的拓扑特性研究为切入点,深入开展系统结构的研究。
在实验中我们发现,对于结点数LI越大的网络,无标度的现象越明显。
附:
tu_plot()的MATLAB程序
functiontu_plot(rel,control)
%山邻接矩阵画连接图,输入为邻接矩阵rel,必须为方阵;
%control为控制量,0表示画出的图为无向图,1表示有向图。
默认值为0
r_size=size(rel);
%a=size(x)返回的是一个行向量,该行向量第一个元素是
蘇的行数,笫2个元素是x的列数
辻ndrgin〈2%nargin是用来判断输入变量个数的函数
control二0;
%输入变量小于2,即只有一个,就默认control为0
ifr_size(l)^r_size
(2)%行数和列数不相等,不是方阵,不予处理
dispC'
WrongInput!
Theinputmustbeasquarematrix!
'
);
return;
len=r_size(l);
rho=10;
%限制图尺寸的大小
r二2/1.05"
len;
%点的半径
theta=0:
(2*pi/len):
2*pi*(l-l/len);
[pointx,pointy]=pol2cart(tbeta,rho);
pi/36:
2*pi;
[tempx,tempyj^po^cart(theta,,r);
point=[pointx,pointy];
holdon
len
temp=[tempx,tempy]+[point(i,l)*ones(length(tempx),1),point(i,2)*one
(length(tempx),1)];