一、无标度性质
现实世界中的许多网络的度分布都具有无标度(幂律分布)性质,如万维网、因特网、电影演员网、蛋白质交互网、国际贸易网、交通网。
幂律分布的离散形式:
幂律分布的连续形式:
离散形式中的有明确的含义:一个随机选择的节点其度为k的概率。相比之下,连续形式中具有物理意义的只有p(k)的积分。例如,一个随机选择的节点其度介于
和
之间的概率为:
。
综上所述,度分布服从幂律分布的网络被称为无标度网络。如果网络是有向的,无标度性质分别适用于入度和出度。
无标度网络的枢纽节点:
随机网络和无标度网络的主要区别现在度分布的尾部,即Pk中k比较大的区域。
图中,紫色为幂律分布,绿色为泊松分布
无标度网络中大量小度节点和少量拥有很多链接的枢纽节点共存。而网络图中每个节点的大小和它的度成正比。
对于无标度网络:
因此,网络越大,其最大枢纽节点的度就越大。对于N的多项式依赖意味着,在大型无标度网络中,最大度
和最小度
之间可能存在好几个数量级的差异。
枢纽节点在随机网络中不存在,在无标度网络却自然出现。
二、无标度的含义
随机网络有标度
随机选择的节点:
标度:
无标度网络没有标度
随机选择的节点:
标度:无
如何验证网络是无标度的:
① 绘制度分布
② 测量度指数
③ 真实网络中Pk的形状
如何使用networkx库生成符合幂律分布的度序列
from networkx.utils import powerlaw_sequence
import powerlaw
import matplotlib.pyplot as plt#幂律分布的指数设为2.5
degree_seq = powerlaw_sequence(10000, exponent=2.5)
int_deg = [int(di) for di in degree_seq]
# print(int_deg)fit = powerlaw.Fit(int_deg)
print(fit)
kmin = fit.power_law.xmin
print("kmin:", kmin)
print("gamma:", fit.power_law.alpha)
print("D:", fit.power_law.D)plt.figure(figsize=[6, 4.8])
fig = fit.plot_pdf(marker = 'o', color='b', linewidth=1)
fit.power_law.plot_pdf(color='b', linestyle='-', ax=fig)
plt.show()