Graph Partitioning Problems Lecture 18: March 14 s1 s3 s4 s2 T1 T4 T2 T3 s1 s4 s2 s3 t3 t1 t2 t4 A region R1 R2 C1 C2.

Slides:



Advertisements
Similar presentations
Approximation algorithms for geometric intersection graphs.
Advertisements

Instructor Neelima Gupta Table of Contents Approximation Algorithms.
1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Design and Analysis of Algorithms Approximation algorithms for NP-complete problems Haidong Xue Summer 2012, at GSU.
Approximation Algoirthms: Graph Partitioning Problems Lecture 17: March 16 s1 s3 s4 s2 T1 T4 T2 T3.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
Multicut Lower Bounds via Network Coding Anna Blasiak Cornell University.
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.
A polylogarithmic approximation of the minimum bisection Robert Krauthgamer The Hebrew University Joint work with Uri Feige.
Graph-Based Image Segmentation
Foreground/Background Image Segmentation. What is our goal? To label each pixel in an image as belonging to either the foreground of the scene or the.
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
1 s-t Graph Cuts for Binary Energy Minimization  Now that we have an energy function, the big question is how do we minimize it? n Exhaustive search is.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Approximation Algorithm for Multicut
Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22.
Graph Clustering. Why graph clustering is useful? Distance matrices are graphs  as useful as any other clustering Identification of communities in social.
Yi Wu IBM Almaden Research Joint work with Alina Ene and Jan Vondrak.
Graph Clustering. Why graph clustering is useful? Distance matrices are graphs  as useful as any other clustering Identification of communities in social.
Semidefinite Programming
Polynomial-Time Approximation Schemes for Geometric Intersection Graphs Authors: T. Erlebach, L. Jansen, and E. Seidel Presented by: Ping Luo 10/17/2005.
1 Approximation Algorithms for Demand- Robust and Stochastic Min-Cut Problems Vineet Goyal Carnegie Mellon University Based on, [Golovin, G, Ravi] (STACS’06)
Primal Dual Method Lecture 20: March 28 primaldual restricted primal restricted dual y z found x, succeed! Construct a better dual.
Graph Triangulation by Dmitry Pidan Based on the paper “A sufficiently fast algorithm for finding close to optimal junction tree” by Ann Becker and Dan.
CS3381 Des & Anal of Alg ( SemA) City Univ of HK / Dept of CS / Helena Wong 8. Approximation Alg Approximation.
Linear Programming – Max Flow – Min Cut Orgad Keller.
Segmentation via Graph Cuts
Introduction to Graph Theory
Programming & Data Structures
V. V. Vazirani. Approximation Algorithms Chapters 3 & 22
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Simple and Improved Parameterized Algorithms for Multiterminal Cuts Mingyu Xiao The Chinese University of Hong Kong Hong Kong SAR, CHINA CSR 2008 Presentation,
1 Min-cut for Undirected Graphs Given an undirected graph, a global min-cut is a cut (S,V-S) minimizing the number of crossing edges, where a crossing.
Advanced Algorithms Piyush Kumar (Lecture 4: MaxFlow MinCut Applications) Welcome to COT5405.
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University Local Search, Greedy and Partitioning
New algorithms for Disjoint Paths and Routing Problems
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Graph Algorithms for Vision Amy Gale November 5, 2002.
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 11.
Instructor Neelima Gupta Table of Contents Introduction to Approximation Algorithms Factor 2 approximation algorithm for TSP Factor.
Introduction to Approximation Algorithms
Mathematical Foundations of AI
Approximating k-route cuts
Introduction to Algorithms
Minimum Spanning Tree 8/7/2018 4:26 AM
Approximating k-route cuts
Computability and Complexity
Structural Properties of Low Threshold Rank Graphs
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Graph Partitioning Problems
Lecture 31: Graph-Based Image Segmentation
Problem Solving 4.
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
Algorithms (2IL15) – Lecture 7
Embedding Metrics into Geometric Spaces
EE5900 Advanced Embedded System For Smart Infrastructure
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Maximum Flow Problems in 2005.
EMIS 8374 Max-Flow in Undirected Networks Updated 18 March 2008
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Graph Partitioning Problems Lecture 18: March 14 s1 s3 s4 s2 T1 T4 T2 T3 s1 s4 s2 s3 t3 t1 t2 t4 A region R1 R2 C1 C2

Graph Partitioning Problems General setting: to remove a minimum (weight) set of edges to cut the graph into pieces. Examples:  Minimum (s-t) cut  Multiway cut  Multicut  Sparsest cut  Minimum bisection

Minimum s-t Cut s Mininium s-t cut = Max s-t flow Minimum s-t cut = minimum (weighted) set of edges to disconnect s and t t

Multiway Cut Given a set of terminals S = {s1, s2, …, sk}, a multiway cut is a set of edges whose removal disconnects the terminals from each other. The multiway cut problem asks for the minimum weight multiway cut. s1 s3 s4 s2

