Python人工智能 统计随机网络、小世界网络与无标度网络的节点度特征

目录

    • 实践1:统计随机网络、小世界网络与无标度网络的节点度特征
      • 一、随机网络
        • 1. 代码实现
        • 2. 实验结果
        • 3. 分析与总结
      • 二、小世界网络
        • 1. 代码实现
        • 2. 实验结果
        • 3. 分析与总结
      • 三、无标度网络
        • 1. 代码实现
        • 2. 实验结果
        • 3. 分析与总结
      • 四、综合对比
      • 五、实验结论
        • 1. 随机网络
        • 2. 小世界网络
        • 3. 无标度网络
        • 4. 综合分析
      • 六、总结

实践1:统计随机网络、小世界网络与无标度网络的节点度特征


一、随机网络

随机网络(Random Network)是一种经典的网络模型,其边的连接遵循随机分布。随机网络由数学家埃尔德什(P. Erdős)和雷尼(A. Rényi)提出,因此也被称为ER模型。在随机网络中,每个节点与其他节点的连接概率是相同的,且边的连接是独立的。这种模型适用于模拟均匀连接的场景,但缺乏真实网络的聚类特性。

1. 代码实现
import networkx as nx
import matplotlib.pyplot as plt

# 生成一个含有25个节点、以概率p = 0.2连接的ER随机图:
G = nx.random_graphs.erdos_renyi_graph(25, 0.2)
# 布局
pos = nx.spring_layout(G)
# 画出网络模型
nx.draw(G, pos, with_labels=False, node_size=40)
# 分析
degree = dict(nx.degree(G))
print('各个点的度:', degree)
print("平均度为:", sum(degree.values()) / len(G))
print("最短路径长度为:", nx.average_shortest_path_length(G))
print("平均聚类系数为:", nx.average_clustering(G))

# 获取度分布
degreeDis = nx.degree_histogram(G)
x = range(len(degreeDis))  # 度范围
y = [z / float(sum(degreeDis)) for z in degreeDis]  # 度的频率
plt.figure(figsize=(6, 6))  # 调整显示参数
plt.xlabel("Degree", size=14)
plt.ylabel("P_degree", size=14)
plt.xticks(fontproperties='Times New Roman', size=14)  # 字体样式
plt.yticks(fontproperties='Times New Roman', size=14)  # 字体样式
plt.plot(x, y)  # 折线图
plt.show()  # 显示图像

2. 实验结果
  • 网络属性

    • 节点度分布:{0:7, 1:6, …, 24:5}(完整分布见代码输出)
    • 平均度:4.96
    • 平均最短路径长度:2.08
    • 平均聚类系数:0.084
  • 网络图及度分布图
    在这里插入图片描述
    在这里插入图片描述

3. 分析与总结
  • 边的连接由概率 ( p=0.2 ) 随机决定,度分布接近泊松分布。
  • 低聚类系数(0.084)和短平均路径(2.08)是随机网络的典型特征,适用于模拟均匀连接场景。

二、小世界网络

小世界网络(Small-World Network)是一种介于规则网络和随机网络之间的网络模型。它由瓦茨(D. J. Watts)和斯托加茨(S. H. Strogatz)提出,因此也被称为WS模型。小世界网络通过引入一定的随机性,同时保留规则网络的高聚类特性,能够很好地模拟社交网络等实际系统的结构特征。

1. 代码实现
import networkx as nx
import matplotlib.pyplot as plt
#绘图小世界网络
n=30 #节点数
k=5 #邻居数
p=0.5 #重新链接概率
G=nx.watts_strogatz_graph(n,k,p)
#定义布局
pos = nx.circular_layout(G)
nx.draw(G,pos,with_labels=False,node_size=40)
#绘图
plt.show()
#%%
#分析属性
print('网络直径为:', nx.diameter(G))
print('网络平均距离为:', nx.average_shortest_path_length(G))
print('网络平均群聚系数为:', nx.average_clustering(G))
print('网络群聚系数为:',nx.clustering(G))
#%%
# 绘制度分布图
d = dict(nx.degree(G))
print('点的度:',d)
print("平均度为:", sum(d.values()) / len(G.nodes))

x = list(range(max(d.values()) + 1)) #长度最大度+1,表示度的范围
y = [i / sum(nx.degree_histogram(G)) for i in nx.degree_histogram(G)]#度的频率分布
print('度的分布:',x)
print('度的频率分布:',y)
plt.figure()
plt.bar(x, y, width=0.3, color="red")
plt.xlabel("$k$")
plt.ylabel("$p_k$")
plt.show()

2. 实验结果
  • 网络属性

    • 网络直径:5
    • 平均最短路径长度:2.56
    • 平均聚类系数:0.176
  • 度分布

    • 节点度分布:{0:2, 1:2, …, 29:5}(完整分布见代码输出)
    • 平均度:4.0
    • 网络图及度分布图

在这里插入图片描述
在这里插入图片描述

3. 分析与总结
  • 通过重连概率 ( p=0.5 ),网络在规则性与随机性之间取得平衡。
  • 高聚类系数(0.176)和较短路径(2.56)体现“小世界”效应,适用于社交网络建模。

三、无标度网络

无标度网络(Scale-Free Network)是一种具有幂律度分布的网络模型。它由巴拉巴西(A. L. Barabási)和阿尔伯特(R. Albert)提出,因此也被称为BA模型。无标度网络的特点是存在少数高度连接的“枢纽节点”,这些节点在维持网络的连通性和鲁棒性方面起着关键作用。无标度网络适用于分析互联网、生物网络等复杂系统。

