社交网络分析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 社交网络分析理论基础

2.1 图论

图研究的是数据元素之间的多对多关系。在图中,任意两个元素之间可能存在关系,即节点之间的关系可以是任意的,图中任意元素之间都可能相关。图的应用极为广泛,已渗入社交网络、生物网络等。

2.1.1 哥尼斯堡七桥问题

18 世纪的哥尼斯堡(Konigsberg)是一座美丽的城市,布勒格尔河从这里流过,并且横贯城区。这条河有两条支流在城中交汇,汇合处有两座小岛,人们在这里建了一座公园,公园中的七座桥把河两岸和小岛连接起来。当时,那里的居民热衷于一个有趣的数学游戏:游人怎样才能一次走完七座桥,每座桥只经过一次,最后又回到出发点呢?哥尼斯堡七桥分布情况如图2.1所示。

图2.1 哥尼斯堡七桥分布情况

有趣的七桥和迷人的景色吸引了众多的游客,有人在游览时提出这样的问题:能否从某个地方出发,穿过所有桥各一次后再回到出发点?这个问题在街头流传着,但没有人能回答它,这就是著名的哥尼斯堡七桥问题。这个问题看起来似乎不难,但人们始终没有找到答案,最后问题到了当时世界上最有名的大数学家欧拉那里。

瑞士数学家欧拉思考和解决这个问题的方法如下:既然问题是要找一条不重复地经过7座桥的路线,而4块陆地都是桥梁的连接点,那么不妨把图中的4块陆地(岸和岛)抽象为4个点(见图2.2),把7座桥抽象为7条线段。这样,就把七桥问题简化为能否一笔画出这7条线段和4个交点组成的几何图形的问题,也就是一笔画问题,即图论。

图2.2 七桥问题的图表示

欧拉的这一考虑非常重要、非常巧妙,体现了数学家处理实际问题的独特之处——首先把一个实际问题抽象成为适的“数学模型”。这种研究方法就是“数学模型方法”。这并不需要运用多么深奥的理论,但想到这一点却是解决难题的关键。

欧拉在研究一笔画问题的基础上,得出了如下重要结论。

(1)凡是由偶点组成的连通图,一定可以一笔画成。画时可将任意一个偶点作为起点,最后一定能以这个点为终点画完此图。

(2)凡是只有两个奇点的连通图(其余都为偶点),一定可以一笔画成。画时必须将一个奇点作为起点,将另一个奇点作为终点。

(3)其他情况的图都不能一笔画出。

2.1.2 图的基本概念

图是一个用线或边连接在一起的顶点或节点的集合。严格地说,图是有限顶点集V 和边集E的有序对,用G=(VE)表示,其中V 是顶点(Vertex)的非空有限集合,记为VG);E是无序集<vw>的一个子集,记为EG);元素是图的弧(Arc)。将顶点集合为空的图称为空图。图G的形式定义为

式中, pvw)表示从顶点v到顶点w有一条直接通路;弧表示两个顶点vw之间存在一个关系,用顶点偶对<vw>表示。通常根据图的顶点偶对将图分为有向图和无向图。

1.有向图

若在图G的关系集合EG)中,顶点偶对<vw>的vw之间是有序的,则称图 G 是有向图(Digraph)。在有向图中,若<vw>∈EG),则表示从顶点v到顶点w有一条弧,其中v称为弧尾或始点, w称为弧头或终点,如图 2.3(a)所示。

2.无向图

若在图G的关系集合EG)中,顶点偶对<vw>的vw之间是无序的,则称图 G 是无向图(Un-Digraph)。在无向图中,若<vw>∈EG),则有<wv>∈EG),即EG)是对称的,此时用无序对(vw)表示vw之间的一条边,因此(vw)和(wv)代表的是同一条边,如图2.3(b)所示。

图2.3 有向图和无向图

2.1.3 图的存储结构

图的存储结构比较复杂,其复杂性主要表现如下。

