Graph partitioning problems
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

Graph Partitioning Problems PowerPoint PPT Presentation


  • 69 Views
  • Uploaded on
  • Presentation posted in: General

Graph Partitioning Problems. T2. s1. s2. T1. T3. T4. s3. R1. R2. s1. s4. s4. t1. t3. t2. C1. C2. A region. s3. s2. t4. Graph Partitioning Problems. General setting: to remove a minimum (weight) set of edges to cut the graph into pieces. Examples:

Download Presentation

Graph Partitioning Problems

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Graph partitioning problems

Graph Partitioning Problems

T2

s1

s2

T1

T3

T4

s3

R1

R2

s1

s4

s4

t1

t3

t2

C1

C2

A region

s3

s2

t4


Graph partitioning problems

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


Graph partitioning problems

Minimum s-t Cut

t

s

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

Mininium s-t cut = Max s-t flow


Graph partitioning problems

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

s2

s3

s4


Graph partitioning problems

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

t1

t3

t2

s3

s2

t4


Graph partitioning problems

Multicut vs 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.

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.

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.


Graph partitioning problems

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.


Graph partitioning problems

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

Minimize

V-S


Graph partitioning problems

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.


Graph partitioning problems

Relations

Minimum cut

Multiway cut

Minimum bisection

Multicut

Sparsest cut


Graph partitioning problems

Results

Minimum cut

  • Polynomial time solvable.

Multiway cut

  • a combintorial 2-approximation algorithm

  • an elegant LP-based 1.34-approximation

  • an O(log n)-approximation algorithm.

  • some “evidence” that no constant factor algorithm exists.

Multicut

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


Graph partitioning problems

Relations

Minimum cut

2-approx

Multiway cut

Minimum bisection

O(log n)-approx

Multicut

Sparsest cut

O(log n)-approx

Region Growing

O(log n)-approx


Graph partitioning problems

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

s2

This picture leads to

a natural algorithm!

s3

s4


Graph partitioning problems

Algorithm

Define an isolating cut for s(i) to be a set of edges whose

removal disconnects s(i) from the rest of the terminals.

  • (Multiway cut 2-approximation algorithm)

  • For each i, compute a minimum weight isolating cut for s(i), say C(i).

  • Output the union of C(i).

How to compute a minimum isolating cut?


Graph partitioning problems

Analysis

s1

s2

Why is it a 2-approximation?

Imagine this is an optimal solution.

s3

s4

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


Graph partitioning problems

Analysis

T2

s1

s2

Why is it a 2-approximation?

T1

Imagine this is an optimal solution.

T3

T4

s3

s4

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.


Graph partitioning problems

Bad Example

2

2

1.0001

1.0001

1.0001

1.0001

2

2

  • OPT = 4.0004

  • ALG = 8


Graph partitioning problems

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

t1

Can we use the idea in the

isolating cut algorithm?

t3

t2

s3

s2

t4


Graph partitioning problems

Bad Example

Algorithm: take the union of minimum si-ti cut.

t1

s1

1

1

s2

t2

1

1

1.0001

……..

1

……..

1

sk

tk

  • OPT = 1.0001

  • ALG = k


Graph partitioning problems

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.


Graph partitioning problems

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.

Now we only consider a tree!

s2

t1

t2

s1


Graph partitioning problems

Hardness

Is this problem hard?

Vertex cover.


Graph partitioning problems

Primal Dual Programs

Primal complementary slackness condition:

Dual complementary slackness condition:


Graph partitioning problems

Approximate Optimality Conditions

Primal complementary slackness condition:

Only pick saturated edges.

Dual complementary slackness condition:

two

At most one edge can be picked from a path carrying nonzero flow.

Relaxed dual complementary slackness condition:


Graph partitioning problems

Algorithmic Idea

We want to construct flow and cut so that:

Only pick saturated edges.

At most two edges can be picked from a path carrying nonzero flow.

How to choose the flow?

We should avoid sending flow along a long path…


Graph partitioning problems

Algorithm

Multicut in Tree (2-approximation algorithm)

Initially, f=0, D=0

Flow routing:

Find a pair (si,ti) with lowest lowest common ancestor,

Greedily send flow from si to ti.

Add all the saturated edges to D.

Let e1, e2,…, el be the ordered list of edges in D.

Reverse delete:

In reverse order, delete an edge e from D if D-e is still a multicut.

Output the flow and the cut.


Graph partitioning problems

Reverse Delete

At most two edges can be picked from a path carrying nonzero flow.

Lemma. After reverse delete, the above condition is satisfied.

v

i can send a flow, so

e is added after e*.

e’

u

there exists j where

e is the only edge.

e*

j is processed

earlier than i.

e

tj

sj

si

ti


  • Login