1. 代码实现
import networkx as nx
import matplotlib.pyplot as plt

# 生成一个含有100个节点、每次加入2条边的BA无标度网络
G = nx.random_graphs.barabasi_albert_graph(100, 2)

# 使用spring布局
pos = nx.spring_layout(G)

# 绘制网络图
nx.draw(G, pos, with_labels=False, node_size=30)

# 显示图像
plt.show()

# 分析网络属性
degree = dict(nx.degree(G))
print('各个点的度:', degree)
print("平均度为:", sum(degree.values()) / len(G))
print("最短路径长度为:", nx.average_shortest_path_length(G))
print("平均聚类系数为:", nx.average_clustering(G))

# 分析度的分布
degreeDis = nx.degree_histogram(G)
x = range(len(degreeDis))  # 表示度的范围
y = [z / float(sum(degreeDis)) for z in degreeDis]  # 度的频率

# 绘制度分布图
plt.figure(figsize=(8, 6))
plt.xlabel("Degree", size=15)
plt.ylabel("P_degree", size=15)
plt.plot(x, y)  # 折线图
plt.show()  # 显示图像
2. 实验结果
  • 网络属性

    • 平均度:3.92
    • 平均最短路径长度:2.9
    • 平均聚类系数:0.147
  • 网络图及度分布图

在这里插入图片描述
在这里插入图片描述

3. 分析与总结
  • 度分布服从幂律分布,存在少数高度连接的“枢纽节点”(如节点1度数为30)。
  • 短路径(2.9)和较高聚类系数(0.147)表明无标度网络兼具效率与鲁棒性,适用于互联网、生物网络分析。

四、综合对比

网络类型平均度平均路径长度平均聚类系数度分布特性
随机网络4.962.080.084泊松分布
小世界网络4.02.560.176窄峰分布
无标度网络3.922.90.147幂律分布(长尾)

五、实验结论

1. 随机网络

随机网络是一种基于均匀连接概率的网络模型,适用于模拟均匀分布的连接场景。它的特点是:

  • 度分布:接近泊松分布,节点的连接较为均匀,没有明显的枢纽节点。
  • 低聚类系数:节点之间的连接较为随机,缺乏真实网络中的局部聚类特性。
  • 短路径长度:平均路径较短,信息传播效率较高。

随机网络虽然在理论上具有简洁性和可分析性,但它的局限性在于无法捕捉真实网络的复杂特性,例如社交网络中的高聚类现象或互联网中的枢纽节点。因此,随机网络更适合用于理论研究或简单系统建模。

2. 小世界网络

小世界网络是一种介于规则网络和随机网络之间的模型,具有以下特点:

  • 高聚类系数:节点之间的局部连接较为紧密,类似于社交网络中“朋友的朋友也是朋友”的现象。
  • 短路径长度:信息可以在网络中快速传播,体现了“小世界”效应。
  • 度分布:呈现窄峰分布,大多数节点的度数相近,网络结构较为均匀。

小世界网络在实际应用中非常贴近社交网络、神经网络等复杂系统的结构特征。它通过引入一定的随机性,同时保留规则网络的高聚类特性,能够很好地模拟真实世界中的许多网络现象。例如,在社交网络中,小世界网络可以解释为什么人们可以通过少数中间人快速建立联系。

3. 无标度网络

无标度网络是一种具有幂律度分布的网络模型,其特点是:

  • 幂律分布:存在少数高度连接的“枢纽节点”,这些节点在维持网络的连通性和鲁棒性方面起着关键作用。
  • 短路径长度:信息传播效率高,路径长度较短。
  • 较高聚类系数:节点之间具有一定的局部连接特性。

无标度网络广泛应用于互联网、生物网络等复杂系统的建模。它的枢纽节点特性使得网络对随机攻击具有较高的鲁棒性,但对针对性攻击(例如攻击枢纽节点)较为脆弱。例如,在互联网中,少数大型网站(如Google、Facebook)作为枢纽节点,维持了整个网络的连通性。如果这些枢纽节点被破坏,网络的连通性将受到严重影响。

4. 综合分析

通过对比三种网络模型,我们可以发现它们各自的特点和适用场景:

  • 随机网络:适用于理论研究和简单系统建模,但缺乏真实网络的复杂特性。
  • 小世界网络:兼具高聚类和短路径特性,适用于社交网络、神经网络等实际系统的建模。
  • 无标度网络:通过枢纽节点实现了高效率和高鲁棒性,适用于互联网、生物网络等复杂系统的分析。

这三种网络模型在科学研究中具有重要意义。它们不仅帮助我们理解复杂网络的结构和特性,还为实际问题的建模和优化提供了理论基础。例如,在社交网络分析中,小世界网络可以帮助我们理解信息传播的效率;在互联网研究中,无标度网络可以指导我们设计更鲁棒的网络架构。

六、总结

综上所述,通过对随机网络、小世界网络和无标度网络的分析,我们深入探讨了它们的特性及应用场景。随机网络适用于理论研究,小世界网络贴近社交网络,无标度网络则在互联网等领域展现出独特优势。复杂网络理论为我们理解现实世界中的网络现象提供了有力工具,未来有望在更多领域发挥重要作用。希望本文的研究能为读者提供有益的参考和启发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值