on the crossing spanning tree
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 PresentationTRANSCRIPT
![Page 1: On the Crossing Spanning Tree](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/1.jpg)
On the Crossing Spanning Tree
Vineet Goyal
Joint work with
Vittorio Bilo, R. Ravi and Mohit Singh
![Page 2: On the Crossing Spanning Tree](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/2.jpg)
Problem
• Given G=(V,E) • A Family of cuts
=(C1,C2,….,Cm)
![Page 3: On the Crossing Spanning Tree](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/20.jpg)
Formulating the flow problem
• Let the partial solution be forest F.
Red Edges are in F
![Page 21: On the Crossing Spanning Tree](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/21.jpg)
Formulating the flow problem
• Let the partial solution be forest F.
![Page 22: On the Crossing Spanning Tree](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/28.jpg)
Flow Solution
• Claim 1: zLP ≤ 2 OPT
where OPT is the crossing of optimum tree• Proof:
![Page 29: On the Crossing Spanning Tree](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/31.jpg)
Flow Paths
• Claim 2: Each flow path in the optimal solution is of length 2.
![Page 32: On the Crossing Spanning Tree](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/32.jpg)
Flow Paths
• Claim 2: Each flow path in the optimal solution is of length 2.
![Page 33: On the Crossing Spanning Tree](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/33.jpg)
Rounding the LP
For each component, pick each flow edge
with the probability equal to the flow.
![Page 34: On the Crossing Spanning Tree](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022051218/5681585f550346895dc5bbd1/html5/thumbnails/41.jpg)
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)?