一、什么是社团?
社团是具有某些共同特征的人相聚而成的互益组织。随着社交网络的快速发展,人类社会对网络的依赖程度也越来越高,特别是基于网络的社交工作层出不穷,通过网络分析人类现实社会关系的可能性和可行性大大增强。
二、什么是GN算法?
GN 算法是由Grivan和Newman所提出的一种图论经典算法。基本思想就是:社团之间成员的联系多,不同社团的成员之间联系少。社团之间所存在的少数几个连接是社团间通信的瓶颈,是社团间通信时数据流的必经之路。按照某种形式的通信关系并且寻找到具有最高通信经过的边,该边就应该是连接不同社团的通道。将这样的边全部去掉后,就获得了社团的最高分解形式。为了衡量一条边具有的最高通信经过的程度,引入了边介数(betweenness)的概念,这是在点介数基础上的推广应用。边介数指的是所有节点对之间的虽短路径中经过该边的最短路径数。
GN算法的主要步骤:计算网络中每条边的边介数,去掉边介数最大的那条边。重复进行直至网络中没有任何边存在。
但GN算法也存在2点不足。一是该算法无法预知网络最终应该分裂成多少社团;二是计算速度缓慢,在一个具有m条边和n个节点的图中计算出每条边的介数所需时间为O(mn)。
为了解决第一个问题,Newman在2004年的一片论文中又提出了模块度(Modularity)的概念。
三、什么是模块度?
模块度又称模块化度量值,是目前常用的一种衡量网络社区结构强度的方法,其定义为“Modularity is the fraction of the edges that fall within the given groups minus the expected such fraction if edges were distributed at random.”