An Efficient Multiobjective Evolutionary Algorithm for Community ...

3 downloads 0 Views 188KB Size Report
must be more links inside the community than links connecting nodes of the community with the rest of the network. In this way community detection problem can ...
An Efficient Multiobjective Evolutionary Algorithm for Community Detection in Social Networks Babak Amiri, Liaquat Hossain and John W. Crawford The University of Sydney Sydney, Australia [email protected]

Abstract—Community detection in complex networks has been addressed in different ways recently. To identify communities in social networks we can formulate it with two different objectives, maximization of internal links and minimization of external links. Because these two objects are correlated, the relationship between these two objectives is a trade-off. This study employed harmony search algorithm, which was conceptualized using the musical process of finding a perfect state of harmony to perform this bi-objective trade-off. In the proposed algorithm an external repository considered to save non-dominated solutions found during the search process and a fuzzy clustering technique is used to control the size of repository. The harmony search algorithm was applied on well-known real life networks, and good Pareto solutions were obtained when compared with other algorithms, such as the MOGA-Net and Newman algorithms. Keywords-complex harmony search

network;

I.

community;

multiobjective;

INTRODUCTION

Community structure or clustering is one of the most relevant features of networks representing real systems. Community is a cluster of vertices in network, with many edges joining them and comparatively few edges joining vertices of different clusters. Communities or clusters like that can be considered, as independent partitions of a network that playing a similar role like a group of customers in market [1]. Community detection and network structure analysis recently have attracted the attention of researches in deferent areas. This problem can be considered as an optimization problem [2] that is very hard and lots of studies have been done to solve it based on evolutionary methods like, GA [3, 4, 5, 6, 7 and 8], SA [9] and collaborative evolutionary algorithms [10] and [29]. In order to find good communities, we need a proper quality function that should be intuitive and easy to agree upon. To evaluate the goodness of a community having a quantitative criterion will be helpful and sometimes even necessary. A quality function is a function that assigns a number to each community of network and communities can be ranked based on these quality function scores. Communities with high scores are good but determining when a cluster is better than another one, depend on the specific concept of community and/or quality function adopted. There is not any universally accepted

978-1-4244-7835-4/11/$26.00 ©2011 IEEE

definition of quality function because it depends on the specific system at hand and/or its application. There is reference guideline at the basis of most community definitions that there must be more links inside the community than links connecting nodes of the community with the rest of the network. In this way community detection problem can be formulated with two different objectives, maximization of internal links and minimization of external links [11]. The relationship between these two objectives is a trade-off because these two objects are correlated. Then the community detection problem can be formulated as a multi-objective optimization problem. In order to overcome this problem this study proposed a multi-objective algorithm based on harmony search algorithm. The harmony search algorithm developed by Geem et al [12] and has been successfully applied to various combinatorial optimization problems [13, 14 and 15]. It applies the musical process of searching for a perfect state of harmony. The harmony in music is analogous to the optimization solution vector, and the musician's improvisations are analogous to local and global search schemes in optimization techniques. The proposed algorithm optimize two objective functions, first the community score that measure the density of obtained clusters and second the community fitness that minimize the external links. A prior knowledge of number of communities is not needed in this approach. This method returns a set of solutions that each of them corresponding to different trade of between the two objectives and give a great chance to analyze hierarchy of communities. The rest of the paper is organized as follows. Section 2 introduced the community detection problem. The concept of multi-objective optimization problem reviewed in section 3. The original harmony search algorithm explained in section 4. In section 5 the proposed multi-objective algorithm for community detection is presented, and then in section 6 experimental result of proposed algorithm in comparison with other approaches are shown.

II. COMMUNITY DETECTION PROBLEM In this study an undirected network G = (V, E) defined by a set of nodes {V} or vertices, and a set of links {E} that connect two elements of V. A community consists of vertices and edge between these nodes, where nodes often cluster into tightly knit

2193

groups with high density of within group connections and lower density of between group connections [16]. A network can be represented mathematically by an adjacency matrix A, if there is an edge from v i to v j ,  = 1 and  = 0 otherwise. The degree k i of a node i, defined as  =   . Let C  G the sub-graph where node i belongs to, the degree of i with respect to C can be split as  () =  () +  (), where  () =    is the number of edges connect the i to the other nodes in C, and  () =   is the number of edges connecting i to the rest of the network. A sub-graph C is a community in a strong sense if  () >  (), i C. A sub-graph C is a community if    () >    (). The quality measure of a community C that maximizes the in-degree of the nodes belonging to C has been introduced in [6]. On the other hand, in [17], a criterion that minimizes the out-degree of a community is defined. We now first recall the definitions of these measures, and then we show how they can be exploited in a multi-objective approach to find communities. In the following, without loss of generality, the network graph is assumed to be undirected. Let ȝ i denote the fraction of edges connecting node i to the  other nodes in C. More formally  = ||  () where |C| is the cardinality of C. The power mean of C of order r, denoted as M(C) is defined as () =

 ( ) ||

(1)

Notice that in the calculation of M(C), since 0”ȝ”, the exponent r increases the weight of nodes having many connections with other nodes belonging to the same module, and diminishes the weight of those nodes having few connections inside C. The volume v C of a community C is defined as the number of edges connecting vertices inside C, i.e the number of 1 entries in the adjacency sub-matrix of A corresponding to C,  = ,   . The score of C is defined as score (C) = M(C) × v C . Thus, the score takes into account both the fraction of interconnections among the nodes (through the power mean) and the number of interconnections contained in the module C (through the volume). The community score of a clustering {C 1, ... C k } of a network is defined as  =   ( )

(2)

The community score gives a global measure of the network division in communities by summing up the local score of each module found. The problem of community detection has been formulated in [6] as the problem of maximizing CS. In [17] the concept of community fitness of a module C is defined as

!() =  *

