Upload
iris-jensen
View
24
Download
2
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
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
V = {1,2,3}
E ={(1,2), (2,3), (3,1)}
12
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 BisectionsIf 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
• 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
(i,j) E Min xTLx
s.t
eTx =0 , |xi| = 1
n
Rank-2 Relaxation
Min (1/2) wik(1 - xixk)s.t
|xi| = 1 xi = 0
n
Max wik xixk
s.t
|xi| = 1 xi = 0
Relaxation: Let x 2
vi = [cos i, sin i]T viTvk = cos(i - k)
Max wikviTvk
s.t.
||vi||2 = 1 || vi|| = 0
Where Tik() = i - k
Max (1/2)W • cos(T())
n
||vi||2 = 1 automatically satisfied
• 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
Max-CutFeasible
Points=
Rank-2Feasible Region
Multilevel Approach:
G
G1
Gn-2
Gn-1
CoarsenUn-Coarsen
& Refine
Gn
Gn-1Cut
G
Multilevel Techniques
• Coarsen: Use a matching criterion
• Initial Cut: Various Methods– Breath First Search
• Refinement: Kernighan-Lin type approach
1 2
34
1 2
34
1,2
3,4
(2)
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)
Multilevel Approach:
G
G1
Gn-1
CoarsenUn-Coarsen
& Refine
Gn
Cut
Gn-1
Gn-2
G
= Area where Rank 2 used
Manipulating the Frontier to Produce a Bisection
G:
-10
Examples and Comparisons
Tapir 1024 vertices2846 Edges
58
Spectral
24
Metis
{22(1), 23(2), 24(5), 32, 33}
Unified
23
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 K=4Depth=2 Depth=3
Graph Metis Our 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
Graph Metis Our 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
Graph Metis Circuit Our 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