Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
1X r
1 X r
mi d2 :
m i¼1 4m2 i¼1 i
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 :
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
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:
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.