Research Article

Overlapping Community Detection Based on Strong Tie Detection and Non-Overlapping Link Clustering

Algorithm 1

BCluster.
Input: The complex network G
Output: The overlapping node clusters
(1)FOREACH (ego, x) IN G
(2)IF path(ego, x) = = 1 THEN
 //judging whether a pathway exists between the ego //and Node x
(3)IF S ego,x > φ && directLink(ego, x) = = 0 THEN
 //judging whether the ego and Node x are adjacent
(4)link(ego, x)
(5)ELSE continue
(6)END FOREACH
(7)FOREACH path(t, k) = = 1 IN G
(8)  AttriLink_tk=AttritAttrik
  //computing the edge attribute
(9)END FOREACH
(10)FOREACH (Linkxe, Linkxd) IN edgelist
(11)IF overlap(AttriLink_xe, AttriLink_xd) ≥ Θ1 FOREACH
(12)put Linkxe and Linkxd into the same cluster
(13)ELSE
(14)  divide Linkxe and E = Linkxd separately
(15)END FOREACH
(16)sort C in descending order by the size of node sets
  //merging from the core collection
(17)UNTIL C′ is unchanged DO
  //C′ is the combined clustering sets
(18)combine temporary clusters of high tie strength by analyzing the indicative clusters
(19)END UNTIL
(20)delete clusters in which all nodes are covered by other clusters in C
(21)judge whether ci in C and in C′ meet the combination conditions:(a)IF C′ is null THEN add ci into C(b)IFcover(ci, ) ≥ Θ2 && length(ci) > 2 THEN merge ci and (c)IF cover(ci, ) < Θ2 && length(ci) > 2 THEN add ci into C′ as a separate cluster