Geometry, flows, and graph-partitioning algorithms

1. intRoDuction " Graph partitioning " refers to a family of computational problems in which the vertices of a graph have to be partitioned into two (or more) large pieces while minimizing the number of the edges that cross the cut (see Figure 1). The ability to do so is a useful primitive in " divide and conquer " algorithms for a variety of tasks such as laying out very large circuits on laying out very large circuits on silicon chips and distributing computation among processors. Increasingly , it is also used in applications of clustering ranging from computer vision, to data analysis, to learning. These include finding groups of similar objects (customers , products, cells, words, and documents) in large data sets, and image segmentation, which is the first step in image analysis. Unfortunately, most graph-partitioning problems are NP-hard, which implies that we should not expect efficient algorithms that find optimal solutions. Therefore researchers have resorted to heuristic approaches, which have been implemented in several popular freeware codes and commercial packages. The goal of this paper is to survey an interesting combination of techniques that have recently led to progress on this problem. The original motivation for this work was theoretical, to design algorithms with the best provable approxi mation guarantees.* Surprisingly, these ideas have led also to a new framework for designing very fast and

[1]  Anupam Gupta,et al.  Embeddings of negative-type metrics and an improved approximation to generalized sparsest cut , 2005, SODA '05.

[2]  Noga Alon,et al.  Eigenvalues and expanders , 1986, Comb..

[3]  Sanjeev Arora,et al.  O(/spl radic/log n) approximation to SPARSEST CUT in O/spl tilde/(n/sup 2/) time , 2004, 45th Annual IEEE Symposium on Foundations of Computer Science.

[4]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[5]  Frank Thomson Leighton,et al.  Multicommodity max-flow min-cut theorems and their use in designing approximation algorithms , 1999, JACM.

[6]  Satish Rao,et al.  Graph partitioning using single commodity flows , 2006, STOC '06.

[7]  David B. Shmoys,et al.  Cut problems and their application to divide-and-conquer , 1996 .

[8]  David P. Williamson,et al.  Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming , 1995, JACM.

[9]  M. Goemans Semidefinite programming and combinatorial optimization , 1998 .

[10]  James R. Lee,et al.  On distance scales, embeddings, and efficient relaxations of the cut cone , 2005, SODA '05.

[11]  LeightonTom,et al.  Multicommodity max-flow min-cut theorems and their use in designing approximation algorithms , 1999 .

[12]  Elad Hazan,et al.  O(/spl radic/log n) approximation to SPARSEST CUT in O/spl tilde/(n/sup 2/) time , 2004, 45th Annual IEEE Symposium on Foundations of Computer Science.

[13]  Satish Rao,et al.  Expander flows, geometric embeddings and graph partitioning , 2004, STOC '04.

[14]  Nisheeth K. Vishnoi,et al.  On partitioning graphs via single commodity flows , 2008, STOC.

[15]  James R. Lee,et al.  Euclidean distortion and the sparsest cut , 2005, STOC '05.

[16]  J. Cheeger A lower bound for the smallest eigenvalue of the Laplacian , 1969 .

[17]  Mark Jerrum,et al.  Approximate Counting, Uniform Generation and Rapidly Mixing Markov Chains , 1987, WG.

[18]  Sanjeev Arora,et al.  A combinatorial, primal-dual approach to semidefinite programs , 2007, STOC '07.