Heuristic Artificial Bee Colony Algorithm for Uncovering Community in Complex Networks
Hindawi
Mathematical Problems in Engineering
Volume 2017, Article ID 4143638, 12 pages
https://doi.org/10.1155/2017/4143638
Research Article
Heuristic Artificial Bee Colony Algorithm for Uncovering
Community in Complex Networks
Yuquan Guo,1 Xiongfei Li,1 Yufei Tang,2 and Jun Li3,4
1
College of Computer Science and Technology, Jilin University, Changchun 130012, China
Computer & Electrical Engineering and Computer Science Department, Florida Atlantic University, Boca Raton, FL 33431, USA
3
School of Management Science and Information Engineering, Jilin University of Finance and Economics, Changchun 130117, China
4
Department of Applied Mathematics, Changchun University of Science and Technology, Changchun 130022, China
2
Correspondence should be addressed to Xiongfei Li;
Received 21 July 2016; Revised 23 October 2016; Accepted 17 November 2016; Published 18 January 2017
Academic Editor: Mauro Gaggero
Copyright © 2017 Yuquan Guo et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Community structure is important for us to understand the functions and structure of the complex networks. In this paper, Heuristic
Artificial Bee Colony (HABC) algorithm based on swarm intelligence is proposed for uncovering community. The proposed HABC
includes initialization, employed bee searching, onlooker searching, and scout bee searching. In initialization stage, the nectar
sources with simple community structure are generated through network dynamic algorithm associated with complete subgraph.
In employed bee searching and onlooker searching stages, the searching function is redefined to address the community problem.
The efficiency of searching progress can be improved by a heuristic function which is an average agglomerate probability of two
neighbor communities. Experiments are carried out on artificial and real world networks, and the results demonstrate that HABC
will have better performance in terms of comparing with the state-of-the-art algorithms.
1. Introduction
A community is thought of as a set of nodes where nodes are
densely interconnected and sparsely linked to other parts of
the networks, producing a community structure of complex
networks like that sketched in Figure 1. In the case, there
are three communities which are denoted by the dashed
circles. A community is a set of nodes with a high density
of internal links, whereas links between communities have a
comparatively lower density.
In real world, many complex systems can be represented
in terms of networks. For example, social networks are widely
observed in our lives, because people naturally are clustered
to form communities, within their work environment, family,
and friends [1]. Another example is the proteins network [2],
where they are interacted very frequently with each other, as
they belong to metastatic cells, which have a high motility and
invasiveness with respect to normal cells. Communities of
proteins networks correspond to functional groups. The web
is a network of HTML pages interconnected by hyperlinks.
Communities of the web networks [3] are groups of pages
having topical similarities. Internet is described by service
and client as nodes and the connection between them by
TCP or UDP. Communities of the Internet are groups of
applications with similar function. The research of community structure in complex networks has positive theoretical
and practical effects on analyzing topology structure of
complex networks, understanding the functions of complex
networks, detecting potential patterns of complex networks,
and forecasting behaviors of complex networks.
The rest of this paper is organized as follows: the
related works are discussed in detail in Section 2. Section 3
describes HABC, including overall framework of HABC,
colony and nectar sources initialization, and heuristic searching progress. In Section 4, the experiments are carried out
to verify the proposed method, and then in Section 5,
conclusions are drawn.
2. Related Work
Many methods have been proposed recently to uncover
the community structure of complex networks. For reviews
2
Mathematical Problems in Engineering
Figure 1: A community structure of small networks.
and comparison, one can refer to references [4–8]. The
community detection problem is challenging in part because
it is not very well posed [9]. The essence of the community
detection problem is a node-clustering problem of complex networks. To resolve it, various approaches have been
developed in recent years, including hierarchical clustering,
dynamic algorithm, and optimization. Most variants of the
graph partitioning problem are NP-hard; that is, it is unlikely
that the solution can be computed in a time growing as a
power of the graph size [4]. For example, network community structure detection can be modeled as modularity
maximization problems, but unfortunately, it has been proved
that modularity optimization is a NP-hard problem, so it is
probably impossible to find the solution in a time growing
polynomially with the size of the graph.
Hierarchical clustering is the first kind approach to detect
community structure. Hierarchical clustering algorithms create a dendrogram according to the similarity between two
groups of nodes and then uncover the community structure through cutting the dendrogram into subdendrogram.
Hierarchical clustering algorithms can be classified into two
categories: agglomerative algorithms and divisive algorithms.
Agglomerative algorithms mainly include EAGLE [10], CPM
[11], MCC [12], and CDHC [13]. Divisive algorithms mainly
include GN [14] by Girvan and Newman, BCA [15] by Tyler
et al., and local algorithm [16] by Radicchi et al. Hierarchical
clustering has the advantage that it does not require a
preliminary knowledge of community structure. However,
the efficiency of these algorithms is poor in the procedure of
cutting the dendrogram.
Dynamic algorithms employ processes running on the
networks. Random walk [17–19] and label propagation are
often applied to detect communities in dynamic algorithms.
A drawback of random walks algorithm is the fact that
the final partition is strongly dependent on the choice of
the parameter. Therefore the most meaningful partitions
cannot be obtained. Label propagation includes LPA [20],
CNP [21], 𝑘-rank [22], COPRA [23], and BMLPA [24]. Label
propagation is near linear time algorithm. However, the result
of label propagation algorithm is not stable.
The methods in the third category produce communities by optimization [25]. In the community problem, the
number of communities and the size of each community are
unknown. For example, in a biological network, community
structure is not observed. In order to evaluate the quality
of a partition, many graph clustering indexes have been
proposed [26–28]. Clustering indexes optimization (...truncated)