(1)任意顶点之间可能存在联系,无法以数据元素在存储区中的物理位置来表示元素之间的关系。

(2)图中顶点的度不一样,有的可能相差很大,若按度数最大的顶点设计结构,则会浪费很多存储单元;反之,按每个顶点自己的度设计不同的结构又会影响操作。

图的常用存储结构有邻接矩阵、邻接链表、十字链表、邻接多重表和边表,其中邻接矩阵定义为

2.1.4 图的连通性

连通图是任意两个顶点都有路相连的图,其连通程度有高有低。例如,图 2.4中所示的图都是连通图。对于图 G1,删除一条边或一个顶点可使其变得不连通;对于图 G2,至少需要删除两条边才能使其不连通,也可以删除一个顶点使其不连通;对于图G3,要破坏其连通性,至少需要删除三条边或三个顶点。

图2.4 图的连通性

1.割点与割边

定义2.1vVG),若wG-v)>wG),则称v为图G的一个割点。

例如,图2.5中的uv两点是其割点。

图2.5 割点图

定义2.2eEG),若wG-e)>wG),则称eG的一条割边。

例如,图2.6中的边uvwu都是其割边。

图2.6 割边图

2.连通度和边连通度

定义 2.3 对图 G,若 VG)的子集V′使得wG-V′)>wG),则称V′为图 G的一个顶点割集。含有k个顶点的顶点割集称为k-顶点割集。

注:(1)割点是1-顶点割集。

(2)完全图没有顶点割集。

定义 2.4G的连通度定义为κG)=min{V′是连通图 G 的顶点割集}。特别地,完全图的连通度定义为κKv)=v-1,空图的连通度定义为 0,不连通图的连通度定义为0。

注:(1)若图G是平凡图,则κG)=0。

(2)使得V′=κG)的顶点割集V′称为G的最小割集。

(3)若κG)≥k,则称图Gk连通的。

定义2.5 对图G,若EG)的子集E′使得wG-E′)>wG),则称E′为图G的一个边割集。含有k条边的边割集称为k-边割集。

注:(1)对非平凡图G,若E′是一个边割集,则G\E′不连通。

(2)一条割边构成一个1-边割集。

(3)设SVG), S′⊂VG), SS′≠∅,记号[SS′]表示一端在S中而另一端在S′中的所有边的集合。对图G的每个边割集E′,必定存在非空的SVG),使得[SS]是 G 的一个边割集,其中S=V\S

定义 2.6G 的边连通度定义为κ′(G)=min{|E′| E′是连通图 G 的边割集}。完全图的边度定义为κ′(Kv)=v-1,空图的边连通度定义为0,不连通图的边连通度定义为0。

3.2连通图的性质

无割点的连通图称为一个块(Block)。设 G 是一个图,HG 的一个子图,若H本身是一个块并且它是G中具有此性质的极大子图,则称H是图G的一个块。图2.7中显示了块和图中的块。

图2.7 块和图中的块

v≥3的图 G 是 2-连通图(块)当且仅当 G 中的任意两个顶点共圈。对∀wVG),任取uvVG-w)。由条件, uvG 中共圈 C。当duv)=k时,设P0=u... wv是长为k的一条(uv)路,则duw)=k-1。由归纳法假设, uw在同一圈上,故在uw间有两条无公共内部顶点的路PQ

2.1.5 图的匹配理论

M是图G=(VE)的一个匹配, viV。若viM中的边相关联,则称viM饱和点,否则称viM非饱和点。若G中的每个顶点都是M饱和点,则称MG的完美匹配。设MG的一个匹配,PG的一条链。若P的边交替地一条是 M 中的边、一条不是 M 中的边,则称 PM 交错链。类似地,可以定义 G 的交错圈。易知,G 的交错圈一定是偶圈。一条连接两个不同的 M 非饱和点的 M 交错链称为 M 增广链。两个集合 S1S2的“异或”操作S1S2是集合S1S2=(S1S2 )-(S1S2 )。容易看出,若设MG的匹配,PG中的M增广链,则MP也是G的匹配,而且G中的匹配M是最大匹配当且仅当G中没有M增广链。

