410 likes | 491 Views
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 )
E N D
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=(C1,C2,….,Cm)
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)
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
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
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)
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.
Motivation:k-C1P • Detecting k-C1P is NP-hard for k¸2. • Finds applications in - IP Routing table minimization - Computational Biology
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.
k-C1P and MCST • As-approximation for the MCST problem gives a 2s-approximation for the k-C1P problem.
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
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
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.
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.
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
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
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
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)
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.
Formulating the flow problem • Let the partial solution be forest F. Red Edges are in F
Formulating the flow problem • Let the partial solution be forest F.
Formulating the flow problem • Let the partial solution be forest F. • Shrink each component of F to form a multi-graph.
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.
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.
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.
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.
Flow Solution • Claim 1: LP optimum (zLP)≤ 2 OPT where OPT is the crossing of optimum tree • Proof : Construct feasible solution from OPT tree
Flow Solution • Claim 1: zLP ≤ 2 OPT where OPT is the crossing of optimum tree • Proof:
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.
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.
Flow Paths • Claim 2: Each flow path in the optimal solution is of length 2.
Flow Paths • Claim 2: Each flow path in the optimal solution is of length 2.
Rounding the LP For each component, pick each flow edge with the probability equal to the flow.
LP stages • Claim 3: There are at most logn stages. • Proof: In every stage, we halve the number of components.
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
Rounding : Analysis • Crossing of a cut C in one stage·∑iYfi • Expected Crossing of C in one stage ·∑iE(Yfi)
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
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
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’
Result Using union bound over m cuts,we get that whp Max crossing of any cut is O(logn¢OPT+logm)
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)?