41
On the Crossing Spanning Tree Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh

On the Crossing Spanning Tree

  • Upload
    faolan

  • View
    19

  • Download
    0

Embed Size (px)

DESCRIPTION

On the Crossing Spanning Tree. Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh. Problem. Given G=(V,E) A Family of cuts C =(C 1 ,C 2 ,….,C m ). Problem. Given G=(V,E) A Family of cuts C =(C 1 ,C 2 ,….,C m ) - PowerPoint PPT Presentation

Citation preview

Page 1: On the Crossing Spanning Tree

On the Crossing Spanning Tree

Vineet Goyal

Joint work with

Vittorio Bilo, R. Ravi and Mohit Singh

Page 2: On the Crossing Spanning Tree

Problem

• Given G=(V,E) • A Family of cuts

=(C1,C2,….,Cm)

Page 3: On the Crossing Spanning Tree

Problem

• Given G=(V,E)

• A Family of cuts =(C1,C2,….,Cm)

• Find a spanning tree T minimizing the maximum crossing of any cut

Crossing of a cut C is |C∩T|

(i.e. number of edges of T in C)

Page 4: On the Crossing Spanning Tree

Problem

• Given G=(V,E)

• A Family of cuts =(C1,C2,….,Cm)

• Find a spanning tree T minimizing the maximum crossing of any cut

Crossing of a cut C is |C∩T|

(i.e. number of edges of T in C)

Crossing of C1 and C3=3

Page 5: On the Crossing Spanning Tree

Problem

• Given G=(V,E)

• A Family of cuts =(C1,C2,….,Cm)

• Find a spanning tree T minimizing the maximum crossing of any cut

Crossing of a cut C is |C∩T|

(i.e. number of edges of T in C)

Maximum Crossing =2

Page 6: On the Crossing Spanning Tree

Motivation: MDST

• Generalization of the minimum degree spanning tree problem.

• Previous Work

(Furer and Raghavachari ’94) – Obtain O(Opt + log n) using local search

technique.– Also give an algorithm which returns a

spanning tree of degree at most (Opt + 1)

Page 7: On the Crossing Spanning Tree

Motivation:k-C1P

• k-Consecutive ones Property(k-C1P): Given a 0-1 matrix, does there exist a permutation of rows such that each column has at most k blocks of 1.

1 1 1 1 0

0 1 1 1 0

1 0 1 1 1

0 1 0 0 1

1 0 1 0 0

1 1 1 1 0

1 0 1 1 1

0 1 1 1 0

0 1 0 0 1

1 0 1 0 0

r1 r1

r2 r3

r3 r2

r4 r4

r5 r5

Page 8: On the Crossing Spanning Tree

Motivation:k-C1P

• Detecting k-C1P is NP-hard for k¸2.

• Finds applications in

- IP Routing table minimization

- Computational Biology

Page 9: On the Crossing Spanning Tree

k-C1P and MCST

• Introduce a vertex for each row in the matrix. Introduce a cut for each column : 1 on one side and 0 on other side.

• k-C1P is equivalent to finding the minimum crossing Hamiltonian cycle.

1 1 1 1 0

1 1 0 1 0

1 0 1 1 1

0 1 0 0 1

1 0 1 0 0

r1

r2

r3

r4

r5

Page 10: On the Crossing Spanning Tree

k-C1P and MCST

• A s-approximation for the MCST problem gives a 2s-approximation for the k-C1P problem.

Page 11: On the Crossing Spanning Tree

Previous Work

• Minimum Crossing Spanning Tree

(Greenberg and Istrail ‘95)– Give a solution of crossing O(r∙Opt+log m)

using local search technique.– Running time: O(mlog r)

m ! number of cuts.

r ! an edge can occur in at most r cuts

Page 12: On the Crossing Spanning Tree

Our Results• We show that the MCST problem is NP-hard

even for complete graphs.

• A Greedy Algorithm gives a tree of crossing O(rlogn∙OPT) where r is the maximum crossing

of any edge.

• A Randomized Algorithm based on rounding flows gives a tree of crossing at most O(log n∙OPT+log m).

n=|V| and m= number of cuts

Page 13: On the Crossing Spanning Tree

Greedy Algorithm

F=φ

while F is not a tree

1. Include the edge joining two components

of F which does not increase the maximum crossing.

2. If there is no such edge, then include any edge joining two components of F.

Page 14: On the Crossing Spanning Tree

Greedy Algorithm (contd.)

• Claim : F has maximum crossing O(rlogn¢ OPT) at the end of greedy.

– Suppose maximum crossing is l. Then, algorithm has l phases.

– In each phase, crossing increases by one.

Page 15: On the Crossing Spanning Tree

Greedy : Analysis

• Let ki = # of components at end of phase i

mi = # of cuts at maximum crossing

• At the end of phase i every edge between the ki components crosses one of the mi cuts (at maximum crossing)

OPT ¸ (ki -1)/mi

Page 16: On the Crossing Spanning Tree

Greedy : Analysis

• Number of edges added in ith phase = ki-1 – ki

• Crossing of at least mi cuts got increased.

• Every edge increases crossing of at most r cuts. Thus,

ki-1 – ki¸ mi/r

Page 17: On the Crossing Spanning Tree

Greedy : Analysis

• Number of edges added in ith phase = ki-1 – ki

• Crossing of at least mi cuts got increased.

• Every edge increases crossing of at most r cuts. Thus,

ki-1 – ki¸ mi/r

OPT ¸ (ki -1)/mi

Page 18: On the Crossing Spanning Tree

