A Recursive Coalescing Method for Bisecting Graphs

Similar documents
A Stochastic Search Technique for Graph Bisection

Multi-Attractor Gene Reordering for Graph Bisection

Stochastic Approximation Algorithms for Number Partitioning

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.

Genetic Algorithm for Circuit Partitioning

Unit 5A: Circuit Partitioning


MERL { A MITSUBISHI ELECTRIC RESEARCH LABORATORY. Empirical Testing of Algorithms for. Variable-Sized Label Placement.

1. First printing, TR95-6, February Revised April 1996.

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

CAD Algorithms. Circuit Partitioning

An Evaluation of Information Retrieval Accuracy. with Simulated OCR Output. K. Taghva z, and J. Borsack z. University of Massachusetts, Amherst

[HaKa92] L. Hagen and A. B. Kahng, A new approach to eective circuit clustering, Proc. IEEE

The Partitioning Problem

Mesh Decomposition and Communication Procedures for Finite Element Applications on the Connection Machine CM-5 System

Multilevel Graph Partitioning

Standard FM MBC RW-ST. Benchmark Size Areas Net cut Areas Net cut Areas Net cut

Research Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for Circuit Partitioning

Solving the Graph Bisection Problem with Imperialist Competitive Algorithm

From Approximate to Optimal Solutions: A Case Study of Number Partitioning

Preclass Warmup. ESE535: Electronic Design Automation. Motivation (1) Today. Bisection Width. Motivation (2)

Incorporating the Controller Eects During Register Transfer Level. Synthesis. Champaka Ramachandran and Fadi J. Kurdahi

Eu = {n1, n2} n1 n2. u n3. Iu = {n4} gain(u) = 2 1 = 1 V 1 V 2. Cutset

Richard E. Korf. June 27, Abstract. divide them into two subsets, so that the sum of the numbers in

VLSI Physical Design: From Graph Partitioning to Timing Closure

Gen := 0. Create Initial Random Population. Termination Criterion Satisfied? Yes. Evaluate fitness of each individual in population.

Enumeration of Full Graphs: Onset of the Asymptotic Region. Department of Mathematics. Massachusetts Institute of Technology. Cambridge, MA 02139

ON S-,Arr Aplrave4 fo: puh1ic relecwel. Disnibuncn Un iz.wted

Simulated Annealing, Simulated Tempering, Kernighan Lin, Two Optimal, Technical Report. unpublished

Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design

Akey driver for hypergraph partitioning research in VLSI CAD has been the top-down global placement of standard-cell designs. Key attributes of real-w

Lesson 2 7 Graph Partitioning

Multilevel Algorithms for Multi-Constraint Hypergraph Partitioning

Penalized Graph Partitioning for Static and Dynamic Load Balancing

Graph Partitioning for High-Performance Scientific Simulations. Advanced Topics Spring 2008 Prof. Robert van Engelen

8ns. 8ns. 16ns. 10ns COUT S3 COUT S3 A3 B3 A2 B2 A1 B1 B0 2 B0 CIN CIN COUT S3 A3 B3 A2 B2 A1 B1 A0 B0 CIN S0 S1 S2 S3 COUT CIN 2 A0 B0 A2 _ A1 B1

My favorite application using eigenvalues: partitioning and community detection in social networks

Hypergraph Partitioning With Fixed Vertices

Native mesh ordering with Scotch 4.0

Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering

Minoru SASAKI and Kenji KITA. Department of Information Science & Intelligent Systems. Faculty of Engineering, Tokushima University

Place and Route for FPGAs

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines

Efficient FM Algorithm for VLSI Circuit Partitioning

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD

Local Search Approximation Algorithms for the Complement of the Min-k-Cut Problems

Network. Department of Statistics. University of California, Berkeley. January, Abstract

Multilevel k-way Hypergraph Partitioning

to automatically generate parallel code for many applications that periodically update shared data structures using commuting operations and/or manipu

Cluster quality 15. Running time 0.7. Distance between estimated and true means Running time [s]

A Divisive clustering technique for maximizing the modularity

V4 Matrix algorithms and graph partitioning

Implementations of Dijkstra's Algorithm. Based on Multi-Level Buckets. November Abstract

An Ant System Algorithm for Graph Bisection

Technical Report TR , Computer and Information Sciences Department, University. Abstract

XLVI Pesquisa Operacional na Gestão da Segurança Pública

A HYBRID MULTILEVEL/GENETIC APPROACH FOR CIRCUIT PARTITIONING. signicantly better than random or \rst-in-rst-out" tiebreaking

Combining Problem Reduction and Adaptive Multi-Start: A New Technique for Superior Iterative Partitioning. Abstract

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 16, NO. 7, JULY

CIRCUIT PARTITIONING is a fundamental problem in

algorithms, i.e., they attempt to construct a solution piece by piece and are not able to offer a complete solution until the end. The FM algorithm, l

Department of. Computer Science. Remapping Subpartitions of. Hyperspace Using Iterative. Genetic Search. Keith Mathias and Darrell Whitley

Mapping Algorithms onto a Multiple-Chip Data-Driven Array

Multi-Objective Hypergraph Partitioning Algorithms for Cut and Maximum Subdomain Degree Minimization

Placement Algorithm for FPGA Circuits

A dynamic programming algorithm for perceptually consistent stereo

Investigation of the Fitness Landscapes and Multi-parent Crossover for Graph Bipartitioning

Eulerian disjoint paths problem in grid graphs is NP-complete

Bilkent University, Ankara, Turkey Bilkent University, Ankara, Turkey. Programming (LP) problems with block angular constraint matrices has

Progress in Image Analysis and Processing III, pp , World Scientic, Singapore, AUTOMATIC INTERPRETATION OF FLOOR PLANS USING

10/31/18. About A6, Prelim 2. Spanning Trees, greedy algorithms. Facts about trees. Undirected trees

Spanning Trees, greedy algorithms. Lecture 20 CS2110 Fall 2018

B553 Lecture 12: Global Optimization

The Global Standard for Mobility (GSM) (see, e.g., [6], [4], [5]) yields a

Maximizing edge-ratio is NP-complete

CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning

An Ecient Approximation Algorithm for the. File Redistribution Scheduling Problem in. Fully Connected Networks. Abstract

L. Hagen, A. B. Kahng, F. Kurdahiy and C. Ramachandrany. Previous work in the eld of area estimation has

Level 3: Level 2: Level 1: Level 0:

A Viewer for PostScript Documents

Seminar on. A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines

Anale. Seria Informatică. Vol. X fasc Annals. Computer Science Series. 10 th Tome 1 st Fasc. 2012

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

reasonable to store in a software implementation, it is likely to be a signicant burden in a low-cost hardware implementation. We describe in this pap

Max-Planck Institut fur Informatik, Im Stadtwald, Saarbrucken, Germany,

Multi-Way Number Partitioning

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Iterated maxima search for the maximally diverse grouping problem

(a) (b) (c) Phase1. Phase2. Assignm ent offfs to scan-paths. Phase3. Determination of. connection-order offfs. Phase4. Im provem entby exchanging FFs

Dierential-Linear Cryptanalysis of Serpent? Haifa 32000, Israel. Haifa 32000, Israel

[13] W. Litwin. Linear hashing: a new tool for le and table addressing. In. Proceedings of the 6th International Conference on Very Large Databases,

The problem of minimizing the elimination tree height for general graphs is N P-hard. However, there exist classes of graphs for which the problem can

Efficient Algorithms for Graph Bisection of Sparse Planar Graphs. Gerold Jäger University of Halle Germany

Hardware Software Partitioning of Multifunction Systems

Solution for Homework set 3

Theorem 2.9: nearest addition algorithm

Requirements of Load Balancing Algorithm

Heuristic Graph Bisection with Less Restrictive Balance Constraints

SLS Methods: An Overview

Transcription:

A Recursive Coalescing Method for Bisecting Graphs The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters. Citation Accessed Citable Link Terms of Use Mazlish, Bryan, Stuart M. Shieber, and Joe Marks. 1994. A Recursive Coalescing Method for Bisecting Graphs. Harvard Computer Science Group Technical Report TR-13-94. January 19, 2018 12:04:48 AM EST http://nrs.harvard.edu/urn-3:hul.instrepos:25619462 This article was downloaded from Harvard University's DASH repository, and is made available under the terms and conditions applicable to Other Posted Material, as set forth at http://nrs.harvard.edu/urn-3:hul.instrepos:dash.current.terms-ofuse#laa (Article begins on next page)

A Recursive Coalescing Method for Bisecting Graphs Bryan Mazlish, Stuart M. Shieber, and Joe Marks TR-13-94

A Recursive Coalescing Method for Bisecting Graphs Bryan Mazlish Harvard University Stuart Shieber Harvard University Joe Marks Mitsubishi Electric Research Laboratories, Inc. May 24, 1994 Abstract We present an extension to a hybrid graph-bisection algorithm developed by Bui et al. that uses vertex coalescing and the Kernighan-Lin variabledepth algorithm to minimize the size of the cut set. In the original heuristic technique, one iteration of vertex coalescing is used to improve the performance of the original Kernighan-Lin algorithm. We show that by performing vertex coalescing recursively, substantially greater improvements can be achieved for standard random graphs of average degree in the range [2:0; 5:0]. Subject classications: networks/graphs, heuristics: algorithms for graph bisection. Additional keywords: combinatorial optimization, design of algorithms, empirical analysis of algorithms, heuristic search. This paper is available from the Center for Research in Computing Technology, Division of Applied Sciences, Harvard University as Technical Report TR-19-94.

1 Introduction In a graph-bisection problem, we are given a graph G = (V; E), such that jv j = 2n. The goal is to nd a pair ha; Bi of independent subsets of V, where jaj = jbj = n, such that the number of edges with endpoints in both A and B is minimized. Since the graph-bisection problem is NP-hard (Garey, Johnson, and Stockmeyer, 1976), it is reasonable to assume that there is no ecient way to solve such problems exactly. A number of heuristic techniques have been proposed for bisecting graphs (Kernighan and Lin, 1970; Fiduccia and Mattheyses, 1982; Bui et al., 1989; Goldberg and Burnstein, 1983; Krishnamurthy, 1984). The long-standing champion, as evidenced by extensive empirical testing (Johnson et al., 1989), is the Kernighan-Lin (KL) variable-depth algorithm (Kernighan and Lin, 1970), presented in Figure 1. The details of this algorithm are not important for the purposes of the present discussion. The crucial characteristic of the algorithm, in addition to its good performance, is that it starts with an initial bisection (chosen randomly) and iteratively improves it to form the nal bisection. Recently, a variation on the algorithm, which uses vertex coalescing, has yielded signicantly better solutions for graphs of small average degree (in the range [2:0; 4:0]) (Bui et al., 1987; Bui et al., 1989). This is especially signicant because, as Johnson et al. note, \most interesting applications involve graphs with a low average degree" (1989). In this paper, we extend this coalescing idea, improving it nearly as much as it improves upon the original Kernighan-Lin algorithm. 2 Coalescing and Recursive Coalescing Bui et al. proposed the algorithm described in Figure 2 for improving the performance of any given bisection algorithm (the base algorithm) that works by improving an initial bisection of a graph; the Kernighan-Lin algorithm is of this type. First, a maximal matching E M E of G is computed: by denition, no two edges in E M share a vertex and all edges not in E M share a vertex with an edge in E M. All pairs of vertices joined by edges in E M are then coalesced to form a new smaller graph G 0 = (V 0 ; E 0 ), typically of higher average degree. From a random bisection hr; Si of G 0, a better bisection ha 0 ; B 0 i is computed using the base algorithm. The edges in G 0 are then uncoalesced; applying this operation to ha 0 ; B 0 i induces a partition of G that may not be balanced, so a rebalancing operation may be necessary to produce a bisection ha; Bi of G. (The vertices moved in the rebalancing operation typically very few are chosen randomly.) This bisection is then subjected to one more application of the base algorithm. We will use the functional notation C(base) to refer to the algorithm generated by augmenting a base algorithm base with the coalescing method. 1

KL(G; ha; Bi) f int i; k; swap val; cumulative swap val total; cumulative swap vals[]; repeat f ha tmp ; B tmp i ha; Bi; i 1; cumulative swap val total 0; while (ja tmp j > 0) do f (a i ; b i ; swap val) best swap(g; ha tmp ; B tmp i); /* best swap() returns the best pair of vertices in A tmp and B tmp to swap, and the change in cut-set size that results from the swap. */ g k cumulative swap val total cumulative swap val total + swap val; cumulative swap vals[i] cumulative swap val total; ha tmp ; B tmp i ha tmp fa i g; B tmp fb i gi; i i + 1; index of max positive val(cumulative swap vals); /* k = 0 if all entries in cumulative swap vals are 0. */ if k > 0 then ha; Bi (ha fa 1 ; : : : ; a k g + fb 1 ; : : :; b k g; B fb 1 ; : : : ; b k g + fa 1 ; : : : ; a k gi); g until k = 0; return(ha; Bi); g Figure 1: The Kernighan-Lin graph-bisection algorithm. 2

C(base)(G) f M maximal matching(g); G 0 coalesce(m; G); hr; Si random bisection(g 0 ); ha 0 ; B 0 i base(g 0 ; hr; Si); ha; Bi uncoalesce and rebalance(ha 0 ; B 0 i); return(base(g; ha; Bi)); g Figure 2: The vertex-coalescing technique. Bui et al. concluded that the reason coalescing helps is that previously reported heuristic techniques (and the Kernighan-Lin algorithm in particular) tend to work better on graphs of higher degree. However, if this idea works for the original graph G, then the coalescing paradigm should likewise help for the coalesced graph, G 0, which will usually have higher average degree than G. By applying this idea recursively we can use the coalescing algorithm on increasingly smaller graphs of increasingly higher average degree until we cannot coalesce the graph any further (see Figure 3). The base case of the recursion occurs when the edge set E of G is empty, in which case a random bisection is passed to the base algorithm. The nal bisection of each graph yields an initial bisection for the graph one level higher in the recursion. We will use the notation RC(base) to refer to the augmentation of a base algorithm base with this recursive coalescing method. 3 Empirical Testing of the Methods We implemented the original Kernighan-Lin algorithm (KL), and the coalesced (C(KL)) and recursively coalesced (RC(KL)) variants, and compared their performance on a set of random graphs. We used the standard G(m; p) randomgraph model for our tests. In this model, there are m vertices in the graph, and edges are independently placed between each pair of vertices with probability p. Studies by Bui et al. and Johnson et al. have shown that tests on these graphs give a good indication of likely performance on other kinds of random graphs (Bui et al., 1989; Johnson et al., 1989). Our test suite contained 25 graphs constructed for ve dierent values each of m and p. The sizes of the graphs increase on a logarithmic scale to give jv j = 124, 250, 500, 1000, and 2000. For each value of jv j we created graphs by choosing p so that the expected average degree of the graph would be 2.5, 3

RC(base)(G) f if G:E = fg then f hr; Si random bisection(g); return(base(g; hr; Si)); g M maximal matching(g); G 0 coalesce(m; G); ha 0 ; B 0 i RC(base)(G 0 ); ha; Bi uncoalesce and rebalance(ha 0 ; B 0 i); return(base(g; ha; Bi)); g Figure 3: The recursive vertex-coalescing technique. 3.5, 5, 10, and 20. (The actual average degree of each test graph was within 0.05 of the target value.) Each algorithm was run 1000 times on every graph, using dierent random bisections for each run. Running times for any particular graph were within a factor of two for all three algorithms, as would be expected. For each combination of vertex-set size and average degree there are a large number of graphs that can be generated. We conducted a number of tests to determine how much one graph can bias algorithmic performance. These tests veried that algorithmic performance has very low variability across standard random graphs with the same average degree and vertex-set size. We can thus use one random graph for each combination of vertex-set size and average degree without sacricing accuracy in our results. For graphs with average degree in the range [2:0; 5:0], RC(KL) dominates C(KL), which dominates KL. The chart in Figure 4 shows the change in average solution quality for graphs of degree 2.5. (Following the convention adopted by Johnson et al. (Johnson et al., 1989), results are reported in terms of the best cut found by any of the algorithms for the graphs in question.) A dierent perspective on the relative performance of the algorithms is shown in Figure 5. The chart in this gure shows the distributions of solutions found by the algorithms for graphs with 1000 vertices and average degree 2.5. The improvement of RC(KL) over C(KL) as captured in the relative shift of the distribution to the left is approximately the same as that of C(KL) relative to KL. As the graph size increases, however, the comparative advantage of the RC(KL) algorithm decreases. The benets from RC(KL) (and C(KL)) can only be realized on graphs of small average degree (less than 5.0). When the av- 4

50 Kernighan-Lin Coalesced KL Recursively Coalesced KL 40 Percent 30 20 10 0 0 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 Number of Vertices Figure 4: Performance of KL, C(KL), and RC(KL) on graphs of varying numbers of vertices with average degree 2:5. 5

800 700 Kernighan-Lin Coalesced KL Recursively Coalesced KL 600 Number of Occurences 500 400 300 200 100 0 80 90 100 110 120 130 140 150 160 170 Cut Size Across Partition Figure 5: Distributions for KL, C(KL), and RC(KL) of cut-size found in 10,000 trials for a single G(1000; 2:5) graph. 6

70 60 Kernighan-Lin Coalesced KL Recursively Coalesced KL 50 Percent 40 30 20 10 0 0 2 4 6 8 10 12 14 16 18 20 22 Average Degree of Graph Figure 6: Performance KL, C(KL), and RC(KL) for 1000-vertex graphs of varying average degree. erage degree increases above 5.0, the relative eectiveness of RC(KL) decreases dramatically. The chart in Figure 6 shows how average solution quality varies with average degree for graphs of 1000 vertices. (Graphs with average degree less than 2.0 are so sparse that very good bisections are found easily by all of the algorithms.) Although Figure 6 appears to indicate that absolute algorithmic performance decreases as the vertex-set size decreases, absolute algorithmic performance is better for graphs of lower degree. The confusion arises in the normalization of the average algorithmic performances. For graphs of low average degree a small change in cut size has a large aect on the ratio of average cut size to best cut size since the best cut size found is quite small (54 for the G(1000; 2:0) graph). This skews the apparent absolute algorithmic performance. One should thus restrict interpretation of Figure 6 to relative algorithmic performance. Since all three of the algorithms are not completely deterministic they have an arbitrary aspect in the choice of initial bisection and, in the case of the coalescing algorithms, the choice of maximal match they allow for a tradeo between time and solution quality by conducting a search among various instantiations of the nondeterministic choices. For instance, one can gener- 7

ate independent solutions from the space of nondeterministic possibilities and choose the best; this gives rise to a random-generate-and-test search regime. (Alternatively, a more directed type of search, such as hill climbing or simulated annealing might be entertained, though we do not pursue these possibilities here.) Figure 7 shows that a random-generate-and-test search in the spaces dened by the three algorithms preserves the relative advantage of RC(KL) over C(KL) and KL. In the gure, performance was averaged over 50 runs of each algorithm on the same G(1000; 2:5) graph. Error bars show standard deviations for the averages. Even when running time is taken into account, RC(KL) still has a substantial edge. Figure 8 shows relative performance of a random-generate-and-test search normalized to equalize the running times of all algorithms. Thus, for any given running time, the number of iterations allotted to RC(KL) was less than the number allotted to C(KL), which in turn was allotted fewer than KL. As the gure shows, even normalized in this way, the ranking of RC(KL) over C(KL) over KL is preserved. Given a xed amount of time to search for solutions, the RC(KL) algorithm still dominates the other two. 4 Conclusion For random G(m; p) graphs with average degree in the range [2:0; 5:0], the RC(KL) algorithm a recursive variant of Bui et al.'s C(base) technique applied to Kernighan and Lin's KL algorithm has signicantly better average performance, both on a per-iteration and per-unit-time basis, than the C(KL) and KL algorithms. Acknowledgements The authors would like to thank Tom Ngo for helpful comments. This material is based upon work supported by the National Science Foundation under Grant No. IRI-9350192. References Bui, T., S. Chaudhuri, F. Leighton, and M. Sipser. 1987. Graph bisection algorithms with good average case behavior. Combinatorica, 7(2):171{191. Bui, T., C. Heigham, C. Jones, and T. Leighton. 1989. Improving the performance of the Kernighan-Lin and simulated annealing graph bisection algorithms. In Proceedings of the 26th ACM/IEEE Design Automation Conference, pages 775{778. 8

140 135 130 Kernighan-Lin Coalesced KL Recursively Coalesced KL 125 Best Cut Found 120 115 110 105 100 95 90 85 0 100 200 300 400 500 600 700 800 900 1000 Iteration Figure 7: Iterated algorithm performance on a G(1000; 2:5) graph as a function of number of iterations. 9

140 135 130 Kernighan-Lin Coalesced KL Recursively Coalesced KL 125 Best Cut Found 120 115 110 105 100 95 90 85 0 500 1000 1500 2000 2500 3000 Time Figure 8: Iterated algorithm performance on a G(1000; 2:5) graph as a function of amount of running time (in seconds on a Digital 3000/400 AXP workstation). 10

Fiduccia, C. M. and R. M. Mattheyses. 1982. A linear-time heuristic for improving network partitioning. In Proceedings of the 19th Design Automation Conference, pages 175{181, Las Vegas, N.M. Garey, M. R., D. S. Johnson, and L. Stockmeyer. 1976. Some simplied NPcomplete graph problems. Theoretical Computer Science, 1(3):237{267. Goldberg, M. K. and M. Burnstein. 1983. Heuristic improvement technique for bisection of VLSI networks. In Proceedings of the IEEE International Conference on Computer Design, pages 122{125, Port Chester, N.Y. Johnson, D. S., C. R. Aragon, L. A. McGeoch, and C. Schevon. 1989. Optimization by simulated annealing: An experimental evaluation; part I, graph partitioning. Operations Research, 37(6):865{892, November-December. Kernighan, B. and S. Lin. 1970. An ecient heuristic procedure for partitioning graphs. The Bell System Technical Journal, 49(2):291{307, February. Krishnamurthy, B. 1984. An improved min-cut algorithm for partitioning VLSI networks. IEEE Transactions on Computers, C-33:438{446. 11