Multicut Given k source-sink pairs {(s1,t1), (s2,t2),...,(sk,tk)}, a multicut is a set of edges whose removal disconnects each source-sink pair. The multicut problem asks for the minimum weight multicut. s1 s4 s2 s3 t3 t1 t2 t4

Multicut vs Multiway cut Given k source-sink pairs {(s1,t1), (s2,t2),...,(sk,tk)}, a multicut is a set of edges whose removal disconnects each source-sink pair. Given a set of terminals S = {s1, s2, …, sk}, a multiway cut is a set of edges whose removal disconnects the terminals from each other. What is the relationship between these two problems? Multicut is a generalization of multiway cut. Why? Because we can set each (si,sj) as a source-sink pair.

Sparsest Cut Given k source-sink pairs {(s1,t1), (s2,t2),...,(sk,tk)}. For a set of edges U, let c(U) denote the total weight. Let dem(U) denote the number of pairs that U disconnects. The sparsest cut problem asks for a set U which minimizes c(U)/dem(U). In other words, the sparsest cut problem asks for the most cost effective way to disconnect source-sink pairs, i.e. the average cost to disconnect a pair is minimized.

Sparsest Cut Suppose every pair is a source-sink pair. For a set of edges U, let c(U) denote the total weight. Let dem(U) denote the number of pairs that U disconnects. The sparsest cut problem asks for a set U which minimizes c(U)/dem(U). S V-S Minimize

Sparsest Cut This is related to the normalized cut in image segmentation.

Minimum Bisection The minimum bisection problem is to divide the vertex set into two equal size parts and minimize the total weights of the edges in between. This problem is very useful in designing approximation algorithms for other problems – to use it in a divide-and-conquer strategy.

Relations Minimum cut Multiway cut Multicut Sparsest cut Minimum bisection

Results Minimum cut  Polynomial time solvable. Multiway cut  a combintorial 2-approximation algorithm  an elegant LP-based 1.34-approximation Multicut  an O(log n)-approximation algorithm.  some “evidence” that no constant factor algorithm exists. Sparsest cut  an O(log n)-approximation algorithm based on multicut.  an O(√log n)-approximation based on semidefinite programming.  some “evidence” that no constant factor algorithm exists. Min bisection  an O(log n)-approximation algorithm based on sparsest cut. (this statement is not quite accurate but close enough).

Relations Minimum cut Multiway cut Multicut Sparsest cut Minimum bisection 2-approx O(log n)-approx Region Growing O(log n)-approx

Multiway Cut Given a set of terminals S = {s1, s2, …, sk}, a multiway cut is a set of edges whose removal disconnects the terminals from each other. The multiway cut problem asks for the minimum weight multiway cut. s1 s3 s4 s2 This picture leads to a natural algorithm!

Algorithm (Multiway cut 2-approximation algorithm) 1.For each i, compute a minimum weight isolating cut for s(i), say C(i). 2.Output the union of C(i). Define an isolating cut for s(i) to be a set of edges whose removal disconnects s(i) from the rest of the terminals. How to compute a minimum isolating cut?

s1 s3 s4 s2 Analysis Why is it a 2-approximation? Imagine this is an optimal solution. The (thick) red edges form an isolating cut for s1, call it T1. Since we find a minimum isolating cut for s1, we have w(C1) <= w(T1).

s1 s3 s4 s2 Analysis Why is it a 2-approximation? Imagine this is an optimal solution. T1 T4 T2 T3 Key: w(Ci) <= w(Ti)  ALG = w(C1) + w(C2) + w(C3) + w(C4)  OPT = (w(T1) + w(T2) + w(T3) + w(T4)) / 2 So, ALG <= 2OPT.

Bad Example  OPT =  ALG = 8

Multicut Given k source-sink pairs {(s1,t1), (s2,t2),...,(sk,tk)}, a multicut is a set of edges whose removal disconnects each source-sink pair. The multicut problem asks for the minimum weight multicut. s1 s4 s2 s3 t3 t1 t2 t4 Can we use the idea in the isolating cut algorithm?

Bad Example …….. s1 s2 sk t1 tk t  OPT =  ALG = 2k Algorithm: take the union of minimum si-ti cut.

Linear Program for each path p connecting a source-sink pair Separation oracle: given a fractional solution d, decide if d is feasible. Shortest path computations between source-sink pairs.

for each path p connecting a source-sink pair Rounding Intuitively, we would like to take edges with large d(e). Fractional solution could be very fractional.

Strategy s1 s4 s2 s3 t3 t1 t2 t4 Given the fractional value of d(e), how can we compare a multicut with the optimal value of the LP? Let the edges in this multicut be C. It would be good if d(e) ≥ 1/2 (or 1/k) for every edge in C. Then we would have a 2-approximation algorithm (or k-approximation algorithm). But this is not true

Strategy s1 s4 s2 s3 t3 t1 t2 t4 Given the fractional value of d(e), how can we compare a multicut with the optimal value of the LP? Let the edges in this multicut be C. It would also be good if ∑c(e) ≤ k∑c(e)d(e) for edges in C. Then we would have a k-approximation algorithm. But this is also not true

