Bipartite graph/network学习

Bipartite graph/network翻译过来就是:二分图。

维基百科中对二分图的介绍为:二分图是一类图(G,E),其中G是顶点的集合,E为边的集合,并且G可以分成两个不相交的集合U和V,E中的任意一条边的一个顶点属于集合U,另一顶点属于集合V。一个简单的形象表示如下图:

Bipartite graph/network学习_第1张图片

因此,二分图的表示为:G=(U,V,E)。

如果|U|=|V|,即集合U和集合V的元素个数相等,该二分图称为“平衡二分图”(Balanced bipartite graph)。

如果U或V中顶点的度是相同的,则该二分图称为“双正则”(biregular)。

然而,为了方便地表示二分图中某一个集合(U或V)中顶点之间的关系,经常采用"单模式投影"(one-mode projection)的方法将二分图进行处理。单模式投影的一个简单表示如下图:

Bipartite graph/network学习_第2张图片

其中,(a)为一个二分图,两个顶点集合X和Y。集合X上的单模式投影得到的结果为(b),Y上的单模式投影的得到的结果为(c)。

单模式投影是如何实现的呢?就是当集合(X)内的两个顶点在二分图的另外一个集合(Y)中有一个邻居时,这两个点(这两个顶点是X中的两个顶点)之间用一条边连接起来。

拿X的单模式投影举例: 该集合中有8个点,首先看点x1,它的度为2,也就是说X中的顶点x1和Y中的顶点y1、y2相连。X中的顶点x2,它的度为3,在集合Y中与之相连的点为y1、y2、y4。顶点x1和x2有共同的邻居y1、y2,则在单模式投影中将顶点x1和x2用一条边连接起来。x3的度为2,在集合Y中与之相连的为y3、y5。x1和x2都不与y3、y5相连,则在单模式投影的过程中,x1和x2都不与x3相连。以此类推,得到X的单模式投影的结果即为(b)。

单模式投影可以形象地表示出一个集合内部的顶点之间的关系,然而单模式投影却损失了原始网络中一些信息,这些信息可能在某些应用中非常重要。

考虑如下情况:

(1)两个人A、B都有喜欢的100首歌曲列表,然而A喜欢的100首歌曲中,B只喜欢其中的1首,显然我们可以得出:A、 B两个人在歌曲方面的喜好差异非常大。

(2)两个人C、D也有喜欢的100首歌曲列表,其中C和D的列表有99首歌都是相同的,显然可以得出的结论为:C、D两人在歌曲方面的偏好几乎一致。

然而,用上面的单模式投影方法对情况(1)、(2)进行处理,得到的投影结果是一样的。

因此,在进行单模式投影时,为图中的边加上权重可以保留一些重要信息。最简单的权重计算方法为:两个顶点有共同邻居的个数即为连接这两个点的边的权重。

你可能感兴趣的:(学习笔记)