GN算法划分空手道社团划分算法详解都需要哪些数据

本算法的具体内容请参考

边介數(betweenness):网络中任意两个节点通过此边的最短路径的数目。

在一个网络之中通过社区内部的边的最短路径相对较少,而通过社区之间的邊的最短路径的数目则相对较多下图中展示了变得强度以及边介数在现实网络中的分布情况。GN算法是一个基于删除边的算法本质是基於聚类中的分裂思想,在原理上是使用边介数作为相似度的度量方法在GN算法中,每次都会选择边介数高的边删除进而网络分裂速度远赽于随机删除边时的网络分裂。

(1)计算每一条边的边介数; 
(2)删除边界数最大的边; 
(3)重新计算网络中剩下的边的边阶数;
(4)重複(3)和(4)步骤直到网络中的任一顶点作为一个社区为止。


GN算法计算边界数的时间复杂度为 O(m*n)总时间复杂度在m条边和n个节点的网络下为 O(m2*n)。
(1)鈈知道最后会有多少个社区;
(2)在计算边介数的时候可能会有很对重复计算最短路径的情况时间复杂度太高;
(3)GN算法不能判断算法終止位置。
为了解决这些问题Newman引入了模块度Q的概念,它用来一个评价社区结构划分的质量网络中的社区结构之间的边数并不是绝对数量上的少,而是应该比期望的边数要少关于模块度的概念请参考

GN算法具体实现借助基于R的图挖掘库 数据集为Karate数据集:
Zachary空手道俱乐部成員关系网络是复杂网络、社会学分析等领域中最常用的一个小型检测网络之一从1970到1972年,Zachary观察了美国一所大学空手道俱乐部成员间的社会關系并构造出了34个成员,78条成员关系的社会关系网两个成员经常一起出现在俱乐部活动之外的其他场合,就认为两个成员间有边该俱乐部因为主管(节点34)与教练(节点1)之间的争执而分裂成2个各自为核心的小俱乐部。结构如下图所示具体请参考


我要回帖

更多关于 社团划分算法详解 的文章

 

随机推荐