SlideShare a Scribd company logo
1 of 11
Download to read offline
Fast Incremental Community Detection
on Dynamic Graphs
Anita Zakrzewska(B)
and David A. Bader
Computational Science and Engineering, Georgia Institute of Technology,
Atlanta, GA, USA
azakrzewska3@gatech.edu
Abstract. Community detection, or graph clustering, is the problem of
finding dense groups in a graph. This is important for a variety of applica-
tions, from social network analysis to biological interactions. While most
work in community detection has focused on static graphs, real data
is usually dynamic, changing over time. We present a new algorithm
for dynamic community detection that incrementally updates clusters
when the graph changes. The method is based on a greedy, modularity
maximizing static approach and stores the history of merges in order to
backtrack. On synthetic graph tests with known ground truth clusters,
it can detect a variety of structural community changes for both small
and large batches of edge updates.
Keywords: Graphs · Community detection · Graph clustering ·
Dynamic graphs
1 Introduction
Graphs are used to represent a variety of relational data, such as internet traffic,
social networks, financial transactions, and biological data. A graph G = (V, E)
is composed of a set of vertices V , which represent entities, and edges E, which
represent relationships between entities. The problem of finding dense, highly
connected groups of vertices in a graph is called community detection or graph
clustering. In cases where communities are non-overlapping and cover the entire
graph, the term community partitioning may also be used. Many real world
graphs contain communities, such as groups of friends on social networks, lab
colleagues in a co-publishing graph, or related proteins in biological networks.
In this work, we present a new algorithm for incremental community detection
on dynamic graphs.
1.1 Related Work
Most work in community detection has been done for static, unchanging graphs.
Popular methods include hierarchical vertex agglomeration, edge agglomeration,
c
 Springer International Publishing Switzerland 2016
R. Wyrzykowski et al. (Eds.): PPAM 2015, Part I, LNCS 9573, pp. 207–217, 2016.
DOI: 10.1007/978-3-319-32149-3 20
208 A. Zakrzewska and D.A. Bader
clique percolation, spectral algorithms, and label propagation. Details of a vari-
ety of approaches can be found in the survey by Fortunato [11]. The quality of
a community C is often measured using a fitness function. Modularity, shown in
Eq. 1, is a popular measure that compares the number of intra-community edges
to the expected number under a random null model [16]. Let kC
in be the sum of
edge weights for edges with both endpoint vertices in C and kC
out be the sum of
edge weights for edges with only one endpoint in C.
Q(C) =
1
|E|
(kC
in −
(kC
in + kC
out)2
4 |E|
) (1)
CNM [6] is a hierarchical, agglomerative algorithm that greedily maximizes
modularity. Each vertex begins as its own singleton community. Communities
are then sequentially merged by contracting the edge resulting in the greatest
increase in modularity. Riedy et al. present a parallel version of this algorithm
in which a weighted maximal matching on edges is used [19].
Real graphs evolve over time. Many works study community detection on
dynamic graphs by creating a sequence of data snapshots over time and cluster-
ing each snapshot. Chakrabarti et al. [5] introduce evolutionary clustering and
GraphScope uses block modeling and information compression principles [21].
There are many other works which study the evolution of communities in chang-
ing graphs [9,14,22]. However, these are not incremental methods. A second cat-
egory of algorithms incrementally updates previously computed clusters when
the underlying graph changes. By reusing previous computations, incremental
algorithms can run faster, which is critical for scaling to large datasets. This is
especially useful for applications in which community information must be kept
up to date for a quickly changing graph and low latency is desired. Moreover,
incremental approaches can result in smoother community transitions.
Duan et al. [10] present an incremental algorithm for finding k-clique com-
munities [18] in a changing graph and Ning et al. [17] provide a dynamic algo-
rithm for spectral partitioning. Other algorithms search for emerging events in
microblog streams [3,4]. Dinh et al. [7,8] present an incremental updating algo-
rithm to modularity based CNM. First, standard CNM is run on the initial
graph. For each graph update, every vertex that is an endpoint of an inserted
edge is removed from its community and placed into a new singleton community.
The standard, static CNM algorithm is then restarted and communities may be
further merged to increase modularity.
The work most closely related to ours is by Görke et al. [13], in which the
authors also present two dynamic algorithms that update a CNM based clus-
tering. In their first algorithm, endpoint vertices of newly updated edges, along
with a local neighborhood, are freed from their current cluster and CNM is
restarted. The second algorithm stores the dendrogram of cluster merges formed
by the initial CNM clustering. When the graph changes, the algorithm back-
tracks cluster merges using this dendrogram until specified conditions are met.
If an intra-community edge is inserted, it backtracks till the two endpoint ver-
tices are in separate communities. If an intra-community edge is deleted or an
Fast Incremental Community Detection on Dynamic Graphs 209
inter-community edge is inserted, it backtracks till both endpoints are their own
singleton communities. No backtracking occurs on a inter-community edge dele-
tion. After communities have been modified, CNM is restarted.
1.2 Contribution
In this work we present two incremental algorithms that update communities
when the underlying graph changes. The first version, BasicDyn is similar to
previous work by Görke et al. [13]. Our second algorithm, FastDyn, is a modi-
fication of BasicDyn that runs faster. We use various synthetic dynamic graphs
to test the quality of our methods. Both BasicDyn and FastDyn are able to
detect community changes.
backtracking Re-contracting
Roots marked represent
actual communities output for G
Fig. 1. The left image shows ForestG created after agglomeration. The center image
shows the ForestG after backtracking undos merges using BasicDyn or FastDyn.
Right shows after re-starting agglomeration using Agglomerate or FastAgglomerate.
2 Algorithm
The basis of our algorithm is the parallel version of CNM presented by Riedy
et al. [19]. We will denote this by Agglomerate. Each vertex in the graph G is
initialized as its own singleton community, forming the community graph Gcomm.
Note that while Gcomm is initially the same as G, each vertex of Gcomm represents
a group or cluster of vertices in G. The weighted degree of a vertex c ∈ Gcomm
corresponds to kc
out and the weight assigned to c (initially 0), corresponds to the
intra-community edges kc
in.
Next, the following three steps are repeated until the termination criterion
is reached. (1) For each edge in Gcomm, the change in modularity resulting from
an edge contraction is computed. Given an edge (c1, c2) in Gcomm, the change
in modularity is given by the value ΔQ(c1, c2) = Q(c1 ∪ c2) − (Q(c1) + Q(c2)),
which can be easily computed using Eq. 1. This score is assigned to the edge.
(2) A weighted maximal matching is computed on the edges of Gcomm using
these scores. (3) Edges in the maximal matching are contracted in parallel. An
edge contraction merges the two endpoint vertices into one vertex. Termination
occurs when no edge contraction results in a great enough modularity increase.
All vertices that have been merged together by edge contractions correspond
to a single community and so by repeatedly merging vertices in Gcomm, we create
ever larger communities in G. The history of these contractions can be stored as a
forest of merges. Pairs of vertices in Gcomm that were merged together by an edge
210 A. Zakrzewska and D.A. Bader
contraction are children of the same parent. The root of each tree corresponds
to the final communities found for G. We refer to this forest by ForestG. Edge
contraction scores can be computed in O(|E|) time. If the maximal matching
is also computed in O(|E|), then the complexity of Agglomerate is O(K ∗ |E|),
where K is the number of contraction phases. In the best case, the number of
communities halves in each phase and the complexity is O(log(|V |)∗|E|). In the
worst case, the graph has a star formation and only one edge contracts in each
phase, resulting in a complexity of O(|V | ∗ |E|).
Our dynamic algorithm begins with the initial graph G and runs the Agglom-
erate algorithm to create ForestG. We then apply a stream of edge insertions and
deletions to G. These updates can be applied in batches of any size. Small batch
sizes are used for low latency applications, while aggregating larger batches can
result in a relatively lower overall running time. For each batch of updates, our
algorithm uses the history of merges in ForestG and undoes certain merges that
previously had taken place. This breaks apart certain previous communities and
un-contracts corresponding vertices in Gcomm. Next, the Agglomerate algorithm
is restarted and new modularity increasing merges may be performed. Figure 1
shows this process. Next we describe two versions of the dynamic algorithm,
each of which follows the basic steps described.
BasicDyn: When a new batch of edge insertions and deletions is processed, each
vertex that is an endpoint of any edge in the batch is marked. Merges are then
backtracked in ForestG until each marked vertex is in its own singleton com-
munity. After backtracking, Agglomerate is restarted to re-merge communities.
FastDyn: The FastDyn method is based on BasicDyn, but has two modi-
fications that improve computational speed. The first is that backtracking of
previous merges in ForestG occurs under more stringent conditions. Merges are
only undone if the quality of the merge, as measured by the induced change
in modularity, has significantly decreased compared to when the merge initially
took place. Because merges may be performed in parallel using a weighted max-
imal matching on edges, not every vertex c ∈ Gcomm merges with its high-
est scoring neighbor best(c). When a vertex c ∈ Gcomm merges at time ti,
we store both the score of that merge ΔQti
(c, match(c)) and the score of the
highest possible merge c could have participated in ΔQti
(c, bestti
(c)). After a
batch of edge updates is applied at time tcurr and the graph G changes, the
best and actual merge scores are rechecked. The score of a merge has sig-
nificantly decreased if: ΔQti
(c, bestti
(c)) − ΔQti
(c, match(c)) + threshold 
ΔQtcurr
(c, besttcurr
(c)) − ΔQtcurr
(c, match(c)). This occurs if either the score
of the merge taken has decreased or the score of the best possible merge has
increased.
For each merge evaluated, FastDyn checks the above condition and if it
is met, ForestG is backtracked to undo the merge. Merges that are evaluated
are those that occur between clusters that contain at least one member that is
directly affected by the batch of edge updates (is an endpoint of an newly inserted
Fast Incremental Community Detection on Dynamic Graphs 211
Data: Gcomm and ForestG,prev
1 while contractions occuring do
2 for v ∈ Gcomm in parallel do
3 paired[v] = 0;
4 match[v] = v;
5 end
6 while matches possible do
7 for v ∈ Gcomm s.t. paired[v] == 0 in parallel do
8 max = 0, match[v] = v;
9 for neighbors w of v s.t. paired[w] == 0 do
10 if ΔQ(v, w)  max then
11 max = ΔQ(v, w);
12 match[v] = w;
13 end
14 end
15 end
16 for v ∈ Gcomm s.t. paired[v] == 0 in parallel do
17 if match[v]  0 and (match[match[v]] == v or
prevroot[v] == prevroot[match[v]]) then
18 paired[v] = 1;
19 end
20 end
21 end
22 for v ∈ Gcomm in parallel do
23 Pointer jump match array to root;
24 dest[v]=root;
25 end
26 Contract in parallel all vertices in Gcomm with same value of dest;
27 end
Algorithm 1. The FastAgglomerate algorithm used by FastDyn. prevroot
labels each vertex by its root in ForestG,prev, which corresponds to its previous
community membership.
or deleted edge). In ForestG, this corresponds to leaf nodes that represent such
endpoint vertices as well as any upstream parent of such a leaf node.
The second modification of FastDyn occurs in the re-merging step. Instead
of running Agglomerate after backtracking merges, FastDyn runs a modified
method, which we will call FastAgglomerate. Because Agglomerate only allows
two vertices to merge together in a contraction phase, star-like formations con-
taining n vertices take n phases to merge, which results in a very long running
time. We have found that backtracking merges creates such structures so that
running Agglomerate after backtracking results in a very long tail of contrac-
tions, each of which only contacts a small number of edges. We address this
problem with FastAgglomerate, which uses information about previous merges
to speed up contractions. Instead of performing a maximal edge matching,
FastAgglomerate allows more than two vertices of Gcomm to contract together
if in the previous time step these vertices eventually ended up contracted into
212 A. Zakrzewska and D.A. Bader
the same community (if they correspond to nodes in ForestG that previously
shared the same root). In the static case, merging several vertices together in
one contraction phase could lead to deteriorating results. FastAgglomerate is
able to do this, however, because it uses information from the merges of the pre-
vious time step. Intuitively, merges that previously occurred are more likely to
be acceptable later. Pseudocode is given in Algorithm 1. In the worst case, both
BasicDyn and FastDyn will backtrack enough to undo many or most merges.
In this case, the running time is the same as that of Agglomerative. For small
updates, the dynamic algorithms run faster in practice. FastDyn decreases the
number of contraction steps needed by allowing several vertices to merge in a
single step.
Fig. 2. Results for the synthetic test of splitting and merging clusters are shown. The
actual and detected number of communities across time are plotted for batch sizes of 1,
10, 100, and 1000. An alternative approach is shown and labeled “NoHistory” (Color
figure online).
3 Results
Dynamic community detection is only useful if the algorithm is able to detect
structural changes. We evaluate our algorithm using two tests. First, we form a
ring of 32 communities, each with 32 vertices. Each vertex in a community is
on average connected to 16 other vertices in the cluster. Over time, edges are
both inserted and removed so that each of the 32 clusters consecutively splits
in two. Once each community has been split, edges are then updated so that
Fast Incremental Community Detection on Dynamic Graphs 213
pairs of clusters merge together (different pairs than at the start), resulting in
32 clusters again. Figure 2 shows the number of communities detected over time
by BasicDyn with the solid blue line, the number detected by FastDyn with
the green dots and dashes, and the actual number with the dashed red line.
Because graphs are randomly generated, each curve is the average of 10 runs.
The x-axis represents the number of updates that have been made to the graph.
Batch sizes used are 1,10,100, and 1000. A batch size of n means that n edge
insertions and deletions are accumulated before the communities are incremen-
tally updated. Since the curves rise and then fall, both algorithms are able to
detect first splits and then merges. As the batch size increases, the performance
of FastDyn improves, which is expected because a larger batch size allows more
communities to be broken apart during backtracking and the algorithm has more
options for how to re-contract communities. Therefore, the algorithm can output
results closer to those that would be found with a static recomputation begin-
ning from scratch. We also compare the ability of FastDyn and BasicDyn to
detect community changes to the dynamic algorithm from [20], which also uses
greedy modularity maximization. After a batch of edges is inserted and removed,
this method removes each vertex with an updated edge from its current com-
munity into its own singelton community. Agglomeration is then restarted. The
results of this alternative approach are shown in Fig. 2 with the purple dotted
line labeled “NoHistory”. Unlike the backtracking approaches, community splits
and merges are only detected for a large batch size of 1000.
Fig. 3. Results for FastDyn on the second synthetic test using a shifting stochastic
block model are shown. The y-axis shows the quality of output and x-axis shows the
probability of an intra-community edge.
The second test is run on a graph formed using a stochastic block model [15].
We generate two separate graphs, blockA and blockB, each with two communi-
ties in which the probability of an intra-community edge and that of an inter-
community edge are both specified. BlockB uses the same parameters as blockA,
214 A. Zakrzewska and D.A. Bader
but with the vertex members of each community changed. Half of the vertices
that were in community one in blockA move to the second community of blockB
and half of those that were in community two of blockA move to community one
of blockB. We begin by running Agglomerate on the entire blockA. Then, in a
stream of updates, we remove edges from blockA and add edges from blockB. At
the end of the stream, the graph will equal blockB. This test differs from the first
test in an important way. In test one, the algorithm could always detect some
number of distinct communities. Here, distinct communities only exist near the
beginning and end of the stream, while in the middle the graph is a mixture of
blockA and blockB. The updates to the graph in this test are randomly distrib-
uted across all vertices so that much of ForestG may be affected. In contrast,
the updates in test one were applied to one cluster at a time. Lastly, test one
specifically tests splits and merges, while test two uses a general rearrangement.
Figure 3 shows how well FastDyn is able to distinguish the two communities of
blockB at the end of the stream. Communities are detected for each batch, but we
only evaluate at the end of the stream since that is when the graph returns to a
known block structure. The x-axis varies the probability of an intra-community
edge. Unsurprisingly, the algorithm performs better when the communities in
blockA and blockB are denser. The y-axis shows the correctness of FastDyn,
which is determined as follows. For each vertex v in the graph, we compare its
actual community in blockB to its community output by FastDyn. The Jac-
card index then measures the normalized overlap between the two sets, with 1
measuring perfect overlap, and 0 no overlap. The average Jaccard index across
all vertices measures the algorithm correctness. Because blockA and blockB are
randomly generated, each point plotted is an average of 50 separate runs on
different graphs. The two synthetic tests described above show that FastDyn
is able to distinguish structural community changes. Synthetic tests are useful
because communities have ground truth and known changes can be applied.
Table 1. The time to compute the initial static community detection and average time
to update with incremental algorithms is shown.
Graph Initial Batch size FastDyn BasicDyn
Facebook 3.5 s 10 0.1 s 0.2 s
1000 0.7 s 4.9 s
DBLP 122 s 10 7.1 s 21.7 s
1000 72 s 101 s
Slashdot 45 s 10 0.6 s 2.1 s
1000 7.5 s 289 s
Table 1 shows the running time of the initial static community detection used
by the dynamic algorithms and the average running time to process a batch
of size 10 and 1000 edges for FastDyn and BasicDyn. The algorithms were
tested on a Slashdot graph [12], a DBLP graph [1,24], and a Facebook wall post
graph [2,23]. The FastDyn algorithm is faster than BasicDyn for all graphs and
Fast Incremental Community Detection on Dynamic Graphs 215
batch sizes. The speedup of using a dynamic algorithm is greater for small batch
sizes because the incremental algorithms perform less work, while running time
for static computation remains the same. Therefore, an incremental approach
is most useful for monitoring applications where community results must be
updated after a small number of data changes.
4 Conclusion
In this work, we present two incremental community detection algorithms for
dynamic graphs. Both use hierarchical, modularity maximizing clustering as
their base and update results by storing the history of previous merges in a
forest. While BasicDyn is similar in nature to a previous approach, FastDyn
has two improvements that significantly improve running time while maintaining
clustering quality. FastDyn is faster than BasicDyn on all real graphs tested
for both small and large update batch sizes. Incrementally updating allows for
speedup over recalculating from scratch whenever the graph changes, especially
for small batch sizes when low latency updates are needed. While the algorithm
is based off a parallel static algorithm, and can be parallelized, the focus of this
work was to study improvements in performance due to incremental updates.
Parallel scalability is a topic for future work.
Acknowledgments. The work depicted in this paper was sponsored by Defense
Advanced Research Projects Agency (DARPA) under agreement #HR0011-13-2-0001.
The content, views and conclusions presented in this document do not necessarily reflect
the position or the policy of DARPA or the U.S. Government, no official endorsement
should be inferred.
References
1. Dblp co-authorship network dataset – KONECT, May 2015. http://konect.
unikoblenz.de/networks/com-dblp
2. Facebook wall posts network dataset – KONECT, May 2015. http://konect.
unikoblenz.de/networks/facebook-wosn-wall
3. Agarwal, M.K., Ramamritham, K., Bhide, M.: Real time discovery of dense clus-
ters in highly dynamic graphs: identifying real world events in highly dynamic
environments. Proc. VLDB Endowment 5(10), 980–991 (2012)
4. Angel, A., Sarkas, N., Koudas, N., Srivastava, D.: Dense subgraph maintenance
under streaming edge weight updates for real-time story identification. Proc. VLDB
Endowment 5(6), 574–585 (2012)
5. Chakrabarti, D., Kumar, R., Tomkins, A.: Evolutionary clustering. In: Proceedings
of the 12th ACM SIGKDD International Conference on Knowledge Discovery and
Data Mining, pp. 554–560. ACM (2006)
6. Clauset, A., Newman, M.E., Moore, C.: Finding community structure in very large
networks. Physical Rev. E 70(6), 066111 (2004)
216 A. Zakrzewska and D.A. Bader
7. Dinh, T.N., Shin, I., Thai, N.K., Thai, M.T., Znati, T.: A general approach for mod-
ules identification in evolving networks. In: Hirsch, M.J., Pardalos, P.M., Murphey,
R. (eds.) Dynamics of Information Systems. Springer Optimization and Its Appli-
cations, vol. 40, pp. 83–100. Springer, Heidelberg (2010)
8. Dinh, T.N., Xuan, Y., Thai, M.T.: Towards social-aware routing in dynamic com-
munication networks. In: 2009 IEEE 28th International Performance Computing
and Communications Conference (IPCCC), pp. 161–168. IEEE (2009)
9. Duan, D., Li, Y., Jin, Y., Lu, Z.: Community mining on dynamic weighted directed
graphs. In: Proceedings of the 1st ACM International Workshop on Complex Net-
works Meet Information  Knowledge Management, pp. 11–18. ACM (2009)
10. Duan, D., Li, Y., Li, R., Lu, Z.: Incremental k-clique clustering in dynamic social
networks. Artif. Intell. Rev. 38(2), 129–147 (2012)
11. Fortunato, S.: Community detection in graphs. Phys. Rep. 486(3), 75–174 (2010)
12. Gómez, V., Kaltenbrunner, A., López, V.: Statistical analysis of the social net-
work and discussion threads in slashdot. In: Proceedings of the 17th International
Conference on World Wide Web, pp. 645–654. ACM (2008)
13. Görke, R., Maillard, P., Schumm, A., Staudt, C., Wagner, D.: Dynamic graph
clustering combining modularity and smoothness. J. Exp. Algorithmics (JEA) 18,
1–5 (2013)
14. Greene, D., Doyle, D., Cunningham, P.: Tracking the evolution of communities in
dynamic social networks. In: 2010 International Conference on Advances in Social
Networks Analysis and Mining (ASONAM), pp. 176–183. IEEE (2010)
15. Holland, P.W., Laskey, K.B., Leinhardt, S.: Stochastic blockmodels: first steps.
Soc. Netw. 5(2), 109–137 (1983)
16. Newman, M.E., Girvan, M.: Finding and evaluating community structure in net-
works. Phys. Rev. E 69(2), 026113 (2004)
17. Ning, H., Xu, W., Chi, Y., Gong, Y., Huang, T.S.: Incremental spectral clustering
by efficiently updating the eigen-system. Pattern Recogn. 43(1), 113–127 (2010)
18. Palla, G., Derényi, I., Farkas, I., Vicsek, T.: Uncovering the overlapping community
structure of complex networks in nature and society. Nature 435(7043), 814–818
(2005)
19. Riedy, E.J., Meyerhenke, H., Ediger, D., Bader, D.A.: Parallel community detec-
tion for massive graphs. In: Wyrzykowski, R., Dongarra, J., Karczewski, K.,
Waśniewski, J. (eds.) PPAM 2011, Part I. LNCS, vol. 7203, pp. 286–296. Springer,
Heidelberg (2012)
20. Riedy, J., Bader, D., et al.: Multithreaded community monitoring for massive
streaming graph data. In: 2013 IEEE 27th International Parallel and Distrib-
uted Processing Symposium Workshops  PhD Forum (IPDPSW), pp. 1646–1655.
IEEE (2013)
21. Sun, J., Faloutsos, C., Papadimitriou, S., Yu, P.S.: Graphscope: parameter-free
mining of large time-evolving graphs. In: Proceedings of the 13th ACM SIGKDD
International Conference on Knowledge Discovery and Data Mining, pp. 687–696.
ACM (2007)
22. Tantipathananandh, C., Berger-Wolf, T., Kempe, D.: A framework for commu-
nity identification in dynamic social networks. In: Proceedings of the 13th ACM
SIGKDD International Conference on Knowledge Discovery and Data Mining, pp.
717–726. ACM (2007)
Fast Incremental Community Detection on Dynamic Graphs 217
23. Viswanath, B., Mislove, A., Cha, M., Gummadi, K.P.: On the evolution of user
interaction in facebook. In: Proceedings of the 2nd ACM Workshop on Online
Social Networks, pp. 37–42. ACM (2009)
24. Yang, J., Leskovec, J.: Defining and evaluating network communities based on
ground-truth. Nature 42(1), 181–213 (2015)

More Related Content

Similar to Fast Incremental Community Detection on Dynamic Graphs : NOTES

DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...Artem Lutov
 
Automatic Generation of Persistent Formations Under Range Constraints
Automatic Generation of Persistent Formations Under Range ConstraintsAutomatic Generation of Persistent Formations Under Range Constraints
Automatic Generation of Persistent Formations Under Range Constraintselliando dias
 
COMPARATIVE PERFORMANCE ANALYSIS OF RNSC AND MCL ALGORITHMS ON POWER-LAW DIST...
COMPARATIVE PERFORMANCE ANALYSIS OF RNSC AND MCL ALGORITHMS ON POWER-LAW DIST...COMPARATIVE PERFORMANCE ANALYSIS OF RNSC AND MCL ALGORITHMS ON POWER-LAW DIST...
COMPARATIVE PERFORMANCE ANALYSIS OF RNSC AND MCL ALGORITHMS ON POWER-LAW DIST...acijjournal
 
Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
Parallel Batch-Dynamic Graphs: Algorithms and Lower BoundsParallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
Parallel Batch-Dynamic Graphs: Algorithms and Lower BoundsSubhajit Sahu
 
Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
Parallel Batch-Dynamic Graphs: Algorithms and Lower BoundsParallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
Parallel Batch-Dynamic Graphs: Algorithms and Lower BoundsSubhajit Sahu
 
Dahlquist et-al bosc-ismb_2016_poster
Dahlquist et-al bosc-ismb_2016_posterDahlquist et-al bosc-ismb_2016_poster
Dahlquist et-al bosc-ismb_2016_posterGRNsight
 
Scalable Graph Clustering with Pregel
Scalable Graph Clustering with PregelScalable Graph Clustering with Pregel
Scalable Graph Clustering with PregelSqrrl
 
Jgrass-NewAge: Kriging component
Jgrass-NewAge: Kriging componentJgrass-NewAge: Kriging component
Jgrass-NewAge: Kriging componentNiccolò Tubini
 
NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...
NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...
NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...idescitation
 
Development of stereo matching algorithm based on sum of absolute RGB color d...
Development of stereo matching algorithm based on sum of absolute RGB color d...Development of stereo matching algorithm based on sum of absolute RGB color d...
Development of stereo matching algorithm based on sum of absolute RGB color d...IJECEIAES
 
A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...
A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...
A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...Rafael Nogueras
 
UrbaWind, a Computational Fluid Dynamics tool to predict wind resource in urb...
UrbaWind, a Computational Fluid Dynamics tool to predict wind resource in urb...UrbaWind, a Computational Fluid Dynamics tool to predict wind resource in urb...
UrbaWind, a Computational Fluid Dynamics tool to predict wind resource in urb...Stephane Meteodyn
 
Integration of the natural cross ventilation in the CFD software UrbaWind
Integration of the natural cross ventilation in the CFD software UrbaWindIntegration of the natural cross ventilation in the CFD software UrbaWind
Integration of the natural cross ventilation in the CFD software UrbaWindStephane Meteodyn
 
Using spectral radius ratio for node degree
Using spectral radius ratio for node degreeUsing spectral radius ratio for node degree
Using spectral radius ratio for node degreeIJCNCJournal
 
Half Gaussian-based wavelet transform for pooling layer for convolution neura...
Half Gaussian-based wavelet transform for pooling layer for convolution neura...Half Gaussian-based wavelet transform for pooling layer for convolution neura...
Half Gaussian-based wavelet transform for pooling layer for convolution neura...TELKOMNIKA JOURNAL
 
Multiple Ant Colony Optimizations for Stereo Matching
Multiple Ant Colony Optimizations for Stereo MatchingMultiple Ant Colony Optimizations for Stereo Matching
Multiple Ant Colony Optimizations for Stereo MatchingCSCJournals
 
CenterForDomainSpecificComputing-Poster
CenterForDomainSpecificComputing-PosterCenterForDomainSpecificComputing-Poster
CenterForDomainSpecificComputing-PosterYunming Zhang
 
O N T HE D ISTRIBUTION OF T HE M AXIMAL C LIQUE S IZE F OR T HE V ERTICES IN ...
O N T HE D ISTRIBUTION OF T HE M AXIMAL C LIQUE S IZE F OR T HE V ERTICES IN ...O N T HE D ISTRIBUTION OF T HE M AXIMAL C LIQUE S IZE F OR T HE V ERTICES IN ...
O N T HE D ISTRIBUTION OF T HE M AXIMAL C LIQUE S IZE F OR T HE V ERTICES IN ...csandit
 
Community detection of political blogs network based on structure-attribute g...
Community detection of political blogs network based on structure-attribute g...Community detection of political blogs network based on structure-attribute g...
Community detection of political blogs network based on structure-attribute g...IJECEIAES
 

Similar to Fast Incremental Community Detection on Dynamic Graphs : NOTES (20)

DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
 
Automatic Generation of Persistent Formations Under Range Constraints
Automatic Generation of Persistent Formations Under Range ConstraintsAutomatic Generation of Persistent Formations Under Range Constraints
Automatic Generation of Persistent Formations Under Range Constraints
 
COMPARATIVE PERFORMANCE ANALYSIS OF RNSC AND MCL ALGORITHMS ON POWER-LAW DIST...
COMPARATIVE PERFORMANCE ANALYSIS OF RNSC AND MCL ALGORITHMS ON POWER-LAW DIST...COMPARATIVE PERFORMANCE ANALYSIS OF RNSC AND MCL ALGORITHMS ON POWER-LAW DIST...
COMPARATIVE PERFORMANCE ANALYSIS OF RNSC AND MCL ALGORITHMS ON POWER-LAW DIST...
 
Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
Parallel Batch-Dynamic Graphs: Algorithms and Lower BoundsParallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
 
Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
Parallel Batch-Dynamic Graphs: Algorithms and Lower BoundsParallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
Parallel Batch-Dynamic Graphs: Algorithms and Lower Bounds
 
Dahlquist et-al bosc-ismb_2016_poster
Dahlquist et-al bosc-ismb_2016_posterDahlquist et-al bosc-ismb_2016_poster
Dahlquist et-al bosc-ismb_2016_poster
 
Scalable Graph Clustering with Pregel
Scalable Graph Clustering with PregelScalable Graph Clustering with Pregel
Scalable Graph Clustering with Pregel
 
Jgrass-NewAge: Kriging component
Jgrass-NewAge: Kriging componentJgrass-NewAge: Kriging component
Jgrass-NewAge: Kriging component
 
Masters Thesis
Masters ThesisMasters Thesis
Masters Thesis
 
NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...
NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...
NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...
 
Development of stereo matching algorithm based on sum of absolute RGB color d...
Development of stereo matching algorithm based on sum of absolute RGB color d...Development of stereo matching algorithm based on sum of absolute RGB color d...
Development of stereo matching algorithm based on sum of absolute RGB color d...
 
A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...
A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...
A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...
 
UrbaWind, a Computational Fluid Dynamics tool to predict wind resource in urb...
UrbaWind, a Computational Fluid Dynamics tool to predict wind resource in urb...UrbaWind, a Computational Fluid Dynamics tool to predict wind resource in urb...
UrbaWind, a Computational Fluid Dynamics tool to predict wind resource in urb...
 
Integration of the natural cross ventilation in the CFD software UrbaWind
Integration of the natural cross ventilation in the CFD software UrbaWindIntegration of the natural cross ventilation in the CFD software UrbaWind
Integration of the natural cross ventilation in the CFD software UrbaWind
 
Using spectral radius ratio for node degree
Using spectral radius ratio for node degreeUsing spectral radius ratio for node degree
Using spectral radius ratio for node degree
 
Half Gaussian-based wavelet transform for pooling layer for convolution neura...
Half Gaussian-based wavelet transform for pooling layer for convolution neura...Half Gaussian-based wavelet transform for pooling layer for convolution neura...
Half Gaussian-based wavelet transform for pooling layer for convolution neura...
 
Multiple Ant Colony Optimizations for Stereo Matching
Multiple Ant Colony Optimizations for Stereo MatchingMultiple Ant Colony Optimizations for Stereo Matching
Multiple Ant Colony Optimizations for Stereo Matching
 
CenterForDomainSpecificComputing-Poster
CenterForDomainSpecificComputing-PosterCenterForDomainSpecificComputing-Poster
CenterForDomainSpecificComputing-Poster
 
O N T HE D ISTRIBUTION OF T HE M AXIMAL C LIQUE S IZE F OR T HE V ERTICES IN ...
O N T HE D ISTRIBUTION OF T HE M AXIMAL C LIQUE S IZE F OR T HE V ERTICES IN ...O N T HE D ISTRIBUTION OF T HE M AXIMAL C LIQUE S IZE F OR T HE V ERTICES IN ...
O N T HE D ISTRIBUTION OF T HE M AXIMAL C LIQUE S IZE F OR T HE V ERTICES IN ...
 
Community detection of political blogs network based on structure-attribute g...
Community detection of political blogs network based on structure-attribute g...Community detection of political blogs network based on structure-attribute g...
Community detection of political blogs network based on structure-attribute g...
 

More from Subhajit Sahu

DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTESDyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTESSubhajit Sahu
 
Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)Subhajit Sahu
 
Application Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTESApplication Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTESSubhajit Sahu
 
Survey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTESSurvey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTESSubhajit Sahu
 
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTERDynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTERSubhajit Sahu
 
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...Subhajit Sahu
 
Can you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTESCan you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTESSubhajit Sahu
 
HITS algorithm : NOTES
HITS algorithm : NOTESHITS algorithm : NOTES
HITS algorithm : NOTESSubhajit Sahu
 
Basic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTESBasic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTESSubhajit Sahu
 
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDESDynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDESSubhajit Sahu
 
Are Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTESAre Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTESSubhajit Sahu
 
Taxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTESTaxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTESSubhajit Sahu
 
A Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTESA Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTESSubhajit Sahu
 
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...Subhajit Sahu
 
Income Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTESIncome Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTESSubhajit Sahu
 
Youngistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTESYoungistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTESSubhajit Sahu
 
Youngistaan: Voting awarness-campaign : NOTES
Youngistaan: Voting awarness-campaign : NOTESYoungistaan: Voting awarness-campaign : NOTES
Youngistaan: Voting awarness-campaign : NOTESSubhajit Sahu
 
Cost Efficient PageRank Computation using GPU : NOTES
Cost Efficient PageRank Computation using GPU : NOTESCost Efficient PageRank Computation using GPU : NOTES
Cost Efficient PageRank Computation using GPU : NOTESSubhajit Sahu
 
Rank adjustment strategies for Dynamic PageRank : REPORT
Rank adjustment strategies for Dynamic PageRank : REPORTRank adjustment strategies for Dynamic PageRank : REPORT
Rank adjustment strategies for Dynamic PageRank : REPORTSubhajit Sahu
 
Variadic CRTP : NOTES
Variadic CRTP : NOTESVariadic CRTP : NOTES
Variadic CRTP : NOTESSubhajit Sahu
 

More from Subhajit Sahu (20)

DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTESDyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
DyGraph: A Dynamic Graph Generator and Benchmark Suite : NOTES
 
Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)Shared memory Parallelism (NOTES)
Shared memory Parallelism (NOTES)
 
Application Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTESApplication Areas of Community Detection: A Review : NOTES
Application Areas of Community Detection: A Review : NOTES
 
Survey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTESSurvey for extra-child-process package : NOTES
Survey for extra-child-process package : NOTES
 
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTERDynamic Batch Parallel Algorithms for Updating PageRank : POSTER
Dynamic Batch Parallel Algorithms for Updating PageRank : POSTER
 
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
Abstract for IPDPS 2022 PhD Forum on Dynamic Batch Parallel Algorithms for Up...
 
Can you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTESCan you fix farming by going back 8000 years : NOTES
Can you fix farming by going back 8000 years : NOTES
 
HITS algorithm : NOTES
HITS algorithm : NOTESHITS algorithm : NOTES
HITS algorithm : NOTES
 
Basic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTESBasic Computer Architecture and the Case for GPUs : NOTES
Basic Computer Architecture and the Case for GPUs : NOTES
 
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDESDynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
Dynamic Batch Parallel Algorithms for Updating Pagerank : SLIDES
 
Are Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTESAre Satellites Covered in Gold Foil : NOTES
Are Satellites Covered in Gold Foil : NOTES
 
Taxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTESTaxation for Traders < Markets and Taxation : NOTES
Taxation for Traders < Markets and Taxation : NOTES
 
A Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTESA Generalization of the PageRank Algorithm : NOTES
A Generalization of the PageRank Algorithm : NOTES
 
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
ApproxBioWear: Approximating Additions for Efficient Biomedical Wearable Comp...
 
Income Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTESIncome Tax Calender 2021 (ITD) : NOTES
Income Tax Calender 2021 (ITD) : NOTES
 
Youngistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTESYoungistaan Foundation: Annual Report 2020-21 : NOTES
Youngistaan Foundation: Annual Report 2020-21 : NOTES
 
Youngistaan: Voting awarness-campaign : NOTES
Youngistaan: Voting awarness-campaign : NOTESYoungistaan: Voting awarness-campaign : NOTES
Youngistaan: Voting awarness-campaign : NOTES
 
Cost Efficient PageRank Computation using GPU : NOTES
Cost Efficient PageRank Computation using GPU : NOTESCost Efficient PageRank Computation using GPU : NOTES
Cost Efficient PageRank Computation using GPU : NOTES
 
Rank adjustment strategies for Dynamic PageRank : REPORT
Rank adjustment strategies for Dynamic PageRank : REPORTRank adjustment strategies for Dynamic PageRank : REPORT
Rank adjustment strategies for Dynamic PageRank : REPORT
 
Variadic CRTP : NOTES
Variadic CRTP : NOTESVariadic CRTP : NOTES
Variadic CRTP : NOTES
 

Recently uploaded

Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tantaDashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tantaPraksha3
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCEPRINCE C P
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Luciferase in rDNA technology (biotechnology).pptx
Luciferase in rDNA technology (biotechnology).pptxLuciferase in rDNA technology (biotechnology).pptx
Luciferase in rDNA technology (biotechnology).pptxAleenaTreesaSaji
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsssuserddc89b
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physicsvishikhakeshava1
 

Recently uploaded (20)

Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tantaDashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Luciferase in rDNA technology (biotechnology).pptx
Luciferase in rDNA technology (biotechnology).pptxLuciferase in rDNA technology (biotechnology).pptx
Luciferase in rDNA technology (biotechnology).pptx
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physics
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physics
 

Fast Incremental Community Detection on Dynamic Graphs : NOTES

  • 1. Fast Incremental Community Detection on Dynamic Graphs Anita Zakrzewska(B) and David A. Bader Computational Science and Engineering, Georgia Institute of Technology, Atlanta, GA, USA azakrzewska3@gatech.edu Abstract. Community detection, or graph clustering, is the problem of finding dense groups in a graph. This is important for a variety of applica- tions, from social network analysis to biological interactions. While most work in community detection has focused on static graphs, real data is usually dynamic, changing over time. We present a new algorithm for dynamic community detection that incrementally updates clusters when the graph changes. The method is based on a greedy, modularity maximizing static approach and stores the history of merges in order to backtrack. On synthetic graph tests with known ground truth clusters, it can detect a variety of structural community changes for both small and large batches of edge updates. Keywords: Graphs · Community detection · Graph clustering · Dynamic graphs 1 Introduction Graphs are used to represent a variety of relational data, such as internet traffic, social networks, financial transactions, and biological data. A graph G = (V, E) is composed of a set of vertices V , which represent entities, and edges E, which represent relationships between entities. The problem of finding dense, highly connected groups of vertices in a graph is called community detection or graph clustering. In cases where communities are non-overlapping and cover the entire graph, the term community partitioning may also be used. Many real world graphs contain communities, such as groups of friends on social networks, lab colleagues in a co-publishing graph, or related proteins in biological networks. In this work, we present a new algorithm for incremental community detection on dynamic graphs. 1.1 Related Work Most work in community detection has been done for static, unchanging graphs. Popular methods include hierarchical vertex agglomeration, edge agglomeration, c Springer International Publishing Switzerland 2016 R. Wyrzykowski et al. (Eds.): PPAM 2015, Part I, LNCS 9573, pp. 207–217, 2016. DOI: 10.1007/978-3-319-32149-3 20
  • 2. 208 A. Zakrzewska and D.A. Bader clique percolation, spectral algorithms, and label propagation. Details of a vari- ety of approaches can be found in the survey by Fortunato [11]. The quality of a community C is often measured using a fitness function. Modularity, shown in Eq. 1, is a popular measure that compares the number of intra-community edges to the expected number under a random null model [16]. Let kC in be the sum of edge weights for edges with both endpoint vertices in C and kC out be the sum of edge weights for edges with only one endpoint in C. Q(C) = 1 |E| (kC in − (kC in + kC out)2 4 |E| ) (1) CNM [6] is a hierarchical, agglomerative algorithm that greedily maximizes modularity. Each vertex begins as its own singleton community. Communities are then sequentially merged by contracting the edge resulting in the greatest increase in modularity. Riedy et al. present a parallel version of this algorithm in which a weighted maximal matching on edges is used [19]. Real graphs evolve over time. Many works study community detection on dynamic graphs by creating a sequence of data snapshots over time and cluster- ing each snapshot. Chakrabarti et al. [5] introduce evolutionary clustering and GraphScope uses block modeling and information compression principles [21]. There are many other works which study the evolution of communities in chang- ing graphs [9,14,22]. However, these are not incremental methods. A second cat- egory of algorithms incrementally updates previously computed clusters when the underlying graph changes. By reusing previous computations, incremental algorithms can run faster, which is critical for scaling to large datasets. This is especially useful for applications in which community information must be kept up to date for a quickly changing graph and low latency is desired. Moreover, incremental approaches can result in smoother community transitions. Duan et al. [10] present an incremental algorithm for finding k-clique com- munities [18] in a changing graph and Ning et al. [17] provide a dynamic algo- rithm for spectral partitioning. Other algorithms search for emerging events in microblog streams [3,4]. Dinh et al. [7,8] present an incremental updating algo- rithm to modularity based CNM. First, standard CNM is run on the initial graph. For each graph update, every vertex that is an endpoint of an inserted edge is removed from its community and placed into a new singleton community. The standard, static CNM algorithm is then restarted and communities may be further merged to increase modularity. The work most closely related to ours is by Görke et al. [13], in which the authors also present two dynamic algorithms that update a CNM based clus- tering. In their first algorithm, endpoint vertices of newly updated edges, along with a local neighborhood, are freed from their current cluster and CNM is restarted. The second algorithm stores the dendrogram of cluster merges formed by the initial CNM clustering. When the graph changes, the algorithm back- tracks cluster merges using this dendrogram until specified conditions are met. If an intra-community edge is inserted, it backtracks till the two endpoint ver- tices are in separate communities. If an intra-community edge is deleted or an
  • 3. Fast Incremental Community Detection on Dynamic Graphs 209 inter-community edge is inserted, it backtracks till both endpoints are their own singleton communities. No backtracking occurs on a inter-community edge dele- tion. After communities have been modified, CNM is restarted. 1.2 Contribution In this work we present two incremental algorithms that update communities when the underlying graph changes. The first version, BasicDyn is similar to previous work by Görke et al. [13]. Our second algorithm, FastDyn, is a modi- fication of BasicDyn that runs faster. We use various synthetic dynamic graphs to test the quality of our methods. Both BasicDyn and FastDyn are able to detect community changes. backtracking Re-contracting Roots marked represent actual communities output for G Fig. 1. The left image shows ForestG created after agglomeration. The center image shows the ForestG after backtracking undos merges using BasicDyn or FastDyn. Right shows after re-starting agglomeration using Agglomerate or FastAgglomerate. 2 Algorithm The basis of our algorithm is the parallel version of CNM presented by Riedy et al. [19]. We will denote this by Agglomerate. Each vertex in the graph G is initialized as its own singleton community, forming the community graph Gcomm. Note that while Gcomm is initially the same as G, each vertex of Gcomm represents a group or cluster of vertices in G. The weighted degree of a vertex c ∈ Gcomm corresponds to kc out and the weight assigned to c (initially 0), corresponds to the intra-community edges kc in. Next, the following three steps are repeated until the termination criterion is reached. (1) For each edge in Gcomm, the change in modularity resulting from an edge contraction is computed. Given an edge (c1, c2) in Gcomm, the change in modularity is given by the value ΔQ(c1, c2) = Q(c1 ∪ c2) − (Q(c1) + Q(c2)), which can be easily computed using Eq. 1. This score is assigned to the edge. (2) A weighted maximal matching is computed on the edges of Gcomm using these scores. (3) Edges in the maximal matching are contracted in parallel. An edge contraction merges the two endpoint vertices into one vertex. Termination occurs when no edge contraction results in a great enough modularity increase. All vertices that have been merged together by edge contractions correspond to a single community and so by repeatedly merging vertices in Gcomm, we create ever larger communities in G. The history of these contractions can be stored as a forest of merges. Pairs of vertices in Gcomm that were merged together by an edge
  • 4. 210 A. Zakrzewska and D.A. Bader contraction are children of the same parent. The root of each tree corresponds to the final communities found for G. We refer to this forest by ForestG. Edge contraction scores can be computed in O(|E|) time. If the maximal matching is also computed in O(|E|), then the complexity of Agglomerate is O(K ∗ |E|), where K is the number of contraction phases. In the best case, the number of communities halves in each phase and the complexity is O(log(|V |)∗|E|). In the worst case, the graph has a star formation and only one edge contracts in each phase, resulting in a complexity of O(|V | ∗ |E|). Our dynamic algorithm begins with the initial graph G and runs the Agglom- erate algorithm to create ForestG. We then apply a stream of edge insertions and deletions to G. These updates can be applied in batches of any size. Small batch sizes are used for low latency applications, while aggregating larger batches can result in a relatively lower overall running time. For each batch of updates, our algorithm uses the history of merges in ForestG and undoes certain merges that previously had taken place. This breaks apart certain previous communities and un-contracts corresponding vertices in Gcomm. Next, the Agglomerate algorithm is restarted and new modularity increasing merges may be performed. Figure 1 shows this process. Next we describe two versions of the dynamic algorithm, each of which follows the basic steps described. BasicDyn: When a new batch of edge insertions and deletions is processed, each vertex that is an endpoint of any edge in the batch is marked. Merges are then backtracked in ForestG until each marked vertex is in its own singleton com- munity. After backtracking, Agglomerate is restarted to re-merge communities. FastDyn: The FastDyn method is based on BasicDyn, but has two modi- fications that improve computational speed. The first is that backtracking of previous merges in ForestG occurs under more stringent conditions. Merges are only undone if the quality of the merge, as measured by the induced change in modularity, has significantly decreased compared to when the merge initially took place. Because merges may be performed in parallel using a weighted max- imal matching on edges, not every vertex c ∈ Gcomm merges with its high- est scoring neighbor best(c). When a vertex c ∈ Gcomm merges at time ti, we store both the score of that merge ΔQti (c, match(c)) and the score of the highest possible merge c could have participated in ΔQti (c, bestti (c)). After a batch of edge updates is applied at time tcurr and the graph G changes, the best and actual merge scores are rechecked. The score of a merge has sig- nificantly decreased if: ΔQti (c, bestti (c)) − ΔQti (c, match(c)) + threshold ΔQtcurr (c, besttcurr (c)) − ΔQtcurr (c, match(c)). This occurs if either the score of the merge taken has decreased or the score of the best possible merge has increased. For each merge evaluated, FastDyn checks the above condition and if it is met, ForestG is backtracked to undo the merge. Merges that are evaluated are those that occur between clusters that contain at least one member that is directly affected by the batch of edge updates (is an endpoint of an newly inserted
  • 5. Fast Incremental Community Detection on Dynamic Graphs 211 Data: Gcomm and ForestG,prev 1 while contractions occuring do 2 for v ∈ Gcomm in parallel do 3 paired[v] = 0; 4 match[v] = v; 5 end 6 while matches possible do 7 for v ∈ Gcomm s.t. paired[v] == 0 in parallel do 8 max = 0, match[v] = v; 9 for neighbors w of v s.t. paired[w] == 0 do 10 if ΔQ(v, w) max then 11 max = ΔQ(v, w); 12 match[v] = w; 13 end 14 end 15 end 16 for v ∈ Gcomm s.t. paired[v] == 0 in parallel do 17 if match[v] 0 and (match[match[v]] == v or prevroot[v] == prevroot[match[v]]) then 18 paired[v] = 1; 19 end 20 end 21 end 22 for v ∈ Gcomm in parallel do 23 Pointer jump match array to root; 24 dest[v]=root; 25 end 26 Contract in parallel all vertices in Gcomm with same value of dest; 27 end Algorithm 1. The FastAgglomerate algorithm used by FastDyn. prevroot labels each vertex by its root in ForestG,prev, which corresponds to its previous community membership. or deleted edge). In ForestG, this corresponds to leaf nodes that represent such endpoint vertices as well as any upstream parent of such a leaf node. The second modification of FastDyn occurs in the re-merging step. Instead of running Agglomerate after backtracking merges, FastDyn runs a modified method, which we will call FastAgglomerate. Because Agglomerate only allows two vertices to merge together in a contraction phase, star-like formations con- taining n vertices take n phases to merge, which results in a very long running time. We have found that backtracking merges creates such structures so that running Agglomerate after backtracking results in a very long tail of contrac- tions, each of which only contacts a small number of edges. We address this problem with FastAgglomerate, which uses information about previous merges to speed up contractions. Instead of performing a maximal edge matching, FastAgglomerate allows more than two vertices of Gcomm to contract together if in the previous time step these vertices eventually ended up contracted into
  • 6. 212 A. Zakrzewska and D.A. Bader the same community (if they correspond to nodes in ForestG that previously shared the same root). In the static case, merging several vertices together in one contraction phase could lead to deteriorating results. FastAgglomerate is able to do this, however, because it uses information from the merges of the pre- vious time step. Intuitively, merges that previously occurred are more likely to be acceptable later. Pseudocode is given in Algorithm 1. In the worst case, both BasicDyn and FastDyn will backtrack enough to undo many or most merges. In this case, the running time is the same as that of Agglomerative. For small updates, the dynamic algorithms run faster in practice. FastDyn decreases the number of contraction steps needed by allowing several vertices to merge in a single step. Fig. 2. Results for the synthetic test of splitting and merging clusters are shown. The actual and detected number of communities across time are plotted for batch sizes of 1, 10, 100, and 1000. An alternative approach is shown and labeled “NoHistory” (Color figure online). 3 Results Dynamic community detection is only useful if the algorithm is able to detect structural changes. We evaluate our algorithm using two tests. First, we form a ring of 32 communities, each with 32 vertices. Each vertex in a community is on average connected to 16 other vertices in the cluster. Over time, edges are both inserted and removed so that each of the 32 clusters consecutively splits in two. Once each community has been split, edges are then updated so that
  • 7. Fast Incremental Community Detection on Dynamic Graphs 213 pairs of clusters merge together (different pairs than at the start), resulting in 32 clusters again. Figure 2 shows the number of communities detected over time by BasicDyn with the solid blue line, the number detected by FastDyn with the green dots and dashes, and the actual number with the dashed red line. Because graphs are randomly generated, each curve is the average of 10 runs. The x-axis represents the number of updates that have been made to the graph. Batch sizes used are 1,10,100, and 1000. A batch size of n means that n edge insertions and deletions are accumulated before the communities are incremen- tally updated. Since the curves rise and then fall, both algorithms are able to detect first splits and then merges. As the batch size increases, the performance of FastDyn improves, which is expected because a larger batch size allows more communities to be broken apart during backtracking and the algorithm has more options for how to re-contract communities. Therefore, the algorithm can output results closer to those that would be found with a static recomputation begin- ning from scratch. We also compare the ability of FastDyn and BasicDyn to detect community changes to the dynamic algorithm from [20], which also uses greedy modularity maximization. After a batch of edges is inserted and removed, this method removes each vertex with an updated edge from its current com- munity into its own singelton community. Agglomeration is then restarted. The results of this alternative approach are shown in Fig. 2 with the purple dotted line labeled “NoHistory”. Unlike the backtracking approaches, community splits and merges are only detected for a large batch size of 1000. Fig. 3. Results for FastDyn on the second synthetic test using a shifting stochastic block model are shown. The y-axis shows the quality of output and x-axis shows the probability of an intra-community edge. The second test is run on a graph formed using a stochastic block model [15]. We generate two separate graphs, blockA and blockB, each with two communi- ties in which the probability of an intra-community edge and that of an inter- community edge are both specified. BlockB uses the same parameters as blockA,
  • 8. 214 A. Zakrzewska and D.A. Bader but with the vertex members of each community changed. Half of the vertices that were in community one in blockA move to the second community of blockB and half of those that were in community two of blockA move to community one of blockB. We begin by running Agglomerate on the entire blockA. Then, in a stream of updates, we remove edges from blockA and add edges from blockB. At the end of the stream, the graph will equal blockB. This test differs from the first test in an important way. In test one, the algorithm could always detect some number of distinct communities. Here, distinct communities only exist near the beginning and end of the stream, while in the middle the graph is a mixture of blockA and blockB. The updates to the graph in this test are randomly distrib- uted across all vertices so that much of ForestG may be affected. In contrast, the updates in test one were applied to one cluster at a time. Lastly, test one specifically tests splits and merges, while test two uses a general rearrangement. Figure 3 shows how well FastDyn is able to distinguish the two communities of blockB at the end of the stream. Communities are detected for each batch, but we only evaluate at the end of the stream since that is when the graph returns to a known block structure. The x-axis varies the probability of an intra-community edge. Unsurprisingly, the algorithm performs better when the communities in blockA and blockB are denser. The y-axis shows the correctness of FastDyn, which is determined as follows. For each vertex v in the graph, we compare its actual community in blockB to its community output by FastDyn. The Jac- card index then measures the normalized overlap between the two sets, with 1 measuring perfect overlap, and 0 no overlap. The average Jaccard index across all vertices measures the algorithm correctness. Because blockA and blockB are randomly generated, each point plotted is an average of 50 separate runs on different graphs. The two synthetic tests described above show that FastDyn is able to distinguish structural community changes. Synthetic tests are useful because communities have ground truth and known changes can be applied. Table 1. The time to compute the initial static community detection and average time to update with incremental algorithms is shown. Graph Initial Batch size FastDyn BasicDyn Facebook 3.5 s 10 0.1 s 0.2 s 1000 0.7 s 4.9 s DBLP 122 s 10 7.1 s 21.7 s 1000 72 s 101 s Slashdot 45 s 10 0.6 s 2.1 s 1000 7.5 s 289 s Table 1 shows the running time of the initial static community detection used by the dynamic algorithms and the average running time to process a batch of size 10 and 1000 edges for FastDyn and BasicDyn. The algorithms were tested on a Slashdot graph [12], a DBLP graph [1,24], and a Facebook wall post graph [2,23]. The FastDyn algorithm is faster than BasicDyn for all graphs and
  • 9. Fast Incremental Community Detection on Dynamic Graphs 215 batch sizes. The speedup of using a dynamic algorithm is greater for small batch sizes because the incremental algorithms perform less work, while running time for static computation remains the same. Therefore, an incremental approach is most useful for monitoring applications where community results must be updated after a small number of data changes. 4 Conclusion In this work, we present two incremental community detection algorithms for dynamic graphs. Both use hierarchical, modularity maximizing clustering as their base and update results by storing the history of previous merges in a forest. While BasicDyn is similar in nature to a previous approach, FastDyn has two improvements that significantly improve running time while maintaining clustering quality. FastDyn is faster than BasicDyn on all real graphs tested for both small and large update batch sizes. Incrementally updating allows for speedup over recalculating from scratch whenever the graph changes, especially for small batch sizes when low latency updates are needed. While the algorithm is based off a parallel static algorithm, and can be parallelized, the focus of this work was to study improvements in performance due to incremental updates. Parallel scalability is a topic for future work. Acknowledgments. The work depicted in this paper was sponsored by Defense Advanced Research Projects Agency (DARPA) under agreement #HR0011-13-2-0001. The content, views and conclusions presented in this document do not necessarily reflect the position or the policy of DARPA or the U.S. Government, no official endorsement should be inferred. References 1. Dblp co-authorship network dataset – KONECT, May 2015. http://konect. unikoblenz.de/networks/com-dblp 2. Facebook wall posts network dataset – KONECT, May 2015. http://konect. unikoblenz.de/networks/facebook-wosn-wall 3. Agarwal, M.K., Ramamritham, K., Bhide, M.: Real time discovery of dense clus- ters in highly dynamic graphs: identifying real world events in highly dynamic environments. Proc. VLDB Endowment 5(10), 980–991 (2012) 4. Angel, A., Sarkas, N., Koudas, N., Srivastava, D.: Dense subgraph maintenance under streaming edge weight updates for real-time story identification. Proc. VLDB Endowment 5(6), 574–585 (2012) 5. Chakrabarti, D., Kumar, R., Tomkins, A.: Evolutionary clustering. In: Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 554–560. ACM (2006) 6. Clauset, A., Newman, M.E., Moore, C.: Finding community structure in very large networks. Physical Rev. E 70(6), 066111 (2004)
  • 10. 216 A. Zakrzewska and D.A. Bader 7. Dinh, T.N., Shin, I., Thai, N.K., Thai, M.T., Znati, T.: A general approach for mod- ules identification in evolving networks. In: Hirsch, M.J., Pardalos, P.M., Murphey, R. (eds.) Dynamics of Information Systems. Springer Optimization and Its Appli- cations, vol. 40, pp. 83–100. Springer, Heidelberg (2010) 8. Dinh, T.N., Xuan, Y., Thai, M.T.: Towards social-aware routing in dynamic com- munication networks. In: 2009 IEEE 28th International Performance Computing and Communications Conference (IPCCC), pp. 161–168. IEEE (2009) 9. Duan, D., Li, Y., Jin, Y., Lu, Z.: Community mining on dynamic weighted directed graphs. In: Proceedings of the 1st ACM International Workshop on Complex Net- works Meet Information Knowledge Management, pp. 11–18. ACM (2009) 10. Duan, D., Li, Y., Li, R., Lu, Z.: Incremental k-clique clustering in dynamic social networks. Artif. Intell. Rev. 38(2), 129–147 (2012) 11. Fortunato, S.: Community detection in graphs. Phys. Rep. 486(3), 75–174 (2010) 12. Gómez, V., Kaltenbrunner, A., López, V.: Statistical analysis of the social net- work and discussion threads in slashdot. In: Proceedings of the 17th International Conference on World Wide Web, pp. 645–654. ACM (2008) 13. Görke, R., Maillard, P., Schumm, A., Staudt, C., Wagner, D.: Dynamic graph clustering combining modularity and smoothness. J. Exp. Algorithmics (JEA) 18, 1–5 (2013) 14. Greene, D., Doyle, D., Cunningham, P.: Tracking the evolution of communities in dynamic social networks. In: 2010 International Conference on Advances in Social Networks Analysis and Mining (ASONAM), pp. 176–183. IEEE (2010) 15. Holland, P.W., Laskey, K.B., Leinhardt, S.: Stochastic blockmodels: first steps. Soc. Netw. 5(2), 109–137 (1983) 16. Newman, M.E., Girvan, M.: Finding and evaluating community structure in net- works. Phys. Rev. E 69(2), 026113 (2004) 17. Ning, H., Xu, W., Chi, Y., Gong, Y., Huang, T.S.: Incremental spectral clustering by efficiently updating the eigen-system. Pattern Recogn. 43(1), 113–127 (2010) 18. Palla, G., Derényi, I., Farkas, I., Vicsek, T.: Uncovering the overlapping community structure of complex networks in nature and society. Nature 435(7043), 814–818 (2005) 19. Riedy, E.J., Meyerhenke, H., Ediger, D., Bader, D.A.: Parallel community detec- tion for massive graphs. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Waśniewski, J. (eds.) PPAM 2011, Part I. LNCS, vol. 7203, pp. 286–296. Springer, Heidelberg (2012) 20. Riedy, J., Bader, D., et al.: Multithreaded community monitoring for massive streaming graph data. In: 2013 IEEE 27th International Parallel and Distrib- uted Processing Symposium Workshops PhD Forum (IPDPSW), pp. 1646–1655. IEEE (2013) 21. Sun, J., Faloutsos, C., Papadimitriou, S., Yu, P.S.: Graphscope: parameter-free mining of large time-evolving graphs. In: Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 687–696. ACM (2007) 22. Tantipathananandh, C., Berger-Wolf, T., Kempe, D.: A framework for commu- nity identification in dynamic social networks. In: Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 717–726. ACM (2007)
  • 11. Fast Incremental Community Detection on Dynamic Graphs 217 23. Viswanath, B., Mislove, A., Cha, M., Gummadi, K.P.: On the evolution of user interaction in facebook. In: Proceedings of the 2nd ACM Workshop on Online Social Networks, pp. 37–42. ACM (2009) 24. Yang, J., Leskovec, J.: Defining and evaluating network communities based on ground-truth. Nature 42(1), 181–213 (2015)