复杂网络分析入门:从基础概念到实际应用
1. 复杂网络分析简介
复杂网络分析(CNA)是一个快速发展的领域,主要研究如何识别、描述、分析和可视化复杂网络。Python 库 NetworkX 提供了一系列用于构建、测量和绘制复杂网络的函数,它与 CNA 相结合,能够自动化繁琐的 CNA 任务,使我们可以研究不同规模和细节程度的复杂网络。
复杂网络并非新兴事物,它和数学、物理、生物学一样,至少和人类存在的时间一样长,生物复杂网络甚至早于人类出现。然而,对复杂网络的深入研究直到 19 世纪末 20 世纪初才开始,主要原因是缺乏合适的数学工具(如图论)和足够的计算能力。20 世纪末 21 世纪初,CNA 研究和应用出现爆发式增长,一方面是因为廉价且强大的计算机的普及,以及具备数学、物理和社会科学高级知识的研究人员增多;另一方面是因为人类社会、行为、生物、金融和技术等方面的复杂性不断增加。
2. 认识网络
- 网络的基本概念:网络是离散数据的一种关系型组织和表示形式(另一种是表格形式,数据按行和列组织)。网络中有两个重要概念:实体和它们之间的关系。根据研究背景的不同,实体被称为节点(本书采用此术语)、参与者或顶点;关系被称为边(本书首选)、链接、弧或连接。我们通常将网络称为“图”(在图论意义上),但图并不是描述网络的唯一方式。
- 图的不同含义:在数学中,“图”至少有两种不同含义。在代数和微积分中,函数的图是连续的折线图或曲面图;在图论中,图是一组离散对象(顶点,用点表示),可能由边(用线或弧表示)连接。除非另有说明,我们使用图论中的定义。 <