15-853Page1 15-853:Algorithms in the Real World Separators – Introduction – Applications.

Slides:



Advertisements
Similar presentations
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Advertisements

Multilevel Hypergraph Partitioning Daniel Salce Matthew Zobel.
NP-Hard Nattee Niparnan.
L30: Partitioning 성균관대학교 조 준 동 교수
Every edge is in a red ellipse (the bags). The bags are connected in a tree. The bags an original vertex is part of are connected.
C&O 355 Lecture 23 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.
22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Jump to first page DISTRIBUTED GENERATION OF PAIRWISE COMBINATIONS PARALLEL GRAPH PARTITIONING ON A HYPERCUBE F. Ercal, P. Sadayappan, and J. Ramanujan.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
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.
Approximation Algorithms for Unique Games Luca Trevisan Slides by Avi Eyal.
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
Chapter 2 – Netlist and System Partitioning
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Fast algorithm for detecting community structure in networks.
The Theory of NP-Completeness
A scalable multilevel algorithm for community structure detection
Last class Decision/Optimization 3-SAT  Independent-Set Independent-Set  3-SAT P, NP Cook’s Theorem NP-hard, NP-complete 3-SAT  Clique, Subset-Sum,
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 25 Instructor: Paul Beame.
Constant Factor Approximation of Vertex Cuts in Planar Graphs Eyal Amir, Robert Krauthgamer, Satish Rao Presented by Elif Kolotoglu.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Graph partition in PCB and VLSI physical synthesis Lin Zhong ELEC424, Fall 2010.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman Problem.
Fixed Parameter Complexity Algorithms and Networks.
296.3:Algorithms in the Real World
Orthogonal Drawings of Series-Parallel Graphs Joint work with Xiao Zhou by Tohoku University Takao Nishizeki.
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
SPANNING TREES Lecture 21 CS2110 – Spring
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Topics in Algorithms 2005 Constructing Well-Connected Networks via Linear Programming and Primal Dual Algorithms Ramesh Hariharan.
Models and Algorithms for Complex Networks Graph Clustering and Network Communities.
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
15-853Page1 Separatosr in the Real World Practice Slides combined from
Parallel Computing Sciences Department MOV’01 Multilevel Combinatorial Methods in Scientific Computing Bruce Hendrickson Sandia National Laboratories Parallel.
CSC 172 P, NP, Etc. “Computer Science is a science of abstraction – creating the right model for thinking about a problem and devising the appropriate.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
NP-Complete problems.
NP-Completeness (Nondeterministic Polynomial Completeness) Sushanth Sivaram Vallath & Z. Joseph.
SPANNING TREES Lecture 20 CS2110 – Fall Spanning Trees  Definitions  Minimum spanning trees  3 greedy algorithms (incl. Kruskal’s & Prim’s)
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Data Structures and Algorithms in Parallel Computing Lecture 7.
CS 290H Administrivia: May 14, 2008 Course project progress reports due next Wed 21 May. Reading in Saad (second edition): Sections
Graph Partitioning using Single Commodity Flows
1 Assignment #3 is posted: Due Thursday Nov. 15 at the beginning of class. Make sure you are also working on your projects. Come see me if you are unsure.
Network Partition –Finding modules of the network. Graph Clustering –Partition graphs according to the connectivity. –Nodes within a cluster is highly.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Graphs David Kauchak cs302 Spring Admin HW 12 and 13 (and likely 14) You can submit revised solutions to any problem you missed Also submit your.
CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning
Partitioning Jong-Wha Chong Wireless Location and SOC Lab. Hanyang University.
Algorithms and Networks
Algorithms for Finding Distance-Edge-Colorings of Graphs
CS 290H Administrivia: April 16, 2008
Minimum Spanning Tree 8/7/2018 4:26 AM
Instructor: Shengyu Zhang
Haim Kaplan and Uri Zwick
Read GLN sections 6.1 through 6.4.
Spanning Trees Lecture 20 CS2110 – Spring 2015.
Treewidth meets Planarity
Presentation transcript:

15-853Page :Algorithms in the Real World Separators – Introduction – Applications

15-853Page2 Edge Separators An edge separator : a set of edges E’ ½ E which partitions V into V 1 and V 2 Criteria: |V 1 |, |V 2 | balanced |E’| is small V1V1 V2V2 E’

15-853Page3 Vertex Separators An vertex separator : a set of vertices V’ ½ V which partitions V into V 1 and V 2 Criteria: |V 1 |, |V 2 | balanced |V’| is small V1V1 V2V2

15-853Page4 Compared with Min-cut s t Min-cut: as in the min- cut, max-flow theorem. Min-cut has no balance criteria. Min-cut typically has a source (s) and sink (t). Will tend to find unbalanced cuts. V1V1 V2V2 E’

15-853Page5 Other names Sometimes referred to as –graph partitioning (probably more common than “graph separators”) –graph bisectors –graph bifurcators –balanced graph cuts

15-853Page6 Recursive Separation

