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

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

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: On the Crossing Spanning Tree Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

On the Crossing Spanning Tree

Vineet Goyal

Joint work with

Vittorio Bilo, R. Ravi and Mohit Singh

Page 2: 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

=(C1,C2,….,Cm)

Page 3: 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 =(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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

Formulating the flow problem

• Let the partial solution be forest F.

Red Edges are in F

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

Formulating the flow problem

• Let the partial solution be forest F.

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

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

Flow Solution

• Claim 1: zLP ≤ 2 OPT

where OPT is the crossing of optimum tree• Proof:

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

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

Flow Paths

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

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

Flow Paths

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

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

Rounding the LP

For each component, pick each flow edge

with the probability equal to the flow.

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

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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 Vineet Goyal Joint work with Vittorio Bilo, R. Ravi and Mohit Singh.

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