You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于networkx计算对比固定n、d时不同p值的50个WS小世界图的聚类系数与特征路径长度

WS小世界图参数扫描正确实现方案

初始代码存在的核心问题

  • p值生成逻辑错误:Python内置range函数仅支持整数取值、整数步长,你写的range(0,1,50)会返回空序列,完全无法触发循环;你需要的0到1区间内50个均匀分布的p值,根本不能用内置range生成。
  • 流程不完整:仅完成了图生成步骤,没有实现两个核心指标的计算,也没有留存对应结果支撑后续对比。
  • 缺少计算注意事项:计算平均最短路径长度时,需要考虑图的连通性情况,避免触发算法报错。

修正后的完整实现代码

import networkx as nx
import numpy as np

# 固定全局超参数
n, d = 1000, 5
# 生成[0,1]闭区间内均匀分布的50个p取值
p_list = np.linspace(start=0, stop=1, num=50)
# 初始化列表存储对应计算结果
clustering_result = []
path_length_result = []

for p in p_list:
    # 生成WS小世界图,原代码中k=2*d的参数设置是正确的
    ws_graph = nx.watts_strogatz_graph(n=n, k=2*d, p=p)
    # 计算图的平均聚类系数
    avg_c = nx.average_clustering(ws_graph)
    # 计算图的特征路径长度(即全局平均最短路径)
    avg_l = nx.average_shortest_path_length(ws_graph)
    # 将结果存入对应列表
    clustering_result.append(avg_c)
    path_length_result.append(avg_l)

后续对比的实现思路

  • 可以直接将两组结果和p值做绑定,整理成二维表查看每个p对应的指标值:每行包含当前p、对应聚类系数、对应特征路径长度,直观对比不同p下的两个指标差异。
  • 做经典特性对比时,可对两个指标做归一化处理:将每个p下的聚类系数除以p=0时的规则图最大聚类值,将每个p下的特征路径长度除以p=0时的规则图最大路径长度,就能复现WS小世界的核心曲线特征——p从0逐步增大的过程中,聚类系数仅出现缓慢下降,但特征路径长度会快速降低到接近随机图的水平,中间的p区间就是具备小世界特性的参数范围。
  • 注意:n=1000规模的图计算全局最短路径的计算量不低,50个p值的整体计算时长大概在数分钟级别,属于正常运行状态;若运行中触发“图不连通”的报错,可以在计算前提取图的最大连通分量做指标计算,该规模下的WS图在全p取值范围内连通率很高,很少出现不连通情况。

内容的提问来源于stack exchange,提问作者Keralf2020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.24 13:24:05