15-853Page7 What graphs have small separators Planar graphs: O(n 1/2 ) vertex separators 2d meshes, constant genus, excluded minors Almost planar graphs: the internet, power networks, road networks Circuits need to be laid out without too many crossings Social network graphs: phone-call graphs, link structure of the web, citation graphs, “friends graphs” 3d-grids and meshes: O(n 1/2 )

15-853Page8 What graphs don’t have small separatos Expanders: Can someone give a quick proof that they don’t have small separators Hypercubes: O(n) edge separators O(n/(log n) 1/2 ) vertex separators Butterfly networks: O(n/log n) separators ? It is exactly the fact that they don’t have small separators that make them useful.

15-853Page9 Applications of Separators Circuit Layout (dates back to the 60s) VLSI layout Solving linear systems (nested dissection) n 3/2 time for planar graphs Partitioning for parallel algorithms Approximations to certain NP hard problems TSP, maximum-independent-set Clustering and machine learning Machine vision

15-853Page10 More Applications of Separators Out of core algorithms Register allocation Shortest Paths Graph compression Graph embeddings

15-853Page11 Available Software METIS: U. Minnessota PARTY: University of Paderborn CHACO: Sandia national labs JOSTLE: U. Geenwich SCOTCH: U. Bordeaux GNU: Popinet Benchmarks: Graph Partitioning Archive

15-853Page12 Different Balance Criteria Bisectors: 50/50 Constant fraction cuts: e.g. 1/3, 2/3 Trading off cut size for balance: min cut criteria: min quotient separator: All versions are NP-hard

15-853Page13 Other Variants of Separators k-Partitioning: Might be done with recursive partitioning, but direct solution can give better answers. Weighted: Weights on edges (cut size), vertices (balance) Hypergraphs: Each edge can have more than 2 end points common in VLSI circuits Multiconstraint: Trying to balance different values at the same time.

15-853Page14 Asymptotics If S is a class of graphs closed under the subgraph relation, then Definition: S satisfies a f(n) vertex- separator theorem if there are constants  0 so that for every G 2 S there exists a cut set C ½ V, with 1.|C| ·  f(|G|) cut size 2.|A| ·  |G|, |B| ·  |G|balance Similar definition for edge separators.

15-853Page15 Edge vs. Vertex separators If a class of graphs satisfies an f(n) edge-separator theorem then it satisfies an f(n) vertex-separator. The other way is not true (unless degree is bounded) |C| = n/2

15-853Page16 Separator Trees

15-853Page17 Separator Trees Theorem: For S satisfying an ( ,  ) n 1-  edge separator theorem, we can generate a perfectly balanced separator tree with separator size |C| · k  f(|G|). Proof: by picture |C| =  n 1-  (1 +  +  2 + …) =  n 1-  (1/1-  )

15-853Page18 Algorithms All are either heuristics or approximations –Kernighan-Lin (heuristic) –Planar graph separators (finds O(n 1/2 ) separators) –Geometric separators (finds O(n (d-1)/d ) separators) –Spectral (finds O(n (d-1)/d ) separators) –Flow techniques (give log(n) approximations) –Multilevel recursive bisection (heuristic, currently most practical)

15-853Page19 Kernighan-Lin Heuristic Local heuristic for edge-separators based on “hill climbing”. Will most likely end in a local-minima. Two versions: Original: takes n 2 times per step Fiduccia-Mattheyses: takes n times per step

15-853Page20 High-level description for both Start with an initial cut that partitions the vertices into two equal size sets V 1 and V 2 Want to swap two equal sized sets X ½ A and Y ½ B to reduce the cut size. Note that finding the optimal subsets X and Y solves the optimal separator problem, so it is NP hard. We want some heuristic that might help. AB YX C

15-853Page21 Some Terminology C(A,B) : the weighted cut between A and B I(v) : the number of edges incident on v that stay within the partition E(v) : the number of edges incident on v that go to the other partition D(v) : E(v) - I(v) D(u,v) : D(u) + D(v) - 2 w(u,v) the gain for swapping u and v A B C v u

15-853Page22 Kernighan-Lin improvement step KL(G,A 0,B 0 ) 8 u 2 A 0, v 2 B 0 put (u,v) in a PQ based on D(u,v) for k = 1 to |V|/2 (u,v) = max(PQ) (A k,B k ) = (A k-1,B k-1 ) swap (u,v) delete u and v entries from PQ update D on neighbors (and PQ) select A k,B k with best C k Note that can take backward steps (D(u,v) can be negative). A B C v u

15-853Page23 Fiduccia-Mattheyses improvement step FM(G,A 0,B 0 ) 8 u 2 A 0 put u in PQ A based on D(u) 8 v 2 B 0 put v in PQ B based on D(v) for k = 1 to |V|/2 u = max(PQ A ) put u on B side and update D v = max(PQ b ) put v on A side and update D select A k,B k with best C k A B C v u

15-853Page24 A Bad Example for KL or FM Consider following graph with initial cut given in red. KL (or FM) will start on one side of grid and flip pairs over moving across the grid until the whole thing is flipped. The cut will never be better than the original bad cut

15-853Page25 Performance in Practice In general the algorithms do very well at smoothing a cut that is approximately correct. Used by most separator packages either 1.to smooth final results 2.to smooth partial results during the algorithm