社团划分算法原理整理

社区发现

经典算法

K-L算法

特点: 分为两个大小已知的社团

kernighan-Lin算法,1970年提出,试探优化法,基于一种采用贪婪算法原理讲网络划分为两个大小已知的社团的二分法,七级本思想是在网络划分时引入一个增益函数Q,通过交换节点对,使得Q值最大。

Q=为两个社团内部的边数-两个社团之间的边数

谱平分法

特点:一次分成两个,仅适用于结构明显的网络

利用laplace矩阵 特征向量什么的不懂

当网络实际情况近似于两个社团时,谱平分法可以得到非常好的效果,但是如果网络不满足这个条件,效果不能充分展现。
谱平分法最大的曲线就是它每次只能将网络平分,如果要将一个网络分成两个以上的社团,就必须对子社团多次重复该算法。谱平分法对于社团结构非常明显的网络十分有效,但是当网络的社团结构不是很明显时,往往并不能得到理想的结构。

基于normal矩阵的谱平分法

特点:不事先指定社团数 用于社团结构非常明显的网络

。。。

clique percolaton算法 CPM

特点:overlapping 适用于完全子图比较多的网络,即边密集的网络

算法讲解

该算法认为,一个社团可以看作是由多个相互连通的小的全耦合网络的集合,这些全耦合网络被称为clique派系,而k-clique表示该全耦合网络的节点数目为k。

一个无向图的一个派系是指:这个无向图的顶点集有这样一个子顶点集,子顶点集里的任意两个顶点都有一条边相连(也即子顶点集中的任意两个顶点都是相邻的),那么这个子顶点集及其边构成的图就是这个无向图的一个派系。如果这个派系的顶点有k个,就称这个派系为k-派系(k-clique)。

其实也就是一个无向图里的一个子完全图就是这个无向图的一个派系。

由于k是个输入参数值,从而k的取值将会影响CPM算法的最终社区发现结果,当k取值越小社区将会越大,且社区结构为稀疏。但是实验证明k的取值影响不是很大,一般值为4到6。然而,由于该算法是基于完全子图,因此比较适用于完全子图比较多的网络,即边密集的网络,对于稀疏网络效率将会很低,且该算法还无法分配完全子图外的顶点。

eg一个案例 代码+可视化

GN算法(分裂算法

特点:不指定社团数目 复杂度高 能很好的识别社团

采用分割法,依据边不属于社团的程度,逐步把不属于任何社团的边(即社团之间相连接的边)删除,直到把所有边都删掉

边介数:网络中经过每条边的最短路径的数目,以该参数作为衡量每条边在社团见的连通程度和不属于任何社团的程度。(边介数高==社团间的边,而不是社团内的边)

GN算法步骤:
(1)计算网络中所有边的边介数
(2)找到结束最高的边并删除,并重新计算边介数
(3)重复第二步,直到所有边都被移除

这样GN的过程对应着一颗自顶向下构建的层次树。在层次树中选择一个合适的层次分割即可。

边聚类系数法

特点:依赖网络中原始三角形的数量 比GN复杂度低

对GN的优化 GN需要全局计算 此方法仅需要计算网络局部结构的边聚类系数

边聚类系数 vi 和 vj 两个节点的边eij,eij的聚类系数为实际包括eij的三角形数目与可能包括eij的三角形数目之比
(1)确定研究多边形的类型
(2)计算网络中存在的每条边的边聚类系数,并断开聚类系数最小的边
重复2直至所有边都被断开位置。

Newman快速算法

特点:

在GN算法的基础上 基于贪婪算法思想 从每个节点各占据一个社团开始,沿着使模块度增加最大或者减少最小的方向不断合并社团,期望得到最大的网络模块度,从而得到社团划分结果。

BGLL算法

算法简述:算法分为重复迭代的两个部分。

第一部分:
假设网络中有N个节点,首先我们给每个节点分配一个社区,所以初始阶段有多少个节点就有多少个社区。然后,对于网络中每个节点i,我们考虑他所有的邻居节点j,我们评估当把节点i从它所在的社区移动到其邻居j所在的社区时,模块度的增量变化,我们把节点i移动到使模块度增加最大(非负)的节点j所在的社区。如果所有计算出来的增益都不是正数,则将该节点仍处于原社区中。该过程对所有的节点重复并且按顺序应用,直到没有节点移动,则第一个过程停止,也就是任何一个节点的移动都不会导致模块度的增加。从该过程可以肯定,有些节点会被不止一次的考虑到。当然节点考虑顺序对算法最后的输出也是有影响的,但是最后对最后所划分的社区的模块度影响不大。但是节点的排序顺序是可以影响算法的运行时间的。

第二部分:
用第一部分所划分出来的社区当作节点组成一个新的网络。新节点之间的边的权重为两个新节点之间(其实是两个社区之间)原本的权重之和。处在同一个社区中的节点之间的边导致新网络中该新节点有自环的边。然后对于构建的新网络使用第一部分的方法进行迭代。当网络不再改变也就是出现了最大模块度的时候停止迭代。

原文链接:https://blog.csdn.net/qq_31192383/article/details/76196881

以上根据书《复杂网络算法与应用》以及论坛里的帖子,部分可能为标注出处 侵删

你可能感兴趣的:(复杂网络)