COMP5313 Assignment 2 - Task 3 题解
Assignment 2 - Task 3:Network Models
题目理解
Task 3 要求实现并分析三种经典网络模型: 1. Erdős-Rényi (ER) 模型:随机网络 2. Watts-Strogatz (WS) 模型:小世界网络 3. Barabási-Albert (BA) 模型:无标度网络
核心目标: - 实现三种网络的生成算法 - 分析度分布、聚类系数、平均路径长度等统计特征 - 与真实网络进行对比,验证理论预测 - 可视化网络结构特征
关键概念回顾
1. Erdős-Rényi (ER) 模型 \(G(n, p)\)
定义: \(n\) 个节点,每对节点以概率 \(p\) 独立连边。
性质: - 度分布:二项分布 \(\binom{n-1}{k} p^k (1-p)^{n-1-k}\),近似泊松分布(\(n\) 大时) - 聚类系数:\(C = p = \frac{\langle k \rangle}{n-1}\) - 平均路径长度:\(L \sim \frac{\ln n}{\ln \langle k \rangle}\) - 巨分量:当 \(\langle k \rangle > 1\)(即 \(p > \frac{1}{n}\))时出现
相变现象: - \(p < \frac{1}{n}\):网络由孤立小分量组成 - \(p = \frac{1}{n}\):临界阈值,出现巨分量 - \(p > \frac{\ln n}{n}\):网络几乎必然连通
2. Watts-Strogatz (WS) 模型
定义: 从规则格点开始,以概率 \(p\) 重新连边。
算法: 1. 创建 \(n\) 个节点的环,每个节点连 \(k\) 个最近邻居 2. 以概率 \(p\) 将每条边的一个端点随机重连到另一节点
性质: - 聚类系数:\(C(p) \approx \frac{3(k-2)}{4(k-1)}(1-p)^3\)(高聚类) - 平均路径长度:\(L(p)\) 随 \(p\) 增加快速下降(小世界特性) - 度分布:近似泊松,集中在 \(k\) 附近
3. Barabási-Albert (BA) 模型
定义: 优先连接(Preferential Attachment)模型。
算法: 1. 从 \(m_0\) 个节点开始 2. 每次添加一个新节点,连接 \(m\) 条边 3. 连接到现有节点 \(i\) 的概率:\(\Pi(k_i) = \frac{k_i}{\sum_j k_j}\)
性质: - 度分布:幂律分布 \(P(k) \sim k^{-\gamma}\),\(\gamma = 3\) - 聚类系数:\(C \sim \frac{(\ln N)^2}{N}\)(随 \(N\) 缓慢减小) - 平均路径长度:\(L \sim \frac{\ln N}{\ln \ln N}\)(超小世界) - 无标度特性:缺乏特征尺度,存在高度数枢纽节点(hub)
Python 实现
基础网络生成
import networkx as nx |
统计特征计算
def compute_network_stats(G, name="Network"): |
度分布分析
def plot_degree_distribution(stats_list, names, colors, figsize=(15, 5)): |
BA 模型的幂律验证
def fit_power_law(degrees, xmin=1): |
WS 模型的小世界特性
def analyze_ws_transition(n=1000, k=10): |
网络可视化
def visualize_networks(n=100, save_path=None): |
理论验证
验证 1: ER 网络的相变
def verify_er_phase_transition(n=1000, n_p=50): |
验证 2: BA 模型的度分布幂律
def verify_ba_degree_distribution(n=10000, m=2): |
完整实验流程
def run_complete_experiment(): |
评分要点
| 评分项 | 权重 | 检查点 |
|---|---|---|
| 算法实现 | 25% | ER/WS/BA 正确实现,参数可调 |
| 度分布分析 | 25% | 正确计算、可视化、理论对比 |
| 统计特征 | 20% | 聚类系数、路径长度等完整分析 |
| 理论验证 | 20% | 幂律验证、相变分析、小世界特性 |
| 报告质量 | 10% | 图表清晰、解释充分 |
关键理论点: - ER: 相变现象 \(p_c = 1/n\) - WS: 小世界区域 \(0.01 < p < 0.1\) - BA: 幂律分布 \(P(k) \sim k^{-3}\),优先连接机制
Last Updated: 2026-04-19
Status: ✅ Complete