Greedy : Analysis

• Thus,

ki-1 – ki¸ mi/r

¸ (ki -1)/(r¢OPT)

ki-1 ¸ ki(1+ 1/(2r¢ OPT))

) n=k0 ¸ (1+ 1/(2r¢ OPT))l

Thus, we have l=O(rlogn¢ OPT)

Page 19: On the Crossing Spanning Tree

Flow based Algorithm

• Grow a forest in stages.

• In each stage :– Formulate a flow problem on the current forest.– Find an integral solution to the flow problem with

low crossing.– Using the flow paths, join every component to

some other component.

Page 20: On the Crossing Spanning Tree

Formulating the flow problem

• Let the partial solution be forest F.

Red Edges are in F

Page 21: On the Crossing Spanning Tree

Formulating the flow problem

• Let the partial solution be forest F.

Page 22: On the Crossing Spanning Tree

Formulating the flow problem

• Let the partial solution be forest F.

• Shrink each component of F to form a multi-graph.

Page 23: On the Crossing Spanning Tree

Formulating the flow problem

• Let the partial solution be forest F.

• Shrink each component of F to form a multi-graph.

• Direct the graph by introducing two copies for each edge.

Page 24: On the Crossing Spanning Tree

Formulating the flow problem

• Let the partial solution be forest F.

• Shrink each component of F to form a multi-graph.

• Direct the graph by introducing two copies for each edge.

• Introduce a sink sv for each vertex v and connect every other vertex to the sink.

Page 25: On the Crossing Spanning Tree

Formulating the flow problem• Let the partial solution be forest F.

• Shrink each component of F to form a multi-graph.

• Direct the graph by introducing two copies for each edge.

• Introduce a sink sv for each vertex v and connect every other vertex to the sink.

• Each vertex must send a unit flow to its sink.

Page 26: On the Crossing Spanning Tree

Flow problem

• Find a concurrent flow with minimum crossing.

min z

s.t z ≥ ∑eεcj xe 1≤j≤m(Crossing of

cut)

∑ifie = xe eεE

fi is unit flow from vi to si.

Page 27: On the Crossing Spanning Tree

Flow Solution

• Claim 1: LP optimum (zLP)≤ 2 OPT

where OPT is the crossing of optimum tree• Proof : Construct feasible solution from OPT tree

Page 28: On the Crossing Spanning Tree

Flow Solution

• Claim 1: zLP ≤ 2 OPT

where OPT is the crossing of optimum tree• Proof:

Page 29: On the Crossing Spanning Tree

Flow Solution• Claim 1: zLP ≤ 2 OPT where OPT is the crossing of optimum tree• Proof: Tree Pairing Lemma[AKR]• In any tree, there exists a pairing of nodes with

edge disjoint paths.

Page 30: On the Crossing Spanning Tree

Flow Solution• Claim 1: zLP ≤ 2 OPT where OPT is the crossing of optimum tree• Proof: Tree Pairing Lemma[AKR]• In any tree, there exists a pairing of nodes with

edge disjoint paths.

Page 31: On the Crossing Spanning Tree

Flow Paths

• Claim 2: Each flow path in the optimal solution is of length 2.

Page 32: On the Crossing Spanning Tree

Flow Paths

• Claim 2: Each flow path in the optimal solution is of length 2.

Page 33: On the Crossing Spanning Tree

Rounding the LP

For each component, pick each flow edge

with the probability equal to the flow.

Page 34: On the Crossing Spanning Tree

LP stages

• Claim 3: There are at most log n stages.

• Proof: In every stage, we halve the number of components.

Page 35: On the Crossing Spanning Tree

Rounding : Analysis

Let us fix a cut C

• Define a random a variable for each flow, indicating whether it crosses C.

Pr(Yfi=1)=Pr(flow fi is directed on some edge in C)

• The family of random variables {Yfi} are independent Bernoulli variables

Page 36: On the Crossing Spanning Tree

Rounding : Analysis

• Crossing of a cut C in one stage· ∑iYfi

• Expected Crossing of C in one stage · ∑iE(Yfi)

Page 37: On the Crossing Spanning Tree

Rounding : Analysis

• Crossing of a cut C in one stage· ∑iYfi

• Expected Crossing of C in one stage · ∑iE(Yfi)

• ∑iE(Yfi) ≤ ∑eεc xe

· zLP ≤ 2OPT

Page 38: On the Crossing Spanning Tree

Rounding : Analysis

• Crossing of a cut C in one stage· ∑iYfi

• Expected Crossing of C in one stage · ∑iE(Yfi)

• ∑iE(Yfi) ≤ ∑eεc xe

· zLP ≤ 2OPT

Expected Crossing of C in log n rounds ≤ 2log n·OPT

Page 39: On the Crossing Spanning Tree

Rounding : Analysis

• Crossing of a cut C after logn rounds is sum of independent bernoulli variables.

• Let XC = crossing of cut C after logn rounds

• Using Chernoff bounds, Pr( |XC-E[XC]| > c(logn¢OPT+logm) ) · 1/(mn)c’

Page 40: On the Crossing Spanning Tree

Result

Using union bound over m cuts,we get that whp

Max crossing of any cut is O(logn¢OPT+logm)

Page 41: On the Crossing Spanning Tree

Conclusion and Open Problems

• Greedy : O(rlogn¢OPT)

• Flow based Rounding : O(logn¢OPT+logm)

• Is there a combinatorial algorithm which get rids of the r factor?

• Is it possible to obtain O(OPT+log mn)?