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

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

  • View
    217

  • Download
    1

Embed Size (px)

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