Strategy s1 s4 s2 s3 t3 t1 t2 t4 Let the edges in this multicut be C. Observation: we haven’t considered the edges inside the components Analysis strategy: If we can prove that then we have a f(n)-approximation algorithm. We’ll use this strategy.How to find such a multicut C?

Algorithm s1 s4 s2 s3 t3 t1 t2 t4 A region (Multicut approximation algorithm) 1.For each i, compute a s(i)-t(i) cut, say C(i). 2.Remove C(i) and its component R(i) (its region) from the graph Output the union of C(i). Goal: Find a cut with R1 R2 C1 C2

Requirements s1 s4 s2 s3 t3 t1 t2 t4 A region Goal: Find a cut with What do we need for C(i)? Cost requirement: Feasibility requirement:There is no source-sink pair in each R(i).

Cost Requirement s1 s4 s2 s3 t3 t1 t2 t4 A region R1 R2 C1 C2 Cost requirement: Cost requirement implies the Goal: It is important that every edge is counted at most once, and this is why we need to remove C(i) and R(i) from the graph.

Linear Program for each path p connecting a source-sink pair A useful interpretation is to think of d(e) as the length of e. So the linear program says that each source-sink pair is of distance at least 1. Question: How to find the cut, i.e. R(i) and C(i), to satisfy the requirements?

Distance Key: think of d(e) as the length of e. Define the distance between two vertices as the length of their shortest path. Given a vertex v as the center, define S(r) to be the set of vertices of distance at most r from v. Idea: Set R(i) be to be S(r) with s1 as the center. s1 R1 Then, naturally, set C(i) to be the set of edges with one endpoint in R(i) and one endpoint outside R(i). C1

Feasibility Requirement This is because we’ll remove R(i) from the graph. Feasibility requirement:There is no source-sink pair in each R(i). Radius ≤ ½ Idea: Only choose S(r) with r ≤ ½. The linear program says that each source-sink pair is of distance at least 1. Since the distance between s(i) and t(i) is at least 1, they cannot be in the same R(j), and hence the feasibility requirement is satisfied. A region defined by a ball

(Multicut approximation algorithm) 1.For each i, compute a s(i)-t(i) cut, say C(i). 2.Remove C(i) and its component R(i) (its region) from the graph Output the union of C(i). Where are we? Use the idea of ball to find R(i) and C(i) Cost requirement: Feasibility requirement:There is no source-sink pair in each R(i). The ball has to satisfy two requirements: By choosing the radius at most ½

Finding Cheap Regions si Ri Ci Cost requirement: Want: f(n) to be as small as possible. Region growing: search from S(0) to S(1/2)! Continuous process: think of dges as infinitely short. 1.set R(i) = S(r); initially r=0. 2.check if cost requirement is satisfied. 3.if not, increase r and repeat.

si Ri Ci Exponential Increase Cost requirement: If the cost requirement is not satisfied, we make the ball bigger. Note that the right hand side increases in this process, and so the left hand side also increases faster, and so on. In fact, the right hand side grows exponentially with the radius.

Logarithmic Factor Let, the optimal value of the LP. We only need to grow k regions, where k is the number of source-sink pairs. Set wt(S(0)) = F/k. In other words, we assign some additional weights to each source, but the total additional weight is at most F. Maximum weight a ball can get is F + F/k, from all the edges and the source. Set f(n) = 2ln(k+1).

Logarithmic Factor To summarize: By using the technique of region growing, we can find a cut (a ball with radius at most ½) that satisfies: Cost requirement: Feasibility requirement:There is no source-sink pair in each R(i). The cost requirement implies that it is an O(ln k)-approximation algorithm. The analysis is tight. The integrality gap of this LP is acutally Ω(ln k).

The Algorithm (Multicut approximation algorithm) Solve the linear program. 1.For each i, compute a s(i)-t(i) cut, say C(i). 2.Remove C(i) and its component R(i) (its region) from the graph Output the union of C(i). (Region growing algorithm) 1.Assign a weight F/k to s(i), and set S={s(i)}. 2.Add vertices to S in increasing order of their distances from s(i). 3.Stop at the first point when c(S), the total weight of the edges on the boundary, is at most 2ln(k+1)wt(S). 4.Set R(i):=S, and C(i) be the set of edges crossing R(i).

The Algorithm s1 s4 s2 s3 t3 t1 t2 t4 A region R1 R2 C1 C2

The Algorithm The idea of region growing can also be applied to other graph problems, most notably the feedback arc set problem, and also many applications. Important ideas: 1.Use linear program. 2.Compare the cost of the cut to the cost of the region. 3.Think of the variables as distances. 4.Growing the ball to find the region. s1 s4 s2 s3 t3 t1 t2 t4 A region R1 R2 C1 C2

Approximate Max-Flow Min-Cut Minimum multicutMaximum multicommodity flow max-flow <= min-cut <= O(log k) max flow