Modularity Maximization in Complex Networks

Many complex networks of interests such as the Internet, social, and biological networks exhibit the community structure where nodes are naturally clustered into tightly connected communities, with only sparser connections between them. The modularity maximization is concerned with finding such community structures in a given complex network. Consider a network represented as an undirected graph G D .V; E/ consisting of n D jV j vertices and m D jEj edges. The adjacency matrix of G is denoted by A D Aij , where Aij is the weight of edge .i; j / and Aij D 0 if .i; j / ... E. We also denote the (weighted) degree of vertex i , the total weights of edges incident at i , by deg.i/ or, in short, di . Community structure (CS) is a division of the vertices in V into a collection of disjoint subsets of vertices C D fC1; C2; : : : ; Clg (with unspecified l) where liD1 Ci D V . Each subset Ci V is called a community, and we wish to have more edges connecting vertices in the same communities than edges that connect vertices in different communities. The modularity [7] of C is the fraction of the edges that fall within the given communities minus the expected number of such fraction if edges were distributed at random. The randomization of the edges is done so as to preserve the degree of each vertex. If vertices i and j have degrees di and dj , then the expected number of edges between i and j is didj 2M . Thus, the modularity, denoted by Q, is then