Upload
faolan
View
17
Download
0
Tags:
Embed Size (px)
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 Presentation
Citation preview
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)
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)
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
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
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.
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
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.
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
k-C1P and MCST
• A s-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+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
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
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 l phases.
– 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 have l=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εcj xe 1≤j≤m(Crossing of
cut)
∑ifie = xe eε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 log n 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εc xe
· 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)?