1.匹配与最大匹配

G是一个图, MEG),对∀eiejMeiejG中不相邻,则称MG 的一个匹配。对匹配 M 中的每条边e=uv,两端点uv称为被匹配 M 所匹配, uv都称为M饱和的。若G中无匹配M′使得,则称MG的一个最大匹配;若 G 中的每个点都是 M 饱和的,则称 MG 的完美匹配。显然,完美匹配必然是最大匹配。在图 2.8(a)中,边集{e1}、{e1e2}、{e1e2e3}都构成匹配,{e1e2e3}是图 2.8(a)的一个最大匹配。在图 2.8(b)中,边集{e1e2e3e4}是一个完美匹配,也是一个最大匹配。

图2.8 最大匹配图

2.完美匹配

若在一个图的某个匹配中,所有顶点都是匹配点,则它是一个完美匹配。图G 的奇分支是 G 中含有奇数个顶点的连通分支,用OG)表示 G 的奇分支的个数。图G有完美匹配的充要条件是对∀SVG), OG\S)≤

G 有完美匹配M,对∀SVG),若G\S无奇点,则OG\S)=0,否则G1G2,...,GkG\S的所有奇分点,每个Gi中至少有一个顶点uiM下与S中的某个顶点vi配对(i=1,2,...,k),所以OG\S)=k=。图的完美匹配如图2.9所示。

图2.9 图的完美匹配

2.1.6 支配集、点独立集、点覆盖集

1.支配集

支配集的定义如下:假设DVG),若对∀uVG),要么uD,要么uD中的某些顶点相邻,则称 D 为图 G 的一个支配集;若一个支配集的任何真子集都不是支配集,则称它为极小支配集。图 G 的含顶点最少的支配集称为最小支配集,最小支配集的顶点个数称为G的支配数,记为γG)。

在图 2.10 中, D0={v0}, D1={v1v4v7}, D2={v1v3v5v6}都是 G 的支配集,前两个是极小支配集, D0是最小支配集,γG)=1。

图2.10 图中某些特性

图的支配集是内容非常丰富的一个研究专题,在许多科学领域有着重要的应用,是目前研究的一个热点方向。

2.点独立集

点独立集的定义如下:假设IVG),若I中任意两个顶点均不相邻,则称I为图G的一个独立点集;若对∀uVG)\II∪{u}不再是G的独立集,则称独立集I为图G的一个极大点独立集。G的所含点数最多的点独立集称为最大点独立集,它所含的点数称为G的独立数,记为αG)。

在图 2.10 中, I0={v0}, I1={v1v4v7}, I2={v1v3v5v6}都是 G 的独立集,且都是极大独立集,其中I2是最大独立集,αG)=4。独立集和支配集的关系是,图G的极大独立集必定是图G的极小支配集,反之不成立。

3.点覆盖集

点覆盖集的定义如下:假设FVG),若G的每条边至少有一个端点属于F,则称 FG 的一个点覆盖;若对任给的vFF-{v}不再是 G 点覆盖集,则称点覆盖集 F 是一个极小点覆盖。图 G 的含点数最少的点覆盖称为最小点覆盖,其点数称为G的点覆盖数,记为βG)。

在图 2.10 中,{v0v1v3v5v7}和{v1v2v3v4v5v6v7v8}都是图 G 的点覆盖,且都是极小点覆盖,前一个点覆盖是最小点覆盖,βG)=4。点覆盖集和支配集是容易混淆的两个概念,它们的本质区别是,点覆盖集用点覆盖边,而支配集用点支配点。在连通图中,点覆盖集必定是支配集,但支配集未必是覆盖集。例如,图2.10中的{v0}及{v1v4v7}都是G的支配集,但不是覆盖集。