Multi-way Graph Partitioning using Network Flow

I present an algorithm, Improve3Cut, which improves a proposed 3-way partition of a graph G. The algorithm takes as input a 3-way partition of the vertices of the graph, and outputs a new 3-way partition of G which has an improved quotient score. Specifically, the quotient score is guaranteed to be better than the quotient score of a partition in which one set is a subset of the smallest set in the original partition, and in which another set is equal to one of the original partition sets. The algorithm is inspired by the algorithm developed by Andersen and Lang [1] for two-way graph partitioning. Improve3Cut finds the improved partition by solving a polynomial number of minimum s-t cut problems to minimize a modified quotient score. The algorithm outperforms the original algorithm from Andersen and Lang (when it is applied to the 3 way sparse cut problem) in one way, and is slightly weaker and Andersen and Lang’s algorithm in another way. In the future, empirical testing will be needed to compare the relative performance of these two algorithms. This paper leaves open the question of whether this methodology can be applied to k-way sparse cuts for k greater than 3. Introduction to Graph Partitioning Finding the sparsest cut in an arbitrary graph G is a classic problem of theoretical computer science. Given a graph G=(V,E), let be a function assigning a positive weight to each vertex, and let edge be weighted by a function € w(u,v) : E →R . For any , define the edge border of that set, , to be the sum of the weights of the edges with one endpoint in S and the other endpoint in V-S. Also, for define to be the sum of the weights of vertices in S, . The sparsest cut problem can then be described as follows: Given G=(V,E), find minimizing where denotes . Here denotes the “quotient score” of S. Unfortunately the sparsest cut problem, as stated above, is NP-hard, so we do not have an efficient algorithm to solve this problem [2]. However, computer scientists have devised numerous approximation algorithms to the sparsest cut problem, the best of which gives you an approximation of the sparsest cut in the graph [3]. Alternative techniques create a partition, and bound the ratio of the computational work done to the volume ( ) of the set it outputs [4]. The sparsest cut problem can also be generalized to consider multi-way cuts in a graph. Suppose we create a k-way partition P of a graph G=(V,E), that is a collection of k disjoint subsets of V, , such that they cover all of V. ( and ). The multi-way sparsest cut problem is to find a k-way partition minimizing , where is the sum of the weights of edges with endpoints in different subsets of P. The kway sparsest cut problem under this objective function is also NP-hard. Applying Andersen and Lang’s Algorithm to a 3-way Cut Andersen and Lang’s algorithm, “Improve”, takes a proposed 2-way cut of a graph G, defined by the set A, with , and improves the quality of the cut in deterministic polynomial time, outputting a cut S with improved cut quality. Specifically, S is guaranteed to have a cut quality at least as good as the best subset of A. ( ). Furthermore, if C is a subset of V satisfying for some then we are guaranteed that . This condition says that, if the vertices have uniform weight, the set C must have more in common with A than would be expected from a randomly selected subset of V. For a more detailed description of the algorithm developed by Andersen and Lang, see [1]. What happens if we apply this algorithm to a 3-way sparse cut scenario? Suppose we are given a partition of G into three disjoint subsets . Without losing generality assume that and . Suppose we remove from the graph and run Andersen and Lang’s algorithm on the remaining vertices , using . Then, by the proofs presented in [1] the Improve algorithm will produce a new set S such that