 
Summary: 96 communications of the acm  october 2008  vol. 51  no. 10
Geometry, Flows, and
GraphPartitioning Algorithms
By Sanjeev Arora, Satish Rao, and Umesh Vazirani
research highlights
Doi:10.1145/1400181.1400204
1. intRoDuction
"Graph partitioning" refers to a family of computational
problems in which the vertices of a graph have to be par
titioned 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 con
quer" 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. In
creasingly, it is also used in applications of clustering rang
ing from computer vision, to data analysis, to learning.
These include finding groups of similar objects (custom
ers, products, cells, words, and documents) in large data
sets, and image segmentation, which is the first step in im
