WS小世界网络模型构造实践报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课题:WS小世界网络模型构造
姓名赵训
学号************
班级计算机实验班
一、WS 小世界网络简介
1998年, Watts和Strogatz 提出了小世界网络这一概念,并建立了WS模型。实证结果表明,大多数的真实网络都具有小世界特性(较小的最短路径) 和聚类特性(较大的聚类系数) 。传统的规则最近邻耦合网络具有高聚类的特性,但并不具有小世界特性;而ER 随机网络具有小世界特性但却没有高聚类特性。因此这两种传统的网络模型都不能很好的来表示实际的真实网络。 Watts 和Strogatz建立的WS小世界网络模型就介于这两种网络之间,同时具有小世界特性和聚类特性,可以很好的来表示真实网络。
二、WS小世界模型构造算法
1、从规则图开始:考虑一个含有N个点的最近邻耦合网络,它们围成一个环,其中每个节点都与它左右相邻的各K/2节点相连,K是偶数。
2、随机化重连:以概率p随机地从新连接网络中的每个边,即将边的一个端点保持不变,而另一个端点取为网络中随机选择的一个节点。其中规定,任意两个不同的节点之间至多只能有一条边,并且每一个节点都不能有边与自身相连。
在上述模型中,p=0对应于完全规则网络,p=1则对应于完全随机网络,通过调节p的值就可以控制从完全规则网络到完全随机网络的过渡,如图a所示。
图a
相应程序代码(使用Matlab实现)
ws_net.m (位于“代码”文件夹内)
function ws_net()
disp('WS小世界网络模型')
N=input('请输入网络节点数');
K=input('请输入与节点左右相邻的K/2的节点数');
p=input('请输入随机重连的概率');
angle=0:2*pi/N:2*pi-2*pi/N;
x=100*cos(angle);
y=100*sin(angle);
plot(x,y,'r.','Markersize',30);
hold on;
%生成最近邻耦合网络;
A=zeros(N);
for i=1:N
if i+K<=N
for j=i+1:i+K
A(i,j)=1;
end
else
for j=i+1:N
A(i,j)=1;
end
for j=1:((i+K)-N)
A(i,j)=1;
end
end
if K
for j=i-K:i-1
A(i,j)=1;
end
else
for j=1:i-1
A(i,j)=1;
end
for j=N-K+i:N
A(i,j)=1;
end
end
end
disp(A);
%随机化重连
for i=1:N
for j=i+1:N
if A(i,j)==1
pp=unifrnd(0,1);
if pp<=p
A(i,j)=0;
A(j,i)=0;
b=unidrnd(N);
while i==b
b=unidrnd(N); end
A(i,b)=1;
A(b,i)=1;
end
end
end
%根据邻接矩阵连线
for i=1:N
for j=1:N
if A(i,j)==1
plot([x(i),x(j)],[y(i),y(j)],'linewidth',1); hold on;
end
end
end
hold off
aver_path=aver_pathlength(A);
disp(aver_path);
对应输出(取网络节点数N=16,K=2;p分别取0,0.1,1)。
p=0(ws_n=16_k=2_p=0.fig的截图)
P=0.1(ws_n=16_k=2_p=0.1.fig的截图)p=1(ws_n=16_k=2_p=1.fig的截图)
输出结果与图a(图a位于第2页)吻合。
三、WS小世界网络模型平均路径长度L(p)与聚类系数C(p)归一化图平均路径长度
平均路径长度也称为特征路径长度或平均最短路径长度,指的是一个网络中两点之间最短路径长度(或称距离)的平均值。从一个节点s i出发,经过与它相连的节点,逐步“走”到另一个节点s j所经过的路途,称为两点间的路径。其中最短的路径也称为两点间的距
离,记作。而平均路径长度定义为:
这其中N是节点数目,并定义节点到自身的最短路径长度为0。如果不计算到自身的距离,那么平均路径长度的定义就变成:
集聚系数
集聚系数(也称群聚系数、集群系数)是用来描述图或网络中的顶点(节点)之间结集成团的程度的系数。具体来说,是一个点的邻接点之间相互连接的程度。例如在社交网络中,你的朋友之间相互认识的程度。一个节点s i的集聚系数C(i) 等于所有与它相连的顶点相互之间所连的边的数量,除以这些顶点之间可以连出的最大边数。显然C(i) 是一个介于0与1之间的数。C(i) 越接近1,表示这个节点附近的点越有“抱团”的趋势。
介于随机与规则之间
对于纯粹的规则网络,当其中连接数量接近饱和时,集聚系数很高,平均路径长度也十分短。例如完全耦合网络,每两个节点之间都相连,所以集聚系数是1,平均路径长度
是1。然而,现实中的复杂网络是稀疏的,连接的个数只是节点数的若干倍(),
远远不到饱和。如果考虑将节点排列成正多边形,每各节点都只与距离它最近的 2K个节点相连,那么在K比较大时,其集聚系数为: