Sei sulla pagina 1di 17

172 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 20, NO.

2, FEBRUARY 2008

On Modularity Clustering
Ulrik Brandes, Daniel Delling, Marco Gaertler, Robert Görke,
Martin Hoefer, Zoran Nikoloski, and Dorothea Wagner

Abstract—Modularity is a recently introduced quality measure for graph clusterings. It has immediately received considerable
attention in several disciplines, particularly in the complex systems literature, although its properties are not well understood. We study
the problem of finding clusterings with maximum modularity, thus providing theoretical foundations for past and present work based on
this measure. More precisely, we prove the conjectured hardness of maximizing modularity both in the general case and with the
restriction to cuts and give an Integer Linear Programming formulation. This is complemented by first insights into the behavior and
performance of the commonly applied greedy agglomerative approach.

Index Terms—Graph clustering, graph partitioning, modularity, community structure, greedy algorithm.

1 INTRODUCTION

G RAPH clustering is a fundamental problem in the


analysis of relational data. Studied for decades and
applied to many settings, it is now popularly referred to as
restriction to cuts and give an integer linear programming
(ILP) formulation to facilitate optimization without enumera-
tion of all clusterings. Since the most commonly employed
the problem of partitioning networks into communities. In heuristic to optimize modularity is based on greedy agglom-
this line of research, a novel graph clustering index called eration, we investigate its worst-case behavior. In fact, we
modularity has recently been proposed [1]. The rapidly give a graph family for which the greedy approach yields an
growing interest in this measure prompted a series of approximation factor no better than two. In addition, our
examples indicate that the quality of greedy clusterings may
follow-up studies on various applications and possible
heavily depend on the tie-breaking strategy utilized. In fact,
adjustments (for example, see [2], [3], [4], [5], [6]). More-
in the worst case, no approximation factor can be provided.
over, an array of heuristic algorithms has been proposed to These performance studies are concluded by optimally
optimize modularity. These are based on a greedy partitioning some previously considered networks, which
agglomeration [7], [8], spectral division [9], [10], simulated yields further insight.
annealing [11], [12], or extremal optimization [13] to name a This paper is organized as follows: Section 2 shortly
few prominent examples. Although these studies often introduces preliminaries, formulations of modularity, and
provide plausibility arguments in favor of the resulting an ILP formulation of the problem. The basic and counter-
partitions, we know of only one attempt to characterize intuitive properties of modularity are observed in Section 3.
properties of clusterings with maximum modularity [2]. In Our N P-completeness proofs are given in Section 4,
particular, none of the proposed algorithms has been followed by an analysis of the greedy approach in Section 5.
shown to produce optimal partitions with respect to The theoretical investigation is extended by characteriza-
modularity. tions of the optimum clusterings for cliques and cycles in
In this paper, we study the problem of finding clusterings Section 6. Our work is concluded by revisiting examples
with maximum modularity, thus providing theoretical from previous work in Section 7 and a brief discussion in
foundations for the past and present work based on this Section 8.
measure. More precisely, we prove the conjectured hardness
of maximizing modularity both in the general case and the 2 PRELIMINARIES
Throughout this paper, we will use the notation in [14].
. U. Brandes is with the Department of Computer and Information Science, More precisely, we assume that G ¼ ðV ; EÞ is an undirected
University of Konstanz, Box D 67, 78457 Konstanz, Germany. connected graph with n :¼ jV j vertices and m :¼ jEj edges.
E-mail: brandes@inf.uni-konstanz.de. Denote by C ¼ fC1 ; . . . ; Ck g a partition of V . We call C a
. D. Delling, M. Gaertler, R. Görke, and D. Wagner are with the Faculty of
Informatics, Universität Karlsruhe (TH), ITI Wagner, Box 6980, 76128 clustering of G and the Ci , which are required to be
Karlsruhe, Germany. nonempty, clusters. C is called trivial if either k ¼ 1 or k ¼ n.
E-mail: {delling, gaertler, goerke, wagner}@ira.uka.de. We denote the set of all possible clusterings of a graph G
. M. Hoefer is with the Department of Computer Science, RWTH Aachen, with AðGÞ. In the following, we often identify a cluster Ci
Lehrstuhl Informatik I, Ahornstrasse 55, 52074 Aachen, Germany.
E-mail: mhoefer@cs.rwth-aachen.de.
with the induced subgraph of G, that is, the graph
. Z. Nikoloski is with the Max-Planck Institute of Molecular Plant G½Ci  :¼ ðCi ; EðCi ÞÞ, where
Physiology, Bioinformatics Group, Am Mühlenberg 1, 14476 Potsdam-
Golm, Germany. E-mail: nikoloski@mpimp-golm.mpg.de. EðCi Þ :¼ ffv; wg 2 E : v; w 2 Ci g:
S
Manuscript received 6 Mar. 2007; revised 27 June 2007; accepted 5 Sept. Then, EðCÞ :¼ ki¼1 EðCi Þ is the set of intracluster edges, and
2007; published online 20 Sept. 2007.
For information on obtaining reprints of this article, please send e-mail to:
E n EðCÞ is the set of intercluster edges. The number of
tkde@computer.org, and reference IEEECS Log Number TKDE-2007-03-0096. intracluster edges is denoted by mðCÞ, and the number of
Digital Object Identifier no. 10.1109/TKDE.2007.190689. intercluster edges by mðCÞ. The set of edges that have one
1041-4347/08/$25.00 ß 2008 IEEE Published by the IEEE Computer Society
BRANDES ET AL.: ON MODULARITY CLUSTERING 173

end node in Ci and the other end node in Cj is denoted by Lemma 3.1. Let G be an undirected and unweighted graph and
EðCi ; Cj Þ. let C 2 AðGÞ. Then, 1=2  qðCÞ  1 holds.
2.1 Definition of Modularity Proof. Let mi ¼ jEðCÞj beP the number of edges inside
Modularity is a quality index for clustering. Given a simple cluster C and let me ¼ C6¼C 0 2C jEðC; C 0 Þj be the number
graph G ¼ ðV ; EÞ, we follow [1] and define the modularity of edges that have exactly one end node in C. Then, the
qðCÞ of a clustering C as contribution of C to qðCÞ is
mi mi me 2
qðCÞ :¼  þ :
" # m m 2m
X jEðCÞj jEðCÞj þ P 0 jEðC; C 0 Þj2 ð1Þ
C 2C This expression is strictly decreasing in me , and
 :
C2C
m 2m when varying mi , the only maximum point is
at mi ¼ ðm  me Þ=2. The contribution of a cluster is
Note that C 0 ranges over all clusters so that edges in EðCÞ minimized when mi is zero and me is as large as
are counted twice in the squared expression. This is to possible. Supposing now that mi ¼ 0, using the
adjust proportions, since edges in EðC; C 0 Þ and C 6¼ C 0 are inequality ða þ bÞ2  a2 þ b2 for all nonnegative num-
counted twice as well, once for each ordering of the bers a and b, the modularity has a minimum score for
arguments. Note that we can rewrite (1) into a more two clusters where all edges are intercluster edges. The
convenient form: upper bound is obvious from our reformulation in (2)
" 2 #
X jEðCÞj P and has previously been observed [2], [3], [15]. It can
v2C degðvÞ only be actually attained in the specific case of a graph
qðCÞ ¼  : ð2Þ
C2C
m 2m with no edges, where the coverage is defined to be 1.t u
This reveals an inherent trade-off. To maximize the first term, As a result, any bipartite graph Ka;b with the canonic
many edges should be contained in clusters, whereas the clustering C ¼ fCa ; Cb g yields the minimum modularity of
minimization of the second term is achieved by splitting the 1=2. The following results characterize the structure of a
graph into many clusters, with small total degrees each. Note clustering with maximum modularity.
that the first term jEðCÞj=m is also known as coverage [14].
Corollary 3.2. Isolated nodes have no impact on modularity.
2.2 Maximizing Modularity via Integer Linear
Programming Corollary 3.2 directly follows from the fact that mod-
The problem of maximizing modularity can be cast into a ularity depends on edges and degrees; thus, an isolated
very simple and intuitive ILP. Given a graph G ¼ ðV ; EÞ node does not contribute, regardless of its association to a
with n :¼ jV j nodes, we define n2 decision variables cluster. Therefore, we exclude isolated nodes from further
Xuv 2 f0; 1g, one for every pair of nodes u, v 2 V . The key consideration in this work; that is, all nodes are assumed to
idea is that these variables can be interpreted as an be of degree greater than zero.
equivalence relation (over V ) and thus form a clustering. Lemma 3.3. A clustering with maximum modularity has no
In order to ensure consistency, we need the following cluster that consists of a single node with a degree of 1.
constraints, which guarantee
Proof. Suppose, for contradiction, that there is a clustering C
reflexivity 8 u : Xuu ¼ 1; with a cluster Cv ¼ fvg and degðvÞ ¼ 1. Consider a
cluster Cu that contains the neighbor node u. Suppose
symmetry 8 u; v : Xuv ¼ Xvu ; and there are a number of mi intracluster edges in Cu and
8
< Xuv þ Xvw  2  Xuw
>  1 me intercluster edges that connect Cu to other clusters.
transitivity 8 u; v; w : Xuw þ Xuv  2  Xvw  1 Together, these clusters add
>
:
Xvw þ Xuw  2  Xuv  1: mi ð2mi þ me Þ2 þ 1
 ;
The objective function of modularity then becomes m 4m2
  to qðCÞ. Merging Cv with Cu results in a new
1 X degðuÞ degðvÞ
Euv  Xuv ; contribution of
2m ðu;vÞ2V 2 2m
 mi þ 1 ð2mi þ me þ 1Þ2
1; if ðu; vÞ 2 E;  :
with Euv ¼ m 4m2
0; otherwise:
The merge yields an increase of
Note that this ILP can be simplified by pruning
  redundant
variables
 and constraints, leaving only n2 variables and 1 2mi þ me
n  > 0;
3 constraints. m 2m2
in modularity, because mi þ me  m, and me  1. This
3 FUNDAMENTAL OBSERVATIONS proves the lemma. u
t
In the following, we identify the basic structural properties
that clusterings with maximum modularity fulfill. We first Lemma 3.4. There is always a clustering with maximum
focus on the range of modularity, for which Lemma 3.1 modularity, in which each cluster consists of a connected
gives the lower bound and upper bound. subgraph.
174 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 20, NO. 2, FEBRUARY 2008

Proof. Consider, for contradiction, a clustering C with a


cluster C of mi intracluster and me intercluster edges that
consists of a set of more than one connected subgraph.
The subgraphs in C do not have to be disconnected in G:
They are only disconnected when we consider the edges
EðCÞ. Cluster C adds

mi ð2mi þ me Þ2
 ;
m 4m2
to qðCÞ. Now, suppose we create a new clustering C0 by
splitting C into two new clusters. Let one cluster Cv consist
of the component that includes node v, that is, all nodes,
which can be reached from a node v with a path running
S Fig. 1. (a) and (b) Nonlocal behavior. (c) A clique K3 with leaves.
only through nodes of C. That is, Cv ¼ 1 i
i¼1 Cv , where
(d) Scaling behavior. Clusters are represented by colors.
Cv ¼ fwj9ðw; wi Þ 2 EðCÞ with wi 2 Cv g, and Cv0 ¼ fvg.
i i1

The other nonempty cluster is given by C  Cv . Let Cv


k ¼ n clusters, in which each cluster consists of a
have mvi intracluster and mve intercluster edges. Together,
connected pair of leaf and clique nodes. Fig. 1c
the new clusters add shows an example.
3. Scaling Behavior. Figs. 1c and 1d display the scaling
mi ð2mvi þ mve Þ2 þ ð2ðm  mvi Þ þ m  mve Þ2
 ; behavior of modularity. By simply doubling the
m 4m2 graph presented in Fig. 1c, the optimal clustering is
to qðC0 Þ. For a, b  0, obviously, a2 þ b2  ða þ bÞ2 and, completely altered. Although in Fig. 1c, we obtain
hence, qðC0 Þ  qðCÞ. u
t three clusters, each consisting of the minor K2 , the
clustering with maximum modularity of the graph
in Fig. 1d consists of two clusters, each being a graph
Corollary 3.5. A clustering of maximum modularity does not that is equal to the one in Fig. 1c.
include disconnected clusters.
This behavior is in line with the previous observations in
[2], [4] that the size and structure of clusters in the optimum
Corollary 3.5 directly follows from Lemma 3.4 and from
clustering depend on the total number of links in the
the exclusion of isolated nodes. Thus, the search for an
network. Hence, clusters that are identified in smaller
optimum can be restricted to clusterings, in which clusters
graphs might be combined to a larger cluster in an optimum
are connected subgraphs, and there are no clusters that
clustering of a larger graph. The formulation of (2)
consist of nodes with a degree of 1.
mathematically explains this observation as the modularity
3.1 Counterintuitive Behavior optimization strives at optimizing the trade-off between
coverage and degree sums. This provides a rigorous
In the previous section, we listed some intuitive properties
understanding of the observations made in [2], [4].
like connectivity within clusters for clusterings of maximum
modularity. However, due to the enforced balance between
coverage and the sums of squared cluster degrees, counter- 4 N P-COMPLETENESS
intuitive situations arise. These are nonlocality, scaling It has been conjectured that maximizing modularity is hard
behavior, and sensitivity to satellites. [8], but no formal proof was provided to date. We next
1. Nonlocality. At first glance, modularity seems to be a show that the decision version of modularity maximization
local quality measure. Recalling (2), each cluster is indeed N P-complete.
contributes separately. However, the example pre- Problem 1 (MODULARITY). Given a graph G and a number K,
sented in Figs. 1a and 1b exhibit a typical nonlocal is there a clustering C of G, for which qðCÞ  K?
behavior. In these figures, clusters are represented
by color. By adding an additional node that is Note that we may ignore the fact that, in principle, K
connected to the leftmost node, the optimal cluster- could be a real number in the range ½1=2; 1, because 4m2 
ing is completely altered. According to Lemma 3.3, qðCÞ is an integer for every partition C of G and is
the additional node has to be clustered together with polynomially bounded in the size of G. Our hardness result
the leftmost node. This leads to a shift of the for MODULARITY is based on a transformation from the
rightmost black node from the black cluster to the following decision problem.
white cluster, although locally, its neighborhood
structure has not changed. Problem 2 (3-PARTITION). Given P3k positive integer numbers
2. Sensitivity to Satellites. A clique with leaves is a graph a1 ; . . . ; a3k such that the sum 3k
i¼1 ai ¼ kb and b=4 < ai <
of 2n nodes that consists of a clique Kn and n leaf b=2 for an integer b and for all i ¼ 1; . . . ; 3k, is there a
nodes of degree 1 such that each node of the clique is partition of these numbers into k sets such that the numbers in
connected to exactly one leaf node. For a clique, we each set sum up to b?
show in Section 6 that the trivial clustering, with We show that an instance A ¼ fa1 ; . . . ; a3k g of 3-PARTI-
k ¼ 1, has maximum modularity. For a clique with TION can be transformed into an instance ðGðAÞ; KðAÞÞ of
leaves, however, the optimal clustering changes to MODULARITY such that GðAÞ has a clustering with
BRANDES ET AL.: ON MODULARITY CLUSTERING 175

1X r
1 X r
mi  d2 :
m i¼1 4m2 i¼1 i

Now, suppose we create a clustering C0 by rearranging


the nodes in C1 ; . . . ; Cr into clusters C 0 ; C10 ; . . . ; Cr0 such
that C 0 contains exactly the nodes of clique H and each
Ci0 , 1  i  r, the remaining elements of Ci (if any). In this
new
Pr clustering, the number of covered edges reduces by
i¼1 fi , because all nodes from H are removed from the
clusters Ci0 . This labels the edges that connect the clique
nodes to other nonclique nodes P P of Ci as intercluster
edges. For H itself, there are ri¼1 rj¼iþ1 ni nj edges that
are now additionally covered due to the creation of
cluster C 0 . In terms of degrees, the new cluster C 0
contains a nodes of degree a. The sums for the remaining
clusters Ci0 are reduced by the degrees of the clique
Fig. 2. An example graph GðAÞ for the instance A ¼ f2; 2; 2; 2; 3; 3g of nodes, as these nodes are now in C 0 . Thus, the
3-PARTITION. Node labels indicate the corresponding numbers ai 2 A. contribution of these clusters to qðC0 Þ is given by
!
modularity at least KðAÞ if and only P if a1 ; . . . ; a3k can be 1X r Xr
mi þ n i nj  f i
partitioned into k sets of sum b ¼ 1=k  ki¼1 ai each. m i¼1 j¼iþ1
It is crucial that 3-PARTITION is strongly N P-complete !
1 Xr
[16]; that is, the problem remains N P-complete, even if the  4
a þ ðdi  ni aÞ : 2
input is represented in unary coding. This implies that no 4m2 i¼1
algorithm can decide the problem in time polynomial, even
in the sum of the input values, unless P ¼ N P. More Setting  :¼ qðC0 Þ  qðCÞ, we obtain
importantly, it implies that our transformation only needs !
to be pseudopolynomial. 1 X r X r
¼ n i nj  f i
The reduction is defined as follows: Given an instance A m i¼1 j¼iþ1
of 3-PARTITION, construct a graph GðAÞ with k cliques ! !
(completely connected subgraphs) H1 ; . . . ; Hk of size a ¼ 1 X
r
P3k þ 2di ni a  n2i a2 a 4
i¼1 a i each. For each element ai 2 A, we introduce a single 4m2 i¼1
element node and connect it to ai nodes in each of the
k cliques in such a way that each clique member is 1 X
r X
r X
r
¼ ð4m ni nj  4m fi
connected to exactly one element node. It is easy to see 4m2 i¼1 j¼iþ1 i¼1
that each clique node then has degree a, and the element ! !
node that corresponds to element ai 2 A has degree kai . The X
r  
2 4
þ ni 2di a  ni a a :
number of edges in GðAÞ is m ¼ k=2  aða þ 1Þ. See Fig. 2 for i¼1
an example. Note that the size of GðAÞ is polynomial in the
unary coding size of A so that our transformation is indeed Using the equation that
pseudopolynomial.
X
r X
r r X
X
Before specifying bound KðAÞ for the instance of 2 ni nj ¼ ni nj ;
MODULARITY, we will show three properties of maximum i¼1 j¼iþ1 i¼1 j6¼i
modularity clusterings of GðAÞ. Together, these properties
establish the desired characterization of solutions for by substituting m ¼ k2 aða þ 1Þ and rearranging the terms,
3-PARTITION by solutions for MODULARITY. we get
Lemma 4.1. In a maximum modularity clustering of GðAÞ, none
a X
r
of the cliques H1 ; . . . ; Hk is split. ¼  a3  2kða þ 1Þ fi
We prove the lemma by showing that every clustering that 4m2 i¼1
!!
violates the above condition can be modified to strictly X
r X
improve the modularity. þ ni 2di  ni a þ kða þ 1Þ nj
i¼1 j6¼i
Proof. We consider a clustering C that splits a clique H 2
fH1 ; . . . ; Hk g into different clusters and then show how a X
r
  a3  2kða þ 1Þ fi
we can obtain a clustering with strictly higher modular- 4m2 i¼1
ity. Suppose that C1 ; . . . ; Cr 2 C, and r > 1 are the !!
clusters that contain nodes of H. For i ¼ 1; . . . ; r, we X
r X
r
þ ni ni a þ 2kfi þ kða þ 1Þ nj :
denote by ni the number of nodes of H contained in i¼1 j6¼i
cluster Ci , by mi ¼ jEðCi Þj the number of edges between
nodes in Ci , and by fi the number of edges between For the last inequality, we use the fact that di  ni a þ kfi .
nodes of H in Ci and element nodes in Ci . di is the sum of This inequality holds, because Ci contains at least the
degrees of all nodes in Ci . The contribution of C1 ; . . . ; Cr ni nodes of degree a from the clique H. In addition, it
to qðCÞ is contains both the clique and element nodes for each edge
176 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 20, NO. 2, FEBRUARY 2008

counted in fi . For each such edge, there are k  1 other Proof. Consider a maximum modularity clustering. Lem-
edges that connect the element node to the k  1 other ma 4.1 shows that each of the k cliques H1 ; . . . ; Hk is
cliques. Hence, we get a contribution of kfi in the degrees entirely contained in one cluster. Assume that there is a
P nodes. Combining the terms ni and one of
of the element cluster C that contains at least two of the cliques. If C
the terms j6¼i nj , we obtain
does not contain any element nodes, then the cliques
!
a X r form disconnected components in the cluster. In this
3
  a  2kða þ 1Þ fi case, it is easy to see that the clustering can be improved
4m2 i¼1
by splitting C into distinct clusters, one for each clique.
a X
r X
r
This way, we keep the number of edges within clusters
þ ni a nj þ 2kfi
4m2 i¼1 j¼1
the same; however, we reduce the squared degree sums
!! of clusters.
X
r
þ ððk  1Þa þ kÞ nj Otherwise, we assume that C completely contains
j6¼i l > 1 cliques and, in addition, some element nodes of
X
r elements aj , with j 2 J  f1; . . . ; kg. Note that inside
a
¼  2kða þ 1Þ fi the l cliques, laða  1Þ=2 edges are covered. In addition,
4m2 i¼1 for every element node that corresponds to an element
!!
X
r X
r aj , there are laj edges included. The degree sum of the
þ ni 2kfi þ ððk  1Þa þ kÞ nj cluster is given by the la clique nodes of degree a and
i¼1 j6¼i a number of element nodes of degree kaj . The
a X
r contribution of C to qðCÞ is thus given by
¼ 2kfi ðni  a  1ÞÞ ! !2
4m2 i¼1
! 1 l X 1 X
2
X
r X
r aða  1Þ þ l aj  la þ k aj :
m 2 4m2
þ ððk  1Þa þ kÞ ni nj j2J j2J
i¼1 j6¼i
Now, suppose that we create C0 by splitting C into C10 and
a X
r
 2kni ðni  a  1Þ C20 such that C10 completely contains a single clique H.
4m2 i¼1 This leaves the number of edges covered within the
!
X
r X
r cliques the same; however, all edges from H to the
þ ððk  1Þa þ kÞ ni nj : included element nodes eventually drop out. The degree
i¼1 j6¼i
sum of C10 is exactly a2 and, so, the contribution of C10 and
For the last step, we note that ni  a  1, and ni  a  1 < C20 to qðC0 Þ is given by
0 for all i ¼ 1; . . . ; r. Thus, increasing fi decreases the !
modularity difference. For each node of H, there is at most 1 l X
one edge to a node that is not in H and, thus, fi  ni . aða  1Þ þ ðl  1Þ aj
m 2 j2J
By rearranging terms and using the inequality a  3k, 0 !2 1
we get 1 @ X
2 4A
 ðl  1Þa þ k aj þa :
4m2
a Xr j2J
 2
ni 2kðni  a  1Þ
4m i¼1 Considering the difference, we note that
!
X
r
1X
þ ððk  1Þa þ kÞ nj qðC0 Þ  qðCÞ ¼  aj
j6¼i m j2J
!
a X
r X
r 1  X 
¼ ni 2k þ ððk  1Þa  kÞ nj þ 2
ð2l  1Þa4 þ 2ka2 aj  a4
4m2 4m j2J
i¼1 j6¼i
P
a Xr X r 2ðl  1Þa4 þ 2ka2 j2J aj
 ððk  1Þa  3kÞ ni nj ¼ 2
4m2 i¼1 j6¼i P 4m
4m j2J aj
3k2 Xr X r 
 ð3k  6Þ n i nj : 4m2
4m 2 P
i¼1 j6¼i 2ðl  1Þa4  2ka j2J aj
¼
As we can assume that k > 2 for all relevant instances of 4m2
3
3-PARTITION, we obtain  > 0. This shows that any 9k
 ð9k  1Þ
clustering can be improved by completely merging each 2m2
clique into a cluster. u
t > 0;
Next, we observe that the optimum clustering comple- as k > 0 for all instances of 3-PARTITION.
tely places at most one clique into a single cluster. Since the clustering is improved in every case, it is not
Lemma 4.2. In a maximum modularity clustering of GðAÞ, every optimal. This is a contradiction. u
t
cluster contains at most one of the cliques H1 ; . . . ; Hk .
BRANDES ET AL.: ON MODULARITY CLUSTERING 177

The previous two lemmas show that any clustering can At this point, recall that Cmin is the clique cluster with the
be strictly improved to a clustering that contains k clique minimum degree sum. For this cluster, the elements that
clusters such that each one completely contains one of the
correspond to the included element nodes can never sum
cliques H1 ; . . . ; Hk (possibly plus some additional element
nodes). In particular, this must hold for the optimum to more than a=k. In particular, as vi is not part of any
clustering as well. Now that we know how the cliques are clique cluster, the elements of nodes in Cmin can never
clustered, we turn to the element nodes. sum to more than ða  ai Þ=k. Thus,
As they are not directly connected, it is never optimal to
create a cluster that consists only of element nodes. Splitting X 1 1
such a cluster into singleton clusters, one for each element aj  ða  ai Þ < a
j2J
k k
node, reduces the squared degree sums but keeps the edge
coverage at the same value. Hence, such a split yields a
and, so, qðC0 Þ  qðCÞ > 0. This contradicts the assumption
clustering with strictly higher modularity. The next lemma
that C is optimal. u
t
shows that we can further strictly improve the modularity
of a clustering with a singleton cluster of an element node We have shown that for the graphs GðAÞ, the clustering
by joining it with one of the clique clusters. of maximum modularity consists of exactly k clique
Lemma 4.3. In a maximum modularity clustering of GðAÞ, there clusters, and each element node belongs to exactly one of
is no cluster composed of element nodes only. the clique clusters. Combining the above results, we now
Proof. Consider a clustering C of maximum modularity and state our main result.
suppose that there is an element node vi that corre- Theorem 4.4. MODULARITY is strongly N P-complete.
sponds to the element ai , which is not part of any clique
Proof. For a given clustering C of GðAÞ, we can check in
cluster. As argued above, we can improve such a
polynomial time whether qðCÞ  KðAÞ, so clearly, MOD-
clustering by creating a singleton cluster C ¼ fvi g.
ULARITY 2 N P.
Suppose Cmin is the clique cluster, for which the sum
For N P-completeness, we transform an instance A ¼
of degrees is minimal. We know that Cmin contains all
fa1 ; . . . ; a3k g of 3-P A R T I T I O N into an instance
nodes from a clique H and, eventually, some other
element nodes for elements aj , with j 2 J, for some index ðGðAÞ; KðAÞÞ of MODULARITY. We have already out-
set J. The cluster Cmin covers all aða  1Þ=2 edges within lined the construction of the graph GðAÞ above. For the
P correct parameter KðAÞ, we consider a clustering in
H and j2J aj edges to element nodes. The degree sum
P GðAÞ with the properties derived in the previous
is a2 for clique nodes and k j2J aj for element nodes. As
C is a singleton cluster, it covers no edges, and the lemmas, that is, a clustering with exactly k clique
degree sum is kai . This yields a contribution of C and clusters. Any such clustering yields exactly ðk  1Þa
Cmin to qðCÞ of intercluster edges, so the edge coverage is given by
! !2 ! X jEðCÞj m  ðk  1Þa
1 aða  1Þ X 1 2
X
2 2 ¼
þ aj  a þk aj þ k ai : m m
m 2 j2J
4m2 j2J
C2C
2ðk  1Þa 2k  2
Again, we create a different clustering C0 by joining C ¼1 ¼1 :
kaða þ 1Þ kða þ 1Þ
and Cmin to a new cluster C 0 . This increases the edge
coverage by ai . The new cluster C 0 has the sum of Hence, the clustering C ¼ ðC1 ; . . . ; Ck Þ with maximum
degrees of both previous clusters. The contribution of C 0 modularity must minimize
to qðC0 Þ is given by
! !2 degðC1 Þ2 þ degðC2 Þ2 þ . . . þ degðCk Þ2 :
1 aða  1Þ X 1 X
2
þ ai þ aj  a þ kai þ k aj :
m 2 j2J
4m2 j2J This requires a distribution of the element nodes
between the clusters, which is as even as possible with
Thus,
respect to the sum of degrees per cluster. In the optimum
!
ai 1 X case, we can assign to each cluster element nodes that
0 2 2
qðC Þ  qðCÞ ¼  2ka ai þ 2k ai aj correspond to elements that sum to b ¼ 1=k  a. In this
m 4m2 j2J
case, the sum of degrees of element nodes in each clique
1 cluster is equal to k  1=k  a ¼ a. This yields degðCi Þ ¼
¼ 2kaða þ 1Þai  2ka2 ai
4m2 a2 þ a for each clique cluster Ci , i ¼ 1; . . . ; k, and gives
!
X
2
 2k ai aj degðC1 Þ2 þ . . . þ degðCk Þ2  kða2 þ aÞ2 ¼ ka2 ða þ 1Þ2 :
j2J
!
ai X Equality holds only in the case that an assignment of b to
2
¼ 2ka  2k aj : each cluster is possible. Hence, if there is a clustering C
4m2 j2J
with qðCÞ of at least
178 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 20, NO. 2, FEBRUARY 2008

2k  2 ka2 ða þ 1Þ2 ðk  1Þða  1Þ the graph G ¼ ðV ; EÞ, we attach n  1 new nodes and
KðAÞ ¼ 1   ¼ ;
kða þ 1Þ k2 a2 ða þ 1Þ2 kða þ 1Þ
construct an n-clique. We denote these cliques as cliqðvÞ and
then we know that this clustering must perfectly split the refer to them as node cliques for v 2 V . Hence, in total, we
element nodes to the k clique clusters. As each element construct n different new cliques, and after this transforma-
node is contained in exactly one cluster, this yields a tion, each node from the original graph has degree n þ 2.
solution for the instance of 3-PARTITION. With this Note that a cubic graph with n nodes has exactly 1:5n edges.
choice of KðAÞ, the instance ðGðAÞ; KðAÞÞ of MODULAR- In our adjusted graph, there are exactly m ¼ ðnðn  1Þ þ
ITY is satisfiable only if the instance A of 3-PARTITION is 3Þn=2 edges.
satisfiable. We will show that an optimum clustering, which is
Otherwise, suppose the instance for 3-PARTITION is denoted as C , of 2-MODULARITY in the adjusted graph has
satisfiable. Then, there is a partition into k sets such that
exactly two clusters. Furthermore, such a clustering corre-
the sum over each set is 1=k  a. If we cluster the
sponds to a minimum bisection of the underlying MB3
corresponding graph by joining the element nodes of
instance. In particular, we give a bound K such that the MB3
each set with a different clique, we get a clustering of
modularity KðAÞ. This shows that the instance instance has a bisection cut of size at most c if and only if the
ðGðAÞ; KðAÞÞ of M ODULARITY is satisfiable if the corresponding graph has 2-modularity of at least K.
instance A of 3-PARTITION is satisfiable. This completes We begin by noting that there is always a clustering C
the reduction and proves the theorem. u
t with qðCÞ > 0. Hence, C must have exactly two clusters, as
not more than two clusters are allowed. This shows that our
This result also naturally holds for the straightforward
generalization of maximizing modularity in weighted proof works for both versions of 2-modularity, in which at
graphs [17]. Instead of using the numbers of edges, the most or exactly two clusters must be found.
definition of modularity employs the sum of edge weights Lemma 4.5. For every graph constructed from a MB3 instance,
for edges within clusters, between clusters, and in the total there exists a clustering C ¼ fC1 ; C2 g such that qðCÞ > 0. In
graph. particular, the clustering C has two clusters.
4.1 Special Case: Modularity with a Bounded Proof. Consider the following partition into two clusters.
Number of Clusters We pick the nodes of cliqðvÞ for some v 2 V as C1 and the
A common clustering approach is based on iteratively remaining graph as C2 . Then,
identifying cuts with respect to some quality measures (for
example, see [18], [19], [20]). The general problem being 3
qðCÞ ¼ 1 
N P-complete, we now complete our hardness results by m
proving that the restricted optimization problem is hard as ðnðn  1Þ þ 3Þ2 þ ððn  1Þðnðn  1Þ þ 3ÞÞ2

well. More precisely, we consider the two problems of 4m2
2n  2 3 2 2 3
computing the clustering with maximum modularity that ¼  ¼  2
n2 m n n m
splits the graph into exactly or at most two clusters. > 0;
Although these are two different problems, our hardness
result will hold for both versions; hence, we define the as n  4 for every cubic graph. Hence, qðCÞ > 0, and the
problem cumulatively. lemma follows. u
t
Problem 3 (k-MODULARITY). Given a graph G and a number Next, we show that in an optimum clustering, all the
K, is there a clustering C of G into exactly/at most k clusters, nodes of one node clique cliqðvÞ are located in one cluster.
for which qðCÞ  K?
Lemma 4.6. For every node v 2 V , there exists a cluster C 2 C
We provide a proof by using a reduction that is similar to such that cliqðvÞ  C.
the one given recently for showing the hardness of the Proof. For contradiction, we assume that a node clique
MinDisAgree[2] problem of correlation clustering [21]. We cliqðvÞ for some v 2 V is split in two clusters C1 and C2 of
use the problem MINIMUM BISECTION FOR CUBIC GRAPHS the clustering C ¼ fC1 ; C2 g. Let ki :¼ jCi \ cliqðvÞj be the
(MB3) for the reduction: number of nodes located in the corresponding clusters,
Problem 4 (MB3). Given a 3-regular graph G with n nodes and with 1  ki  n  1. Note that k2 ¼ n  k1 . In addition,
an integer c, is there a clustering into two clusters of we denote the sum of node degrees in both clusters,
n=2 nodes each such that it cuts at most c edges?
excluding nodes from cliqðvÞ, by d1 and d2 :

This problem has been shown to be strongly NP- X


di ¼ degðuÞ:
complete [22]. We construct an instance of 2-MODULARITY u2Ci ;u62cliqðvÞ
from an instance of MB3 as follows: For each node v from
BRANDES ET AL.: ON MODULARITY CLUSTERING 179

Without loss of generality, assume that d1  d2 . Finally, m0 ðd1 þ k1 ðn  1Þ þ 3Þ2


qðCÞ ¼ 
we denote by m0 the number of edges covered by the m 4m2
ðd2 þ ðn  k1 Þðn  1ÞÞ2
clusters C1 and C2 . þ ;
4m2
We define a new clustering C0 as fC1 n cliqðvÞ; C2 [ 0
m þ k1 ðn  k1 Þ
cliqðvÞg and denote the difference of the modularity as qðC0 Þ ¼
m
 :¼ qðC0 Þ  qðCÞ. We distinguish two cases, depending
d21 þ ðd2 þ nðn  1Þ þ 3Þ2
in which cluster the node v was located with respect to C.  ; and
4m2
In the first case, v 2 C2 , and we obtain
k1 ðn  k1 Þ d21 þ ðd2 þ nðn  1Þ þ 3Þ2
¼ 
m 4m2
m0 ðd1 þ k1 ðn  1ÞÞ2 ðd1 þ k1 ðn  1Þ þ 3Þ 2
qðCÞ ¼  þ
m 4m2 4m2
ðd2 þ ðn  k1 Þðn  1Þ þ 3Þ2 ðd2 þ ðn  k1 Þðn  1ÞÞ2
þ ; þ :
4m2 4m2
m0 þ k1 ðn  k1 Þ
qðC0 Þ ¼ We simplify the expression of  as follows:
m
d21 þ ðd2 þ nðn  1Þ þ 3Þ2 4m2  ¼ 4mk1 ðn  k1 Þ þ ð2k21  2nk1 Þðn  1Þ2
 ; and
4m2
 6ðn  k1 Þðn  1Þ
k1 ðn  k1 Þ d21 þ ðd2 þ nðn  1Þ þ 3Þ2
¼  þ 2ðd1  d2 Þðk1 ðn  1Þ þ 3Þ
m 4m2
ðd1 þ k1 ðn  1ÞÞ2  4mk1 ðn  k1 Þ  2k1 ðn  k1 Þðn  1Þ2
þ
4m2  6ðn  k1 Þðn  1ÞÞ:
ðd2 þ ðn  k1 Þðn  1Þ þ 3Þ2 Recalling that 1  k1  n  1 and filling in the value of
þ :
4m2 m, we obtain
We simplify the expression of  as follows: 4mk1  2k1 ðn  1Þ2  6ðn  1Þ

1  ¼ 2k1 ðn2 ðn  1Þ  ðn  1Þ2 Þ þ 6nk1  6ðn  1Þ > 0;


¼ 4mk1 ðn  k1 Þ  d21  ðd2 þ nðn  1Þ þ 3Þ2
4m2 which holds for all k1  1 and n  4. In addition, in this
þ ðd1 þ k1 ðn  1ÞÞ2 case, the modularity strictly improves if all nodes are

moved from cliqðvÞ to C2 . u
t
þ ðd2 þ ðn  k1 Þðn  1Þ þ 3Þ2
The final lemma before defining the appropriate input
1 
¼ 4mk1 ðn  k1 Þ þ ð2k21  2nk1 Þðn  1Þ2 parameter K for the 2-MODULARITY and thus proving the
4m2  correspondence between the two problems shows that the
 6k1 ðn  1Þ þ 2ðd1  d2 Þk1 ðn  1Þ clusters in the optimum clusterings have the same size.
k1  Lemma 4.7. In C , each cluster contains exactly n=2 complete
 4mðn  k1 Þ
4m2  node cliques.
 2ðn  k1 Þðn  1Þ2  6ðn  1Þ : Proof. Suppose, for contradiction, that one cluster C1 has
l1 < n=2 cliques. For completeness of presentation, we
We can bound the expression in the bracket in the use m0 to denote the unknown (and irrelevant) number
following way by using the assumption that d1  d2 and of edges covered by the clusters. The modularity of the
clustering is given as follows:
1  k1  n  1:
  m0 l21 ðnðn  1Þ þ 3Þ2
qðC Þ ¼ 
ðn  k1 Þ 4m  2ðn  1Þ2  6ðn  1Þ m 4m2 ð4Þ
 
ð3Þ ðn  l1 Þ ðnðn  1Þ þ 3Þ2
2

 ðn  k1 Þ 4m  2ðn  1Þ2  6ðn  1Þ :  :


|fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl} 4m2
¼:B
We create a new clustering C0 by transferring a complete
node clique from cluster C2 to cluster C1 . As the graph G
Thus, it remains to show that B > 0. By filling in the
is 3-regular, we lose at most three edges in the coverage
value of m and using the facts that 2n2 ðn  1Þ > 2ðn  1Þ2 part of modularity:
and 6n > 6ðn  1Þ for all n  4, we obtain B > 0 and,
m0  3 ðl1 þ 1Þ2 ðnðn  1Þ þ 3Þ2
thus, the modularity strictly improves if all nodes are qðC0 Þ  
m 4m2 ð5Þ
moved from cliqðvÞ to C2 .
ðn  l1  1Þ ðnðn  1Þ þ 3Þ2
2
In the second case, the node v 2 C1 , and we get the þ :
following: 4m2
180 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 20, NO. 2, FEBRUARY 2008

We can bound the difference as follows:

3 ðl21 þ ðn  l1 Þ2
qðC0 Þ  qðCÞ   þ
m 4m2
ðn  l1  1Þ2 Þðnðn  1Þ þ 3Þ2

4m2
3 ð2n  4l1  2Þ
¼ þ
m n2
3 2 2 6
  þ 2¼ 2 3
m n n n  n2 þ 3n
> 0; Fig. 3. (a) Clustering with modularity 0. (b) Clustering with modularity
for all n  4. The analysis uses the fact that we can close to 12 .
assume n to be an even number, so l1  n2  1 and, thus,
4l1  2n  4. i;j is the maximum. In these cases, the algorithm selects an
This shows that we can improve every clustering by arbitrary pair. The pseudocode for the greedy algorithm is
balancing the number of complete node cliques in the given in Algorithm 1. An efficient implementation that uses
clusters, independent of the loss in edge coverage. u
t sophisticated data structures requires Oðn2 log nÞ runtime.
Note that n  1 iterations is an upper bound, and one can
Finally, we can state theorem about the complexity of terminate the algorithms when the matrix  contains only
2-MODULARITY. nonpositive entries. We call this property single peakedness,
and it is proven in [8]. Since it is N P-hard to maximize
Theorem 4.8. 2-MODULARITY is strongly N P-complete.
modularity in general graphs, it is unlikely that this greedy
Proof. Letting ðG; cÞ be an instance of MB3, then we algorithm is optimal. In fact, we sketch a graph family
construct a new graph G0 as stated above and define where the above greedy algorithm has an approximation
K :¼ 1=2  c=m. factor of 2 asymptotically. In order to prove this statement,
As we have shown in Lemma 4.7 that each cluster we introduce a general construction scheme, as given in
of C that is an optimum clustering of G0 with respect Definition 5.2. Furthermore, we point out instances where a
to 2-MODULARITY has exactly n=2 complete node specific way of breaking ties of merges yield a clustering
cliques, the sum of degrees in the clusters is exactly with modularity of 0, whereas the optimum clustering has a
m. Thus, supposing the clustering C meets the strictly positive score.
following inequality:

c 2m2 1 c
qðCÞ  1   ¼  ¼ K;
m 4m2 2 m
then it is easy to see that the number of intercluster edges
can be at most c. Thus, the clustering C induces a
balanced cut in G with at most c cut edges. u
t
This proof is particularly interesting, as it highlights that
maximizing modularity, in general, is hard due to the
hardness of minimizing the squared degree sums on one
hand, whereas in the case of two clusters, this is due to the
hardness of minimizing the edge cut. Modularity is defined such that it takes values in the
interval ½1=2; 1 for any graph and any clustering. In
5 THE GREEDY ALGORITHM particular, the modularity of a trivial clustering that places
all vertices into a single cluster has a value of 0. We use this
In contrast to the above-mentioned iterative cutting
technical peculiarity to show that the greedy algorithm has
strategy, another commonly used approach to find cluster-
an unbounded approximation ratio.
ings with good-quality scores is based on greedy agglom-
eration [14], [23]. In the case of modularity, this approach is Theorem 5.1. There is no finite approximation factor for the
particularly widespread [7], [8]. greedy algorithm for finding clusterings with maximum
The greedy algorithm starts with the singleton clustering modularity.
and iteratively merges those two clusters that yield a Proof. We present a class of graphs, on which the algorithm
clustering with the best modularity; that is, the largest obtains a clustering of value 0 but for which the optimum
increase or the smallest decrease is chosen. After n  1 clustering has a value close to 1/2. A graph G of this class
merges, the clustering that achieved the highest modularity is given by two cliques ðV1 ; E1 Þ and ðV2 ; E2 Þ of size
is returned. The algorithm maintains a symmetric matrix  jV1 j ¼ jV2 j ¼ n=2, and n=2 matching edges Em that
with entries i;j :¼ qðCi;j Þ  qðCÞ, where C is the current connect each vertex from V1 to exactly one vertex in V2 ,
clustering, and Ci;j is obtained from C by merging clusters Ci and vice versa. See Fig. 3 for an example, with n ¼ 14.
and Cj . Note that there can be several pairs i and j such that Note that we can define modularity by associating
BRANDES ET AL.: ON MODULARITY CLUSTERING 181

weights wðu; vÞ with every existing and nonexisting edge


in G as follows:

Euv degðuÞ degðvÞ


wðu; vÞ ¼  ;
2m 4m2
Fig. 4. The graph K4 ?u P1 .
where Euv ¼ 1 if ðu; vÞ 2 E; otherwise, this is 0. The
modularity of a clustering C is then derived by summing
The key observation is that the proof considers a worst-
the weights of the edges covered by C:
case scenario in the sense that greedy is, in each iteration,
X X
qðCÞ ¼ wðu; vÞ: supposed to pick exactly the “worst” merge choice of several
C2C u;v2C equivalently attractive alternatives. If greedy chooses, in an
early iteration, to merge along an edge from E1 or E2 , the
Note that in this formula, we have to count twice the resulting clustering will be significantly better. As men-
weight for each edge between different vertices u and v tioned earlier, this negative result is due to the formulation
(once for every ordering) and once the weight for a of modularity, which yields values from the interval
nonexisting self loop for every vertex u. Thus, the change ½1=2; 1. For instance, with a linear remapping of the range
of modularity by merging two clusters is given by twice of modularity to the interval [0, 1], the greedy algorithm
the sum of weights between the clusters. yields a value of 1/3 compared to the new optimum score of
Now, consider a run of the greedy algorithm on the 2/3. In this case, the approximation factor would be 2.
graph in Fig. 3. Note that the graph is n=2-regular and thus Next, we provide a decreased lower bound for a different
has m ¼ n2 =4 edges. Each existing edge gets a weight of class of graphs and no assumptions on the random choices of
2=n2  1=n2 ¼ 1=n2 , whereas every nonexisting edge the algorithm.
receives a weight of 1=n2 . As the self loop is counted
by every clustering, the initial trivial singleton clustering Definition 5.2. Let G ¼ ðV ; EÞ and H ¼ ðV 0 ; E 0 Þ be two
has a modularity value of 1=n. In the first step, each nonempty simple undirected unweighted graphs and let u 2
cluster merge along any existing edge results in an V 0 be a node. The product G?u H is defined as the graph
increase of 2=n2 . Of all these equivalent possibilities, we ðV 00 ; E 00 Þ with the node set V 00 :¼ V [ V V 0 and the edge set
suppose that the algorithm chooses to merge along an E 00 :¼ E [ Ec00 [ EH 00
, where
edge from Em to create a cluster C 0 . In the second step,

Ec00 :¼ fv; ðv; uÞg j v 2 V ; and
merging a vertex with C 0 results in change of 0, because 00

0 0
one existing and one nonexisting edge would be EH :¼ fðv; v Þ; ðv; w Þg

included. Every other merge along an existing edge still j v 2 V ; v0 ; w0 2 V 00 ; fv0 ; w0 g 2 E :
has a value of 2=n2 . We suppose that the algorithm again
chooses to merge two singleton clusters along an edge An example is given in Fig. 4. The product G ?u H is a
from Em , creating a cluster C 00 . After that, observe that graph that contains G and, for each node v of G, a copy Hv
merging clusters C 0 and C 00 yields a change of 0, because of H. For each copy, the node in Hv that corresponds to
two existing and two nonexisting edges would be u 2 H is connected to v. We use the notation ðv; w0 Þ to refer
included. Thus, it is again optimal to merge two singleton to the copy of node w0 of H, which is located in Hv . In the
clusters along an existing edge. If the algorithm continues following, we consider only a special case. Let n  2 be an
to merge singleton clusters along the edges from Em , it integer, H ¼ ðV 0 ; E 0 Þ be an undirected and connected graph
will, in each iteration, make an optimal merge that results with at least two nodes, and u 2 V 0 be an arbitrary but fixed
node. We denote by Cgk the clustering obtained with the
in strictly positive increase in modularity. After n=2 steps,
greedy algorithm applied to Kn ?u H that starts from
it has constructed a clustering C of the type depicted in
singletons and performs at most k steps, which all have a
Fig. 3a. C consists of one cluster for the vertices of each
positive increase in modularity. Furthermore, let m be the
edge of Em and has a modularity value of
number of edges in Kn ?u H. Based on the merging policy of
2 n 4n2 the greedy algorithm, we can characterize the final
qðCÞ ¼   ¼ 0: clustering Cgn . It has n clusters, each of which includes a
n 2 n4
vertex v of G and the copy of H.
Due to the single peakedness of the problem [8], all
Theorem 5.3. Let n  2 be an integer and let H ¼ ðV 0 ; E 0 Þ be a
following cluster merges can never increase this value;
undirected and connected graph with at least two nodes. If
hence, the algorithm will return a clustering of value 0.
2jE 0 j þ 1 < n, then the greedy algorithm returns the cluster-
On the other hand, consider a clustering C ¼ fC1 ; C2 g
ing Cg :¼ ffvg [ fvg V 0 jv 2 V g for Kn ?u H (for any fixed
with two clusters, one for each clique: C1 ¼ V1 and C2 ¼
u 2 H). This clustering has a modularity score of
V2 (see Fig. 3b). This clustering has a modularity of
2
nðn  2Þ 4n2 1 2 4m2  qðCg Þ ¼ 4mððjE 0 j þ 1Þ  nÞ  nð2jE 0 j þ 1 þ nÞ :

qðC Þ ¼  2 ¼  :
n2 16n2 2 n The proof of Theorem 5.3, which relies on the graph
This shows that the approximation ratio of the greedy construction described above, is available from the authors
algorithm can infinitely be large, because no finite or can alternatively be found in an associated technical
approximation factor can outweigh a value of 0, with report [24]. The next corollary reveals that the clustering, in
one strictly greater than 0. u
t which G and each copy of H form individual clusters, has a
182 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 20, NO. 2, FEBRUARY 2008

greater modularity score. We first observe an explicit Theorem 6.3. Let k and n be integers, Kkn be the complete graph
expression for modularity. on k  n nodes, and C be a clustering such that each cluster
Corollary 5.4. The clustering Cs is defined as contains exactly n elements. Then, the following equality
holds:
Cs :¼ fV g [ ffvg V 0 jv 2 V g;  
1 1
and according to (2), its modularity is qðCÞ ¼ 1 þ  :
k kn  1
 n
2
4m2  qðCs Þ ¼ 4m jE 0 jn þ  nð2jE 0 j þ 1Þ For fixed k > 1 and as n tends to infinity, the modularity is
2 always strictly negative but tends to zero. Only for k ¼ 1 is
 ðn  ðn  1 þ 1ÞÞ2 : the modularity zero and so is the global maximum.
If n  2 and 2jE 0 j þ 1 < n, then clustering Cs has higher
modularity than Cg . As Theorem 6.3 deals with one clique, the following
corollary provides the optimal result for k disjoint cliques.
Theorem 5.5. The approximation factor of the greedy algorithm
for finding clusterings with maximum modularity is at least 2. Corollary 6.4. The maximum modularity of a graph that consists
of k disjoint cliques of size n is 1  1=k.
The quotient qðCs Þ=qðCg Þ asymptotically approaches 2 for n
going to infinity on Kn ?u H, with H being a path of length The corollary follows from the definition of modularity in
pffiffiffi (2). Corollary 6.4 gives a glimpse on how previous
1=2 n. The full proof of Theorem 5.5 is also available in [24].
approaches have succeeded to upper bound modularity as
it was pointed out in the context of Lemma 3.1.
6 OPTIMALITY RESULTS
6.1 Characterization of Cliques and Cycles 6.1.2 Cycles
In this section, we provide several results on the structure of Next, we focus on simple cycles, that is, connected 2-regular
clusterings with maximum modularity for cliques and graphs. According to (6), modularity can be expressed as
cycles. This extends previous work, in particular [2], in given in (8) if each cluster is connected, which may safely be
which cycles and cycles of cliques were used to reason assumed (see Corollary 3.5):
about global properties of modularity.
A first observation is that modularity can be simplified nk 1 Xk
qðCÞ ¼  2 jCi j2 : ð8Þ
for general d-regular graphs as follows: n n i¼1
Corollary 6.1. Let G ¼ ðV ; EÞ be an unweighted d-regular In the following, we prove that clusterings with maximum
graph and let C ¼ fC1 ; . . . ; Ck g 2 AðGÞ. Then, the following modularity are balanced with respect to the number and the
equality holds: sizes of clusters. First, we characterize the distribution of
cluster sizes for clusterings with maximum modularity by
jEðCÞj 1 Xk
qðCÞ ¼  2 jCi j2 : ð6Þ fixing the number k of clusters. For convenience, we
dn=2 n i¼1
minimize F :¼ 1  qðCÞ, where the argument of F is the
distribution of the cluster sizes.
The correctness of the corollary can be read from the
definition given in (2) and the fact that jEj ¼ djV j=2. Thus, Proposition 6.5. Let k and n be integers, the set
for regular graphs, modularity only depends on cluster ( )
sizes and coverage. ðkÞ
X
k
k
D :¼ x 2 IN xi ¼ n ;
i¼1
6.1.1 Cliques
ðkÞ
We first deal with the case of complete graphs. Corollary 6.2 and the function F : D ! IR defined as
provides a simplified formulation for modularity. From this
k 1 X
k
rewriting, the clustering with maximum modularity can be F ðxÞ :¼ þ 2 x2 for x 2 DðkÞ :
directly obtained. n n i¼1 i

Corollary 6.2. Let Kn be a complete graph on n nodes and let Then, F has a global minimum at x , with xi ¼ bnkc for i ¼
C :¼ fC1 ; . . . ; Ck g 2 AðKn Þ. Then, the following equality 1; . . . ; k  r and xi ¼ dnke for i ¼ k  r þ 1; . . . ; k, where
holds: 0  r < k, and r
n mod k.

1 1 Xk
Proposition 6.5 is based on the fact that, roughly speaking,
qðCÞ ¼  þ 2 jci j2 : ð7Þ
n  1 n ðn  1Þ i¼1 evening out cluster sizes decreases F . We refer the reader
to the Appendix for the full proof. Due to the special
The simple proof of the corollary can be found in the structure of simple cycles, we can swap neighboring
Appendix. Thus, maximizing the modularity is equivalent clusters without changing the modularity. Thus, we can
to maximizing the squares of cluster sizes. Using the safely assume that clusters are sorted according to their
general inequality ða þ bÞ2  a2 þ b2 for nonnegative real sizes, starting with the smallest element. Then, x is the
numbers, the clustering with maximum modularity is the only optimum. Evaluating F at x leads to a term that only
1-clustering. depends on k and n. Hence, we can characterize the
BRANDES ET AL.: ON MODULARITY CLUSTERING 183

Fig. 5. Karate club network of Zachary [25]. The different clusterings are
coded as follows: Blocks represent the optimum clustering (with respect
to modularity), colors correspond to the greedy clustering, and shapes Fig. 6. The networks of books on politics compiled by V. Krebs. The
code the split that occurred in reality. different clusterings are coded as follows: Blocks represent the
clustering calculated with GMC, colors correspond to the greedy
clustering, and shapes code the optimum clustering (with respect to
clusterings with maximum modularity only with respect to modularity).
the number of clusters. The function to be minimized is
given as follows: friendship between the members is presented before the club
Lemma 6.6. Let Cn be a simple cycle with n nodes, h : split up due to an internal dispute. A representation of the
½1; . . . ; n ! IR a function defined as network is given in Fig. 5. The partition that has resulted
jnk  jnk from the split is given by the shape of the nodes, whereas the
hðxÞ :¼ x  n þ n þ 2n  x  1 þ ; colors indicate the clustering calculated by the greedy
x x algorithm, and blocks refer to an optimum clustering
and k be the argument of the global minimum of h. Then, every maximizing modularity that has been obtained by solving
clustering of Cn with maximum modularity has k clusters. its associated ILP. The corresponding scores of modularity
are 0.431 for the optimum clustering, 0.397 for the greedy
The proof of Lemma 6.6 builds upon Proposition 6.5, and clustering, and 0.383 for the clustering given by the split.
it can be found in the Appendix. Finally, we obtain the Even though this is another example in which the greedy
characterization for clusterings with maximum modularity algorithm does not optimally perform, its score is compara-
for simple cycles. tively good. Furthermore, the example shows one of the
potential pitfalls that the greedy algorithm can encounter:
Theorem 6.7. Let n be an integer and Cn be a simple cycle with Due to the attempt of balancing the squared sum of degrees
n nodes. Then, every clustering C with maximum modularity (over the clusters), a node with large degree (white square)
has k cluster of almost equal size, where and one with small degree (white circle) are merged at an
" rffiffiffiffiffiffiffiffiffiffiffiffi# early stage. However, using the same argument, such a
n 1 1 cluster will unlikely be merged with another one. Thus,
k 2 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
pffiffiffi  1; þ þn :
nþ n 2 4 small clusters with skewed degree distributions occur.
The second instance is a network of books on politics,
Furthermore, there are only three possible values for k for a which is compiled by V. Krebs and used for demonstration
sufficiently large n. in [9]. The nodes represent books on American politics
bought from Amazon.com, and edges join pairs of books
The rather technical proof of Theorem 6.7 is based on the that are frequently purchased together. A representation of
monotonicity of h. This proof can also be found in the the network is given in Fig. 6. The optimum clustering
Appendix. maximizing modularity is given by the shapes of nodes, the
colors of nodes indicate a clustering calculated by the
7 EXAMPLES REVISITED greedy algorithm, and the blocks show a clustering
calculated by Geometric MST Clustering (GMC), which is
Applying our results about maximizing the modularity
gained so far, we revisit three example networks that were introduced in [27], using the geometric mean of coverage
used in related work [25], [26], [9]. More precisely, we and performance, both of which are quality indices
compare published greedy solutions with respective opti- discussed in the same paper. The corresponding scores of
ma, thus revealing two peculiarities of modularity. First, we modularity are 0.527 for the optimum clustering, 0.502 for
illustrate a behavioral pattern of the greedy merge strategy, the greedy clustering, and 0.510 for the GMC clustering.
and second, we put the quality of the greedy approach into Similar to the first example, the greedy algorithm is
perspective. suboptimal but is relatively close to the optimum. Interest-
The first instance is the karate club network of Zachary ingly, GMC outperforms the greedy algorithm, although it
that was originally introduced in [25] and used for does not consider modularity in its calculations. This
demonstration in [26]. The network models social interac- illustrates the fact that there probably are many intuitive
tions between members of a karate club. More precisely, clusterings close to the optimum clustering that all have
184 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 20, NO. 2, FEBRUARY 2008

8 CONCLUSION
This paper represents the first formal assessment to
optimization of a popular clustering index known as
modularity. We have settled the open question about the
complexity status of modularity maximization by proving
its N P-hardness, in particular by proving N P-completeness
in the strong sense for the underlying decision problem. We
show that this even holds for the restricted version, with a
bound of two on the number of clusters. This justifies the
further investigation of approximation algorithms and
heuristics such as the widespread greedy approach. For
the latter, we prove a first lower bound on the approxima-
Fig. 7. Social network of bottlenose dolphins introduced in [28] and tion factor. Our analysis of the greedy algorithm also
clustered in [29]. The different clusterings are coded as follows: Blocks includes a brief comparison with the optimum clustering,
represent the clustering with maximum modularity, colors represent the which is calculated via ILP on some real-world instances,
result of the greedy clustering, and shapes code the community
structure identified with the iterative conductance cut algorithm thus encouraging a reconsideration of previous results. The
presented in [20]. following is a list of the main results derived from this
paper:
relatively similar values of modularity. In analogy to the
first example, we observe the same merge artifact, namely, . Modularity can be defined as a normalized trade-off
between edges covered by clusters and squared
the two nodes represented as dark-gray triangles.
cluster degree sums (see (1)).
As the last example, Fig. 7 reflects the social structure of
. There is a formulation of modularity maximization
a family of bottlenose dolphins off the coast of New as ILP (Section 2.2).
Zealand, as observed by Lusseau et al. [28], who logged . There is a clustering with maximum modularity
frequent associations between dolphins over a period of without singleton clusters of degree 1 and without
7 years. The clustering with optimum modularity (blocks) clusters representing disconnected subgraphs. Iso-
lated nodes have no impact on modularity (Corol-
achieves a modularity score of 0.529 and, again, the greedy
lary 3.2 and Lemmas 3.3 and 3.4).
algorithm (colors) approaches this value with 0.496. How- . The clustering of maximum modularity changes in a
ever, structurally, the two clusterings disagree on the two global nontrivial fashion, even for the simplest graph
small clusters, whereas a clustering based on iterative perturbation (Section 3.1).
conductance cutting [20] (shapes) achieves the same quality . For any clustering C of any graph G, the modularity
value 12  qðCÞ < 1 (Lemma 3.1).
(0.492) but disagrees with the optimum only on the smallest
. Finding a clustering with maximum modularity is
cluster and on the refinement of the leftmost cluster. N P-hard, both for the general case and when
In summary, the three examples illustrated several restricted to clusterings with exactly or at most two
interesting facts. First, an artificial pattern in the optimiza- clusters (Theorems 4.4 and 4.8).
tion process of the greedy algorithm is revealed: The early . With the worst tie-breaking strategy, the greedy
merge of two nodes, one with a high degree and one with a agglomeration algorithm has no worst-case approx-
low degree, results in a cluster that will not be merged with imation factor (Theorem 5.1). With an arbitrary tie-
another one later on. In general, this can prevent finding the breaking strategy, the worst-case factor is at least 2
(Theorem 5.5).
optimum clustering. Nevertheless, it performs relatively
. A clustering of maximum modularity for cliques of
well on the given instances and is at most 10 percent of the size n consists of a single cluster (Theorem 6.3), and
optimum. However, applying other algorithms that do not for
pffiffiffi cycles of size n,pffiffiffi
this consists of approximately
optimize modularity, we observe that the obtained cluster- n clusters of size n each (Theorem 6.7).
ings have similar scores. Thus, achieving good scores of For the future, we plan an extended analysis and the
modularity does not seem to be too hard on these instances. development of a clustering algorithm with provable
On one hand, these clusterings roughly agree in terms of the performance guarantees. The special properties of the
overall structure; on the other hand, they differ in the measure, its popularity in application domains, and the
numbers of clusters and even feature artifacts such as small absence of fundamental theoretical insights hitherto render
clusters of size one or two. Considering that all three a further mathematically rigorous treatment of modularity
examples exhibit significant community structure, we thus necessary.
predict that there are many intuitive clusterings being
structurally close (with respect to lattice structure) and that APPENDIX
most suitable clustering algorithms probably identify one of Proof [of Corollary 6.2]. The coverage of C can be expressed
them. in terms of cluster sizes as follows:
BRANDES ET AL.: ON MODULARITY CLUSTERING 185

n X k Y
jEðCÞj ¼  jCi j  jCj j we assume that xi  xiþ1 for all i. We define a sequence
2 i¼1 j>i of elements in DðkÞ as follows:
n 1 X k Y
¼  jCi j  jCj j 1. xð0Þ :¼ x and
2 2 i¼1 j6¼i 2. if xðiÞ 6¼ x, define xðiþ1Þ as follows:
n 8
1X k X
> ðiÞ ðiÞ
¼
2

2 i¼1
jCi j  jCj j < xj  1 if j ¼ minf‘jx‘ > x‘ g ¼: L;
>
ðiþ1Þ
j6¼i xj :¼ xðiÞ ðiÞ 0
j þ 1 if j ¼ maxf‘jx‘ < x‘ g ¼: L ;
n X
k >
>
1 : xðiÞ otherwise:
¼  jCi j  ðn  jCi jÞ j
2 2 i¼1
!
n Xk Note that all obtained vectors xðiÞ are elements of DðkÞ
1
¼  n2  jCi j2 ðiÞ ðiÞ
and meet the condition of xj  xjþ1 . Furthermore, we
2 2 i¼1
gain the following formula for the cost:
n 1X k
¼  þ jCi j2 : X  X   
2 2 i¼1 ðiþ1Þ 2 ðiÞ 2 ðiÞ ðiÞ
xj ¼ xj þ2 xL0  xL þ 1 :
j j
Thus, we obtain
ðiÞ ðiÞ
Since L < L0 , one obtains xL0  xL . Thus, x is a global
1 1 X
k
1 X
k
optimum in DðkÞ . u
t
qðCÞ ¼  þ jCi j2  jCi j2
n  1 nðn  1Þ i¼1
n2 i¼1 Proof [of Lemma 6.6]. Note that hðkÞ ¼ F ðx Þ, where F is
1 1 Xk the function of Proposition 6.5 with the given k. Consider
¼  þ 2 jCi j2 ;
n  1 n  ðn  1Þ i¼1 first the following:

which proves the equation. u


t Xk jnk2 lnm2
ðxi Þ2 ¼ ðk  rÞ  þr 
Proof [of Proposition 6.5]. Since k and n are given, i¼1
k k
P  2
minimizing F is equivalent to minimizing i x2i . Thus, ðn  rÞ2 ðn  rÞ
¼ ðk  rÞ þ r þ 1
let us rewrite this term: k2 k
k 
nr n2  r 2
X n 2 X k
nX k n2 ¼
k
ððn  rÞ þ 2rÞ þ r ¼
k
þr
xi  ¼ x2i  2 xi þ k    j k   j k
i¼1
k i¼1
k i¼1 k 1 2 n 2 n
¼ n  n k þn k
X
k
n2 n2 k k k
¼ x2i  2 þ ; jnk jnk2 jnk
i¼1
k k ¼ 2n k þn  k
kj k k j k k 
k 
X
k X n2 n2 n n
() x2i ¼ xi  þ : ¼nþ 2n  k þ1 :
k k k k
i¼1 i¼1
|fflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflffl}
¼:hðxÞ Since maximizing the modularity is equivalent to
minimizing the expression
Minimizing F is equivalent to minimizing h. If r is 0,
X
then hðx Þ ¼ 0. For every other vector y, the function h is k=n þ 1=n2 x2i
strictly positive, since at least one summand is positive. i

Thus, x is a global optimum. Sn ðjÞ


for ðxi Þ 2 j¼1 D . Note that every vector ðxi Þ can be
Let r > 0. First, we show that every vector x 2 DðkÞ
realized as clustering with connected clusters. Since we
that is close to ðnk ; . . . ; nkÞ has (in principle) the form of x .
have characterized the global minima for fixed k, it is
Letting x 2 D \ ½bnkc; dnkek , then it is easy to verify that
sufficient to find the global minima by varying k. u
t
there are k  r entries that have value bnkc, and the
Proof [of Theorem 6.7]. First, we show that the function h
remaining r entries have value dnke. Any “shift of one
unit” between two variables having the same value can be bounded by the inequalities given in (9) and is
increases the corresponding cost. Let  :¼ dnke  nk and monotonically increasing (decreasing) for certain choices
xi ¼ xj ¼ dnke. Replacing xi with bnkc and xj with dnke þ 1 of k:
causes an increase in h by 5 þ 2 > 0. Similarly, the case
n2 n2 k
of xi ¼ xj ¼ bnkc and the reassignment xi ¼ dnke and xj ¼ kn þ  hðkÞ  kn þ þ : ð9Þ
k k 4
bnkc  1 cause an increase of h by 2 > 0.
Finally, we show that any vector of DðkÞ can be In order to verify the inequalities (9), let k be defined as
reached from x by “shifting one unit” between n=k  bn=kcð 0Þ. Then, the definition of h can be
variables. Letting x 2 DðkÞ and with loss of generality, rewritten as follows:
186 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 20, NO. 2, FEBRUARY 2008
jnk  jnk 
hðkÞ ¼ kn þ n þ 2n  1 þ k nonnegative for the maximum value of k. We show that
kn  k n   the lower bound h ðkÞ :¼ n þ n2 =ðk þ 1Þ2  ðk þ 1Þ=4 is
¼ kn þ n þ  k 2n  1 þ  k k nonnegative:
k k
2n2 !
¼ kn þ n þ  ð1  k Þn n n
k h pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
pffiffiffi  1 ¼  n  pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
pffiffiffi
n 2 nþ n 4 nþ n
  2nk þ ð1  k Þkk þ nk pffiffiffi
k n2 ðn þ nÞ
n2 þ
¼ kn þ þ ð1  k Þk k: n2
k pffiffiffi n
¼ n  pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffipffiffiffi  0:
Replacing the term ð1  k Þk k by a lower (upper) bound 4 nþ n
|fflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflffl}
pffiffi
of 0 ðk=4Þ proves the given statements. 1
4 n

Second, the function h is monotonically increasing In summary, the number of clusters k (of an optimum
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
for k  1=2 þ 1=4 þ n and monotonically decreasing clustering) can only be contained in the given interval,
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
pffiffiffi
for k  n= n þ n  1. In order to prove the first part, since outside the function, h is either monotonically
it is sufficient to show that hðkÞ  hðk þ 1Þ for every increasing or decreasing. The length of the interval is less
suitable k: than
rffiffiffiffiffiffiffiffiffiffiffiffi
hðk þ 1Þ  hðkÞ 1 1 n
  þ þ n  pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi pffiffiffi þ1:
n 2 4 nþ n
¼ ðk þ 1Þn þ n þ |fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl}
kþ1 ¼:‘ðnÞ
    
n
2n  1 þ ðk þ 1Þ The function ‘ðnÞ can be rewritten as follows:
kþ1
jnk  jnk  rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
 kn  n  2n  1 þ k 1 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
pffiffiffi
4þn nþ n n
 k  j k k    pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
n n n n ‘ðnÞ ¼ pffiffiffi
¼ n þ 2n   1þ nþ n
kþ1 k kþ1 kþ1  p ffiffiffi 
 jnkjnk  ! ! n þ 1þ 2 n n
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
ð12Þ
n n  pffiffiffi
þk 1þ  1þ : nþ n
k k kþ1 kþ1 rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
1þ n
 pffiffiffi;
Since bc is discrete, and jbxc  bx  1cj  1, one obtains 2 nþ n

hðk þ 1Þ  hðkÞ for every positive . Inequality (12) is due to the fact that
(  2      n   qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
n  nk  nk ; if nk ¼ k1 ; ð10Þ 1 pffiffiffi pffiffiffi 1  pffiffiffi
¼ n2 n n þn n þ n  n2 þ n n þ n þ n
3n  k  k þ 2k k ; otherwise: 4 4
1 þ  pffiffiffi
Since  n2 þ 2 n n
2
2
ð1 þ Þ
3n  bn=kc2  bn=kc þ 2kbn=kc > n  bn=kc2  bn=kc; þ n
4 
it is sufficient to show that n  bn=kc2  bn=kc  0. This 1 þ  pffiffiffi2
¼ nþ n ;
inequality is fulfilled if n  ðn=kÞ2  n=kpffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
0. Solving the 2
quadratic equations leads to k  1=2 þ 1=4 þ n.
Using the above bound, for the second part, it is for a sufficiently large n. u
t
sufficient to show that

n2 n2 kþ1
kn þ  ðk þ 1Þn    0; ð11Þ ACKNOWLEDGMENTS
k kþ1 4
This work was partially supported by the DFG under grants
since this implies that the upper bound of hðk þ 1Þ is BR 2158/2-3, WA 654/14-3, Research Training Group 1042
smaller than (the lower bound of) hðkÞ. One can rewrite
“Explorative Analysis and Visualization of Large Informa-
the left side of (11) as
tion Spaces” and by EU under grant DELIS (contract no.
n2 n2 kþ1 001907).
kn þ  ðk þ 1Þn   ¼
k kþ1 4
n2 kþ1 REFERENCES
nþ  :
kðk þ 1Þ 4 [1] M.E.J. Newman and M. Girvan, “Finding and Evaluating
Community Structure in Networks,” Physical Rev. E, vol. 69,
Since hðkÞ  hðk þ 1Þ is monotonically decreasing for no. 026113, http://link.aps.org/abstract/PRE/v69/e026113,
pffiffiffi
0  k  n, it is sufficient to show that hðkÞ  hðk þ 1Þ is 2004.
BRANDES ET AL.: ON MODULARITY CLUSTERING 187

[2] S. Fortunato and M. Barthelemy, “Resolution Limit in Community [28] D. Lusseau, K. Schneider, O.J. Boisseau, P. Haase, E. Slooten, and
Detection,” Proc. Nat’l Academy of Sciences, vol. 104, no. 1, pp. 36- S.M. Dawson, “The Bottlenose Dolphin Community of Doubtful
41, 2007. Sound Features a Large Proportion of Long-Lasting Associations,”
[3] E. Ziv, M. Middendorf, and C. Wiggins, “Information-Theoretic Behavioral Ecology and Sociobiology, vol. 54, no. 4, pp. 396-405, 2003.
Approach to Network Modularity,” Physical Rev. E, vol. 71, [29] M.E.J. Newman and M. Girvan, “Finding and Evaluating
no. 046117, 2005. Community Structure in Networks,” http://arxiv.org/abs/
[4] S. Muff, F. Rao, and A. Caflisch, “Local Modularity Measure for cond-mat/0308217, Aug. 2003.
Network Clusterizations,” Physical Rev. E, vol. 72, no. 056107,
2005. Ulrik Brandes received the bachelor’s degree
[5] P. Fine, E.D. Paolo, and A. Philippides, “Spatially Constrained from RWTH Aachen University in 1994 and the
Networks and the Evolution of Modular Control Systems,” Proc. PhD degree and Habilitation degree from the
Ninth Int’l Conf. Simulation of Adaptive Behavior (SAB ’06), 2006. University of Konstanz in 1999 and 2002,
[6] M. Gaertler, R. Görke, and D. Wagner, “Significance-Driven respectively. He was an associate professor at
Graph Clustering,” Proc. Third Int’l Conf. Algorithmic Aspects in the University of Passau until 2003. He is
Information and Management (AAIM ’07), pp. 11-26, June 2007. currently a full professor of computer science
[7] M.E.J. Newman, “Fast Algorithm for Detecting Community at the University of Konstanz. His research
Structure in Networks,” Physical Rev. E, vol. 69, no. 066133, 2004. interests include algorithmic graph theory, graph
[8] A. Clauset, M.E.J. Newman, and C. Moore, “Finding Community drawing, social network analysis, information
Structure in Very Large Networks,” Physical Rev. E, vol. 70, visualization, and algorithm engineering.
no. 066111, http://link.aps.org/abstract/PRE/v70/e066111,
2004.
[9] M. Newman, “Modularity and Community Structure in Net- Daniel Delling received the bachelor’s degree
works,” Proc. Nat’l Academy of Sciences, pp. 8577-8582, 2005. in computer science from the Universität Karls-
[10] S. White and P. Smyth, “A Spectral Clustering Approach to ruhe, Germany, in 2006. He is currently working
Finding Communities in Graph,” Proc. SIAM Int’l Conf. Data towards the PhD degree in the Chair of
Mining (SDM ’05), 2005. Algorithmics I, Faculty of Informatics, University
[11] R. Guimerà, M. Sales-Pardo, and L.A.N. Amaral, “Modularity of Karlsruhe. His research interests are compu-
from Fluctuations in Random Graphs and Complex Networks,” tations of shortest paths in large, dynamic, time-
Physical Rev. E, vol. 70, no. 025101, 2004. dependent graphs, and graph clustering.
[12] J. Reichardt and S. Bornholdt, “Statistical Mechanics of Commu-
nity Detection,” Physical Rev. E, vol. 74, no. 016110, 2006.
[13] J. Duch and A. Arenas, “Community Detection in Complex
Networks Using Extremal Optimization,” Physical Rev. E, vol. 72,
no. 027104, 2005. Marco Gaertler received the bachelor’s degree
[14] M. Gaertler, “Clustering,” Network Analysis: Methodological Foun- in mathematics from the Universität Konstanz,
dations, U. Brandes and T. Erlebach, eds. pp. 178-215, Springer- Germany, in 2002 and the PhD degree in
Verlag, http://springerlink.metapress.com/openurl.asp?genre= computer science from the University of Karls-
article&is sn=0302-9743&volume=3418&spage=178, Feb. 2005. ruhe in 2007. His research interests are the
[15] L. Danon, A. Dı́az-Guilera, J. Duch, and A. Arenas, “Comparing clustering of graphs both in a static and in an
Community Structure Identification,” J. Statistical Mechanics, 2005. evolving environment and the analytic visualiza-
[16] M.R. Garey and D.S. Johnson, Computers and Intractability. A Guide tion of networks.
to the Theory of N P-Completeness. W.H. Freeman and Co., 1979.
[17] M. Newman, “Analysis of Weighted Networks,” technical report,
Univ. of Michigan, July 2004.
[18] C.J. Alpert and A.B. Kahng, “Recent Directions in Netlist
Robert Görke received the bachelor’s degree in
Partitioning: A Survey,” Integration: The VLSI J., vol. 19, nos. 1-2,
technical mathematics from the Universität
pp. 1-81, http://vlsicad.cs.ucla.edu/~cheese/survey.html, 1995.
Karlsruhe, Germany, in 2005. He is currently
[19] E. Hartuv and R. Shamir, “A Clustering Algorithm Based on Graph working towards the PhD degree at the Chair of
Connectivity,” Information Processing Letters, vol. 76, nos. 4-6, Algorithmics I, Faculty of Informatics, University
pp. 175-181, http://citeseer.nj.nec.com/hartuv99clustering.html, of Karlsruhe. His research interests are the
2000. clustering of graphs both in a static and in an
[20] S. Vempala, R. Kannan, and A. Vetta, “On Clusterings: Good, Bad evolving environment and the analytic visualiza-
and Spectral,” Proc. 41st Ann. IEEE Symp. Foundations of Computer tion of networks.
Science (FOCS ’00), pp. 367-378, 2000.
[21] I. Giotis and V. Guruswami, “Correlation Clustering with a Fixed
Number of Clusters,” Proc. 17th Ann. ACM-SIAM Symp. Discrete
Algorithms (SODA ’06), pp. 1167-1176, http://portal.acm.org/ Martin Hoefer received the bachelor’s degree
citation.cfm?id=1109557.1109686#, 2006. in computer science from the Technische
[22] T. Bui, S. Chaudhuri, F. Leighton, and M. Sipser, “Graph Bisection Universität Clausthal, Germany, in 2004 and
Algorithms with Good Average Case Behavior,” Combinatorica, the PhD degree in computer science from the
vol. 7, no. 2, pp. pp. 171-191, 1987. University of Konstanz in 2007. His research
[23] A.K. Jain, M.N. Murty, and P.J. Flynn, “Data Clustering: A interests are efficient graph algorithms, graph
Review,” ACM Computing Surveys, vol. 31, no. 3, pp. 264-323, 1999. theory, algorithmic game theory, and combi-
[24] U. Brandes, D. Delling, M. Gaertler, R. Görke, M. Hoefer, Z. natorial optimization.
Nikoloski, and D. Wagner, “On Modularity: NP-Completeness
and Beyond,” Technical Report 2006-19, ITI Wagner, Faculty of
Informatics, Universität Karlsruhe (TH), 2006.
[25] W.W. Zachary, “An Information Flow Model for Conflict and
Fission in Small Groups,” J. Anthropological Research, vol. 33,
pp. 452-473, 1977.
[26] M.E.J. Newman and M. Girvan, “Mixing Patterns and Community
Structure in Networks,” Statistical Mechanics of Complex Networks,
Lecture Notes in Physics 625, R. Pastor-Satorras, M. Rubi, and
A. Diaz-Guilera, eds., pp. 66-87, Springer-Verlag, 2003.
[27] D. Delling, M. Gaertler, R. Görke, and D. Wagner, “Experiments
on Comparing Graph Clusterings,” Technical Report 2006-16, ITI
Wagner, Faculty of Informatics, Universität Karlsruhe (TH), 2006.
188 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 20, NO. 2, FEBRUARY 2008

Zoran Nikoloski received the BS degree in Dorothea Wagner received the Diplom and
computer science from Graceland University, PhD degrees in mathematics from the Rhei-
Lamoni, Iowa, in 2001 and the PhD degree in nisch-Westfälische Technische Hochschule, Aa-
computer science from the University of Central chen, Germany, in 1983 and 1986, respectively,
Florida, Orlando, in 2005. From 2004 to 2007, he and the Habilitation degree from the Technische
was a postdoctoral researcher in the Depart- Universität Berlin in 1992. Until 2003, she was a
ment of Applied Mathematics, Faculty of Mathe- full professor of computer science at the
matics and Physics, Charles University, Prague. University of Konstanz. She is currently a full
He is currently a postdoctoral researcher at the professor at the University of Karlsruhe. She is
Max-Planck Institute for Molecular Plant Phy- part of several editorial boards and is the vice
siology, Potsdam-Golm, and the Institute for Biochemistry and Biology, president of the German Research Association (DFG). Her research
University of Potsdam, Potsdam, Germany. interests include discrete optimization, graph algorithms, and algorithm
engineering.

. For more information on this or any other computing topic,


please visit our Digital Library at www.computer.org/publications/dlib.

Potrebbero piacerti anche