Abstract:
Many complex systems in the real world exist in the form of networks, such as social networks, biological networks, Web networks, etc, which are collectively named complex networks. The research of complex networks has attracted many researchers from different fields such as physics, mathematics, computer science, among others. One of the main problems in the study of complex network is the detection of community structure, i.e. the division of a network into groups of nodes with dense intra-connections and sparse inter-connections, which has recently triggered great interest. The ability to detect community structure has a large amount of usefulness in many aspects. Furthermore, community structure may provide insights in understanding some uncharacteristic properties of a complex network system. For instance, in the World Wide Web, community analysis has uncovered thematic clusters; in biochemical or neural networks, communities may be functional groups and separating the network into such groups could simplify functional analysis considerably. This paper reviews the background, the significance and the state-of-the-art in discovering (overlapping) communities. Also, it raises several open issues as the conclusion. Here we try to draw a comprehensive overview for this emerging scientific area, with the purpose of offering some beneficial suggestions for related researchers.