图论之-Python NetworkX 入门
1:图论概述
1.1图论基本概念
1图
一个图G = (V, E)由一些点及点之间的连线(称为边)构成,V、E分别计G的点集合和边集合。在图的概念中,点的空间位置,边的区直长短都无关紧要,重要的是其中有几个点以及那些点之间有变相连。
图1:图示例
2有向图和无向图
最基本的图通常被定义为“无向图”,与之对应的则被称为“有向图”。两者唯一的区别在于,有向图中的边是有方向性的。
图2:有向图和无向图
注:上图左边为无向图,右边为有向图。黑色加粗部分表示边的方向。比如:1—>2便是边是1到2这个方向。
3图的度
度是相对于图中点的概念,图中任意一点v的度是指:与v相连的边的条数。在有向图中与顶点v出关联的边的数目称为出度,与顶点v入关联的边的数目称为入度。比如上图2:左边无向图顶点2的度是3.右边有向图点点2的出度是2,入度是1.
4图的连通性
在图G中,若顶点u,v之间有路(即找到有u到v之间相连的边)则称u,v连通。若G的任何两点之间有路,则称G是连通图。G的极大连通子图称为连通分支。如果连通图是有向图则称G是强连通的。
5图的最短路径
在图上任取两顶点,分别作为起点和终点,我们可以规划许多条由起点到终点的路线。不会来来回回绕圈子、不会重复经过同一个点和同一条边的路线,就是一条“路径”,这些路径中经过顶点最少的那个路径就是最短路径。
6图的简单路径
如果路径上的各顶点均不互相重复,称这样的路径为简单路径。如果路径上的第一个顶点与最后一个顶点重合,这样的路径称为回路(cycle)或环或圈。比如下图中:(1,2,3,4,5,1),(1,2,3,1),(1,3,4,5,1)等都是简单路径。
图3:简单路径
7图的偏心距(eccentricity)
一个节点的偏心距就是这个节点到其他节点的所有节点的最短路径的最大值。
8图的直径和半径
图的所有节点偏心距的最大值就是图的直径,最小值就是半径。
9图的紧密中心性(closeness)
在图论中,紧密度是图中一个节点的中心性度量。比其他节点更“浅”(也就是说,有更短的测地距离)的节点有更高的紧密度。在网络分析中,紧密度倾向于表示最短路径长度,因为这样会有更多的中心节点赋予更高的值,而且通常与其他度量(比如:度)相联系。紧密度是中心性的一种复杂度量。它被定义为节点v到其它可达节点的平均测地距离(比如:最短路径):
其中当n>=2是从v出发在网络中连通部分V的大小。接近中心性需要考量每个结点到其它结点的最短路的平均长度。也就是说,对于一个结点而言,它距离其它结点越近,那么它的中心度越高。一般来说,那种需要让尽可能多的人使用的设施,它的接近中心度一般是比较高的。
10图的介数中心性(Betweenness Centrality)
对于n各节点的图G=(V, E),节点v的介数CB(v)按如下方式计算:
对于每对节点(s, t),计算他们之间所有的最短路径;
对于每对节点(s, t),通过判断(here, 节点v)求出它在最短路径上的部分;
对每对节点(s, t)求出的部分进行累加
公式表示为:
其中:σst是s到t的最短路径数,σst()是s到t的最短路径中经过v的数量。它可以除以不包括节点v的节点数量(对于无向图是(n-1)(n-2)/2有向图是(n-1)(n-2)类归一化。)中介中心性指的是一个结点担任其它两个结点之间最短路的桥梁的次数。一个结点充当“中介”的次数越高,它的中介中心度就越大。
11图的度中心性
度中心性(Degree Centrality)是在网络分析中刻画节点中心性(Centrality)的最直