无标度网络
无标度网络(或称无尺度网络)的概念是随着对复杂网络的研究而出现的。“网络”其实
就是数学中图论研究的图,由一群顶点以及它们之间所连的边构成。在网络理论中则换一套
说法,用“节点”代替“顶点”,用“连结”代替“边”。复杂网络的概念,是用来描述由大量节点以
及这些节点之间错综复杂的联系所构成的网络。ER 模型随机网络有一个重要特性,就是虽
然节点之间的连接是随机形成的,但最后产生的网络的度分布是高度平等的。度分布是指节
点的度的分布情况。在网络中,每个节点都与另外某些节点相连,这种连接的数目叫做这个
节点的度。在网络中随机抽取一个节点,它的度是多少呢?这个概率分布就称为节点的度分
布。
自二十世纪 60 年代开始,对复杂网络的研究主要集中在随机网络上。随机网络,又称
随机图,是指通过随机过程制造出的复杂网络。最典型的随机网络是保罗·埃尔德什和阿尔
弗雷德·雷尼提出的 ER 模型。ER 模型是基于一种“自然”的构造方法:假设有 n 个节点,并假
设每对节点之间相连的可能性都是常数。这样构造出的网络就是 ER 模型网络。
Matlab 程序如下:
SFNG:
function SFNet = SFNG(Nodes, mlinks, seed)
seed = full(seed);
pos = length(seed);
rand('state',sum(100*clock));
Net = zeros(Nodes, Nodes, 'single');
Net(1:pos,1:pos) = seed;
sumlinks = sum(sum(Net));
while pos < Nodes
pos = pos + 1;
linkage = 0;
while linkage ~= mlinks
rnode = ceil(rand * pos);
deg = sum(Net(:,rnode)) * 2;
rlink = rand * 1;
if rlink < deg / sumlinks && Net(pos,rnode) ~= 1 && Net(rnode,pos) ~= 1
Net(pos,rnode) = 1;
Net(rnode,pos) = 1;
linkage = linkage + 1;
sumlinks = sumlinks + 2;
end
end
end