WS小世界网络的建立及基本特征的求法

WS小世界网络算是复杂网络的基本入门实验了,虽然基础,但是极其重要,里面包含了复杂网络这门学科的很多重要想法。首先,简单介绍一下WS小世界网络,就是具有很小的平均最短路径和很高的聚类系数的一种网络,通俗一点,就是模仿日常生活中人们之间的联系的一种网络,再通俗一点,大马路上任选两个不认识的人,你会发现,他俩只要通过四五个人介绍一下,就认识了,这四五个人,就是他俩的距离,叫做最短路径。另一个例子,Tom和Jack是好朋友,有一天他们聊天,突然发现,Mary是Tom的高中同学,是Jack的大学同学,缘分呐,这种缘分一量化,就叫聚类系数。

一般做这个实验,用1000个点模仿一千个人,从规则图(专业术语叫最近邻耦合网络)开始,经过随机化重连(有规定的重连规则)后,开始做分析(此时,有连线,代表认识,无连线,代表不认识)。

首先,你需要安装matlab(捂脸,看这篇文章的肯定知道的),然后,开始根据规则和公式敲代码了,代码全文如下

%小世界网络

function ws_worldnet(N,K);

tic;

%N=400;%随机节点数

%K=2;%左(右)最邻近节点数


%生成节点

%angle=0:2*pi/N:2*pi-2*pi/N;

%x=100*sin(angle);

%y=100*cos(angle);


%计算L0

B=zeros(N);%全0的n维矩阵

for i=1:N

    for j=i+1:i+K

        jj=j;

        if j>N

            jj=mod(j,N);

        end

        B(i,jj)=1;

        B(jj,i)=1;

    end

end

%计算L0 不需要断边重连 直接开始算节点间的最短路径

D=B;

for i=1:N

    for j=1:N

        if D(i,j)==0

            if i==j

                D(i,j)=0;

  • 6
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值