Given an undirected n-node graph and a set c of m cuts, the minimum crossing spanning tree is a spanning tree which minimizes the maximum crossing of any cut in c where the crossing of a cut is the number of edges in the intersection of this cut and the tree. This problem finds applications in fields as diverse as Computational Biology and IP Routing Table Minimization.
We show that a greedy algorithm gives an O(rlog n) approximation for the problem where any edge occurs in at most r cuts. We then demonstrate that the problem remains NP-hard even when G is complete. For the latter case, we design a randomized algorithm that gives a tree T with crossing O((log m+log n) sdot( OPT+ log n)) w.h.p., where OPT is the minimum crossing of any tree.
Our greedy analysis extends the traditional one used for set cover. The randomized algorithm rounds a LP relaxation of a corresponding subproblem in stages.