300 likes | 465 Views
A Continuous Optimization Approach to the Minimum Bisection Problem. Edward F. Gonzalez Dr. Yin Zhang October 2003. The Min-Bisection Problem. G = (V,E) is an undirected, simple graph, where every vertex has at least one neighbor
E N D
A Continuous Optimization Approach to the Minimum Bisection Problem Edward F. Gonzalez Dr. Yin Zhang October 2003
The Min-Bisection Problem G = (V,E) is an undirected, simple graph, where every vertex has at least one neighbor V = Set of vertices = {1,2,...,n} E = Set of edges { (i,k) : 1 i k n}
Small Example 1 V = {1,2,3} E ={(1,2), (2,3), (3,1)} 2 3
Larger Example 1024 Vertices 2846 Edges
Minimum Bisection Problem • Objective: Divide the vertices of a graph into two equal groups while minimizing the total weights of the edges between the groups V V/2 V/2
Applications of the Min-Bisection Problem • Parallel Scientific Computing • Domain Decomposition • Mesh Partitioning • Sparse Matrix Ordering • VLSI Design • Task Scheduling
Many Possible Bisections If G has n vertices, there are [n choose (n/2)] possible bisections
Easy Problem? • The Min-Bisection Problem is an NP-hard problem • Efficient Algorithms for finding exact solutions unlikely, unless P = NP • Heuristics used to solve this problem • Spectral Bisection • Multilevel Approach • Rank-Two Relaxation
Spectral Bisection • Uses the Laplacian Matrix L, where Lij: = deg(vi) if i=j = -1 if (i,j)E = 0 otherwise • L is Symmetric Pos. Semi Definite • Let x where xi = {-1,1} • if x = 1, xFirst Partition • if x = -1, xSecond Partition
Spectral Bisection • (i,j) E • xTLx = (xi- xj)2 = 4*(Cut between Partitions) • Relax: x Null(e) {y: ||y||=sqrt(n)} • Solved by second smallest eigenvector • Components of the eigenvector determine Partition Min xTLx s.t eTx =0 , |xi| = 1 n
Rank-2 Relaxation n Min (1/2) wik(1 - xixk) s.t |xi| = 1 xi = 0 Max wik xixk s.t |xi| = 1xi = 0 • Relaxation: Let x2
vi = [cos i, sin i]T viTvk = cos(i - k) Max wikviTvk s.t. ||vi||2 = 1 || vi|| = 0 ||vi||2 = 1 automatically satisfied Max (1/2)W • cos(T()) n Where Tik() = i - k
Rank-2 Feasible Region Max-Cut Feasible Points = • Find a local Minimum of the problem • Develop a cut (which is also a saddle point) • Perturb, repeat, and try to improve cut • Notice: • vi= 0 Satisfied
G G Multilevel Approach: G1 Coarsen Gn-2 Un-Coarsen & Refine Gn-1 Cut Gn-1 Gn
Multilevel Techniques • Coarsen: Use a matching criterion • Initial Cut: Various Methods • Breath First Search • Refinement: Kernighan-Lin type approach 2 1 2 1,2 (2) 1 4 4 3 3,4 3
Where we stand • Currently, the most popular software for graph partitioning problems is METIS, which uses a multi-level approach • Rank-2 approach has shown to give either better or competitive results than spectral or multilevel algorithms • Rank-2 approach is slow (relative to METIS) and does not handle large graphs well
A Rank-2/Multilevel Idea • In a multilevel approach graph is coarsened down to a manageable size and then partitioning takes places…this coarse graph may be a good candidate for the Rank-2 approach • Initial cut will need refinement, use the Rank-2 approach on a small subgraph (Frontier) around the cut at each level • Proposed solution: Use multi-level approach in combination with Rank-2 algorithm (initial cut and refinement)
G Multilevel Approach: G1 G Coarsen Un-Coarsen & Refine Gn-1 Cut Gn-2 Gn = Area where Rank 2 used Gn-1
Tapir 1024 vertices2846 Edges Metis Spectral 58 24
Unified 23 {22(1), 23(2), 24(5), 32, 33} Spectral: 58 Metis: 24
Treexpath • A graph consisting of two complete binary trees of k levels, connected by an edge of their respective root K=2 Depth=2 K=4 Depth=3
GraphMetisOur Approach 14-2 276 27 {4(14), 8(7)} 15-2 444 28 {4(14), 8(4), 12(6)} 6-79 474 235(16) 474 (14) 6-254 878 352(8) 800 (12) 7-98 292 292(29) 7-157 1407 469(7) 1500
Grid3dt • A 3-D graph in which cells are divided into tetrahedral
GraphMetisOur Approach 20 1239 1239 (28) (Lowest 1183) 25 2386 1925 (all) ( 1900 in 20 runs) 30 3487 2789 (all) [2711, 2789] 35 3649 40 5356
Time Comparisons GraphMetisCircuitOur Algorithm Tapir TXP 14-2 TXP 6-254 Grid3dt_25 Grid3dt_30
Observations thus far • Results are promising • At this point, our algorithm can be used as a verification tool
Future Work • Improve Run Time • Get Theoretical Results • Investigate multilevel coarsening to improve cut • Run more test on different types of graphs • Try to be more consistent