预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

无标度网络 1.简介 传统的随机网络(如ER模型),尽管连接是随机设置的,但大部分节点的 连接数目会大致相同,即节点的分布方式遵循钟形的泊松分布,有一个特征性的 “平均数”。连接数目比平均数高许多或低许多的节点都极少,随着连接数的增 大,其概率呈指数式迅速递减。故随机网络亦称指数网络。 现实世界的网络大部分都不是随机网络,少数的节点往往拥有大量的连接, 而大部分节点却很少,一般而言他们符合zipf定律,(也就是80/20马太定律)。 人们给具有这种性质的网络起了一个特别的名字——无标度网络。这里的无标度 是指网络缺乏一个特征度值(或平均度值),即节点度值的波动范围相当大。 现实中的交通网,电话网和Internet都是无标度网络,在这种网络中,存 在拥有大量连接的集散节点。分布满足幂律的无标度网络还具有一个奇特的性质 —“小世界”特性。虽然万维网中的页面数已超过80亿,但平均来说,在万维 网上只需点击19次超链接,就可从一个网页到达任一其它页面。 无标度网络具有严重的异质性,其各节点之间的连接状况(度数)具有严重 的不均匀分布性:网络中少数称之为Hub点的节点拥有极其多的连接,而大多数 节点只有很少量的连接。少数Hub点对无标度网络的运行起着主导的作用。从广 义上说,无标度网络的无标度性是描述大量复杂系统整体上严重不均匀分布的一 种内在性质。 1999年,Albert、Jeong和Barabs发现万维网网页的度分布不是通常认为 的Poisson分布,而是重尾特征的幂律分布,而且万维网基本上是由少数具有大 量超链接的网页串连起来的,绝大部分网页的链接很少,他们把网络的这个特性 称为无标度性(Scale-freenature,SF)。1999年Barabs和Albert考察了实际 网络的生成机制,发现增长和择优连接是实际网络演化过程的两个基本要素, 他们创造性地构建了能够产生无标度特性的第一个网络模型——BA模型。 BA网络主要具有以下特性:具有幂律度分布,是一个无标度网络;具有小 世界特征。幂律度分布的重尾特征导致无标度网络中有少数具有大量连接边的中 枢点,择优连接必然产生“富者愈富”的现象。BA网络同时具有鲁棒性和脆弱 性,面对结点的随机失效,网络具有鲁棒性;但面对蓄意攻击时,由于中枢点的 存在,网络变得十分脆弱,很容易陷于瘫痪。 特别地,网络传染性疾病在无标度网络中不存在传播阈值,疾病一旦产生 就在网络上迅速传播并达到稳定状态。如果没有人为干预,疾病将在网络中永远 存在,不会自动灭绝。这对制定无标度网络上的网络疾病防控策略提出了重大挑 战。 2.BA无标度网络构成原则 (1)增长:网络开始于少数几个结点(初始设定为m0个),每个相等时间间 隔增加一个新点,新点与m个(m小于等于m0)不同的已经存在于网络中的旧点相 连产生m条新边。 (2)择优连接:新点与旧点i相连的概率P取决于结点i的度数ki。 K P=i k j i 经过t步时间步后,BA模型演化成一个具有N=t+m0个结点mt条边的网络。 3.MATLAB建模 functionmatrix=FreeScale(X) %By201121250314 N=X;m0=3;m=3;%初始化网络数据 adjacent_matrix=sparse(m0,m0);%初始化邻接矩阵 fori=1:m0 forj=1:m0 ifj~=i%去除每个点自身形成的环 adjacent_matrix(i,j)=1;%建立初始邻接矩阵,3点同均同其他的点相连 end end end adjacent_matrix=sparse(adjacent_matrix);%邻接矩阵稀疏化 node_degree=zeros(1,m0+1);%初始化点的度 node_degree(2:m0+1)=sum(adjacent_matrix);%对度维数进行扩展 foriter=4:N iter%加点 total_degree=2*m*(iter-4)+6;%计算网络中此点的度之和 cum_degree=cumsum(node_degree);%求出网络中点的度矩阵 choose=zeros(1,m);%初始化选择矩阵 %选出第一个和新点相连接的顶点 r1=rand(1)*total_degree;%算出与旧点相连的概率 fori=1:iter-1 if(r1>=cum_degree(i))&(r1<cum_degree(i+1))%选取度大的点 choose(1)=i; break end end %选出第二个和新点相连接的顶点 r2=rand(1)*total_degree; fori=1:iter-1 if(r2>=cum_degree(i))&(r2<cum_degree(i+1)) choose