" () " ( ()#$%& ())'

(3)

where  () and  () are the internal and external degrees of the nodes belonging to the community C, and Į is a positive real-valued parameter controlling the size of the communities. The community fitness has been used by [17] to find communities.

III.

MULTIOBJECTIVE OPTIMIZATION PROBLEM

In a multi-objective optimization problem, the purpose is to optimize several conflicting objectives simultaneously while some constraints should be met. The community detection problem algorithm can be formulized as a multi-objective problem because two objective functions competing each other. The first is maximizing interconnections links and the second is to minimize connections between communities. The multiobjective problem can be described as follows [18]: -./ 2 = [3 (4), 35 (4), … , 3 (4)]

(4)

where 3 (4) is the i objective function and X is the vector of the optimization variables, n is the number of objective functions. th

The solution of the multi-objective optimization problem is a set of Pareto points. In the multi-objective optimization problem, a solution 4 6 7 is a Pareto optimal if there is no solution (X) in 7 such that X dominates X*. 7 is the set of all feasible values of X. The solution X 1 is said to dominate the solution X 2 if  9 {1, 2, … , /}, 3 (4 ) ; 3 (45 )

(5)

<  {1, 2, … , /}, 3 (4 ) ; 3 (45 ) Solutions, which dominate the others, but do not dominate themselves, are called non-dominated solutions.

IV.

HARMONY SEARCH ALGORITHM 3B

Harmony search algorithm is a new algorithm can be conceptualized from a music performance process (say, a jazz improvisation) involving searching for a better harmony. Just like music improvisation seeks a best state (fantastic harmony) determined by aesthetic estimation, optimization process seeks the best state (global optimum) determined by objective function evaluation; Just like aesthetic estimation is determined by the set of the pitches played by ensemble instruments, function evaluation is determined by the set of the values assigned for decision variables; Just like aesthetic sound quality can be improved practice after practice, objective function value can be improved iteration by iteration [12]. Each music player (saxophonist, double bassist, and guitarist) can correspond to each decision variable (x 1 , x 2 , and x 3 ), and the range of each music instrument (saxophone={Do, Re, Mi}; double bass={Mi, Fa, Sol}; and guitar={Sol, La, Si}) corresponds to the range of each variable value (x 1 ={100, 200, 300}; x 2 ={300, 400, 500}; and x 3 = {500, 600, 700}). If the saxophonist toots the note Do, the double bassist plucks Mi, R

R

R

R

R

2194

R

R

R

R

R

R

R

and the guitarist plucks Sol, their notes together make a new harmony (Do, Mi, Sol). If this New Harmony is better than existing harmony, the New Harmony is kept. Likewise, the new solution vector (100, 300, 500) generated in optimization process is kept if it is better than existing harmony in terms of objective function value. Just as the harmony quality is enhanced practice after practice, the solution quality is enhanced iteration by iteration. According to the above algorithm concept and the procedure of harmony search shown consists of the following steps [19]: Step 1. Initialize the problem and algorithm parameters.

nodes participating to the same component are assigned to one cluster. As observed in [21], the decoding step can be done in linear time. A main advantage of this representation is that the number of communities will be determined automatically by the number of components contained in an individual and determined by the decoding step. The HS algorithm parameters are also specified in this step. These are the harmony memory size (HMS), or the number of solution vectors in the harmony memory; harmony memory considering rate (HMCR); pitch adjusting rate (PAR); and the number of improvisations (NI), or stopping criterion. The harmony memory (HM) is a memory location where all the solution vectors (sets of decision variables) are stored.

Step 2. Initialize the harmony memory.

Step 2: Initialize the harmony memory

Step 3. Improvise a new harmony. Step 4. Update the harmony memory. Step 5. Check the stopping criterion. In the next section a description of proposed multiobjective algorithm is given.

V.

In this step the HM matrix is filled with as many randomly generated solution vectors as the HMS by considering the range of values for each variable. Considering possible range of values improve the convergence of the method because the space of the possible solutions is restricted. x A 5 @ x HM = @ D @x EFGC @  ? xEFG

PROPOSED MULTIOBJECTIVE HARMONEY SEARCH ALGORITHM FOR COMMUNITY DETECTION

Before In this work, the search capability of HSA algorithm is specifically used to find communities in social networks. The steps of proposed community detection algorithm as shown in figure 1 are as follow: Step 1: Initializing the problem and algorithm parameters In this phase, As described above, we are interested in identifying a partitioning {C 1 , . . . C k } that maximizes the number of connections inside each community and minimizes the number of links between the modules. The first objective fulfilled by the community score. The first objective function is thus  =    ( ). The second objective is carried out by the community fitness by summing up the fitness's of all the C i modules. The parameter Į, that tunes the size of the communities, has been set to 1 because, in most cases the partitioning found for this value are relevant [17]. The second objective is thus   ! ( ). Our partitioning algorithm uses the locus-based adjacency representation proposed in [20] and employed by [21] for multi-objective clustering. In this graph-based representation an individual of the population consists of N variable x 1 , . . . , x N and for each variable there is a set of possible range of values based on adjacency matrix. For example if node 1 has connection with nodes 3, 5 and 6, possible range of values for x 1 will be {3, 5 and 6}. For isolated node k in the network, possible range of value can be {1, 2, …, k-1, k+1,…N}. Variables and values represent nodes of the graph G = (V, E) modeling a network N, and a value j assigned to the ith variable is interpreted as a link between the nodes i and j of V. This means that in the clustering solution found i and j will be in the same cluster. A decoding step, however, is necessary to identify all the components of the corresponding graph. The

x5

x55

D x5EFGC x5EFG

 … xBC … xBC I D EFGC … xBC EFG … xBC

xB xB D

L K K EFGC K xB K EFG xB J

(6)

Step 3: Store the non-dominated solutions into repository and use the fuzzy clustering to control the size of repository A fuzzy-based clustering procedure has been utilized to control the size of repository. In the procedure, a fuzzy membership function is used to recognize the best compromise solution. In other words, decision-making is done, when the repository gets filled. For any individual in the repository, the membership function of each objective function is defined as follows: 1 R N (O) = 0 WXY Q N CN (O) P NWXYCNW"

3 3 (O) ; 3S 3 3 (O) T 3SUV Z 3S

; 3 (O) ;

(7)

3SUV

where 3S and 3SUV are the lower and upper limits of each objective function, respectively. In the proposed algorithm, the values of f min and f max are evaluated using the results achieved by optimizing each objective function separately. For each individual in the repository, the normalized membership value is evaluated using "

\ (9) = W _bc " abc

^_ ×`_ (Oa )

_bc ^_ ×`_ (Oa )

(8)

where m is the number of non-dominated solutions, n the number of objective functions, and w k is the weight for the kth objective function. This membership function shows a type of decision-making criterion that is adaptive and changes with the available decision options.

2195

Step 4: Improvise a new harmony A new, harmony vector d e = (de , d5e , … , dfe ) is generated based on three rules: (1) memory consideration, (2) pitch adjustment and (3) random selection. Generating a new harmony is called ‘improvisation’ [12].

Store the nondominated solution into the repository and use the fuzzy clustering to control the size of repository

In the memory consideration, the value of the first decision variable de for the new vector is chosen from any of the values in the specified HM range (d … dgh* ) HMS. Values of the other decision variables are chosen in the same manner. The HMCR, which varies between 0 and 1, is the rate of choosing one value from the historical values stored in the HM; while (1HMCR) is the rate of randomly selecting one value from the possible range of values. de

i

de

Is the new harmony Pareto dominates?

Improvise a new harmony

No

Reached the maximum Iteration?

Yes

m.no pqrq.s.nt !v Z (10) m.no pqrq.s.nt(1 w !v)

± r/y() × qm

Is the solution harmony Pareto dominates?

No

Yes

Update harmony memory

The value of (1 - PAR) sets the rate of doing nothing. If the pitch adjustment decision for de is YES, de is replaced as follow: de

Yes

Calculate objective functions

For example, a HMCR of 0.85 indicates that the HS algorithm will choose the decision variable value from historically stored values in the HM with an 85% probability or from the entire possible range with a (100–85) % probability. Every component obtained by the memory consideration is examined to determine whether it should be pitch-adjusted. This operation uses the PAR parameter, which is the rate of pitch adjustment as follows: € \

Initialize the harmony memory

No

m.no pqrq.s.nt uv Z d e kd , d5 , … , dgh* l ij  (9) d 4 m.no pqrq.s.nt (1 w uv)

!.no ry9zn./~ y../ 3 dƍ i 

Set the problem and algorithm parameters

Start

Store the nondominated solution into the repository and use the fuzzy clustering to control the size of repository

(11)

where bw is an arbitrary distance bandwidth, rand() is a random number between 0 and 1.

Extract Pareto set

Stop

Step 5: Calculate objective functions In this step the new solution should be decoded to identify all the components of the corresponding graph and then objective functions will be calculated. Step 6: Is the new harmony Pareto dominates? If the new solution is Pareto dominate go to the next step otherwise go to step 8. Step 7: Update harmony memory If the new harmony vector, d e = (de , d5e , … , dfe ) dominates one of solutions in the HM then swap the new harmony with dominated solution in the HM and add the solution to the repository. Step 8: Check stopping criterion If the stopping criterion (maximum number of improvisations) is satisfied, computation is terminated. Otherwise, go to step 4.

FIGURE 1- FLOWCHART OF MOHSA

VI.

EXPERIMENTAL RESULTS

The experimental results compare effectiveness of the multi-objective harmony search algorithm (MOHSA) with Girvan and Newman (GN) [22] and MOGA-Net [6] on four well-known real-life datasets, which are described as follows based on the Normalized Mutual Information [23] and the modularity introduced by Newman [24]. The Zackary’s Karate Club network: was generated by Zachary, who studied the friendship of 34 members of a karate club over a period of two years [25]. During this period, because of disagreements, the club divided in two groups almost of the same size. The Bottlenose Dolphins network: The network of 62 bottlenose dolphins living in Doubtful Sound, New Zealand, was compiled by Lusseau from seven years of dolphins' behavior. A tie between two dolphins was established by their statistically significant frequent association. The network split naturally into two large groups, the number of ties being 159 [26].

2196

The American College Football network: comes from the United States college football. The network represents the schedule of Division I games during the 2000 season. Nodes in the graph represent teams and edges represent the regular season games between the two teams they connect. The teams are divided in conferences. The teams on average played 4 inter-conference matches and 7 intra-conference matches, thus teams tend to play between members of the same conference. The network consists of 115 nodes and 616 edges grouped in 12 teams [27]. The political books compiled by V. Krebs: The nodes represent 105 books on American politics brought from Amazon.com, and edges join pairs of books frequently purchased by the same buyer. Books were divided by Newman [28] according to their political alignment (conservative or liberal), except for a small number of books (13) having no clear affiliation. The effectiveness of stochastic algorithms is greatly dependent on the generation of initial solutions. Therefore, for every dataset, algorithms performed 100 times individually for their own effectiveness tests, each time with randomly generated initial solutions. We have done our experiments on an Intel Core 2 Duo, 2.66 GHz, 4 GB RAM computer and we have coded with Matlab 7.11 software. The Normalized Mutual Information (NMI) is a similarity measure proved to be reliable by Danon et al. [23]. Given two partitions A and B of a network in communities, let C be the confusion matrix whose element C ij is the number of nodes of community i of the partition A that are also in the community j of the partition B. The normalized mutual information I(A, B) is defined as: a † ) . .a .a . ˆŠ ˆ‰ bc . „ …( )#abc .a „ …( ) † † ˆ

(, ‚) =

TABLE 1 NMI RESULT OBTAINED BY THE THREE ALGORITHMS ON ZACKARY’S KARATE CLUB DATA NMI



 5 5S

 ‘

Standard deviation

MOHSA

0.9755

0.9662

0.9537

0.0087

GN

0.6921

0.6675

0.6364

0.0270

MOGA-Net

0.9986

0.9986

0.9986

0.0000

Modularity Best

Average

Worst

Standard deviation

MOHSA

0.4199

0.4199

0.4199

0.0000

GN

0.4176

0.4067

0.3948

0.0110

MOGA-Net

0.4151

0.4149

0.4148

0.0010

TABLE 3 NMI RESULT OBTAINED BY THE THREE ALGORITHMS ON BOTTLENOSE DOLPHINS DATA NMI Best

Average

Worst

Standard deviation

0.9886

0.9885

0.9884

0.0001

Method MOHSA GN

0.5744

0.5738

0.5732

0.0004

MOGA-Net

0.9996

0.9996

0.9996

0.0000

TABLE 4 MODULARITY RESULT OBTAINED BY THE THREE ALGORITHMS ON BOTTLENOSE DOLPHINS DATA Modularity Method Best

(12)

The modularity of Newman and Girvan [24] is a wellknown quality function to evaluate the goodness of a partition. Let k be the number of modules found inside a network, the modularity is defined as: „  ŒS

