# Modularity-Based Incremental Label Propagation Algorithm for Community Detection
## 1 Introduction  
Community structure is an important feature of complex networks [1; 2]. It can help us understand the nature or function of networks [3]. For instance, communities are likely to group proteins having the same specific function within the cell and they play a particularly important role in our understanding of how specific biological functions are encoded in cellular networks [4; 5; 6]. In most cases, however, the community structure of a network is not known in advance and needs to be detected by algorithms. Therefore, developing algorithms to detect community structure, i.e., community detection, has been one of the most widely studied topics in network science. From a classical view, community detection is a clustering process to detect communities in a large network, because the edge density of nodes inside each community is greater than that between communities. However, the current view focuses on the probability that edges may be generated between nodes. It indicates that community is a preferential linking pattern [7; 8]. In the last two decades, many scholars have performed extensive studies on how to identify the community structure of a complex network. A number of powerful methods have been put forward to address this problem, which can be generally divided into three categories: divisive, modularity optimization based, and agglomerative algorithms. Divisive algorithms aim to detect inter-community edges and then remove these links from the network, including the GN algorithm proposed by [PERSON] [9]. However, GN has a high computational complexity, \(O(n^{3})\), where \(n\) is the number of nodes in a network. To improve the efficiency of GN, [PERSON] et al. [10] proposed a fast splitting algorithm to find the edge set with theminimum clustering coefficient (C) by calculating the \(C\) of each edge in a network, and then removing these edges to uncover the community structure. The second category of algorithms are based on modularity optimization [11; 12; 13; 14]. Modularity was originally introduced by [PERSON] and [PERSON] to define a stopping metric for the GN algorithm, and then [PERSON] built on it to design a fast greedy algorithm (Fastgereedy) [15], which improves the execution speed of GN. Yet, in a later study [16], [PERSON] et al. pointed out that the update of the adjacency matrix in [PERSON]'s algorithm involves a great number of useless operations. Thus, they utilized complex data structure, such as balanced binary trees and the largest heap, to store data, drastically reducing the complexity of the Fastgereedy algorithm. Another well-known and fast approach is the Louvain algorithm proposed by [PERSON] et al. [17], which involves two steps. In the first step of modularity optimization, each node is put into the community of the neighbor that yields the largest increase of modularity as long as it is positive. In the second step of community aggregation, communities resulted from the first step are aggregated into new nodes to reconstruct a new network. The two steps of this algorithm are then repeated until the communities do not change. Examples of agglomerative algorithms include LPA proposed by [PERSON] et al. [18]. The advantages of LPA are simple and easy to realize, and it is unnecessary to predefine the number and the size of communities. It only needs to use the similarity of neighbor nodes, that is, whether they are closely connected in this community, to determine whether they belong to the same community. In addition, LPA has linear time complexity so it can identify the community structure of large networks. However, as LPA always randomly selects a node to start spreading labels, which makes some nodes that are neither tightly connected nor sparsely allocated to different communities during each update process, resulting in some instability of detection results. To solve this problem, [PERSON] et al.