A Continuous Optimization Approach to the Minimum Bisection Problem

Slides:



Advertisements
Similar presentations
Multilevel Hypergraph Partitioning Daniel Salce Matthew Zobel.
Advertisements

L30: Partitioning 성균관대학교 조 준 동 교수
Max Cut Problem Daniel Natapov.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Modularity and community structure in networks
Information Networks Graph Clustering Lecture 14.
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Graph Clustering. Why graph clustering is useful? Distance matrices are graphs  as useful as any other clustering Identification of communities in social.
Graph Clustering. Why graph clustering is useful? Distance matrices are graphs  as useful as any other clustering Identification of communities in social.
Balanced Graph Partitioning Konstantin Andreev Harald Räcke.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
DAST 2005 Tirgul 11 (and more) sample questions. DAST 2005 Q.Let G = (V,E) be an undirected, connected graph with an edge weight function w : E→R. Let.
MRF Labeling With Graph Cut CMPUT 615 Nilanjan Ray.
SubSea: An Efficient Heuristic Algorithm for Subgraph Isomorphism Vladimir Lipets Ben-Gurion University of the Negev Joint work with Prof. Ehud Gudes.
ECE669 L10: Graph Applications March 2, 2004 ECE 669 Parallel Computer Architecture Lecture 10 Graph Applications.
Multilevel Hypergraph Partitioning G. Karypis, R. Aggarwal, V. Kumar, and S. Shekhar Computer Science Department, U of MN Applications in VLSI Domain.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
GRAPH Learning Outcomes Students should be able to:
Graph Partitioning Donald Nguyen October 24, 2011.
Graph Theory Topics to be covered:
Parallel Computing Sciences Department MOV’01 Multilevel Combinatorial Methods in Scientific Computing Bruce Hendrickson Sandia National Laboratories Parallel.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
Data Structures & Algorithms Graphs
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
Integer Programming (정수계획법)
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Data Structures and Algorithms in Parallel Computing Lecture 7.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning
Timetable Problem solving using Graph Coloring
High Performance Computing Seminar
Parallel Graph Algorithms
Computing Connected Components on Parallel Computers
CS 290H Administrivia: April 16, 2008
Minimum Spanning Tree 8/7/2018 4:26 AM
Haim Kaplan and Uri Zwick
Graph Theory and Algorithm 02
Maximum Flow - Best algorithms
Computability and Complexity
1.3 Modeling with exponentially many constr.
ICS 353: Design and Analysis of Algorithms
Grouping.
Integer Programming (정수계획법)
Haim Kaplan and Uri Zwick
Lecture 19-Problem Solving 4 Incremental Method
Problem Solving 4.
1.3 Modeling with exponentially many constr.
3.3 Network-Centric Community Detection
Tree -decomposition * 竹内 和樹 * 藤井 勲.
A Fundamental Bi-partition Algorithm of Kernighan-Lin
Solving the Minimum Labeling Spanning Tree Problem
A Parallelization of State-of-the-Art Graph Bisection Algorithms
Integer Programming (정수계획법)
Text Book: Introduction to algorithms By C L R S
Lecture 19 Linear Program
The Greedy Approach Young CS 530 Adv. Algo. Greedy.
Spanning Trees Lecture 20 CS2110 – Spring 2015.
Yupei Xiong Bruce Golden Edward Wasil INFORMS Annual Meeting
Topics in Algorithms 2005 Max Cuts
“Traditional” image segmentation
Concepts of Computation
Treewidth meets Planarity
For Friday Read chapter 9, sections 2-3 No homework
Vertex Covers and Matchings
Presentation transcript:

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 2 3 V = {1,2,3} E ={(1,2), (2,3), (3,1)}

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, xFirst Partition if x = -1, xSecond 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 Relaxation: Let x 2 Min (1/2)   wik(1 - xixk) s.t |xi| = 1  xi = 0 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 vi = [cos i, sin i]T  viTvk = cos(i - k) ||vi||2 = 1 automatically satisfied Max (1/2)W • cos(T())  n Where Tik() = i - k

Find a local Minimum of the problem Develop a cut (which is also a saddle point) Perturb, repeat, and try to improve cut Rank-2 Feasible Region Max-Cut Feasible Points = Notice: vi= 0 Satisfied

Multilevel Approach: G G G1 Coarsen Gn-2 Un-Coarsen & Refine Cut Gn-1

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)

Multilevel Approach: G G1 G Coarsen Un-Coarsen & Refine Gn-1 Cut Gn-2 = Area where Rank 2 used Gn-1

Manipulating the Frontier to Produce a Bisection -10

Examples and Comparisons

Tapir 1024 vertices 2846 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

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 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