A SCALABLE MULTILEVEL ALGORITHM FOR COMMUNITY STRUCTURE DETECTION

Introduction: the graph clustering and the graph partitioning problems. One way to analyze and understand the huge amount of data available on the WWW and the relationships between the individual items is to divide them into ”communities,” maximal groups of related items. Determining the communities is of great theoretical and practical interest since they correspond to entities such as collaboration networks, online social networks, scientific publications, news stories on a given topic, related commercial items, etc. Communities also arise in other types of networks such as computer and communication networks (the Internet, ad-hoc networks) and biological networks (protein interaction networks, genetic networks). The problem of finding communities in a network is usually modeled as a graph clustering problem, where vertices correspond to individual items and edges describe relationships. Then the communities correspond to subgraphs with dense connections between vertices belonging to the same subgraph and fewer connections between vertices in different subgraphs. The graph clustering problem has been intensively studied in the recent years, but the algorithms reported are typically either not fast enough, or inaccurate. A related, and yet very different, is the graph partitioning problem, studied in applications such as load balancing, sparse linear algebra, and VLSI design. Given an n-vertex graph G = (V,E) with non-negative real vertex weights summing up to n and with real edge weights and an integer k ≤ n, the graph partitioning problem is to find a partition V = V1 ∪ · · · ∪ Vk (Vi 6= Vj for i 6= j) such that the weights of all subsets Vi are roughly equal, i.e., the partition is balanced, and the cutset, e.g., the set of the edges with endpoints in different subsets, is of minimum weight. The important case k = 2 is also known as the graph bisection problem. Because of the practical importance of the graph partitioning problem, various heuristics have been developed that work well in practice. In the Kernighan-Lin (KL) algorithm [4], an initial random partition is improved by a greedy procedure that swaps pairs of vertices from different partitions so that the size of the cutset is reduced by a maximum amount, until a local optimum is found. We will discuss this algorithm in greater detail in the following sections. Another popular method, the spectral partitioning heuristic, is based on the Laplacian matrix of the graph and is usually more precise, but it is relatively slow compared to the KL method. While both graph clustering and graph partitioning problems define partitions for which the number of the edges between the parts is small, one important difference is that in graph clustering there is no requirement that the partition is balanced. Moreover, in graph partitioning, the cardinality k of the partition is an input parameter, while in clustering the optimal value of k has to be determined by the clustering algorithm. For this reason, algorithms for graph partitioning can not be directly used to produce good quality clusterings. However, in the next section we will show that the input graph G can be appropriately modified to a complete weighted graph G′ so that finding a minimum cut of G′ using a modified graph partitioning method will produce a good quality clustering partition for G.