Download presentation
Presentation is loading. Please wait.
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=(C 1,C 2,….,C m )
3
Problem Given G=(V,E) A Family of cuts C=(C 1,C 2,….,C m ) 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=(C 1,C 2,….,C m ) 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=(C 1,C 2,….,C m ) 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. 11110 01110 10111 01001 10100 11110 10111 01110 01001 10100 r 1 r 2 r 3 r 3 r 2 r 4 r 5
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. 11110 11010 10111 01001 10100 r1r1 r2r2 r3r3 r4r4 r5r5
10
k-C1P and MCST A s-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+log m) using local search technique. –Running time: O(m log 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(log n∙OPT+log m). 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 l phases. –In each phase, crossing increases by one.
15
Greedy : Analysis Let k i = # of components at end of phase i m i = # of cuts at maximum crossing At the end of phase i every edge between the k i components crosses one of the m i cuts (at maximum crossing) OPT ¸ (k i -1)/m i
16
Greedy : Analysis Number of edges added in i th phase = k i-1 – k i Crossing of at least m i cuts got increased. Every edge increases crossing of at most r cuts. Thus, k i-1 – k i ¸ m i /r
17
Greedy : Analysis Number of edges added in i th phase = k i-1 – k i Crossing of at least m i cuts got increased. Every edge increases crossing of at most r cuts. Thus, k i-1 – k i ¸ m i /r OPT ¸ (k i -1)/m i
18
Greedy : Analysis Thus, k i-1 – k i ¸ m i /r ¸ (k i -1)/(r¢OPT) k i-1 ¸ k i (1+ 1/(2r¢ OPT)) ) n=k 0 ¸ (1+ 1/(2r¢ OPT)) l Thus, we have l=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 s v 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 s v 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εc j x e 1≤j≤m(Crossing of cut) ∑ i f i e = x e eεE f i is unit flow from v i to s i.
27
Flow Solution Claim 1: LP optimum (z LP )≤ 2 OPT where OPT is the crossing of optimum tree Proof : Construct feasible solution from OPT tree
28
Flow Solution Claim 1: z LP ≤ 2 OPT where OPT is the crossing of optimum tree Proof:
29
Flow Solution Claim 1: z LP ≤ 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: z LP ≤ 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 log n 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(Y f i =1)=Pr(flow f i is directed on some edge in C) The family of random variables {Y f i } are independent Bernoulli variables
36
Rounding : Analysis Crossing of a cut C in one stage· ∑ i Y f i Expected Crossing of C in one stage · ∑ i E(Y f i )
37
Rounding : Analysis Crossing of a cut C in one stage· ∑ i Y f i Expected Crossing of C in one stage · ∑ i E(Y f i ) ∑ i E(Y f i ) ≤ ∑ eεc x e · z LP ≤ 2OPT
38
Rounding : Analysis Crossing of a cut C in one stage· ∑ i Y f i Expected Crossing of C in one stage · ∑ i E(Y f i ) ∑ i E(Y f i ) ≤ ∑ eεc x e · z LP ≤ 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 X C = crossing of cut C after logn rounds Using Chernoff bounds, Pr( |X C -E[X C ]| > 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)?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.