Worst

Method

where c A (c B ) is the number of groups in the partition A (B), C i . (C .j ) is the sum of the elements of C in row i (column j), and N is the number of nodes. If A = B, I(A, B) = 1. If A and B are completely different, I (A, B) = 0.

‹ = ’

Average

TABLE 2 MODULARITY RESULT OBTAINED BY THE THREE ALGORITHMS ON ZACKARY’S KARATE CLUB DATA

ˆ

Š  ‰  „ …( C5 bc abc a

Best

Method

Worst

Standard deviation

MOHSA

0.5234

0.5233

0.5231

0.0001

GN

0.4961

0.4853

0.4774

0.0120

MOGA-Net

0.5048

0.5038

0.5029

0.0090

TABLE 5 NMI RESULT OBTAINED BY THE THREE ALGORITHMS ON AMERICAN COLLEGE FOOTBALL DATA NMI Best

Average

Worst

Standard deviation

0.7984

0.7973

0.7959

0.0012

Method MOHSA

(13)

where l s is the total number of edges joining vertices inside the module s, and d s is the sum of the degrees of the nodes of s. The first term of each summand of the modularity Q is the fraction of edges inside a community; the second one is the expected value of the fraction of edges that would be in the network if edges fall at random without regard to the community structure. Values approaching 1 indicate strong community structure.

Average

GN

0.7619

0.734

0.717

0.0280

MOGA-Net

0.7953

0.778

0.764

0.0161

TABLE 6 MODULARITY RESULT OBTAINED BY THE THREE ALGORITHMS ON AMERICAN COLLEGE FOOTBALL DATA

The comparison of results for each dataset is illustrated in Tables 1–8.

2197

Modularity Best

Average

Worst

Standard deviation

MOHSA

0.6035

0.6023

0.6011

0.0012

GN

0.5766

0.5474

0.5283

0.0294

MOGA-Net

0.5148

0.4978

0.4784

0.0158

Method

TABLE 7 NMI RESULT OBTAINED BY THE THREE ALGORITHMS ON BOOKS ON AMERICAN POLITICS DATA NMI Method

KREBS’

Standard deviation

Best

Average

Worst

MOHSA

0.5965

0.5958

0.5953

0.0006

GN

0.5296

0.5044

0.4792

0.0243

MOGA-Net

0.5971

0.5826

0.5675

0.0142

TABLE 8 MODULARITY RESULT OBTAINED BY THE THREE ALGORITHMS ON KREBS’ BOOKS ON AMERICAN POLITICS DATA Modularity Method Best

Average

Worst

advantages when compared with other optimization techniques, it does not require complex calculus, thus it is free from divergence and proposed algorithm does not require initial value settings for the decision variables, thus it may escape local optima. The proposed algorithm for community detection can be used when the number of clusters is unknown a priori. To evaluate the performance of the HSA algorithm, it compared with MOGA-Net and Girvan Newman algorithms. The algorithm implemented and tested on several real datasets; showing that it is rather efficient to discover the community structure of complex networks. Thus proposed algorithm can be considered as a viable and an efficient heuristic to find optimal or near optimal solutions of clustering problems.

Standard deviation

MOHSA

0.5273

0.5272

0.5270

0.0001

GN

0.5024

0.4818

0.5011

0.0177

MOGA-Net

0.5176

0.5136

0.5075

0.0039

REFERENCES [1] [2] [3]

For the Zachary’s Karate Club data (Table 1) it is found that the MOHSA algorithm provides the NMI value of 0.9755. The Newman algorithm found value of 0.6921 and MOGA-Net found value of 0.9986. In term of modularity the proposed algorithm provided value of 0.4199 in all runs, on the other hand Newman and MOGA-Net algorithms attained 0.4176 and 0.4151 respectively as shown in Table 2. The MOHSA found 4 communities for this dataset in all runs. For Bottlenose Dolphins data (Table 3 and Table 4) the best MOHSA algorithm attained the best values of 0.9886 and 0.5234 for NMI and modularity, respectively. In all runs four communities have been detected by the MOHSA. The best NMI and modularity values provided by MOGA-Net were 0.9996 and 0.05048. The MOHSA algorithm detected 11 communities for the American College Football data (Table 5 and 6) attained the best value of 0.7984 and 0.6035 for NMI and modularity respectively. Newman and MOGA-Net algorithms provided the best values of 0.7619 and 0.7953 for NMI and 0.5283 and 0.5766 and 0.5148 in term of modularity. For the community detection problem, on Krebs’ books on American Politics data results given in Table 7 and 8 show that the MOHSA provide the optimum value of 0.5965 for NMI and 0.5273 for modularity and it found 4 communities in all solutions. The MOHSA algorithm was much more stable than other algorithms as can be observed from Tables 1 to 8. The result illustrate that the proposed MOHSA community detection approach can be considered as a viable and an efficient heuristic to find optimal or near optimal solutions to community detection problem in networks.

[4]

[5] [6] [7]

[8]

[9]

[10]

[11] [12]

[13] [14]

[15] [16]

VII. CONCLUSION In summary, in this paper a new multi-objective community detection algorithm is presented based on the recently developed HS meta-heuristic algorithm that it was conceptualized using the musical process of searching for a perfect state of harmony. Proposed algorithm has several

[17]

[18]

2198

S. Fortunato, “Community detection in graph,” Physics Reports, 486, 75-174, 2010. A. Ferligoj and V. Batageli, “Direct multicriterion clustering,” Journal of Classification, 9:43-61, 1992. M. Tasgin and H. Bingol, “Community detection in complex networks using genetic algorithm,” cond-mat/0604419, 2006. X. Liu, D. Li, S. Wang, and Z. Tao, “Effective algorithm for detecting community structure in complex networks based on GA and clustering,” Proceedings of the 7th International Conference on Computational Science, 657-664, 2007 C. Pizzuti, “Community detection in social networks with genetic algorithms,” GECCO, 11371138, 2008. C. Pizzuti, “GA-Net: a genetic algorithm for community detection in social networks,” PPSN, 1081-1090, 2008. C.Pizzuti,“Amulti-objectivegeneticalgorithmforcommunity detection in networks,” Proceedings of the 21st IEEE International Conference on Tools with Artificial Intelligence, 379-386, 2009. D. He, Z. Wang, B. Yang, and C. Zhou, “Genetic algorithm with ensemble learning for detecting community structure in complex networks,” Proceedings of the 4th International Conference on Computer Sciences and Convergence Information Technology, 702-707, 2009. J. Liu and T. Liu, “Detecting community structure in complex networks using simulated annealing with k-means algorithms,” Physica A, 389, 2300-2309, 2010. A. Gog, D. Dumitrescu, and B. Hirsbrunner, “Community detection in complex networks using collaborative evolutionary algorithms,” Proceedings of the 9th European Conference on Artificial Life, 886-894, 2007. J. Kleinberg, “An impossibility theorem for clustering”, Advances in NIPS 15, MIT Press, Boston, USA, 446–453, 2002,. Z. W. Geem, J. H. Kim and G. V. Loganathan, “A new heuristic optimization algorithm: harmony search,” Simulation, 76 (2):60–8, 2001. Z. W. Geem, “Harmony search in water pump switching problem,” Lecture Notes Computer Science, 3612, 751-760, 2005. R. Forsati, A. T. Haghighat and M. Mahdavi, “Harmony search based algorithm for bandwith delay constrainted least cost multicast routing,” Comput. Commun., 31(10), 2505-2519, 2008. M. P. Saka, “Optimum geometry design of geodesic domes using harmony search algorithm,” Adv. Struct. Eng., 10(6), 595-606, 2007. F. Radicchi, C. Castellano, F. Cecconi, V. Loreto and D. Parisi. “Defining and identifying communities in networks,” Proceeding of Nationl Academy of Science, USA, 101(9):2658–2663, 2004. A. Lancichinetti, S. Fortunato, and J. .HUWHғV], “Detecting the overlapping and hierarchical community structure of complex networks,” arXiv:0802.1281v1 [physics.soc-ph], 2008. C. M. Lin and M. Gen, “Multi-criteria human resource allocation for solving multistage combinatorial optimization problems using

