MA-Net: A reliable memetic algorithm for community detection by modularity optimization
Leila Moslemi Naeni1,2, Regina Berretta1,2 and Pablo Moscato1,2 1
The Priority Research Centre in Bioinformatics, Biomarker Discovery and Information-based Medicine, Hunter Medical Research Institute, Australia. 2 School of Electrical Engineering and Computer Science, The University of Newcastle, Australia
[email protected], Regina.Berreta &
[email protected]
Abstract. The information that can be transformed in knowledge from data in challenging real-world problems follows the accelerated rate of the advancement of technology in many different fields from biology to sociology. Complex networks are a useful representation of many problems in these domains One of the most important and challenging problems in network analysis lies in detecting community structures. This area of algorithmic research has attracted great attention due to its possible application in many fields. In this study we propose the MA-Net, memetic algorithm to detect communities in network by optimizing modularity value which is fast and reliable in the sense that it consistently produces sound solutions. Experiments using well-known real-world benchmark networks indicate that in comparison with other state-of-the-art algorithms, MA-Net has an outstanding performance on detecting communities. Keywords: community detection, modularity, memetic algorithm
1
Introduction
A variety of real-world complex systems in the fields of biology, sociology and physics can all be represented as complex networks. Patterns of connections or interactions between elements of a given system can be represented as a network, which in its simplest form, can mathematically be modelled as an undirected graph. In a graph representation, the components of the network are typically encoded as nodes and their interactions are represented as edges. For instance, chemical reactions between molecules and proteins in the cell [1-3], hyperlinks between webpages [4, 5], physical connection between neurons [6-8] in the brain, and even consumer behavior models [9] all can be represented as graphs. An underlying hypothesis of these studies is that the pattern of interactions and the structure of a graph greatly affect the behavior of the associated system.
© Springer-Verlag Berlin Heidelberg 2014
One of the important and challenging problems in graph analysis lies in finding groups hidden in a graph, which is generically called the community detection problem. While there is no universally agreed definition for a community [10], Girvan and Newman [11] defined communities as groups of vertices, where the connections are dense within the group, but the connections are sparse between the groups (See Fig.1). With this definition, the community detection problem can be formalised as an optimization problem in undirected graphs, however, due to the huge number of possible ways for partitioning the set of vertices of a graph, even when the graph is small, the community detection problem, like many other clustering problems defined in graphs, naturally lead to formulations of the problems which give rise to NP-hard computational problems [12].
Fig. 1. A small network with three communities that have highly intra-group interactions and sparse inter-group interactions.
In order to identify a good community structure in a network, many outstanding community detection algorithms have been proposed following different approaches during the last decade (see a recent comprehensive review in [13]). Optimizationbased algorithms are among the most popular methods and the modularity function that was introduced by Newman and Girvan [14] has played a great role in optimization algorithms. Modularity is a quality measure that compares the number of edges in a detected community with the number of edges that are expected to be observed in a random graph. Therefore, higher levels of modularity indicate a greater difference between the detected partition and a random graph, thus modularity optimization acts as a proxy for detecting a better community structure. In this manner, the community detection problem can be considered as a combinatorial optimization problem with the objective function of maximizing the modularity. In a given graph with the adjacency matrix A, the modularity can be written as follows: ∑
[
(
) ],
(1)
where, is the total number of edges in the graph and the summation runs over the communities of the partition; and stands for the number of edges inside the community . The summation of degrees of all vertices in the community is denoted by . Instead of running modularity equation over communities, it can be reformulated to run over all pairs of nodes. Modularity function can easily be modified to measure
the quality of partitions in weighted graphs [15]. It has been proven that modularity optimization gives rise to decision problems which are NP-complete [16]. Although some exact algorithms have also been proposed to solve the modularity optimization problem in small size networks by using column generation algorithms [17, 18], heuristic algorithms are always in need to find good solutions in a reasonable time, particularly in large-scale networks. Many different heuristic algorithms have been proposed for modularity optimization with different approaches, such as label propagation algorithms (LPA) [19] and agglomerative hierarchical clustering [20-24] that iteratively join pairs of nodes to increase the level of modularity. To enhance the performance of heuristic algorithms a variety of metaheuristic algorithms have been proposed to detect communities, for instance, simulated annealing [25, 26], conformational space annealing [27], genetic algorithm [28-30] and memetic algorithm [3134]. To reduce the running time of the algorithm for large-scale networks some parallel metaheuristics have been proposed [35-37]. While modularity is the most popular objective function for community detection, there are some proven limitations in detecting communities by optimizing modularity [38, 39]. For instance, modularity optimization has a tendency to merge small clusters even when their individual size is small in comparison with the whole network. Moreover, the number of local maxima increases dramatically when the size of the network grows, thus it is easy to get trapped in a local optimal solution. Some various objective functions have been proposed to overcome modularity limitations. For instance, modularity density [40], community score and community fitness [41]. In addition, a few multi-objective algorithms have been proposed to optimize more than a single objective function rather than only optimizing the modularity[42]. In this study we develop a reliable memetic algorithm, MA-Net, to optimize modularity and to detect community structure of the given network. We compare our results with state-of-the-art algorithms. As a future research direction, we aim to extend the proposed algorithm to a multi-objective optimization algorithm.
2
Proposed algorithm
The proposed algorithm is designed in the framework of Memetic Algorithms (MA). We have taken this approach due to proven successful results and its effectiveness to address many NP-hard combinatorial optimization problems [43]. The modularity function can then be used to evaluate the quality of the communities. Thus, we have chosen it as an objective function for the first implementation of MA-Net, and to allow us to compare the performance of MA-Net against existing state-of-the-art algorithms. Algorithm 1 shows the main framework of our proposed MA-Net. A graph is the main input of the algorithm. In MA-Net, to facilitate and speed up the computations we use the adjacency list which uses less memory compared to the adjacency matrix. We will describe the initialize_population procedure, genetic operators (modularity based recombination and mutation), local search strategy and update_population procedure in the following sections.
Algorithm 1. MA-Net framework Input: Graph ); :population size; :acceptable number of generation without improvement; : mutation probability Result: A partition of the graph vertices that aims to achieve maximum modularity: {
1:
}
2: repeat 3: 4: 5: 6: 7: 8: until 9: return
2.1
Representation and initialization
To represent a partition of a given graph with nodes, we use string-coding representation as . Here, is an integer number, shows the community label, and refers to the community that node belongs to. So by having k communities in partition P, can be any integer number between and (i.e. ). Obviously, nodes having the same community label are considered in the same community. A simple example of string-coding representation is illustrated in Fig. 2.
node 1 2 3 4 5 6 7 8 9 10 string [1, 1, 1, 2, 1, 2, 3, 3, 3, 2 ]
Fig. 2. Example of the solution representation structure. Left: a graph of 10 nodes and partitioned in three communities shown by different colors. Right: the string coding represents this partition
The initialize_population procedure generates the initial population. We first assign a random community label to each node. The random label is an integer number between 1 and the total number of nodes, therefore there is no previous assump-
tion for the number of the communities. Ours is an unsupervised algorithm and it aims at discovering the best number of communities for the graph to maximize modularity. These random solutions are of very low quality as even pairs unconnected nodes can be assigned to the same community. In the second step, to speed up the convergence of the algorithm, we improve the quality of the solution with another procedure. For each solution, we generate a random sequence of nodes then for each node in the sequence, move the node to one of its neighbors’ community that results in the greatest improvement in the modularity score. We repeat this operation for all solutions of the initial population. To reduce the computational cost of the improvement procedure, we calculate by moving one node into one of its neighbors’ community [22]. The improvement procedure avoids unnecessary communities by considering only connected neighbors in moving of nodes. This heuristic improvement procedure is easy to implement and very effective to improve the quality of the initial population. 2.2
Genetic operators
MA-Net explores the search space by two specially designed genetic operators: modularity-based recombination and an adaptive mutation operator. These operators play important roles, working together, in preventing the algorithm to getting trapped into a local optimal solution and exploring the configuration space. Modularity-based recombination operator The recombination operator generates an offspring that inherits some characteristic from its two parents, therefore it plays an important role in the global search of the solution space [43]. Traditional recombination operators, including uniform crossover, one-point and two-point crossover can hardly convey community structure of the parents to the offspring and seem less suitable for this case. We propose a modularitybased recombination operator which is an efficient operator specifically designed for the community detection problem by which descendants can inherit useful communities of their parents. The main idea of this operator is to take the communities as the genetic material and try to preserve the best communities of parents for the offspring. The modularity-based recombination procedure is described next. Firstly, two random members of the population are selected as parents. Since we can safely assume that all members of the population are of a relatively good quality (after the improvement step of the population initialization procedure), a randomly selection strategy could work well in maintaining the population diversity. Let and be the parents and and represent the number of communities in each parent, respectively. Then, we sort communities in the list according to their fitness. According to the modularity function (equation 1), the solution fitness is the total sum of the modularity of all communities in the partition. Therefore, we have already computed the fitness of each community from the fitness of the solution. Next, we choose the fittest community from list and form a same community in the offspring. Then for the second good community in , we try to form a similar community in the offspring with the nodes that are not assigned to any community before.
We repeat this procedure till all nodes in offspring solution have been assigned to a community. Fig. 3 illustrates the modularity-based crossover procedure applied to a small graph with 13 nodes. Two random partitions of the graph are selected as parents (Fig. 3 (a) and (b)). The underlined number close to each community shows the ranking of the community according to its modularity, for instance, a community with 5 nodes in parent (a) has the highest fitness and its rank is 1. Communities are transferred to the offspring according to their rank, so in first step nodes of the community rank 1 in parent (a), {1, 2, 3, 4, 5} are assigned in a same community in the offspring. The second priority is for nodes {9, 12, 13} in parent (b) that are not assigned to a community in the offspring in previous step; they form the second community in the offspring. The third priority is for nodes {10, 11, 12, 13} in parent (a). But nodes 12 and 13 were assigned before, so only nodes 10 and 11 are put in a community. The forth priority is for nodes {6, 7, 8} in parent (b) that can be exactly formed a same community in the offspring. In this stage we can see that all nodes in the offspring are partitioned. As shown in Fig. 3, the offspring has 4 communities that are inherited from parents.
(a)
(b)
(c)
Fig. 3. A schematic illustration of the modularity-based crossover. (a) and (b) are two partition of a simple graph with 12 nodes that are selected as parents. (c) shows the offspring generated from parents by modularity-based crossover.
The modularity-based recombination operator’s aim is that offsprings inherit the best structures observed in both originating solutions. While this recombination operator can increase the number of communities, we proposed a local search procedure that can merge communities to improve the modularity. As stated, one of the weaknesses of some modularity optimization algorithms [20, 21] is their tendency to
merge the small communities and create huge communities with a large fraction of nodes, but after applying the modularity-based recombination operator the number of communities in offspring is generally more than the number of communities in parents. Therefore, this operator leads the algorithm to explore small communities. Adaptive mutation operator In order to maintain the diversity of the population and to avoid useless explorations of the search space, we use the neighbour-based mutation strategy [44]. The mutation operator changes the community label of node to the community label of one of its neighbours randomly. Considering only neighbours’ communities for changing the community label of each node helps the algorithm to explore search space more wisely. Here we apply the adaptive mutation operator to the existing offspring and generate a new offspring. The mutation probability indicates the likelihood of a mutation to be performed for each node. Here, we proposed an adaptive mutation operator where is modified by the ability of the algorithm to find a better solution. It means that mutation probability is increasing when the algorithm could not improve the solution. The higher , the more changes in the offspring and the broader exploration of the search space. One of the algorithm’s parameters is that indicates the acceptable number of generations without improvement and we used this parameter as the termination criterion, so the algorithm is terminated when the number of generations without improvement in the best solution exceed the value . While the number of generations without improvement is increasing, the mutation probability will increase to expand the capacity of diversification of the algorithm by increasing the amount of changes in the mutated individual. is an algorithm parameter and it will growth linearly to according to how close the algorithm is to reaching its termination criteria. For instance, in experimental tests (Section 3) is set to 0.05 and the termination criterion is set to 30 generations without improvement. Therefore in the first generation, is 0.05 and when the algorithm is run for 15 generations without improvement, the mutation probability will increase to . 2.3
Local search
In this study, we employ the vertex movement heuristic. Different implementations of vertex movement heuristics have been used in existing algorithms [22, 23, 45, 46]. In MA-Net, we use a vertex movement heuristic with a stochastic hill climbing strategy to exploit the neighborhood of each solution. In a given graph with nodes, we define the neighbour solution of a partition with communities as a partition where a single node is reassigned to another community. Therefore, a movement of a node from its own community to any other community generates a neighbour solution. The local search procedure works as follows: Firstly, a random sequence of nodes is generated. Then, for each node in the sequence, the modularity gain of moving this node to the
community of one of its random neighbour (i.e. is computed. If this movement improves the fitness of the partition, the node obtains the community label of . If the movement does not improve the fitness, another random neighbour of is selected to compute . This process stops when node is moved or we found that there is no movement for that improves the fitness of the partition. The same procedure is repeated for all nodes in the random sequence . It should be noted that the stochastic hill climbing algorithm does not examine all the neighbours before deciding where to move the node. Therefore, the random neighbour selection strategy of the local search procedure helps to avoid getting stuck in local optima which is the limitation of deterministic hill climbing techniques. Due to the sensitivity of the local search procedure to the nodes sequence, we generate a random sequence each time to assure that we start the local search from different nodes. In addition, to speed up the local search procedure we compute a variation of the modularity ∆Q [34] when moving a node into its neighbour community. 2.4
Updating strategy
In MA-Net, we use an elitism strategy for the update_population procedure. It means that the population is updated for the next generation by replacing the new individual with the least fitted member. But if the new individual is worse than the least fitted member of the population, the population will not change. This strategy guarantees that the better solutions are always retained in the population and remain eligible to be selected as parents in the next generation.
3
Experimental results
In this section we evaluate the proposed algorithm (MA-Net) on five well-known real-world networks. The proposed algorithm is implemented in Python 2.7 and the experiments are performed on a machine with Intel(R) Xeon(R) CPU E5-1620 at a clock speed of 3.60GHz (4 cores and 8 logical processors) and 16 GB of memory. After initial experiments and applying Wilcoxon singed-rank test [47] to set the parameters, we tuned the algorithm’s parameters as follows: population size, , is set to 40, the mutation probability, , is set to 0.05 and the termination criterion is set to 30 generations without improvement in the best solution. We choose five well-known benchmark networks to compare MA-Net performance with the state-of-the-art algorithms: Zachary’s karate club network (Karate) [48], the bottlenose dolphin social network (Dolphin) [49], American political books (Polbook) [50], American college football network (Football) [11] and the jazz musicians network (Jazz) [51]. Some configurations data of these networks are shown in Table 1. We ran MA-Net a total of 50 times on each network and we report the average modularity, maximum modularity and the standard deviation of the modularity (runs are independent of each other, that is, we do not use the results of the previous runs to guide the algorithm in the future runs). To evaluate the performance of the MA-Net,
we compare the results given by MA-Net with those of five well-known existing algorithms for modularity maximization: GN (a greedy heuristic algorithm) [11], CNM (an improved heuristic algorithm) [20], GATHB (a genetic algorithm) [28] and Meme-Net (a memetic algorithm) [32] and MA-COM (a memetic algorithm) [31]. The MA-Net results in Table 1 include maximum modularity ( ), average modularity ( ) and the standard deviation of modularity ( ) in 50 runs.
Table 1. Benchmark networks configurations
1 2 3 4 5
Network
Nodes
Edges
Karate Dolphin Polbook Football Jazz
34 62 105 115 199
78 159 441 613 2742
Average degree 4.59 5.13 8.40 10.66 27.70
Table 2. The maximum, average and standard deviation of the modularity ( obtatined by MA-Net in comprasion with the maximal modularity achived by GN, CNM, GATHB, Meme-Net and MA-COM. MA-Net
1 2 3 4 5
Network
GN
CNM
GATHB
Karate Dolphin Polbook Football Jazz
0.401 0.519 0.510 0.599 0.439
0.381 0.515 0.502 0.565 0.439
0.402 0.522 0.518 0.551 0.445
Meme-Net MA-COM
0.402 0.518 0.523 0.604 0.438
0.420 0.529 0.527 0.605 0.445
0.420 0.529 0.527 0.605 0.445
0.419 0.523 0.526 0.601 0.445
0.002 0.004 0.002 0.003 0.000
Firstly, the comparison between the maximum modularity in Table 2 shows that for all benchmark networks the maximum modularity ( ) obtained by MA-Net is superior to the maximum modularity achieved by GN, CNM, GATHB and Meme-Net and it is equal to MA-COM results. We need to highlight that the MA-COM has indeed obtained the best solution for community detection problem in these five networks. Thus considering and the MA-COM results, this implies that MA-Net also finds the best partition with the highest modularity value in all studied networks. Moreover, comparing with the best results of others shows that across all networks, even the average results obtained through 50 runs of MA-Net are better than the best results of GN, CNM and GATHB. Only for the Jazz network the best result of GATHB is same as average result of MA-Net. The comparison between the two memetic algorithms of MA-Net and Meme-Net, show that the average results of MA-Net ( in four networks (Karate, Dolphin, Polbook and Jazz network) are
better than the maximal results of Meme-Net and only in the football network the is less than Meme-Net result. Finally, to show the reliability of MA-Net in community detection, we reported the that means the standard deviation of modularity values obtained after 50 runs of the algorithm in each network. Across all benchmark networks obtained by MANet are very small and always less than 0.005. Surprisingly, in all trials MA-Net obtained the optimal solution for the Jazz network. Therefore the standard deviation in Jazz network is equal to zero. To conclude, the experimental results demonstrate that although the proposed algorithm is a memetic algorithm with a randomized behavior and no performance guarantee, in compares very well with state-of-the-art algorithms, it is highly reliable in finding good partitions and it is robust in handling different networks and detecting high quality community structures.
4
Conclusion and future work
Nowadays, the growth of complex systems research brings the need of novel sets of analytical methods aimed at understanding the underling properties and mechanisms by decomposing it in tightly coupled subsystems. One of the challenging problems in complex network analysis is detecting the community structure in large-scale networks. In this study, we proposed a novel approach to reveal community structure of the network. The proposed strategy is a memetic algorithm with problem-specific recombination and mutation operators. The experimental comparisons on real-world benchmark networks illustrate that our proposed MA-Net performs better than traditional algorithms on the same set of instances and is highly competitive with state-ofthe-art methods. In addition, our experiments have shown that the MA-Net approach can always discover good solutions for the community detection problem with a small deviation from the optimal solution for modularity optimization. Future work will aim at investigating the algorithm’s performance for larger networks and converting the single modularity optimization problem into a multi-objective problem, which can overcome the weakness of modularity in detecting small communities.
References 1. 2. 3.
4.
Gavin, A.-C., et al., Proteome survey reveals modularity of the yeast cell machinery. Nature, 2006. 440: p. 631-636. Krogan, N.J., et al., Global landscape of protein complexes in the yeast Saccharomyces cerevisiae. Nature, 2006. 440(7084): p. 637-643. Lee J, L.J., Hidden information revealed by optimal community structure from a protein-complex bipartite network improves protein function prediction. http://www.ncbi.nlm.nih.gov/pubmed/23577106, 2013. Brin, S. and L. Page, The anatomy of a large-scale hypertextual Web search engine. Computer Networks and ISDN Systems, 1998. 30(1–7): p. 107-117.
5. 6. 7. 8.
9.
10.
11.
12. 13. 14. 15. 16. 17.
18. 19. 20. 21. 22. 23.
Smith, M.A. and P. Kollock, Communities in cyberspace. Vol. 1. 1999: Routledge London. Ahn, Y.-Y., J.P. Bagrow, and S. Lehmann, Link communities reveal multiscale complexity in networks. Nature, 2010. 466(7307): p. 761-764. Stam, C.J. and J.C. Reijneveld, Graph theoretical analysis of complex networks in the brain. Nonlinear biomedical physics, 2007. 1(1): p. 3. Bullmore, E. and O. Sporns, Complex brain networks: graph theoretical analysis of structural and functional systems. Nature Reviews Neuroscience, 2009. 10(3): p. 186198. de Vries, N.J., J. Carlson, and P. Moscato, A Data-Driven Approach to Reverse Engineering Customer Engagement Models: Towards Functional Constructs. PloS one, 2014. 9(7): p. e102768. Gong, M., et al., An Improved Memetic Algorithm for Community Detection in Complex Networks, in WCCI 2012 IEEE World Congress on Computational Intelligence. 2012. Girvan, M. and M.E.J. Newman, Community structure in social and biological networks. Proceedings of the National Academy of Sciences, 2002. 99(12): p. 78217826. Brandes, U., et al., On Modularity Clustering. Knowledge and Data Engineering, IEEE Transactions on, 2008. 20(2): p. 172-188. Fortunato, S., Community detection in graphs. Physics Reports, 2010. 486(3–5): p. 75-174. Newman, M.E.J. and M. Girvan, Finding and evaluating community structure in networks. Physical Review E, 2004. 69(2): p. 026113. Newman, M.E.J., Analysis of weighted networks. Physical Review E, 2004. 70(5): p. 056131. Brandes, U., et al., Maximizing Modularity is hard. eprint arXiv:physics/0608255, 2006. Xu, G., S. Tsoka, and L.G. Papageorgiou, Finding community structures in complex networks using mixed integer optimisation. The European Physical Journal B, 2007. 60(2): p. 231-239. Aloise, D., et al., Column generation algorithms for exact modularity maximization in networks. Physical Review E, 2010. 82(4): p. 046112. Barber, M.J. and J.W. Clark, Detecting network communities by propagating labels under constraints. Physical Review E, 2009. 80(2): p. 026129. Clauset, A., M.E.J. Newman, and C. Moore, Finding community structure in very large networks. Physical Review E, 2004. 70. Newman, M.E.J., Fast algorithm for detecting community structure in networks. Physical Review E, 2004. 69(6): p. 066133. Blondel, V.D., et al., Fast unfolding of communities in large networks. Physics and Society, 2008. Waltman, L. and N. Eck, A smart local moving algorithm for large-scale modularitybased community detection. The European Physical Journal B, 2013. 86(11): p. 1-14.
24.
25.
26.
27. 28. 29. 30.
31. 32. 33.
34. 35.
36.
37.
38. 39. 40. 41.
Shiokawa, H., Y. Fujiwara, and M. Onizuka. Fast Algorithm for Modularity-based Graph Clustering. in Twenty-Seventh AAAI Conference on Artificial Intelligence. 2013. Liu, J. and T. Liu, Detecting community structure in complex networks using simulated annealing with -means algorithms. Physica A: Statistical Mechanics and its Applications, 2010. 389(11): p. 2300-2309. Rosvall, M. and C.T. Bergstrom, An information-theoretic framework for resolving community structure in complex networks. Proceedings of the National Academy of Sciences, 2007. 104(18): p. 7327-7331. Lee, J., S.P. Gross, and J. Lee, Modularity optimization by conformational space annealing. Physical Review E, 2012. 85(5): p. 056702. Tasgin, M. and H. Bingol, Community Detection in Complex Networks Using Genetic Algorithm. 2007, Cornell University Library. Li, J. and Y. Song, Community detection in complex networks using extended compact genetic algorithm. Soft Computing, 2013. 17(6): p. 925-937. Pizzuti, C., GA-Net: A Genetic Algorithm for Community Detection in Social Networks, in Parallel Problem Solving from Nature – PPSN X, G. Rudolph, et al., Editors. 2008, Springer Berlin Heidelberg. p. 1081-1090. Gach, O. and J.-K. Hao, A Memetic Algorithm for Community Detection in Complex Networks. Lecture Notes in Computer Science, 2012. 7492: p. pp 327-336. Gong, M., et al., Memetic algorithm for community detection in networks. Physical Review E, 2011. 84(5). Liu, D., et al., Genetic Algorithm with a Local Search Strategy for Discovering Communities in Complex Networks. International Journal of Computational Intelligence Systems, 2013. 6(2): p. 354-369. Ma, L., et al., Multi-level learning based memetic algorithm for community detection. Applied Soft Computing, 2014. 19(0): p. 121-133. Song, Y., et al. Community detection using parallel genetic algorithms. in Advanced Computational Intelligence (ICACI), 2012 IEEE Fifth International Conference on. 2012. Riedy, J., D.A. Bader, and H. Meyerhenke. Scalable Multi-threaded Community Detection in Social Networks. in Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012 IEEE 26th International. 2012. Riedy, E.J., et al., Parallel Community Detection for Massive Graphs, in Parallel Processing and Applied Mathematics, R. Wyrzykowski, et al., Editors. 2012, Springer Berlin Heidelberg. p. 286-296. Good, B.H., Y.-A. de Montjoye, and A. Clauset, Performance of modularity maximization in practical contexts. Physical Review E, 2010. 81(4): p. 046106. Fortunato, S. and M. Barthélemy. Resolution limit in community detection. in PNAS. 2007. USA. Li, Z., et al., Quantitative function for community detection. Physical Review E, 2008. 77(3): p. 036109. Pizzuti, C. A Multi-objective Genetic Algorithm for Community Detection in Networks. in Tools with Artificial Intelligence, 2009. ICTAI '09. 21st International Conference on. 2009.
42.
Gong, M., et al., Community detection in networks by using multiobjective evolutionary algorithm with decomposition. Physica A: Statistical Mechanics and its Applications, 2012. 391(15): p. 4050-4060.
43.
Neri, F., C. Cotta, and P. Moscato, Handbook of memetic algorithms. Vol. 379. 2011: Springer. Pizzuti, C., A multiobjective genetic algorithm to find communities in complex networks. Evolutionary Computation, IEEE Transactions on, 2012. 16(3): p. 418-430. Liu, X. and T. Murata, Advanced modularity-specialized label propagation algorithm for detecting communities in networks. Physica A: Statistical Mechanics and its Applications, 2010. 398(7). Rotta, R. and A. Noack, Multilevel local search algorithms for modularity clustering. J. Exp. Algorithmics, 2011. 16: p. 2.1-2.27. Derrac, J., et al., A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm and Evolutionary Computation, 2011. 1(1): p. 3-18. Zachary, W.W., An Information Flow Model for Conflict and Fission in Small Groups. Journal of Anthropological Research, 1977. 33(4): p. 452473. Lusseau, D., et al., The bottlenose dolphin community of Doubtful Sound features a large proportion of long-lasting associations. Behavioral Ecology and Sociobiology, 2003. 54(4): p. 396-405. Krebs, V., A network of books about US politics sold by Amazon.com. 2008: http://www.orgnet.com/. Duch, J. and A. Arenas, Community detection in complex networks using Extremal Optimization. Physical Review E, 2005. 72(027104).
44.
45.
46. 47.
48.
49.
50. 51.