6 research outputs found

    Spectral partitioning with multiple eigenvectors

    Get PDF
    AbstractThe graph partitioning problem is to divide the vertices of a graph into disjoint clusters to minimize the total cost of the edges cut by the clusters. A spectral partitioning heuristic uses the graph's eigenvectors to construct a geometric representation of the graph (e.g., linear orderings) which are subsequently partitioned. Our main result shows that when all the eigenvectors are used, graph partitioning reduces to a new vector partitioning problem. This result implies that as many eigenvectors as are practically possible should be used to construct a solution. This philosophy is in contrast to that of the widely used spectral bipartitioning (SB) heuristic (which uses only a single eigenvector) and several previous multi-way partitioning heuristics [8, 11, 17, 27, 38] (which use k eigenvectors to construct k-way partitionings). Our result motivates a simple ordering heuristic that is a multiple-eigenvector extension of SB. This heuristic not only significantly outperforms recursive SB, but can also yield excellent multi-way VLSI circuit partitionings as compared to [1, 11]. Our experiments suggest that the vector partitioning perspective opens the door to new and effective partitioning heuristics. The present paper updates and improves a preliminary version of this work [5]

    Merge algorithm for circuit partitioning

    Get PDF

    Partitionig of VLSI circuits using a reduced connectivity matrix

    Get PDF

    High-Quality Hypergraph Partitioning

    Get PDF
    This dissertation focuses on computing high-quality solutions for the NP-hard balanced hypergraph partitioning problem: Given a hypergraph and an integer kk, partition its vertex set into kk disjoint blocks of bounded size, while minimizing an objective function over the hyperedges. Here, we consider the two most commonly used objectives: the cut-net metric and the connectivity metric. Since the problem is computationally intractable, heuristics are used in practice - the most prominent being the three-phase multi-level paradigm: During coarsening, the hypergraph is successively contracted to obtain a hierarchy of smaller instances. After applying an initial partitioning algorithm to the smallest hypergraph, contraction is undone and, at each level, refinement algorithms try to improve the current solution. With this work, we give a brief overview of the field and present several algorithmic improvements to the multi-level paradigm. Instead of using a logarithmic number of levels like traditional algorithms, we present two coarsening algorithms that create a hierarchy of (nearly) nn levels, where nn is the number of vertices. This makes consecutive levels as similar as possible and provides many opportunities for refinement algorithms to improve the partition. This approach is made feasible in practice by tailoring all algorithms and data structures to the nn-level paradigm, and developing lazy-evaluation techniques, caching mechanisms and early stopping criteria to speed up the partitioning process. Furthermore, we propose a sparsification algorithm based on locality-sensitive hashing that improves the running time for hypergraphs with large hyperedges, and show that incorporating global information about the community structure into the coarsening process improves quality. Moreover, we present a portfolio-based initial partitioning approach, and propose three refinement algorithms. Two are based on the Fiduccia-Mattheyses (FM) heuristic, but perform a highly localized search at each level. While one is designed for two-way partitioning, the other is the first FM-style algorithm that can be efficiently employed in the multi-level setting to directly improve kk-way partitions. The third algorithm uses max-flow computations on pairs of blocks to refine kk-way partitions. Finally, we present the first memetic multi-level hypergraph partitioning algorithm for an extensive exploration of the global solution space. All contributions are made available through our open-source framework KaHyPar. In a comprehensive experimental study, we compare KaHyPar with hMETIS, PaToH, Mondriaan, Zoltan-AlgD, and HYPE on a wide range of hypergraphs from several application areas. Our results indicate that KaHyPar, already without the memetic component, computes better solutions than all competing algorithms for both the cut-net and the connectivity metric, while being faster than Zoltan-AlgD and equally fast as hMETIS. Moreover, KaHyPar compares favorably with the current best graph partitioning system KaFFPa - both in terms of solution quality and running time

    Polyhedral Approaches to Hypergraph Partitioning and Cell Formation

    Get PDF
    Ankara : Department of Industrial Engineering and Institute of Engineering and Science, Bilkent University, 1994.Thesis (Ph.D.) -- -Bilkent University, 1994.Includes bibliographical references leaves 152-161Hypergraphs are generalizations of graphs in the sense that each hyperedge can connect more than two vertices. Hypergraphs are used to describe manufacturing environments and electrical circuits. Hypergraph partitioning in manufacturing models cell formation in Cellular Manufacturing systems. Moreover, hypergraph partitioning in VTSI design case is necessary to simplify the layout problem. There are various heuristic techniques for obtaining non-optimal hypergraph partitionings reported in the literature. In this dissertation research, optimal seeking hypergraph partitioning approaches are attacked from polyhedral combinatorics viewpoint. There are two polytopes defined on r-uniform hypergraphs in which every hyperedge has exactly r end points, in order to analyze partitioning related problems. Their dimensions, valid inequality families, facet defining inequalities are investigated, and experimented via random test problems. Cell formation is the first stage in designing Cellular Manufacturing systems. There are two new cell formation techniques based on combinatorial optimization principles. One uses graph approximation, creation of a flow equivalent tree by successively solving maximum flow problems and a search routine. The other uses the polynomially solvable special case of the one of the previously discussed polytopes. These new techniques are compared to six well-known cell formation algorithms in terms of different efficiency measures according to randomly generated problems. The results are analyzed statistically.Kandiller, LeventPh.D

    An incremental alternation placement algorithm for macrocell array design.

    Get PDF
    by Tsz Shing Cheung.Thesis (M.Phil.)--Chinese University of Hong Kong, 1990.Includes bibliographical references.Chapter Section 1 --- Introduction --- p.2Chapter 1.1 --- The Affinity Clustering Phase --- p.2Chapter 1.2 --- The Alteration Phase --- p.3Chapter 1.3 --- Floorplan of Macrocell Array --- p.3Chapter 1.4 --- Chip Model --- p.4Chapter 1.4.1 --- Location Representation --- p.4Chapter 1.4.2 --- Interconnection Length Estimation --- p.6Chapter 1.5 --- Cost Function Evaluation --- p.6Chapter 1.5.1 --- Net-length Calculation --- p.6Chapter 1.5.2 --- Net-length Estimated by Half of the Perimeter of Bounding Box --- p.7Chapter 1.6 --- Thesis Layout --- p.8Chapter Section 2 --- Reviews of Partitioning and Placement Methods --- p.9Chapter 2.1 --- Partitioning Methods --- p.9Chapter 2.1.1 --- Direct Method --- p.10Chapter 2.1.2 --- Group Migration Method --- p.10Chapter 2.1.3 --- Metric Allocation Methods --- p.10Chapter 2.1.4 --- Simulated Annealing --- p.11Chapter 2.2 --- Placement Methods --- p.12Chapter 2.2.1 --- Min-cut Methods --- p.13Chapter 2.2.2 --- Affinity Clustering Methods --- p.13Chapter 2.2.3 --- Other Placement Methods --- p.16Chapter Section 3 --- Algorithm --- p.17Chapter 3.1 --- The Affinity Clustering Phase --- p.18Chapter 3.1.1 --- Construction of Connection Lists --- p.18Chapter 3.1.2 --- Primary Grouping --- p.21Chapter 3.1.3 --- Element Appendage to Existing Groups --- p.23Chapter 3.1.4 --- Loose Appendage of Ungrouped Elements --- p.25Chapter 3.1.5 --- Single Element Groups Formation --- p.26Chapter 3.2 --- The Alteration Phase --- p.27Chapter 3.2.1 --- Element Assignment to a Group --- p.29Chapter 3.2.2 --- Empty Space Searching --- p.30Chapter 3.2.3 --- Determination of Direction of Element Allocation --- p.31Chapter 3.2.3.1 --- Cross-cut Direction of Allocation --- p.32Chapter 3.2.3.2 --- Dynamic Determination of Path Based on Size Functions --- p.34Chapter 3.2.3.2.1 --- Segmentation of Cross-cut --- p.35Chapter 3.2.3.2.2 --- Partial Optimization of Segments --- p.36Chapter 3.2.3.2.3 --- Dynamic Linking of Segments --- p.38Chapter 3.2.4 --- Element Allocation --- p.39Chapter Section 4 --- Implementation --- p.41Chapter 4.1 --- The System Row --- p.41Chapter 4.1.1 --- The Affinity Clustering Phase --- p.43Chapter 4.1.2 --- The Alteration Phase --- p.44Chapter 4.2 --- Data Structures --- p.47Chapter 4.2.1 --- Insertion of Elements to a Linked List --- p.54Chapter 4.2.2 --- Dynamic Linking of Segments --- p.56Chapter 4.2.3 --- Advantages of the Dynamic Data Structure --- p.59Chapter 4.3 --- Data Manipulation and File Management --- p.60Chapter 4.3.1 --- The Connection Lists and the Group List --- p.60Chapter 4.3.2 --- Description on Programs and Data Files --- p.62Chapter 4.3.2.1 --- The Affinity Clustering Phase --- p.63Chapter 4.3.2.2 --- The Alteration Phase --- p.64Chapter Section 5 --- Results --- p.70Chapter 5.1 --- Results on Affinity Clustering Phase --- p.84Chapter 5.2 --- Details of Affinity Clustering Procedure on Ckt. 2 and Ckt. 5 --- p.92Chapter 5.3 --- Results on Alteration Phase --- p.97Chapter 5.4 --- Details of Alteration Procedure on Ckt. 2 and Ckt. 5 --- p.101Chapter Section 6 --- Discussion --- p.107Chapter 6.1 --- Computation Time of the Algorithm --- p.107Chapter 6.2 --- Alternative Methods on the Determination of Propagation Path --- p.110Chapter 6.2.1 --- Method 1 --- p.110Chapter 6.2.2 --- Method 2 --- p.111Chapter 6.2.3 --- Method 3 --- p.114Chapter 6.2.4 --- Comparison on Execution Time of the Four Methods --- p.117Chapter 6.3 --- Wiring Optimization --- p.118Chapter 6.3.1 --- Data Structure --- p.119Chapter 6.3.2 --- Overlapping and Separate Bounding Boxes --- p.120Chapter 6.4 --- Generalization of the Data Structure --- p.122Chapter 6.4.1 --- Cell Types --- p.123Chapter 6.4.2 --- Adhesive Attributes --- p.124Chapter 6.4.3 --- Blocks Representation --- p.124Chapter 6.4.4 --- Critical Path Adjustment --- p.125Chapter 6.4.5 --- Total Interconnection Length Estimation --- p.129Chapter 6.5 --- A New Placement Algorithm --- p.130Chapter 6.6 --- An Alternative Method on Element Allocation --- p.132Chapter Section 7 --- Conclusion --- p.136Chapter Section 8 --- References --- p.138Chapter Section 9 --- Appendix I --- p.142Chapter 9.1 --- Definition of the Problem --- p.142Chapter 9.2 --- The Simulated Annealing Algorithm --- p.142Chapter 9.3 --- Example Circuit --- p.143Chapter 9.4 --- Performance Indices and Energy Value --- p.144Chapter 9.4.1 --- Total Interconnection Length --- p.144Chapter 9.4.2 --- Delay on Critical Paths --- p.144Chapter 9.4.3 --- Skew in Input-to-Output Delays --- p.146Chapter 9.4.4 --- Energy Value --- p.146Chapter 9.5 --- The Simulation Program --- p.146Chapter 9.5.1 --- "The ""function"" Subroutines" --- p.147Chapter 9.5.1.1 --- alise --- p.147Chapter 9.5.1.2 --- max delay --- p.147Chapter 9.5.1.3 --- replace --- p.147Chapter 9.5.1.4 --- total length --- p.147Chapter 9.5.2 --- "The ""procedure"" Subroutines" --- p.148Chapter 9.5.2.1 --- init_weight --- p.148Chapter 9.5.2.2 --- inverse --- p.148Chapter 9.5.2.3 --- initial --- p.148Chapter 9.5.2.4 --- shuffle --- p.148Chapter 9.5.3 --- The Main Program --- p.148Chapter 9.6 --- Results and Discussion --- p.149Chapter 9.7 --- Summary --- p.156Chapter 9.8 --- References --- p.156Chapter Section 10 --- Appendix II --- p.15
    corecore