[19]

[20]

[21]

[22] [23]

[24] [25] [26]

[27]

[28] [29]

multibjective hybrid genetic algorithm,” Expert System with Application, 34(4):2480-2490, 2008. K. .S. Lee, Z. W. Geem, “A new meta-heuristic algorithm for continues engineering optimization: harmony search theory and practice,” Comput. Meth. Appl. Mech. Eng., 194, 3902–3933, 2004. Y. J. Park and M. S. Song, “A genetic algorithm for clustering problems,” Proceeding of 3rd Annual Conference on Genetic Algorithms, 2–9, 1989. J. Handle and J. Knowles. “An evolutionary approach to multiobjective clustering,” IEEE trans-actions on Evolutionary Computation, 11(1):56– 76, 2007. A. Clauset, M. E. J. Newman and C. Moore, “Finding community structure in very large networks,” Phys. Rev. E 70, 066111, 2004. L. Danon, A. Daz-Guilera, J. Duch, and A. Arenas, “Comparing community structure identification,” Journal of Statistical Mechanics, P09008, 2005. M. E. J. Newman and M. Girvan, “Finding and evaluat- ing community structure in networks,” Physical Review E, 69:026113, 2004. W. W. Zachary, “Aninformationflowmodelforconflictandfissionin small groups,” Journal of Anthropological Research, 33, 452-473, 1977. D. Lusseau, K. Schneider, O. J. Boisseau, P. Haase, E. Slooten and S. M. Dawson, “The bottlenose dolphin community of Doubtful Sound features a large proportion of long-lasting associations,” Behavioral Ecology and Sociobiology, 54, 396-405, 2003. M. Girvan and M. E. J. Newman, “Community structure in social and biological networks,” Proceeding of National. Academy of Science. USA 99, 7821-7826, 2002. V.Krebs,unpublished,http://www.orgnet.com/. J. Liu, W. Zhong, H. A. Abbass and D. G. Green, “Seperated and overlaping community detection in complex networks using multiobjectiive evolutionary algorithms,” Proceedings of the IEEE Congeress on Evolutionary Computation, 1-7, 2010.

2199