1 / 41

On the Crossing Spanning Tree

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 )

faolan
Download Presentation

On the Crossing Spanning Tree

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Problem • Given G=(V,E) • A Family of cuts C=(C1,C2,….,Cm)

  3. Problem • Given G=(V,E) • A Family of cuts C=(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)

  4. Problem • Given G=(V,E) • A Family of cuts C=(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

  5. Problem • Given G=(V,E) • A Family of cuts C=(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

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

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

  8. Motivation:k-C1P • Detecting k-C1P is NP-hard for k¸2. • Finds applications in - IP Routing table minimization - Computational Biology

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

  10. k-C1P and MCST • As-approximation for the MCST problem gives a 2s-approximation for the k-C1P problem.

  11. Previous Work • Minimum Crossing Spanning Tree (Greenberg and Istrail ‘95) • Give a solution of crossing O(r∙Opt+logm)using local search technique. • Running time: O(mlog r) m ! number of cuts. r ! an edge can occur in at most r cuts

  12. 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(logn∙OPT+logm). n=|V| and m= number of cuts

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

  14. Greedy Algorithm (contd.) • Claim : F has maximum crossing O(rlogn¢ OPT) at the end of greedy. • Suppose maximum crossing is l. Then, algorithm has lphases. • In each phase, crossing increases by one.

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

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

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

  18. 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 havel=O(rlogn¢ OPT)

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

  20. Formulating the flow problem • Let the partial solution be forest F. Red Edges are in F

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

  22. Formulating the flow problem • Let the partial solution be forest F. • Shrink each component of F to form a multi-graph.

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

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

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

  26. Flow problem • Find a concurrent flow with minimum crossing. min z s.t z ≥ ∑eεcjxe1≤j≤m(Crossing of cut) ∑ifie = xeeεE fi is unit flow from vi to si.

  27. Flow Solution • Claim 1: LP optimum (zLP)≤ 2 OPT where OPT is the crossing of optimum tree • Proof : Construct feasible solution from OPT tree

  28. Flow Solution • Claim 1: zLP ≤ 2 OPT where OPT is the crossing of optimum tree • Proof:

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

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

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

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

  33. Rounding the LP For each component, pick each flow edge with the probability equal to the flow.

  34. LP stages • Claim 3: There are at most logn stages. • Proof: In every stage, we halve the number of components.

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

  36. Rounding : Analysis • Crossing of a cut C in one stage·∑iYfi • Expected Crossing of C in one stage ·∑iE(Yfi)

  37. Rounding : Analysis • Crossing of a cut C in one stage·∑iYfi • Expected Crossing of C in one stage ·∑iE(Yfi) • ∑iE(Yfi)≤ ∑eεcxe · zLP ≤ 2OPT

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

  39. 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’

  40. Result Using union bound over m cuts,we get that whp Max crossing of any cut is O(logn¢OPT+logm)

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

More Related