A Fast and Robust Network Bisection Algorithm

Partitioning is a fundamental problem in diverse fields of study such as pattern recognition, parallel processing, and the design of VLSI circuits. Recently, node clustering or compaction has been shown to enhance the performance of iterative partitioning algorithms by several authors. However, clustering has been mainly used as a preprocessing step before partitioning in existing methods. The paper describes a technique to extract clusters using information collected during a pass of an iterative exchange algorithm. Alternative approaches for the implementation of this new clustering technique are discussed, and one such approach is chosen to be incorporated in a modified Fiduccia-Mattheyses algorithm (C.M. Fiduccia, R.M. Mattheyses, 1982) based on a tradeoff between run time and performance. The resulting algorithm, BISECT, performs well in comparison with variants of the Kernighan-Lin algorithm including the Fiduccia-Mattheyses algorithm, local approaches, and simulated annealing on a wide variety of real and randomly generated benchmarks. BISECT is also used to find small vertex separators, and its results are compared with previous methods on several benchmarks. The empirical results show that BISECT is stable and is not very sensitive to the initial partition. Under suitably mild assumptions, BISECT can be shown to run in linear time. The empirical results confirm the speed of BISECT which can partition very large graphs (12,598 nodes and 91,961 edges) in less than six minutes of CPU time on a Sun Sparc 1+ workstation. >

[1]  Ravi B. Boppana,et al.  Eigenvalues and graph bisection: An average-case analysis , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[2]  Joseph A. Lukes Efficient Algorithm for the Partitioning of Trees , 1974, IBM J. Res. Dev..

[3]  L. W. Comeau,et al.  A study of the effect of user program optimization in a paging system , 1967, SOSP.

[4]  Curt Jones,et al.  Finding Good Approximate Vertex and Edge Partitions is NP-Hard , 1992, Inf. Process. Lett..

[5]  Charles T. Zahn,et al.  Graph-Theoretical Methods for Detecting and Describing Gestalt Clusters , 1971, IEEE Transactions on Computers.

[6]  Cecilia R. Aragon,et al.  Optimization by Simulated Annealing: An Experimental Evaluation; Part I, Graph Partitioning , 1989, Oper. Res..

[7]  Melvin A. Breuer,et al.  Functional Partitioning and Simulation of Digital Circuits , 1970, IEEE Transactions on Computers.

[8]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[9]  Frank Thomson Leighton,et al.  Graph bisection algorithms with good average case behavior , 1984, Comb..

[10]  Laura A. Sanchis,et al.  Multiple-Way Network Partitioning , 1989, IEEE Trans. Computers.

[11]  Anthony Vannelli,et al.  A New Heuristic for Partitioning the Nodes of a Graph , 1988, SIAM J. Discret. Math..

[12]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[13]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[14]  Earl R. Barnes Partitioning the nodes of a graph , 1985 .

[15]  Frank Thomson Leighton,et al.  Improving the Performance of the Kernighan-Lin and Simulated Annealing Graph Bisection Algorithms , 1989, 26th ACM/IEEE Design Automation Conference.

[16]  Balakrishnan Krishnamurthy,et al.  An Improved Min-Cut Algonthm for Partitioning VLSI Networks , 1984, IEEE Transactions on Computers.

[17]  Frank Thomson Leighton,et al.  An approximate max-flow min-cut theorem for uniform multicommodity flow problems with applications to approximation algorithms , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[18]  Alan George,et al.  Computer Solution of Large Sparse Positive Definite , 1981 .

[19]  Ernst G. Ulrich,et al.  Clustering and linear placement , 1972, DAC '72.

[20]  T. N. Bui ON BISECTING RANDOM GRAPHS , 1983 .

[21]  Youssef Saab,et al.  Combinatorial optimization by stochastic evolution , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[22]  Sukhamay Kundu,et al.  A Linear Tree Partitioning Algorithm , 1977, SIAM J. Comput..

[23]  Horst D. Simon,et al.  Fast multilevel implementation of recursive spectral bisection for partitioning unstructured problems , 1994, Concurr. Pract. Exp..

[24]  Thomas Lengauer,et al.  Combinatorial algorithms for integrated circuit layout , 1990, Applicable theory in computer science.

[25]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[26]  Hans Jürgen Prömel,et al.  Finding clusters in VLSI circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[27]  A. Hoffman,et al.  Lower bounds for the partitioning of graphs , 1973 .

[28]  Curt Jones Vertex and edge partitions of graphs , 1992 .

[29]  Robert E. Tarjan,et al.  Optimal Chain Partitions of Trees , 1975, Inf. Process. Lett..

[30]  Marlin H. Mickle,et al.  Optimal Decomposition of Large-Scale Networks , 1979, IEEE Transactions on Systems, Man, and Cybernetics.

[31]  Wen-Ben Jone,et al.  On partitioning for pseudo exhaustive testing of VLSI circuits , 1988, 1988., IEEE International Symposium on Circuits and Systems.

[32]  John G. Lewis,et al.  Sparse matrix test problems , 1982, SGNM.

[33]  Brian W. Kernighan,et al.  Optimal Sequential Partitions of Graphs , 1971, J. ACM.

[34]  Tassos Markas,et al.  The Test Engineer's Assistant: a support environment for hardware design for testability , 1989, Computer.

[35]  Chung-Kuan Cheng,et al.  A two-level two-way partitioning algorithm , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.