Parallelized approximation algorithms for minimum routing cost spanning trees

Ching-Lueh Chang Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan. Email: Email: d95007@csie.ntu.edu.tw   Yuh-Dauh Lyuu Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan. Email: lyuu@csie.ntu.edu.tw
Abstract

Let G=(V,E)𝐺𝑉𝐸G=(V,E) be an undirected graph with a nonnegative edge-weight function w.𝑀w. The routing cost of a spanning tree T𝑇T of G𝐺G is βˆ‘u,v∈VdT​(u,v),subscript𝑒𝑣𝑉subscript𝑑𝑇𝑒𝑣\sum_{u,v\in V}d_{T}(u,v), where dT​(u,v)subscript𝑑𝑇𝑒𝑣d_{T}(u,v) denotes the weight of the simple u𝑒u-v𝑣v path in T.𝑇T. The Minimum Routing Cost Spanning Tree (MRCT) problem WLB+ [00] asks for a spanning tree of G𝐺G with the minimum routing cost. In this paper, we parallelize several previously proposed approximation algorithms for the MRCT problem and some of its variants. Let Ο΅>0italic-Ο΅0\epsilon>0 be an arbitrary constant. When the edge-weight function w𝑀w is given in unary, we parallelize the (4/3+Ο΅)43italic-Ο΅(4/3+\epsilon)-approximation algorithm for the MRCT problem WCT00b by implementing it using an β„›β€‹π’©β€‹π’žβ„›π’©π’ž{\cal RNC} circuit. There are other variants of the MRCT problem. In the Sum-Requirement Optimal Communication Spanning Tree (SROCT) problem WCT00a, each vertex u𝑒u is associated with a requirement r​(u)β‰₯0.π‘Ÿπ‘’0r(u)\geq 0. The objective is to find a spanning tree T𝑇T of G𝐺G minimizing βˆ‘u,v∈V(r​(u)+r​(v))​dT​(u,v).subscriptπ‘’π‘£π‘‰π‘Ÿπ‘’π‘Ÿπ‘£subscript𝑑𝑇𝑒𝑣\sum_{u,v\in V}\left(r(u)+r(v)\right)\,d_{T}(u,v). When the edge-weight function w𝑀w and the vertex-requirement function rπ‘Ÿr are given in unary, we parallelize the 222-approximation algorithm for the SROCT problem WCT00a by realizing it using β„›β€‹π’©β€‹π’žβ„›π’©π’ž{\cal RNC} circuits, with a slight degradation in the approximation ratio from 222 to 2+o​(1).2π‘œ12+o(1). In the weighted 222-MRCT problem Wu [02], we have additional inputs s1,s2∈Vsubscript𝑠1subscript𝑠2𝑉s_{1},s_{2}\in V and Ξ»β‰₯1.πœ†1\lambda\geq 1. The objective is to find a spanning tree T𝑇T of G𝐺G minimizing βˆ‘v∈Vλ​dT​(s1,v)+dT​(s2,v).subscriptπ‘£π‘‰πœ†subscript𝑑𝑇subscript𝑠1𝑣subscript𝑑𝑇subscript𝑠2𝑣\sum_{v\in V}\lambda\,d_{T}(s_{1},v)+d_{T}(s_{2},v). When the edge-weight function w𝑀w is given in unary, we parallelize the 222-approximation algorithm Wu [02] into β„›β€‹π’©β€‹π’žβ„›π’©π’ž{\cal RNC} circuits, with a slight degradation in the approximation ratio from 222 to 2+o​(1).2π‘œ12+o(1). To the best of our knowledge, our results are the first parallelized approximation algorithms for the MRCT problem and its variants.

1 Introduction

Let G=(V,E)𝐺𝑉𝐸G=(V,E) be an undirected graph with a nonnegative edge-weight function w.𝑀w. The routing cost of a spanning tree T𝑇T of G𝐺G is βˆ‘u,v∈VdT​(u,v)subscript𝑒𝑣𝑉subscript𝑑𝑇𝑒𝑣\sum_{u,v\in V}d_{T}(u,v) where dT​(u,v)subscript𝑑𝑇𝑒𝑣d_{T}(u,v) is the weight of any shortest u𝑒u-v𝑣v path in T,𝑇T, or equivalently, the weight of the simple u𝑒u-v𝑣v path in T.𝑇T. The Minimum Routing Cost Spanning Tree (MRCT) problem WLB+ [00] asks for a spanning tree T𝑇T of G𝐺G with the minimum routing cost. It is also known as the Shortest Total Path Length Spanning Tree problem. The MRCT problem is first proposed by Hu Hu [74], who referred to the problem as the Optimum Distance Spanning Tree Problem. In Hu’s formulation of the more general Optimum Communication Spanning Tree (OCT) problem Hu [74], an additional value Ο„u,vβ‰₯0subscriptπœπ‘’π‘£0\tau_{u,v}\geq 0 is given for each pair (u,v)𝑒𝑣(u,v) of vertices. The communication cost Hu [74] of a spanning tree T𝑇T of G𝐺G is βˆ‘u,v∈VΟ„u,v​dT​(u,v).subscript𝑒𝑣𝑉subscriptπœπ‘’π‘£subscript𝑑𝑇𝑒𝑣\sum_{u,v\in V}\tau_{u,v}\,d_{T}(u,v). The OCT problem asks for a spanning tree of G𝐺G with the minimum communication cost. When G𝐺G is a complete graph and the edge-weight function w𝑀w obeys the triangle inequality, a randomized O​(log⁑|V|)𝑂𝑉O(\log{|V|})-approximation algorithm is known for the OCT problem Bar [98], CCGG [98], WLB+ [00], FRT [03]. The MRCT problem is the special case of the OCT problem when Ο„u,v=1subscriptπœπ‘’π‘£1\tau_{u,v}=1 for all u,v∈V.𝑒𝑣𝑉u,v\in V.

The MRCT problem has applications in network design Hu [74], JLK [78] as well as multiple sequences alignment in computational biology FD [87], Pev [92], Gus [93], BLP [94], WLB+ [00]. Unfortunately, it is shown to be 𝒩​𝒫𝒩𝒫{\cal NP}-hard JLK [78], and it is 𝒩​𝒫𝒩𝒫{\cal NP}-hard even when all edge weights are equal JLK [78], GJ [79] or when the edge-weight function obeys the triangle inequality WLB+ [00].

Exact and approximation algorithms for the MRCT problem have been extensively researched BFW [73], Hoa [73], DF [79], Won [80], WCT00b , WLB+ [00], FLS [02]. Boyce et al. BFW [73], Hoang Hoa [73] and Dionne and Florian DF [79] study branch-and-bound algorithms as well as heuristic approximation algorithms for the Optimal Network Design problem BFW [73], which includes the MRCT problem as a special case. Fischetti et al. FLS [02] give exact algorithms for the MRCT problem while avoiding exhaustive search. Wong Won [80] gives a polynomial-time 222-approximation algorithm for the MRCT problem. That is, he gives a polynomial-time algorithm that, given a graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w,𝑀w, outputs a spanning tree of G𝐺G whose routing cost is at most 222 times the minimum. Subsequent work by Wu et al. WCT00b shows a different polynomial-time 222-approximation algorithm as well as polynomial-time 15/8,3/21583215/8,3/2 and (4/3+Ο΅)43italic-Ο΅(4/3+\epsilon)-approximation algorithms for the MRCT problem, where Ο΅>0italic-Ο΅0\epsilon>0 is an arbitrary constant. Their results are later improved by Wu et al. WLB+ [00] to give a polynomial-time approximation scheme (PTAS) CLRS [01] for the MRCT problem. That is, a polynomial-time (1+Ο΅)1italic-Ο΅(1+\epsilon)-approximation algorithm is given for any constant Ο΅>0.italic-Ο΅0\epsilon>0.

There are other variants of the MRCT problem that also have applications in network design WLB+ [00], WCT00a , WCT00c , Wu [02]. In the Sum-Requirement Optimal Communication Spanning Tree (SROCT) problem WCT00a, each vertex u𝑒u is associated with a requirement r​(u)β‰₯0.π‘Ÿπ‘’0r(u)\geq 0. The objective is to find a spanning tree T𝑇T of G𝐺G minimizing βˆ‘u,v∈V(r​(u)+r​(v))​dT​(u,v).subscriptπ‘’π‘£π‘‰π‘Ÿπ‘’π‘Ÿπ‘£subscript𝑑𝑇𝑒𝑣\sum_{u,v\in V}(r(u)+r(v))\,d_{T}(u,v). The Product-Requirement Optimal Communication Spanning Tree (PROCT) WCT00a problem is to find a spanning tree T𝑇T of G𝐺G minimizing βˆ‘u,v∈Vr​(u)​r​(v)​dT​(u,v).subscriptπ‘’π‘£π‘‰π‘Ÿπ‘’π‘Ÿπ‘£subscript𝑑𝑇𝑒𝑣\sum_{u,v\in V}r(u)\,r(v)\,d_{T}(u,v). The SROCT and PROCT problems are clearly generalizations of the MRCT problem.

Wu et al. WCT00a give a 222-approximation algorithm for the SROCT problem. They also propose a 1.5771.5771.577-approximation algorithm WCT00a for the PROCT problem. The result is improved by Wu et al. WCT00c to yield a polynomial-time approximation scheme (PTAS) for the PROCT problem.

Another variant of the MRCT problem is the 222-MRCT problem Wu [02]. In this problem, except for G=(V,E)𝐺𝑉𝐸G=(V,E) and w:E→ℝ0+,:𝑀→𝐸superscriptsubscriptℝ0w:E\to\mathbb{R}_{0}^{+}, we are given two source vertices s1,s2∈V.subscript𝑠1subscript𝑠2𝑉s_{1},s_{2}\in V. The objective is to find a spanning tree T𝑇T of G𝐺G minimizing βˆ‘v∈VdT​(s1,v)+dT​(s2,v).subscript𝑣𝑉subscript𝑑𝑇subscript𝑠1𝑣subscript𝑑𝑇subscript𝑠2𝑣\sum_{v\in V}d_{T}(s_{1},v)+d_{T}(s_{2},v). This problem is 𝒩​𝒫𝒩𝒫{\cal NP}-hard even when w𝑀w obeys the triangle inequality Wu [02]. Wu Wu [02] shows a 222-approximation algorithm as well as a PTAS for this problem. A variant of the 222-MRCT problem is the weighted 222-MRCT problem Wu [02] where an additional Ξ»β‰₯1πœ†1\lambda\geq 1 is given as input. The objective is to find a spanning tree T𝑇T of G𝐺G minimizing βˆ‘v∈Vλ​dT​(s1,v)+dT​(s2,v).subscriptπ‘£π‘‰πœ†subscript𝑑𝑇subscript𝑠1𝑣subscript𝑑𝑇subscript𝑠2𝑣\sum_{v\in V}\lambda\,d_{T}(s_{1},v)+d_{T}(s_{2},v). Wu Wu [02] proposes a 222-approximation algorithm for the weighted 222-MRCT problem. When the edge-weight function w𝑀w obeys the triangle inequality, there is a PTAS for the weighted 222-MRCT problem Wu [02].

In this paper, however, we will focus on parallelizing the approximation algorithms for the above problems. We first describe our results concerning the MRCT problem. For an arbitrary Ο΅>0italic-Ο΅0\epsilon>0 and when the edge-weight function w𝑀w is given in unary, we show that the (4/3+Ο΅)43italic-Ο΅(4/3+\epsilon)-approximation algorithm proposed by Wu et al. WCT00b can be implemented by an β„›β€‹π’©β€‹π’žβ„›π’©π’ž{\cal RNC} circuit. That is, the approximation algorithm can be performed by a uniform polynomial-size circuit Pap [94] with random gates and poly-logarithmic depth. Indeed, with a small probability our parallelized algorithm may fail to find a (4/3+Ο΅)43italic-Ο΅(4/3+\epsilon)-approximate solution, in which case it outputs β€œfail.” Thus, our algorithm does not fail (to find a (4/3+Ο΅)43italic-Ο΅(4/3+\epsilon)-approximate solution) without ever knowing that it fails, which is a desirable property for randomized algorithms with a small probability of failure.

We now turn to describe our results concerning the SROCT problem. When the edge-weight and the vertex-requirement functions are given in unary, we parallelize the 222-approximation algorithm WCT00a by realizing it using β„›β€‹π’©β€‹π’žβ„›π’©π’ž{\cal RNC} circuits, with a slight degradation in the approximation ratio (from the currently best 222 to our 2+o​(1)2π‘œ12+o(1)). Still, with a small probability our algorithm may fail to output a (2+o​(1))2π‘œ1(2+o(1))-approximate solution, in which case it knows the failure and outputs β€œfail.”

Finally, for the weighted 222-MRCT problem with the edge-weight function given in unary, we parallelize the 222-approximation algorithm Wu [02] into β„›β€‹π’©β€‹π’žβ„›π’©π’ž{\cal RNC} circuits, with a slight degradation in the approximation ratio (from the currently best 222 to our 2+o​(1)2π‘œ12+o(1)). Again, there is a small probability that our algorithm fails to find a (2+o​(1))2π‘œ1(2+o(1))-approximate solution, in which case it outputs β€œfail.”

To the best of our knowledge, our results are the first efforts towards parallelized approximation algorithms for the MRCT problem and its variants. Our results open up new opportunities to compute approximate solutions to the above problems in parallel poly-logarithmic time. In the applications of the MRCT problem to network design Hu [74], JLK [78] as well as the applications of the SROCT and PROCT problems to network design WCT00a , WCT00c, the network is often modeled as a graph with a nonnegative edge-weight function representing the distances between pairs of nodes. Although approximate solutions to the aforementioned problems (MRCT, SROCT, PROCT, weighted 222-MRCT) are attainable in polynomial time, in any real networking environment, however, the cost of traffic between any pair of nodes may vary over time. Thus, it is highly desirable to be able to compute approximate solutions to these problems as fast as possible, so as to reduce the risk that the traffic costs change during the computation. Our results imply that approximate solutions to the MRCT, SROCT and weighted 222-MRCT problems can indeed by computed in parallel poly-logarithmic time on multiprocessors.

For other applications of the MRCT problem where the data does not change quickly over time, for example multiple sequences alignment in computational biology FD [87], Pev [92], Gus [93], BLP [94], WLB+ [00], being able to compute approximate solutions to the MRCT problem in parallel sublinear time is still beneficial. Indeed, Fischer Fis [01] argues that in many practical applications today, the input size is so large that even performing linear-time computations is too time-consuming. Certainly, multiple sequences alignment in computational biology constitutes a good example where the input size is usually too large. It is therefore a desirable property that our algorithms operate in parallel sublinear time, and in fact poly-logarithmic time.

The main idea underlying our proofs is that many of the previously proposed approximation algorithms for the MRCT, SROCT and weighted 222-MRCT problems rely heavily on finding shortest paths between pairs of vertices in a graph. This motivates applying the well-known result that π’©β€‹β„’βŠ†π’©β€‹π’žπ’©β„’π’©π’ž{\cal NL}\subseteq{\cal NC} to parallelize these algorithms since we can guess a path (possibly the shortest one) between two vertices of a graph in nondeterministic logarithmic space. There is the complication that, in our proofs, we will often need to generate the same shortest path between two vertices u,v,𝑒𝑣u,v, whenever a shortest u𝑒u-v𝑣v path is needed. For this purpose, we use the isolation technique Wig [94], GW [96], RA [00] to slightly modify the edge-weight function of the input graph, so that there is exactly one shortest path between each pair of vertices with high probability. We then apply the double-counting technique RA [00] to decide whether the input graph (with the modified edge-weight function) exhibits a unique shortest path between each pair u,v𝑒𝑣u,v of vertices. If so, we are able use the double counting technique to generate the unique shortest u𝑒u-v𝑣v path whenever it is needed. The whole procedure runs in unambiguous logarithmic space and our results follow by π’°β€‹β„’βŠ†π’©β€‹β„’βŠ†π’©β€‹π’ž.π’°β„’π’©β„’π’©π’ž{\cal UL}\subseteq{\cal NL}\subseteq{\cal NC}. The approximation ratio would be slightly degraded. The degradation comes from randomly modifying the edge-weight function when we apply the isolation technique.

Our paper is organized as follows. Section 2 provides the basic definitions. Section 3 presents the parallelized (4/3+Ο΅)43italic-Ο΅(4/3+\epsilon)-approximation algorithm for the MRCT problem. Section 4–5 describe our parallelized approximation algorithms for the SROCT and the weighted 222-MRCT problems, respectively. Section 6 concludes the paper. Proofs are given in the appendix for references.

2 Notations and basic facts

Throughout this paper, graphs are simple undirected graphs Wes [01]. That is, we disallow parallel edges and self-loops. There will always be a nonnegative edge-weight function mapping each edge to a nonnegative real number. For a graph G,𝐺G, V​(G)𝑉𝐺V(G) is its vertex set and E​(G)𝐸𝐺E(G) is its edge set. Let R𝑅R be a subgraph of G.𝐺G. A path P𝑃P connects a vertex v𝑣v to R𝑅R (or V​(R)𝑉𝑅V(R)) if one endpoint of P𝑃P is v𝑣v and the other is in V​(R).𝑉𝑅V(R). An edge connecting two vertices u𝑒u and v𝑣v is denoted u​v.𝑒𝑣uv. A path connecting two vertices u𝑒u and v𝑣v is said to be a u𝑒u-v𝑣v path. A path (v0,…,vk)subscript𝑣0…subscriptπ‘£π‘˜(v_{0},\ldots,v_{k}) is one which traverses v0,…,vk,subscript𝑣0…subscriptπ‘£π‘˜v_{0},\ldots,v_{k}, in that order. A simple path is a path that traverses each vertex at most once Wes [01]. A graph G𝐺G contains another graph Gβ€²superscript𝐺′G^{\prime} if Gβ€²superscript𝐺′G^{\prime} is a subgraph of G.𝐺G. The set of nonnegative real numbers is denoted ℝ0+.superscriptsubscriptℝ0\mathbb{R}_{0}^{+}.

Definition 1.

Let G=(V,E)𝐺𝑉𝐸G=(V,E) be an undirected graph and w:E→ℝ0+:𝑀→𝐸subscriptsuperscriptℝ0w:E\to\mathbb{R}^{+}_{0} be a nonnegative edge-weight function. The lexicographical ordering on V𝑉V is that of the encodings of the vertices in V,𝑉V, assuming any reasonable encoding of a graph. Let u,v∈V𝑒𝑣𝑉u,v\in V and R𝑅R be a subgraph of G.𝐺G. The sum of edge weights of R𝑅R is denoted w​(R).𝑀𝑅w(R). When R𝑅R is a path, w​(R)𝑀𝑅w(R) is called the weight or length of R.𝑅R. For x,y∈V,π‘₯𝑦𝑉x,y\in V, we use dG​(x,y)subscript𝑑𝐺π‘₯𝑦d_{G}(x,y) to denote the weight of any shortest xπ‘₯x-y𝑦y path. We use dG​(x,R)subscript𝑑𝐺π‘₯𝑅d_{G}(x,R) (or dG​(x,V​(R))subscript𝑑𝐺π‘₯𝑉𝑅d_{G}(x,V(R))) for minz∈V​(R)⁑dG​(x,z).subscript𝑧𝑉𝑅subscript𝑑𝐺π‘₯𝑧\min_{z\in V(R)}d_{G}(x,z). The lexicographically first vertex xβ€²βˆˆV​(R)superscriptπ‘₯′𝑉𝑅x^{\prime}\in V(R) satisfying dG​(x,xβ€²)=dG​(x,R)subscript𝑑𝐺π‘₯superscriptπ‘₯β€²subscript𝑑𝐺π‘₯𝑅d_{G}(x,x^{\prime})=d_{G}(x,R) is denoted closest​(x,R)closestπ‘₯𝑅\text{closest}(x,R) (or closest​(x,V​(R))closestπ‘₯𝑉𝑅\text{closest}(x,V(R))). The set of all shortest paths connecting u𝑒u and v𝑣v is denoted SPG​(u,v).subscriptSP𝐺𝑒𝑣\text{SP}_{G}(u,v). SPG​(u,R)subscriptSP𝐺𝑒𝑅\text{SP}_{G}(u,R) (or SPG​(u,V​(R))subscriptSP𝐺𝑒𝑉𝑅\text{SP}_{G}(u,V(R))) is the set of shortest paths connecting u𝑒u and R.𝑅R. That is, SPG​(u,R)subscriptSP𝐺𝑒𝑅\text{SP}_{G}(u,R) is the set of paths that connect u𝑒u and R𝑅R and have weight equal to dG​(u,R).subscript𝑑𝐺𝑒𝑅d_{G}(u,R). For kβˆˆβ„•,π‘˜β„•k\in\mathbb{N}, Sk,usubscriptπ‘†π‘˜π‘’S_{k,u} denotes the set of vertices reachable from u𝑒u with at most kπ‘˜k edges. SPu,v(k)subscriptsuperscriptSPπ‘˜π‘’π‘£\text{SP}^{(k)}_{u,v} denotes the set of all shortest paths among those u𝑒u-v𝑣v paths with at most kπ‘˜k edges. That is, SPu,v(k)subscriptsuperscriptSPπ‘˜π‘’π‘£\text{SP}^{(k)}_{u,v} is the set of u𝑒u-v𝑣v paths with at most kπ‘˜k edges whose weight is not larger than any other path with at most kπ‘˜k edges. The union of two graphs G1=(V1,E1)subscript𝐺1subscript𝑉1subscript𝐸1G_{1}=(V_{1},E_{1}) and G2=(V2,E2)subscript𝐺2subscript𝑉2subscript𝐸2G_{2}=(V_{2},E_{2}) is the graph (V1βˆͺV2,E1βˆͺE2).subscript𝑉1subscript𝑉2subscript𝐸1subscript𝐸2(V_{1}\cup V_{2},E_{1}\cup E_{2}). The graph G𝐺G is strongly min-unique with respect to w𝑀w if for all kβˆˆβ„•π‘˜β„•k\in\mathbb{N} and u,v∈V,𝑒𝑣𝑉u,v\in V, we have |SPu,v(k)|≀1.subscriptsuperscriptSPπ‘˜π‘’π‘£1\left|\text{SP}^{(k)}_{u,v}\right|\leq 1. When w𝑀w is clear from the context, we may simply say that G𝐺G is strongly min-unique without referring to w.𝑀w.

In Definition 1, it is not hard to show that G=(V,E)𝐺𝑉𝐸G=(V,E) is strongly min-unique if |SPu,v(k)|≀1subscriptsuperscriptSPπ‘˜π‘’π‘£1\left|\text{SP}^{(k)}_{u,v}\right|\leq 1 for all k∈{0,…,|V|βˆ’1}π‘˜0…𝑉1k\in\{0,\ldots,|V|-1\} and u,v∈V,𝑒𝑣𝑉u,v\in V, provided |V|β‰₯3.𝑉3|V|\geq 3.

The MRCT of a graph, standing for its Minimum Routing Cost spanning Tree, is defined below.

Definition 2.

(WC [04]) Given a connected graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w:E→ℝ0+,:𝑀→𝐸subscriptsuperscriptℝ0w:E\to\mathbb{R}^{+}_{0}, the routing cost cw​(T)subscript𝑐𝑀𝑇c_{w}(T) of a spanning tree T𝑇T of G𝐺G is βˆ‘u,v∈VdT​(u,v).subscript𝑒𝑣𝑉subscript𝑑𝑇𝑒𝑣\sum_{u,v\in V}d_{T}(u,v). A spanning tree of G𝐺G with the minimum routing cost is an MRCT of G,𝐺G, which is denoted by MRCT​(G)MRCT𝐺\text{MRCT}(G) for convenience.

The MRCT problem asks for MRCT​(G)MRCT𝐺\text{MRCT}(G) on input G,w.𝐺𝑀G,w. The following fact shows that the routing cost of a tree can be computed efficiently.

Fact 3.

(WC [04]) Let G𝐺G be a graph with a nonnegative edge-weight function w:E​(T)→ℝ0+:𝑀→𝐸𝑇subscriptsuperscriptℝ0w:E(T)\to\mathbb{R}^{+}_{0} and T𝑇T be a spanning tree of G.𝐺G. For each edge e∈E​(T),𝑒𝐸𝑇e\in E(T), let Te,1subscript𝑇𝑒1T_{e,1} and Te,2subscript𝑇𝑒2T_{e,2} be the two trees formed by removing e𝑒e from T.𝑇T. We have cw​(T)=βˆ‘e∈E​(T)2​|V​(Te,1)|​|V​(Te,2)|​w​(e)subscript𝑐𝑀𝑇subscript𝑒𝐸𝑇2𝑉subscript𝑇𝑒1𝑉subscript𝑇𝑒2𝑀𝑒c_{w}(T)=\sum_{e\in E(T)}2|V(T_{e,1})|\,|V(T_{e,2})|\,w(e) and cw​(T)≀|V​(T)|3/2β‹…maxe∈E​(T)⁑w​(e).subscript𝑐𝑀𝑇⋅superscript𝑉𝑇32subscript𝑒𝐸𝑇𝑀𝑒c_{w}(T)\leq|V(T)|^{3}/2\cdot\max_{e\in E(T)}w(e).

To ease the description, we introduce the following definition.

Definition 4.

(RA [00]) A nondeterministic Turing machine M𝑀M outputs a string s𝑠s unambiguously on input xπ‘₯x if it outputs s𝑠s on exactly one non-rejecting computation branch, and rejects xπ‘₯x on all other computation branches. The unambiguously output string s𝑠s is also denoted M​(x).𝑀π‘₯M(x).

Throughout this paper, when a nondeterministic Turing machine A𝐴A runs or simulates another nondeterministic machine B,𝐡B, it means that A𝐴A runs B𝐡B and make nondeterministic branches as B𝐡B does. It does not mean that A𝐴A enumerates all computation branches of B𝐡B and simulate them deterministically. For convenience, A𝐴A does not necessarily have to output B𝐡B’s output. Instead, it may extract portions of B𝐡B’s output for output.

We will need the notion of a general star to introduce the approximation algorithms for the MRCT problem.

Definition 5.

(WC [04]) Let G𝐺G be a connected graph with a nonnegative edge-weight function w:E→ℝ0+:𝑀→𝐸subscriptsuperscriptℝ0w:E\to\mathbb{R}^{+}_{0} and S𝑆S be a subtree of G.𝐺G. A spanning tree T𝑇T containing S𝑆S is a general star with core S𝑆S if each vertex u∈V𝑒𝑉u\in V satisfies dT​(u,S)=dG​(u,S).subscript𝑑𝑇𝑒𝑆subscript𝑑𝐺𝑒𝑆d_{T}(u,S)=d_{G}(u,S). When V​(S)={v}𝑉𝑆𝑣V(S)=\{v\} is a singleton, a general star with core S𝑆S is also called a shortest path tree rooted at v.𝑣v.

Given any subtree S𝑆S of G=(V,E),𝐺𝑉𝐸G=(V,E), a general star with core S𝑆S exists WCT00b. This follows by observing that for any shortest path P𝑃P connecting u∈V𝑒𝑉u\in V and S,𝑆S, the part of P𝑃P from any vertex x∈V​(P)π‘₯𝑉𝑃x\in V(P) to S𝑆S constitutes a shortest path connecting xπ‘₯x and S.𝑆S.

The notion of a metric graph is defined below.

Definition 6.

(WLB+ [00]) A complete graph G𝐺G with a non-negative edge-weight function w𝑀w is metric if w​(x​y)+w​(y​z)β‰₯w​(x​z)𝑀π‘₯𝑦𝑀𝑦𝑧𝑀π‘₯𝑧w(xy)+w(yz)\geq w(xz) for all x,y,z∈V​(G).π‘₯𝑦𝑧𝑉𝐺x,y,z\in V(G).

3 A parallelized (4/3+Ο΅)43italic-Ο΅(4/3+\epsilon)-approximation for MRCT

We begin with the following form of the famous isolation lemma. It is implicit in some previous works Wig [94], GW [96], RA [00].

Theorem 7.

(RA [00]) Let G=(V,E)𝐺𝑉𝐸G=(V,E) be a graph with a nonnegative edge-weight w:E→ℝ0+.:𝑀→𝐸subscriptsuperscriptℝ0w:E\to\mathbb{R}^{+}_{0}. Let wr:E→ℝ0+:subscriptπ‘€π‘Ÿβ†’πΈsubscriptsuperscriptℝ0w_{r}:E\to\mathbb{R}^{+}_{0} assign the weight of each e∈E𝑒𝐸e\in E independently and randomly from the uniform distribution over a set WβŠ†β„0+.π‘Šsubscriptsuperscriptℝ0W\subseteq\mathbb{R}^{+}_{0}. With probability at least 1βˆ’|V|5/(2​|W|),1superscript𝑉52π‘Š1-{|V|^{5}}/{(2|W|)}, the graph G𝐺G is strongly min-unique with respect to w+wr.𝑀subscriptπ‘€π‘Ÿw+w_{r}.

The following theorem is implicit in RA [00]. It uses the double counting technique RA [00] similar to the inductive counting technique used to prove the Immerman-SzelepcsΓ©nyi theorem Imm [88], Sze [88].

Theorem 8.

(RA [00]) There is a nondeterministic logarithmic-space Turing machine FIND-PATH that, on input a graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w:Eβ†’{0,…,poly​(|V|)}:𝑀→𝐸0…poly𝑉w:E\to\{0,\ldots,\text{poly}(|V|)\} and two vertices s,t∈V,𝑠𝑑𝑉s,t\in V, satisfies the following conditions.

  • 1.

    If G𝐺Gis not strongly min-unique, then FIND-PATH outputs β€œnot strongly min-unique” unambiguously.

  • 2.

    If G𝐺Gis strongly min-unique and has an s𝑠s-t𝑑tpath, then FIND-PATH outputs the unique path P∈SPG​(s,t)𝑃subscriptSP𝐺𝑠𝑑P\in\text{SP}_{G}(s,t)and its weight w​(P)𝑀𝑃w(P)unambiguously. The edges in P𝑃Pare output in the direction going from s𝑠sto t.𝑑t.

  • 3.

    If G𝐺Gis strongly min-unique and does not have an s𝑠s-t𝑑tpath, then FIND-PATH has no accepting computation branches.

The following theorem is due to Wu et al. WCT00b.

Theorem 9.

(WCT00b) Let rβˆˆβ„•π‘Ÿβ„•r\in\mathbb{N} be a constant and G=(V,E)𝐺𝑉𝐸G=(V,E) be a connected, strongly min-unique graph with a nonnegative edge-weight function w:E→ℝ0+.:𝑀→𝐸subscriptsuperscriptℝ0w:E\to\mathbb{R}^{+}_{0}. For 1≀k≀r+41π‘˜π‘Ÿ41\leq k\leq r+4 and S=(v1,…,vk)∈Vk,𝑆subscript𝑣1…subscriptπ‘£π‘˜superscriptπ‘‰π‘˜S=(v_{1},\ldots,v_{k})\in V^{k}, let R1,Ssubscript𝑅1𝑆R_{1,S} be the subgraph of G𝐺G containing only v1.subscript𝑣1v_{1}. For 2≀i≀k,2π‘–π‘˜2\leq i\leq k, let Ri,S=Riβˆ’1,SβˆͺPi,Ssubscript𝑅𝑖𝑆subscript𝑅𝑖1𝑆subscript𝑃𝑖𝑆R_{i,S}=R_{i-1,S}\cup P_{i,S} where Pi,S∈SPG(vi,closest(vi,Riβˆ’1,S)))P_{i,S}\in\text{SP}_{G}\left(v_{i},\text{closest}(v_{i},R_{i-1,S}))\right) is the unique shortest path connecting visubscript𝑣𝑖v_{i} and closest​(vi,Riβˆ’1,S).closestsubscript𝑣𝑖subscript𝑅𝑖1𝑆\text{closest}(v_{i},R_{i-1,S}). For some 1≀k≀r+41π‘˜π‘Ÿ41\leq k\leq r+4 and S∈Vk,𝑆superscriptπ‘‰π‘˜S\in V^{k}, every general star T𝑇T with core Rk,Ssubscriptπ‘…π‘˜π‘†R_{k,S} satisfies

cw​(T)≀(43+89​r+2)​cw​(MRCT​(G)).subscript𝑐𝑀𝑇4389π‘Ÿ2subscript𝑐𝑀MRCT𝐺c_{w}(T)\leq\left(\frac{4}{3}+\frac{8}{9r+2}\right)\,c_{w}(\text{MRCT}(G)).

That Ri,Ssubscript𝑅𝑖𝑆R_{i,S} in Theorem 9 is a subtree of G𝐺G for 2≀i≀k2π‘–π‘˜2\leq i\leq k is easily shown because w​(e)>0𝑀𝑒0w(e)>0 for each e∈E𝑒𝐸e\in E by the strong min-uniqueness of G.𝐺G. The core Rk,Ssubscriptπ‘…π‘˜π‘†R_{k,S} in Theorem 9 is unambiguously computable in logarithmic space on strongly min-unique connected graphs. To show this, we need the following lemma.

Lemma 10.

There is a nondeterministic logarithmic-space Turing machine ADD-PATH that, on input a strongly min-unique connected graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w:Eβ†’{0,…,poly​(|V|)},:𝑀→𝐸0…poly𝑉w:E\to\{0,\ldots,\text{poly}(|V|)\}, a subgraph R𝑅R of G𝐺G and a vertex v∈V,𝑣𝑉v\in V, outputs the unique path P∈SPG​(v,closest​(v,R))𝑃subscriptSP𝐺𝑣closest𝑣𝑅P\in\text{SP}_{G}\left(v,\text{closest}(v,R)\right) unambiguously.

With Lemma 10, we are able to compute the core Rk,Ssubscriptπ‘…π‘˜π‘†R_{k,S} in Theorem 9 unambiguously in logarithmic space on strongly min-unique connected graphs.

Lemma 11.

Let rβˆˆβ„•π‘Ÿβ„•r\in\mathbb{N} be a constant. There is a nondeterministic logarithmic-space Turing machine CORE that, on input a strongly min-unique connected graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w:Eβ†’{0,…,poly​(|V|)}:𝑀→𝐸0…poly𝑉w:E\to\{0,\ldots,\text{poly}(|V|)\} and S=(v1,…,vk)∈Vk𝑆subscript𝑣1…subscriptπ‘£π‘˜superscriptπ‘‰π‘˜S=(v_{1},\ldots,v_{k})\in V^{k} where 1≀k≀r+4,1π‘˜π‘Ÿ41\leq k\leq r+4, unambiguously outputs Rk,Ssubscriptπ‘…π‘˜π‘†R_{k,S} defined below. R1,Ssubscript𝑅1𝑆R_{1,S} is the subgraph of G𝐺G containing only v1.subscript𝑣1v_{1}. For 2≀i≀k,2π‘–π‘˜2\leq i\leq k, Ri,S=Riβˆ’1,SβˆͺPi,Ssubscript𝑅𝑖𝑆subscript𝑅𝑖1𝑆subscript𝑃𝑖𝑆R_{i,S}=R_{i-1,S}\cup P_{i,S} where

Pi,S∈SPG​(vi,closest​(vi,Riβˆ’1,S))subscript𝑃𝑖𝑆subscriptSP𝐺subscript𝑣𝑖closestsubscript𝑣𝑖subscript𝑅𝑖1𝑆P_{i,S}\in\text{SP}_{G}\left(v_{i},\text{closest}(v_{i},R_{i-1,S})\right)

is the unique shortest path connecting visubscript𝑣𝑖v_{i} and closest​(vi,Riβˆ’1,S).closestsubscript𝑣𝑖subscript𝑅𝑖1𝑆\text{closest}(v_{i},R_{i-1,S}).

With Theorem 9 and Lemma 11, it is not hard to show the following fact.

Fact 12.

Let rβˆˆβ„•π‘Ÿβ„•r\in\mathbb{N} be a constant and G=(V,E)𝐺𝑉𝐸G=(V,E) be a strongly min-unique, connected graph with a nonnegative edge-weight function w:Eβ†’{0,…,poly​(|V|)}.:𝑀→𝐸0…poly𝑉w:E\to\{0,\ldots,\text{poly}(|V|)\}. For a sequence S𝑆S of at most r+4π‘Ÿ4r+4 vertices in V,𝑉V, let CS=CORE​(G,w,S)subscript𝐢𝑆CORE𝐺𝑀𝑆C_{S}=\text{CORE}(G,w,S) and Pu∈SPG​(u,closest​(u,CS))subscript𝑃𝑒subscriptSP𝐺𝑒closest𝑒subscript𝐢𝑆P_{u}\in\text{SP}_{G}\left(u,\text{closest}(u,C_{S})\right) for u∈Vβˆ–V​(CS).𝑒𝑉𝑉subscript𝐢𝑆u\in V\setminus V(C_{S}). Then

TS=CSβˆͺ⋃u∈Vβˆ–V​(CS)Pusubscript𝑇𝑆subscript𝐢𝑆subscript𝑒𝑉𝑉subscript𝐢𝑆subscript𝑃𝑒T_{S}=C_{S}\cup\bigcup_{u\in V\setminus V(C_{S})}P_{u}

is a general star with core S,𝑆S, and

cw​(TS)<(43+89​r+12)β‹…cw​(MRCT​(G))subscript𝑐𝑀subscript𝑇𝑆⋅4389π‘Ÿ12subscript𝑐𝑀MRCT𝐺c_{w}(T_{S})<\left(\frac{4}{3}+\frac{8}{9r+12}\right)\cdot c_{w}(\text{MRCT}(G))

for some S.𝑆S.

The general star with a core in Fact 12 can be computed unambiguously in logarithmic space, as the next lemma shows.

Lemma 13.

Let rβˆˆβ„•π‘Ÿβ„•r\in\mathbb{N} be a constant. There is a nondeterministic logarithmic-space Turing machine STAR that, on input a strongly min-unique connected graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w:Eβ†’{0,…,poly​(|V|)}:𝑀→𝐸0…poly𝑉w:E\to\{0,\ldots,\text{poly}(|V|)\} and a sequence S𝑆S of at most r+4π‘Ÿ4r+4 vertices in V,𝑉V, outputs CS=CORE​(G,w,S)subscript𝐢𝑆CORE𝐺𝑀𝑆C_{S}=\text{CORE}(G,w,S) and each unique path in SPG​(u,closest​(u,CS))subscriptSP𝐺𝑒closest𝑒subscript𝐢𝑆\text{SP}_{G}\left(u,\text{closest}(u,C_{S})\right) for u∈Vβˆ–V​(CS)𝑒𝑉𝑉subscript𝐢𝑆u\in V\setminus V(C_{S}) unambiguously.

The following lemma allows unambiguous logarithmic-space computation of the routing cost of a tree.

Lemma 14.

There is a nondeterministic logarithmic-space Turing machine ROUT-PAIR that, on input a tree T𝑇T with a nonnegative edge-weight function w:E​(T)β†’{0,…,poly​(|V​(T)|)}:𝑀→𝐸𝑇0…poly𝑉𝑇w:E(T)\to\{0,\ldots,\text{poly}(|V(T)|)\} and s,t∈V​(T),𝑠𝑑𝑉𝑇s,t\in V(T), unambiguously outputs the unique simple path Pβˆ—superscript𝑃P^{*} connecting s𝑠s and t𝑑t in T𝑇T and w​(Pβˆ—).𝑀superscript𝑃w(P^{*}).

Combining Fact 12 and Lemmas 13–14 gives the following lemma.

Lemma 15.

Let rβˆˆβ„•π‘Ÿβ„•r\in\mathbb{N} be a constant. There exists a nondeterministic logarithmic-space Turing machine APPROX that, on input a strongly min-unique connected graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w:Eβ†’{0,…,poly​(|V|)},:𝑀→𝐸0…poly𝑉w:E\to\{0,\ldots,\text{poly}(|V|)\}, unambiguously outputs a spanning tree T𝑇T of G𝐺G with

cw​(T)<(43+89​r+12)β‹…cw​(MRCT​(G)).subscript𝑐𝑀𝑇⋅4389π‘Ÿ12subscript𝑐𝑀MRCT𝐺c_{w}(T)<\left(\frac{4}{3}+\frac{8}{9r+12}\right)\cdot c_{w}(\text{MRCT}(G)).

The following lemma will be useful.

Lemma 16.

Let Ξ±>0𝛼0\alpha>0 be a constant. Let G=(V,E)𝐺𝑉𝐸G=(V,E) be a graph with a nonnegative edge-weight function w:E→ℝ0+,:𝑀→𝐸subscriptsuperscriptℝ0w:E\to\mathbb{R}^{+}_{0}, and the minimum nonzero weight assigned by w,𝑀w, if it exists, is at least 1.11. Let T1subscript𝑇1T_{1} and T2subscript𝑇2T_{2} be spanning trees of G.𝐺G. Let wrsubscriptπ‘€π‘Ÿw_{r} assign to each edge e∈E𝑒𝐸e\in E a nonnegative weight w​(e)≀1/|V|4𝑀𝑒1superscript𝑉4w(e)\leq 1/{|V|^{4}} and wβ€²=w+wr.superscript𝑀′𝑀subscriptπ‘€π‘Ÿw^{\prime}=w+w_{r}. Then

cw′​(T1)≀α​cw′​(T2)subscript𝑐superscript𝑀′subscript𝑇1𝛼subscript𝑐superscript𝑀′subscript𝑇2\displaystyle c_{w^{\prime}}(T_{1})\leq\alpha\,c_{w^{\prime}}(T_{2})(1)

implies

cw​(T1)≀α​(1+12​|V|)​cw​(T2)subscript𝑐𝑀subscript𝑇1𝛼112𝑉subscript𝑐𝑀subscript𝑇2\displaystyle c_{w}(T_{1})\leq\alpha\,(1+\frac{1}{2|V|})\,c_{w}(T_{2})(2)

for sufficiently large |V|.𝑉|V|.

Combining Theorem 7 and Lemma 15–16 yields the following theorem.

Theorem 17.

Let Ο΅>0italic-Ο΅0\epsilon>0 be a constant. There is an β„›β€‹π’©β€‹π’ž2ℛ𝒩superscriptπ’ž2{\cal RNC}^{2} algorithm PARALLEL that, on input a weighted undirected graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w:Eβ†’{0,…,poly​(|V|)},:𝑀→𝐸0…poly𝑉w:E\to\{0,\ldots,\text{poly}(|V|)\}, satisfies the following.

  • 1.

    If G𝐺Gis disconnected, then PARALLEL​(G,w)PARALLEL𝐺𝑀\text{PARALLEL}(G,w)outputs β€œdisconnected.”

  • 2.

    If G𝐺Gis connected, then PARALLEL​(G,w)PARALLEL𝐺𝑀\text{PARALLEL}(G,w)outputs a spanning tree of G𝐺Gunambiguously or outputs β€œfail” unambiguously. The probability that PARALLEL​(G)PARALLEL𝐺\text{PARALLEL}(G)outputs a spanning tree of G𝐺Gunambiguously is at least 1βˆ’1/(2​|V|).112𝑉1-1/{(2|V|)}.If PARALLEL​(G)PARALLEL𝐺\text{PARALLEL}(G)outputs a spanning tree T𝑇Tof G𝐺Gunambiguously, then

    cw​(T)≀(43+Ο΅)β‹…cw​(MRCT​(G)).subscript𝑐𝑀𝑇⋅43italic-Ο΅subscript𝑐𝑀MRCT𝐺c_{w}(T)\leq\left(\frac{4}{3}+\epsilon\right)\cdot c_{w}(\text{MRCT}(G)).

4 The SROCT problem

We begin this section with the following definition.

Definition 18.

(WCT00a , Wu [02]) Let G=(V,E)𝐺𝑉𝐸G=(V,E) be a graph with a nonnegative edge-weight function w:E→ℝ0+:𝑀→𝐸superscriptsubscriptℝ0w:E\to\mathbb{R}_{0}^{+} and r:V→ℝ0+:π‘Ÿβ†’π‘‰superscriptsubscriptℝ0r:V\to\mathbb{R}_{0}^{+} be a requirement function on vertices. Let s1,s2∈Vsubscript𝑠1subscript𝑠2𝑉s_{1},s_{2}\in V be two vertices of G𝐺G and T𝑇T be a spanning tree of G.𝐺G. The sum-requirement communication (s.r.c.) cost of T𝑇T is

cw(s)​(T)=βˆ‘u,v∈V(r​(u)+r​(v))​dT​(u,v).subscriptsuperscript𝑐𝑠𝑀𝑇subscriptπ‘’π‘£π‘‰π‘Ÿπ‘’π‘Ÿπ‘£subscript𝑑𝑇𝑒𝑣c^{(s)}_{w}(T)=\sum_{u,v\in V}(r(u)+r(v))\,d_{T}(u,v).

The Sum-Requirement Optimal Communication Spanning Tree (SROCT) problem is to find a spanning tree T𝑇T of G𝐺G with the minimum value of cw(s)​(T)subscriptsuperscript𝑐𝑠𝑀𝑇c^{(s)}_{w}(T) over all spanning trees of G.𝐺G. We use SROCT​(G)SROCT𝐺\text{SROCT}(G) to denote an arbitrary spanning tree of G𝐺G with the minimum s.r.c. cost. The two-source routing cost of T𝑇T with sources s1,s2subscript𝑠1subscript𝑠2s_{1},s_{2} is

cw(2)​(T,s1,s2)=βˆ‘v∈V(dT​(s1,v)+dT​(s2,v)).subscriptsuperscript𝑐2𝑀𝑇subscript𝑠1subscript𝑠2subscript𝑣𝑉subscript𝑑𝑇subscript𝑠1𝑣subscript𝑑𝑇subscript𝑠2𝑣c^{(2)}_{w}(T,s_{1},s_{2})=\sum_{v\in V}\left(d_{T}(s_{1},v)+d_{T}(s_{2},v)\right).

The 222-MRCT problem is to find a spanning tree T𝑇T of G𝐺G with the minimum value of cw(2)​(T,s1,s2)subscriptsuperscript𝑐2𝑀𝑇subscript𝑠1subscript𝑠2c^{(2)}_{w}(T,s_{1},s_{2}) over all spanning trees of G𝐺G (in this problem s1subscript𝑠1s_{1} and s2subscript𝑠2s_{2} are part of the input). We use 2-MRCT​(G)2-MRCT𝐺\text{$2$-MRCT}(G) to denote an arbitrary spanning tree of G𝐺G with the minimum two-source routing cost when the sources s1,s2subscript𝑠1subscript𝑠2s_{1},s_{2} are clear from the context. Let Ξ»β‰₯1.πœ†1\lambda\geq 1. The weighted two-source routing cost of T𝑇T with sources s1,s2subscript𝑠1subscript𝑠2s_{1},s_{2} and weight Ξ»πœ†\lambda is

cw(2)​(T,s1,s2,Ξ»)subscriptsuperscript𝑐2𝑀𝑇subscript𝑠1subscript𝑠2πœ†\displaystyle c^{(2)}_{w}(T,s_{1},s_{2},\lambda)
=\displaystyle=βˆ‘v∈V(λ​dT​(s1,v)+dT​(s2,v)).subscriptπ‘£π‘‰πœ†subscript𝑑𝑇subscript𝑠1𝑣subscript𝑑𝑇subscript𝑠2𝑣\displaystyle\sum_{v\in V}\left(\lambda\,d_{T}(s_{1},v)+d_{T}(s_{2},v)\right).

The weighted 222-MRCT problem is to find a spanning tree T𝑇T of G𝐺G with the minimum value of cw(2)​(T,s1,s2,Ξ»)subscriptsuperscript𝑐2𝑀𝑇subscript𝑠1subscript𝑠2πœ†c^{(2)}_{w}(T,s_{1},s_{2},\lambda) over all spanning trees of G𝐺G (in this problem s1,s2subscript𝑠1subscript𝑠2s_{1},s_{2} and Ξ»πœ†\lambda are part of the input). We use W-2-MRCT​(G)W-2-MRCT𝐺\text{W-$2$-MRCT}(G) to denote an arbitrary spanning tree of G𝐺G with the minimum weighted two-source routing cost when Ξ»πœ†\lambda and the sources s1,s2subscript𝑠1subscript𝑠2s_{1},s_{2} are clear from the context.

The SROCT, 222-MRCT and weighted 222-MRCT problems are all 𝒩​𝒫𝒩𝒫{\cal NP}-hard, even on metric graphs WLB+ [00], WCT00a , WCT00c , Wu [02].

The following theorem gives a 222-approximation solution to the SROCT problem.

Theorem 19.

(WCT00a) Let G=(V,E)𝐺𝑉𝐸G=(V,E) be a connected graph with a nonnegative edge-weight function w𝑀w and a nonnegative vertex-requirement function r.π‘Ÿr. There exists a vertex x∈Vπ‘₯𝑉x\in V such that any shortest path tree T𝑇T rooted at xπ‘₯x satisfies

cw(s)​(T)≀2​cw(s)​(SROCT​(G)).subscriptsuperscript𝑐𝑠𝑀𝑇2subscriptsuperscript𝑐𝑠𝑀SROCT𝐺c^{(s)}_{w}(T)\leq 2c^{(s)}_{w}(\text{SROCT}(G)).

Theorems 7–8, 19 and Lemma 14 give the following parallelized 222-approximation solution to the SROCT problem.

Theorem 20.

There is an β„›β€‹π’©β€‹π’ž2ℛ𝒩superscriptπ’ž2{\cal RNC}^{2} algorithm PARALLEL-SROCT that, on input a connected graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w:Eβ†’{0,…,poly​(|V|)}:𝑀→𝐸0…poly𝑉w:E\to\{0,\ldots,\text{poly}(|V|)\} and a nonnegative vertex-requirement function r:Vβ†’{0,…,poly​(|V|)},:π‘Ÿβ†’π‘‰0…poly𝑉r:V\to\{0,\ldots,\text{poly}(|V|)\}, outputs a spanning T𝑇T of G𝐺G with

cw(s)​(T)≀(2+o​(1))​cw(s)​(SROCT​(G))subscriptsuperscript𝑐𝑠𝑀𝑇2π‘œ1subscriptsuperscript𝑐𝑠𝑀SROCT𝐺c^{(s)}_{w}(T)\leq(2+o(1))\,c^{(s)}_{w}(\text{SROCT}(G))

with high probability. If PARALLEL-SROCT does not output such a spanning tree, it outputs β€œfail.”

5 Weighted 222-MRCT problem

For the weighted 222-MRCT problem, we can assume without loss of generality that the two sources s1,s2subscript𝑠1subscript𝑠2s_{1},s_{2} are such that dG​(s1,s2)>0,subscript𝑑𝐺subscript𝑠1subscript𝑠20d_{G}(s_{1},s_{2})>0, where G𝐺G is the input graph. Otherwise, the problem reduces to finding a shortest path tree rooted at s1,subscript𝑠1s_{1}, which was implicitly done in the proof of Theorem 20. Wu Wu [02] has the following 222-approximation solution for the weighted 222-MRCT problem.

Theorem 21.

(Wu [02]) Let G=(V,E)𝐺𝑉𝐸G=(V,E) be a connected graph with a nonnegative edge-weight function w:E→ℝ0+,:𝑀→𝐸subscriptsuperscriptℝ0w:E\to\mathbb{R}^{+}_{0}, two sources s1,s2∈Vsubscript𝑠1subscript𝑠2𝑉s_{1},s_{2}\in V with dG​(s1,s2)>0subscript𝑑𝐺subscript𝑠1subscript𝑠20d_{G}(s_{1},s_{2})>0 and Ξ»β‰₯1.πœ†1\lambda\geq 1. Denote

D1​(v)=(Ξ»+1)​dG​(v,s1)+dG​(s1,s2)subscript𝐷1π‘£πœ†1subscript𝑑𝐺𝑣subscript𝑠1subscript𝑑𝐺subscript𝑠1subscript𝑠2D_{1}(v)=(\lambda+1)\,d_{G}(v,s_{1})+d_{G}(s_{1},s_{2})

and

D2​(v)=(Ξ»+1)​dG​(v,s2)+λ​dG​(s1,s2)subscript𝐷2π‘£πœ†1subscript𝑑𝐺𝑣subscript𝑠2πœ†subscript𝑑𝐺subscript𝑠1subscript𝑠2D_{2}(v)=(\lambda+1)\,d_{G}(v,s_{2})+\lambda\,d_{G}(s_{1},s_{2})

for v∈V.𝑣𝑉v\in V. Let Z1w={v∣D1​(v)≀D2​(v)}superscriptsubscript𝑍1𝑀conditional-set𝑣subscript𝐷1𝑣subscript𝐷2𝑣Z_{1}^{w}=\{v\mid D_{1}(v)\leq D_{2}(v)\} and Z2w=Vβˆ–Z1w.superscriptsubscript𝑍2𝑀𝑉superscriptsubscript𝑍1𝑀Z_{2}^{w}=V\setminus Z_{1}^{w}. Let Q∈SPG​(s1,s2)𝑄subscriptSP𝐺subscript𝑠1subscript𝑠2Q\in\text{SP}_{G}(s_{1},s_{2}) be arbitrary. Denote

Q=(q0=s1,…,qj,qj+1,…,s2)𝑄subscriptπ‘ž0subscript𝑠1…subscriptπ‘žπ‘—subscriptπ‘žπ‘—1…subscript𝑠2\displaystyle Q=\left(q_{0}=s_{1},\ldots,q_{j},q_{j+1},\ldots,s_{2}\right)

where qj+1subscriptπ‘žπ‘—1q_{j+1} is the first vertex on Q𝑄Q (in the direction from s1subscript𝑠1s_{1} to s2subscript𝑠2s_{2}) that is not in Z1wsuperscriptsubscript𝑍1𝑀Z_{1}^{w} (it is easy to see that s1∈Z1wsubscript𝑠1superscriptsubscript𝑍1𝑀s_{1}\in Z_{1}^{w}). For each v∈V,𝑣𝑉v\in V, let Pv,s1∈SPG​(v,s1)subscript𝑃𝑣subscript𝑠1subscriptSP𝐺𝑣subscript𝑠1P_{v,s_{1}}\in\text{SP}_{G}(v,s_{1}) and Pv,s2∈SPG​(v,s2)subscript𝑃𝑣subscript𝑠2subscriptSP𝐺𝑣subscript𝑠2P_{v,s_{2}}\in\text{SP}_{G}(v,s_{2}) be arbitrary. If T1=⋃v∈Z1wPv,s1subscript𝑇1subscript𝑣superscriptsubscript𝑍1𝑀subscript𝑃𝑣subscript𝑠1T_{1}=\bigcup_{v\in{Z_{1}^{w}}}P_{v,s_{1}} and T2=⋃v∈Z2wPv,s2subscript𝑇2subscript𝑣superscriptsubscript𝑍2𝑀subscript𝑃𝑣subscript𝑠2T_{2}=\bigcup_{v\in{Z_{2}^{w}}}P_{v,s_{2}} are trees, then T=T1βˆͺT2βˆͺqj​qj+1𝑇subscript𝑇1subscript𝑇2subscriptπ‘žπ‘—subscriptπ‘žπ‘—1T=T_{1}\cup T_{2}\cup q_{j}q_{j+1} is a spanning tree of G𝐺G and

cw(2)​(T)≀2​cw(2)​(W-2-MRCT​(G)).subscriptsuperscript𝑐2𝑀𝑇2subscriptsuperscript𝑐2𝑀W-2-MRCT𝐺c^{(2)}_{w}(T)\leq 2c^{(2)}_{w}(\text{W-$2$-MRCT}(G)).

Theorems 7–8 and 21 and Lemma 14 yield the following theorem.

Theorem 22.

There is an β„›β€‹π’©β€‹π’ž2ℛ𝒩superscriptπ’ž2{\cal RNC}^{2} algorithm WEIGHTED-222-MRCT that, on input a graph G=(V,E)𝐺𝑉𝐸G=(V,E) with a nonnegative edge-weight function w:Eβ†’{0,…,poly​(|V|)},:𝑀→𝐸0…poly𝑉w:E\to\{0,\ldots,\text{poly}(|V|)\}, s1,s2∈Vsubscript𝑠1subscript𝑠2𝑉s_{1},s_{2}\in V and Ξ»β‰₯1,πœ†1\lambda\geq 1, with high probability outputs a spanning tree T𝑇T with

cw(2)​(T)≀(2+o​(1))​cw(2)​(W-2-MRCT​(G)).subscriptsuperscript𝑐2𝑀𝑇2π‘œ1subscriptsuperscript𝑐2𝑀W-2-MRCT𝐺c^{(2)}_{w}(T)\leq(2+o(1))\,c^{(2)}_{w}(\text{W-$2$-MRCT}(G)).

If WEIGHTED-222-MRCT does not output such a spanning tree, it outputs β€œfail.”

We make the following concluding remark. All our algorithms are shown to be β„›β€‹π’©β€‹π’ž2ℛ𝒩superscriptπ’ž2{\cal RNC}^{2}-computable by showing that they run in unambiguous logarithmic space and succeed in giving an approximate solution when the random input specifies an edge-weight function wrsubscriptπ‘€π‘Ÿw_{r} such that G𝐺G is strongly min-unique with respect to w+wr.𝑀subscriptπ‘€π‘Ÿw+w_{r}. By a method similar to that in RA [00], we can also turn the random weight assignment into polynomially long advices. This is summarized below.

Corollary 23.

Let Ο΅>0italic-Ο΅0\epsilon>0 be a constant. There are 𝒰​ℒ/poly𝒰ℒpoly{\cal UL}/\text{poly} algorithms for (4/3+Ο΅)43italic-Ο΅(4/3+\epsilon)-approximating the MRCT problem, (2+o​(1))2π‘œ1(2+o(1))-approximating the SROCT problem and (2+o​(1))2π‘œ1(2+o(1))-approximating the weighted 222-MRCT problem, where the respective edge-weight and vertex-requirement functions are given in unary.

6 Conclusion

We have given parallelized approximation algorithms for the minimum routing cost spanning tree problem and some of its variants. Our results show that, by exhibiting multiple processors, we can compute approximate solutions to the considered problems in parallel poly-logarithmic time. We hope this will shed light on the many areas in which the considered problems are concerned, for example network design Hu [74], JLK [78] and multiple sequences alignment in computational biology FD [87], Pev [92], Gus [93], BLP [94], WLB+ [00].

Acknowledgments

The authors are grateful to Wen-Hui Chen for his helpful comments and suggestions.

Appendix

Proof of Theorem 7..

The theorem is clearly true for |V|≀2.𝑉2|V|\leq 2. If G𝐺G is not strongly min-unique with respect to w+wr𝑀subscriptπ‘€π‘Ÿw+w_{r} and |V|β‰₯3,𝑉3|V|\geq 3, we have seen that there exist 0≀k≀|V|βˆ’1,s,t∈Vformulae-sequence0π‘˜π‘‰1𝑠𝑑𝑉0\leq k\leq|V|-1,s,t\in V such that |SPs,t(k)|β‰₯2subscriptsuperscriptSPπ‘˜π‘ π‘‘2\left|\text{SP}^{(k)}_{s,t}\right|\geq 2 where the edge weights are given with respect to w+wr.𝑀subscriptπ‘€π‘Ÿw+w_{r}. This implies the existence of an edge e∈E𝑒𝐸e\in E such that at least one path in SPs,t(k)subscriptsuperscriptSPπ‘˜π‘ π‘‘\text{SP}^{(k)}_{s,t} contains e,𝑒e, and at least one does not. In this case we say that (k,s,t)π‘˜π‘ π‘‘(k,s,t) blames e.𝑒e. Thus, the probability that G𝐺G is not strongly min-unique is at most the sum over 0≀k≀|V|βˆ’1,0π‘˜π‘‰10\leq k\leq|V|-1, s,t∈V𝑠𝑑𝑉s,t\in V and e∈E𝑒𝐸e\in E of the probability that (k,s,t)π‘˜π‘ π‘‘(k,s,t) blames e.𝑒e.

For any k∈{0,…,|V|βˆ’1},s,t∈V,e∈Eformulae-sequenceπ‘˜0…𝑉1𝑠formulae-sequence𝑑𝑉𝑒𝐸k\in\{0,\ldots,|V|-1\},s,t\in V,e\in E and any partial weight assignment of wrsubscriptπ‘€π‘Ÿw_{r} to Eβˆ–{e},𝐸𝑒E\setminus\{e\}, there is at most one assignment of wrsubscriptπ‘€π‘Ÿw_{r} to e𝑒e to make (k,s,t)π‘˜π‘ π‘‘(k,s,t) blame e.𝑒e. This is because if (k,s,t)π‘˜π‘ π‘‘(k,s,t) blames e𝑒e when wr​(e)subscriptπ‘€π‘Ÿπ‘’w_{r}(e) is assigned a value wr,e,subscriptπ‘€π‘Ÿπ‘’w_{r,e}, then increasing or decreasing the value of wr​(e)subscriptπ‘€π‘Ÿπ‘’w_{r}(e) forces all shortest paths among those s𝑠s-t𝑑t paths with at most kπ‘˜k edges to exclude or include e,𝑒e, respectively, making e𝑒e no longer blamed by (k,s,t).π‘˜π‘ π‘‘(k,s,t). Therefore,

βˆ‘0≀k≀|V|βˆ’1βˆ‘s,t∈Vβˆ‘e∈EPr⁑[(k,s,t)​ blames β€‹e]subscript0π‘˜π‘‰1subscript𝑠𝑑𝑉subscript𝑒𝐸Prπ‘˜π‘ π‘‘ blames π‘’\displaystyle\sum_{0\leq k\leq|V|-1}\sum_{s,t\in V}\sum_{e\in E}\Pr\left[(k,s,t)\mbox{ blames }e\right]
≀\displaystyle\leqβˆ‘0≀k≀|V|βˆ’1βˆ‘s,t∈Vβˆ‘e∈E1|W|subscript0π‘˜π‘‰1subscript𝑠𝑑𝑉subscript𝑒𝐸1π‘Š\displaystyle\sum_{0\leq k\leq|V|-1}\sum_{s,t\in V}\sum_{e\in E}\frac{1}{|W|}
≀\displaystyle\leq|V|52​|W|,superscript𝑉52π‘Š\displaystyle\frac{|V|^{5}}{2|W|},

completing the proof. ∎

Proof of Theorem 8..

Before describing how FIND-PATH works, we describe a few procedures that are useful. For kβˆˆβ„•,π‘˜β„•k\in\mathbb{N}, let ck=|Sk,s|.subscriptπ‘π‘˜subscriptπ‘†π‘˜π‘ c_{k}=|S_{k,s}|. Let Ps,v(k)∈SPs,v(k)subscriptsuperscriptπ‘ƒπ‘˜π‘ π‘£subscriptsuperscriptSPπ‘˜π‘ π‘£P^{(k)}_{s,v}\in\text{SP}^{(k)}_{s,v} be arbitrary and Ξ£k=βˆ‘v∈Sk,sw​(Ps,v(k)).subscriptΞ£π‘˜subscript𝑣subscriptπ‘†π‘˜π‘ π‘€subscriptsuperscriptπ‘ƒπ‘˜π‘ π‘£\Sigma_{k}=\sum_{v\in S_{k,s}}w(P^{(k)}_{s,v}). Note that the definition of Ξ£ksubscriptΞ£π‘˜\Sigma_{k} does not depend on exactly which path in SPs,v(k)subscriptsuperscriptSPπ‘˜π‘ π‘£\text{SP}^{(k)}_{s,v} is chosen as Ps,v(k).subscriptsuperscriptπ‘ƒπ‘˜π‘ π‘£P^{(k)}_{s,v}. It is clear that c0=1subscript𝑐01c_{0}=1 and Ξ£0=0.subscriptΞ£00\Sigma_{0}=0.

We first introduce a nondeterministic logarithmic-space subroutine OUTPUT that outputs Sk,ssubscriptπ‘†π‘˜π‘ S_{k,s} unambiguously, given G,w,s,ck,Ξ£k𝐺𝑀𝑠subscriptπ‘π‘˜subscriptΞ£π‘˜G,w,s,c_{k},\Sigma_{k} and that |SPs,v(k)|=1subscriptsuperscriptSPπ‘˜π‘ π‘£1\left|\text{SP}^{(k)}_{s,v}\right|=1 for each v∈Sk,s.𝑣subscriptπ‘†π‘˜π‘ v\in S_{k,s}. OUTPUT just needs to nondeterministically guess each vertex xπ‘₯x to be in or out of Sk,s,subscriptπ‘†π‘˜π‘ S_{k,s}, and if the guess is x∈Sk,sπ‘₯subscriptπ‘†π‘˜π‘ x\in S_{k,s} then it outputs x.π‘₯x. It verifies each guess of x∈Sk,sπ‘₯subscriptπ‘†π‘˜π‘ x\in S_{k,s} by nondeterministically guessing an s𝑠s-xπ‘₯x path with at most kπ‘˜k edges and rejecting if it fails. Along the way OUTPUT counts the number ckβ€²superscriptsubscriptπ‘π‘˜β€²c_{k}^{\prime} of vertices verified to be in Sk,ssubscriptπ‘†π‘˜π‘ S_{k,s} and accumulates the weights of the guessed s𝑠s-xπ‘₯x paths (for xπ‘₯x verified to be in Sk,ssubscriptπ‘†π‘˜π‘ S_{k,s}) in a variable Ξ£kβ€².superscriptsubscriptΞ£π‘˜β€²\Sigma_{k}^{\prime}. It then rejects if ckβ€²β‰ cksuperscriptsubscriptπ‘π‘˜β€²subscriptπ‘π‘˜c_{k}^{\prime}\neq c_{k} or Ξ£kβ€²β‰ Ξ£k.superscriptsubscriptΞ£π‘˜β€²subscriptΞ£π‘˜\Sigma_{k}^{\prime}\neq\Sigma_{k}. Clearly, guessing any vertex out of Sk,ssubscriptπ‘†π‘˜π‘ S_{k,s} to be in Sk,ssubscriptπ‘†π‘˜π‘ S_{k,s} results in rejection. For a computation branch of OUTPUT not to reject, it must have ckβ€²superscriptsubscriptπ‘π‘˜β€²c_{k}^{\prime} reach ck,subscriptπ‘π‘˜c_{k}, which requires successfully guessing an s𝑠s-xπ‘₯x path with at most kπ‘˜k edges for each x∈Sk,s.π‘₯subscriptπ‘†π‘˜π‘ x\in S_{k,s}. But to have Ξ£kβ€²superscriptsubscriptΞ£π‘˜β€²\Sigma_{k}^{\prime} not exceed Ξ£k,subscriptΞ£π‘˜\Sigma_{k}, the guessed s𝑠s-xπ‘₯x path for each x∈Sk,sπ‘₯subscriptπ‘†π‘˜π‘ x\in S_{k,s} should be the unique one in SPs,x(k).subscriptsuperscriptSPπ‘˜π‘ π‘₯\text{SP}^{(k)}_{s,x}. So OUTPUT​(G,w,s,ck,Ξ£k)OUTPUT𝐺𝑀𝑠subscriptπ‘π‘˜subscriptΞ£π‘˜\text{OUTPUT}(G,w,s,c_{k},\Sigma_{k}) has a unique non-rejecting computation branch, on which it correctly guesses whether each vertex xπ‘₯x belongs to Sk,ssubscriptπ‘†π‘˜π‘ S_{k,s} and if so, correctly guesses the unique path in SPs,x(k).subscriptsuperscriptSPπ‘˜π‘ π‘₯\text{SP}^{(k)}_{s,x}.

We now describe a procedure INDUCTIVE that computes ck+1subscriptπ‘π‘˜1c_{k+1} and Ξ£k+1,subscriptΞ£π‘˜1\Sigma_{k+1}, and determines whether |SPs,x(k+1)|>1subscriptsuperscriptSPπ‘˜1𝑠π‘₯1\left|\text{SP}^{(k+1)}_{s,x}\right|>1 for some x∈Vπ‘₯𝑉x\in V unambiguously, given cksubscriptπ‘π‘˜c_{k} and Ξ£ksubscriptΞ£π‘˜\Sigma_{k} and that |SPs,v(k)|=1subscriptsuperscriptSPπ‘˜π‘ π‘£1\left|\text{SP}^{(k)}_{s,v}\right|=1 for each v∈Sk,s.𝑣subscriptπ‘†π‘˜π‘ v\in S_{k,s}. For each vertex x∈V,π‘₯𝑉x\in V, INDUCTIVE runs OUTPUT​(G,w,s,ck,Ξ£k)OUTPUT𝐺𝑀𝑠subscriptπ‘π‘˜subscriptΞ£π‘˜\text{OUTPUT}(G,w,s,c_{k},\Sigma_{k}) to determine whether x∈Sk,sπ‘₯subscriptπ‘†π‘˜π‘ x\in S_{k,s} unambiguously and if so, accumulates the weight wxsubscript𝑀π‘₯w_{x} of the unique path in SPs,x(k)subscriptsuperscriptSPπ‘˜π‘ π‘₯\text{SP}^{(k)}_{s,x} as it is guessed by OUTPUT. For each u𝑒u such that u​x𝑒π‘₯ux is an edge, INDUCTIVE also determines whether u∈Sk,s𝑒subscriptπ‘†π‘˜π‘ u\in S_{k,s} unambiguously and if so, accumulates the weight wusubscript𝑀𝑒w_{u} of the unique path in SPs,u(k)subscriptsuperscriptSPπ‘˜π‘ π‘’\text{SP}^{(k)}_{s,u} as it is guessed. INDUCTIVE then computes the weight of any shortest s𝑠s-xπ‘₯x path with at most k+1π‘˜1k+1 edges as

min⁑Q𝑄\min Q

where

Q={wx}βˆͺ{wu+w​(u​x)∣u∈Sk,s,u​x∈E}𝑄subscript𝑀π‘₯conditional-setsubscript𝑀𝑒𝑀𝑒π‘₯formulae-sequence𝑒subscriptπ‘†π‘˜π‘ π‘’π‘₯𝐸Q=\{w_{x}\}\cup\{w_{u}+w(ux)\mid u\in S_{k,s},ux\in E\}

if x∈Sk,sπ‘₯subscriptπ‘†π‘˜π‘ x\in S_{k,s} and

Q={wu+w​(u​x)∣u∈Sk,s,u​x∈E}𝑄conditional-setsubscript𝑀𝑒𝑀𝑒π‘₯formulae-sequence𝑒subscriptπ‘†π‘˜π‘ π‘’π‘₯𝐸Q=\{w_{u}+w(ux)\mid u\in S_{k,s},ux\in E\}

otherwise. If Q=βˆ…,𝑄Q=\emptyset, INDUCTIVE knows that xβˆ‰Sk+1,s.π‘₯subscriptπ‘†π‘˜1𝑠x\notin S_{k+1,s}. Otherwise x∈Sk+1,sπ‘₯subscriptπ‘†π‘˜1𝑠x\in S_{k+1,s} and the weight of any path in SPs,x(k+1)subscriptsuperscriptSPπ‘˜1𝑠π‘₯\text{SP}^{(k+1)}_{s,x} is known to be min⁑Q.𝑄\min Q. In case of a tie when computing min⁑Q,𝑄\min Q, INDUCTIVE knows that |SPs,x(k+1)|>1.subscriptsuperscriptSPπ‘˜1𝑠π‘₯1\left|\text{SP}^{(k+1)}_{s,x}\right|>1. Doing the above for all x∈Vπ‘₯𝑉x\in V allows INDUCTIVE to compute ck+1=|Sk+1,s|subscriptπ‘π‘˜1subscriptπ‘†π‘˜1𝑠c_{k+1}=|S_{k+1,s}| and Ξ£k+1subscriptΞ£π‘˜1\Sigma_{k+1} and determine whether |SPs,x(k+1)|>1subscriptsuperscriptSPπ‘˜1𝑠π‘₯1\left|\text{SP}^{(k+1)}_{s,x}\right|>1 for some x∈Vπ‘₯𝑉x\in V unambiguously. During the computation of min⁑Q,𝑄\min Q, INDUCTIVE does not store the set Q.𝑄Q. Instead, INDUCTIVE computes the elements of Q𝑄Q one by one and stores the smallest element in Q𝑄Q that has been computed so far, as well as a flag indicating whether min⁑Q𝑄\min Q is achieved by two elements at any time.

We are now ready to describe how FIND-PATH works. Assume |V|β‰₯3.𝑉3|V|\geq 3. FIND-PATH starts with c0,Ξ£0subscript𝑐0subscriptΞ£0c_{0},\Sigma_{0} and repeatedly simulates INDUCTIVE until it computes c|V|,Ξ£|V|subscript𝑐𝑉subscriptΣ𝑉c_{|V|},\Sigma_{|V|} or until it determines that |SPs,x(k)|>1subscriptsuperscriptSPπ‘˜π‘ π‘₯1\left|\text{SP}^{(k)}_{s,x}\right|>1 for some 0≀k≀|V|βˆ’10π‘˜π‘‰10\leq k\leq|V|-1 and x∈V.π‘₯𝑉x\in V. Doing the above with each other vertex sβ€²βˆˆVsuperscript𝑠′𝑉s^{\prime}\in V replacing the role of s𝑠s guarantees that if G𝐺G is not strongly min-unique, then we must find |SPsβ€²,x(k)|>1subscriptsuperscriptSPπ‘˜superscript𝑠′π‘₯1\left|\text{SP}^{(k)}_{s^{\prime},x}\right|>1 for some 0≀k≀|V|βˆ’10π‘˜π‘‰10\leq k\leq|V|-1 and sβ€²,x∈V.superscript𝑠′π‘₯𝑉s^{\prime},x\in V. Instead, if G𝐺G is strongly min-unique then FIND-PATH will compute all the way from c0,Ξ£0subscript𝑐0subscriptΞ£0c_{0},\Sigma_{0} to c|V|,Ξ£|V|.subscript𝑐𝑉subscriptΣ𝑉c_{|V|},\Sigma_{|V|}. It then runs OUTPUT​(G,w,s,c|V|βˆ’1,Ξ£|V|βˆ’1).OUTPUT𝐺𝑀𝑠subscript𝑐𝑉1subscriptΣ𝑉1\text{OUTPUT}(G,w,s,c_{|V|-1},\Sigma_{|V|-1}). As we have seen, OUTPUT​(G,w,s,c|V|βˆ’1,Ξ£|V|βˆ’1)OUTPUT𝐺𝑀𝑠subscript𝑐𝑉1subscriptΣ𝑉1\text{OUTPUT}(G,w,s,c_{|V|-1},\Sigma_{|V|-1}) has a unique non-rejecting computation branch, on which the unique shortest s𝑠s-t𝑑t path P∈SPs,t(|V|βˆ’1)𝑃subscriptsuperscriptSP𝑉1𝑠𝑑P\in\text{SP}^{(|V|-1)}_{s,t} is correctly guessed by OUTPUT. The weight w​(P)𝑀𝑃w(P) is accumulated along the way. The strong min-uniqueness of G𝐺G guarantees that P𝑃P is also the unique path in SPG​(s,t).subscriptSP𝐺𝑠𝑑\text{SP}_{G}(s,t). ∎

Proof of Lemma 10..

For each x∈V​(R),π‘₯𝑉𝑅x\in V(R), ADD-PATH runs FIND-PATH​(G,w,x,v)FIND-PATH𝐺𝑀π‘₯𝑣\text{FIND-PATH}(G,w,x,v) to unambiguously generate the unique shortest path Px,v∈SPG​(x,v)subscript𝑃π‘₯𝑣subscriptSP𝐺π‘₯𝑣P_{x,v}\in\text{SP}_{G}(x,v) and its weight w​(Px,v).𝑀subscript𝑃π‘₯𝑣w(P_{x,v}). In this way, ADD-PATH could compute minx∈V​(R)⁑w​(Px,v)subscriptπ‘₯𝑉𝑅𝑀subscript𝑃π‘₯𝑣\min_{x\in V(R)}w(P_{x,v}) as well as closest​(v,R).closest𝑣𝑅\text{closest}(v,R). Then ADD-PATH simulates FIND-PATH​(G,w,v,closest​(v,R))FIND-PATH𝐺𝑀𝑣closest𝑣𝑅\text{FIND-PATH}\left(G,w,v,\text{closest}(v,R)\right) to output the unique path P𝑃P in SPG​(v,closest​(v,R))subscriptSP𝐺𝑣closest𝑣𝑅\text{SP}_{G}\left(v,\text{closest}(v,R)\right) unambiguously. ∎

Proof of Lemma 11..

Clearly, CORE could output R1,Ssubscript𝑅1𝑆R_{1,S} unambiguously. Let 2≀j≀k.2π‘—π‘˜2\leq j\leq k. To output Rj,S=Rjβˆ’1,SβˆͺPj,Ssubscript𝑅𝑗𝑆subscript𝑅𝑗1𝑆subscript𝑃𝑗𝑆R_{j,S}=R_{j-1,S}\cup P_{j,S} unambiguously, CORE recursively outputs Rjβˆ’1,Ssubscript𝑅𝑗1𝑆R_{j-1,S} and then runs ADD-PATH​(G,w,Rjβˆ’1,S,vj)ADD-PATH𝐺𝑀subscript𝑅𝑗1𝑆subscript𝑣𝑗\text{ADD-PATH}(G,w,R_{j-1,S},v_{j}) to unambiguously output Pj,S.subscript𝑃𝑗𝑆P_{j,S}. There is an additional complication that CORE does not store Rjβˆ’1,Ssubscript𝑅𝑗1𝑆R_{j-1,S} before calling ADD-PATH. Instead, whenever ADD-PATH wants to read any bit encoding Rjβˆ’1,S,subscript𝑅𝑗1𝑆R_{j-1,S}, CORE recursively outputs Rjβˆ’1,Ssubscript𝑅𝑗1𝑆R_{j-1,S} unambiguously on the fly to support the required bit. Each level of recursion uses up logarithmic space and the depth of recursion is at most r+4,π‘Ÿ4r+4, a constant. The space requirement is therefore logarithmic.

∎

Proof of Lemma 13..

STAR begins by running CORE​(G,w,S)CORE𝐺𝑀𝑆\text{CORE}(G,w,S) to output CSsubscript𝐢𝑆C_{S} unambiguously. For any u∈V,𝑒𝑉u\in V, STAR runs CORE​(G,w,S)CORE𝐺𝑀𝑆\text{CORE}(G,w,S) to unambiguously determine whether u∈V​(CS).𝑒𝑉subscript𝐢𝑆u\in V(C_{S}). If uβˆ‰V​(CS),𝑒𝑉subscript𝐢𝑆u\notin V(C_{S}), STAR needs to output the unique path in SPG​(u,closest​(u,CS)).subscriptSP𝐺𝑒closest𝑒subscript𝐢𝑆\text{SP}_{G}\left(u,\text{closest}(u,C_{S})\right). For this purpose, it computes closest​(u,CS)closest𝑒subscript𝐢𝑆\text{closest}(u,C_{S}) as follows. For each v∈V,𝑣𝑉v\in V, STAR tests if v∈V​(CS),𝑣𝑉subscript𝐢𝑆v\in V(C_{S}), again by running CORE​(G,w,S).CORE𝐺𝑀𝑆\text{CORE}(G,w,S). If vβˆ‰V​(CS),𝑣𝑉subscript𝐢𝑆v\notin V(C_{S}), STAR goes on with the next v∈V.𝑣𝑉v\in V. Otherwise, STAR invokes FIND-PATH​(G,w,u,v)FIND-PATH𝐺𝑀𝑒𝑣\text{FIND-PATH}(G,w,u,v) to generate the unique path Pu,v∈SPG​(u,v)subscript𝑃𝑒𝑣subscriptSP𝐺𝑒𝑣P_{u,v}\in\text{SP}_{G}(u,v) and its weight w​(Pu,v)𝑀subscript𝑃𝑒𝑣w(P_{u,v}) unambiguously. STAR records the v∈V​(CS)𝑣𝑉subscript𝐢𝑆v\in V(C_{S}) that has generated the smallest value of w​(Pu,v)𝑀subscript𝑃𝑒𝑣w(P_{u,v}) so far, favoring lexicographically smaller values of v𝑣v in case of a tie. In the end, the recorded v∈V𝑣𝑉v\in V must be closest​(u,CS)closest𝑒subscript𝐢𝑆\text{closest}(u,C_{S}) by the definition of closest​(u,CS).closest𝑒subscript𝐢𝑆\text{closest}(u,C_{S}). At this time STAR just invokes FIND-PATH​(G,w,u,closest​(u,CS))FIND-PATH𝐺𝑀𝑒closest𝑒subscript𝐢𝑆\text{FIND-PATH}\left(G,w,u,\text{closest}(u,C_{S})\right) to output the unique path in SPG​(u,closest​(u,CS))subscriptSP𝐺𝑒closest𝑒subscript𝐢𝑆\text{SP}_{G}\left(u,\text{closest}(u,C_{S})\right) unambiguously. Doing the above for all u∈V𝑒𝑉u\in V does the job. ∎

Proof of Lemma 14..

If s=t𝑠𝑑s=t the task is trivial. We assume otherwise. ROUT-PAIR nondeterministically guesses a path P𝑃P that does not enter a vertex immediately after it has left that vertex. If P𝑃P is an s𝑠s-t𝑑t path, then ROUT-PAIR accepts, otherwise it rejects. The simple s𝑠s-t𝑑t path in T𝑇T is the only s𝑠s-t𝑑t path that does not enter a vertex immediately after leaving it. Its weight w​(Pβˆ—)𝑀superscript𝑃w(P^{*}) can be accumulated as it is guessed. ∎

Proof of Lemma 15..

For each sequence S𝑆S of at most r+4π‘Ÿ4r+4 vertices in V,𝑉V, Lemma 13 enables us to unambiguously output CS=CORE​(G,w,S)subscript𝐢𝑆CORE𝐺𝑀𝑆C_{S}=\text{CORE}(G,w,S) and then each unique path Pusubscript𝑃𝑒P_{u} in SPG​(u,closest​(u,CS))subscriptSP𝐺𝑒closest𝑒subscript𝐢𝑆\text{SP}_{G}\left(u,\text{closest}(u,C_{S})\right) for u∈Vβˆ–V​(CS).𝑒𝑉𝑉subscript𝐢𝑆u\in V\setminus V(C_{S}). Furthermore, Fact 12 guarantees that

TS=CSβˆͺ⋃u∈Vβˆ–V​(CS)Pusubscript𝑇𝑆subscript𝐢𝑆subscript𝑒𝑉𝑉subscript𝐢𝑆subscript𝑃𝑒T_{S}=C_{S}\cup\bigcup_{u\in V\setminus V(C_{S})}P_{u}

is a spanning tree of G𝐺G and satisfies

cw​(TS)<(43+89​r+12)β‹…cw​(MRCT​(G))subscript𝑐𝑀subscript𝑇𝑆⋅4389π‘Ÿ12subscript𝑐𝑀MRCT𝐺c_{w}(T_{S})<\left(\frac{4}{3}+\frac{8}{9r+12}\right)\cdot c_{w}(\text{MRCT}(G))

for some S.𝑆S. Thus, we need only compute cw​(TS)subscript𝑐𝑀subscript𝑇𝑆c_{w}(T_{S}) unambiguously for each sequence S𝑆S of at most r+4π‘Ÿ4r+4 vertices, and output TSβˆ—subscript𝑇superscript𝑆T_{S^{*}} unambiguously for the sequence Sβˆ—superscript𝑆S^{*} of at most r+4π‘Ÿ4r+4 vertices satisfying cw​(TSβˆ—)=minS∈Vk,1≀k≀r+4⁑cw​(TS).subscript𝑐𝑀subscript𝑇superscript𝑆subscriptformulae-sequence𝑆superscriptπ‘‰π‘˜1π‘˜π‘Ÿ4subscript𝑐𝑀subscript𝑇𝑆c_{w}(T_{S^{*}})=\min_{S\in V^{k},1\leq k\leq r+4}c_{w}(T_{S}). By Definition 2, cw​(TS)subscript𝑐𝑀subscript𝑇𝑆c_{w}(T_{S}) can be computed unambiguously by running ROUT-PAIR​(TS,w,s,t)ROUT-PAIRsubscript𝑇𝑆𝑀𝑠𝑑\text{ROUT-PAIR}(T_{S},w,s,t) for all pairs s,t∈V𝑠𝑑𝑉s,t\in V and summing up the weight of the simple paths as they are output. There is a complication that APPROX does not store TSsubscript𝑇𝑆T_{S} before calling ROUT-PAIR. Instead, when ROUT-PAIR wants to read any bit in the encoding of TS,subscript𝑇𝑆T_{S}, APPROX runs STAR​(G,w,S)STAR𝐺𝑀𝑆\text{STAR}(G,w,S) to generate the required bit unambiguously on the fly. This enables us to obtain Sβˆ—superscript𝑆S^{*} unambiguously and thus TSβˆ—subscript𝑇superscript𝑆T_{S^{*}} unambiguously by running STAR​(G,w,Sβˆ—).STAR𝐺𝑀superscript𝑆\text{STAR}(G,w,S^{*}). ∎

Proof of Lemma 16..

It is clear that either cw​(T2)=0subscript𝑐𝑀subscript𝑇20c_{w}(T_{2})=0 or cw​(T2)β‰₯1.subscript𝑐𝑀subscript𝑇21c_{w}(T_{2})\geq 1. Also, Fact 3 implies that

cwr​(T2)≀12​|V|.subscript𝑐subscriptπ‘€π‘Ÿsubscript𝑇212𝑉\displaystyle c_{w_{r}}(T_{2})\leq\frac{1}{2|V|}.(3)

If cw​(T2)=0,subscript𝑐𝑀subscript𝑇20c_{w}(T_{2})=0, Eq. (3) implies that

cw′​(T2)=cwr​(T2)≀12​|V|subscript𝑐superscript𝑀′subscript𝑇2subscript𝑐subscriptπ‘€π‘Ÿsubscript𝑇212𝑉c_{w^{\prime}}(T_{2})=c_{w_{r}}(T_{2})\leq\frac{1}{2|V|}

and thus cw′​(T1)<1subscript𝑐superscript𝑀′subscript𝑇11c_{w^{\prime}}(T_{1})<1 for sufficiently large |V|𝑉|V| by Eq. (1). This implies cw​(T1)<1subscript𝑐𝑀subscript𝑇11c_{w}(T_{1})<1 and thus cw​(T1)=0,subscript𝑐𝑀subscript𝑇10c_{w}(T_{1})=0, establishing Eq. (2).

If cw​(T2)β‰₯1,subscript𝑐𝑀subscript𝑇21c_{w}(T_{2})\geq 1, then Eq. (1) and (3) imply

cw​(T1)≀cw′​(T1)subscript𝑐𝑀subscript𝑇1subscript𝑐superscript𝑀′subscript𝑇1\displaystyle c_{w}(T_{1})\leq c_{w^{\prime}}(T_{1})
≀\displaystyle\leqα​(cw​(T2)+cwr​(T2))𝛼subscript𝑐𝑀subscript𝑇2subscript𝑐subscriptπ‘€π‘Ÿsubscript𝑇2\displaystyle\alpha\left(c_{w}(T_{2})+c_{w_{r}}(T_{2})\right)
≀\displaystyle\leqα​(1+12​|V|)​cw​(T2).𝛼112𝑉subscript𝑐𝑀subscript𝑇2\displaystyle\alpha\,(1+\frac{1}{2|V|})\,c_{w}(T_{2}).

∎

Proof of Theorem 17..

We will show that PARALLEL needs only take a poly​(|V|)poly𝑉\text{poly}(|V|)-long random input and do the rest of the computation in unambiguous logarithmic space. The standard proof technique for showing that π’°β€‹β„’βŠ†π’©β€‹β„’βŠ†π’©β€‹π’ž2𝒰ℒ𝒩ℒ𝒩superscriptπ’ž2{\cal UL}\subseteq{\cal NL}\subseteq{\cal NC}^{2} Pap [94], Sip [05] then completes the proof.

PARALLEL tests the connectedness of G𝐺G by testing each pair of vertices for connectedness in logarithmic space Rei [05].

Below we assume that G𝐺G is connected. If we assume that this theorem is true when w𝑀w is not identically zero, then PARALLEL can also deal with the identically zero case by using the unit edge-weight function instead. The output spanning tree would have zero routing cost under the identically zero edge-weight function, so item 222 is still satisfied. Thus, we can assume without loss of generality that w𝑀w is not identically zero. Furthermore, we can normalize w𝑀w to give mine∈E,w​(e)β‰ 0⁑w​(e)β‰₯1.subscriptformulae-sequence𝑒𝐸𝑀𝑒0𝑀𝑒1\min_{e\in E,w(e)\neq 0}w(e)\geq 1.

The random input to PARALLEL determines an edge-weight function wr:E→ℝ0+:subscriptπ‘€π‘Ÿβ†’πΈsubscriptsuperscriptℝ0w_{r}:E\to\mathbb{R}^{+}_{0} where for each e∈E,𝑒𝐸e\in E, wr​(e)subscriptπ‘€π‘Ÿπ‘’w_{r}(e) is independently and randomly chosen from the uniform distribution over {1/|V|10,…,|V|6/|V|10}.1superscript𝑉10…superscript𝑉6superscript𝑉10\{1/{|V|}^{10},\ldots,{|V|}^{6}/{|V|}^{10}\}. Note that wr​(e)≀1/|V|4subscriptπ‘€π‘Ÿπ‘’1superscript𝑉4w_{r}(e)\leq 1/{|V|^{4}} for every e∈E.𝑒𝐸e\in E. Denote wβ€²=w+wr.superscript𝑀′𝑀subscriptπ‘€π‘Ÿw^{\prime}=w+w_{r}. Let T^wsubscript^𝑇𝑀\hat{T}_{w} be an MRCT with respect to w𝑀w and T^wβ€²subscript^𝑇superscript𝑀′\hat{T}_{w^{\prime}} be that with respect to wβ€².superscript𝑀′w^{\prime}. By Theorem 7, with probability at least 1βˆ’1/(2​|V|),112𝑉1-1/{(2|V|)}, G𝐺G is strongly min-unique with respect to wβ€².superscript𝑀′w^{\prime}. PARALLEL runs FIND-PATH​(G,wβ€²,s,t)FIND-PATH𝐺superscript𝑀′𝑠𝑑\text{FIND-PATH}(G,w^{\prime},s,t) for an arbitrary pair s,t∈V𝑠𝑑𝑉s,t\in V to unambiguously test if G𝐺G is strongly min-unique with respect to wβ€²,superscript𝑀′w^{\prime}, and outputs β€œfail” if it is not. PARALLEL then runs APPROX​(G,wβ€²)APPROX𝐺superscript𝑀′\text{APPROX}(G,w^{\prime}) to unambiguously output a tree Tβ€²superscript𝑇′T^{\prime} with

cw′​(Tβ€²)<(43+Ο΅/2)β‹…cw′​(T^wβ€²)subscript𝑐superscript𝑀′superscript𝑇′⋅43italic-Ο΅2subscript𝑐superscript𝑀′subscript^𝑇superscript𝑀′\displaystyle c_{w^{\prime}}(T^{\prime})<\left(\frac{4}{3}+\epsilon/2\right)\cdot c_{w^{\prime}}(\hat{T}_{w^{\prime}})(4)
≀\displaystyle\leq(43+Ο΅/2)β‹…cw′​(T^w)β‹…43italic-Ο΅2subscript𝑐superscript𝑀′subscript^𝑇𝑀\displaystyle\left(\frac{4}{3}+\epsilon/2\right)\cdot c_{w^{\prime}}(\hat{T}_{w})

by invoking Lemma 15 with a sufficiently large constant rπ‘Ÿr such that 8/(9​r+12)<Ο΅/2.89π‘Ÿ12italic-Ο΅28/(9r+12)<\epsilon/2.

We shall prove that

cw​(Tβ€²)≀(43+Ο΅)β‹…cw​(T^w),subscript𝑐𝑀superscript𝑇′⋅43italic-Ο΅subscript𝑐𝑀subscript^𝑇𝑀\displaystyle c_{w}(T^{\prime})\leq(\frac{4}{3}+\epsilon)\cdot c_{w}(\hat{T}_{w}),(5)

which is true by Lemma 16 for sufficiently large |V|.𝑉|V|. ∎

Sketch of proof of Theorem 20..

We omit the simple case where w𝑀w is identically zero and assume without loss of generality that mine∈E,w​(e)β‰ 0⁑w​(e)β‰₯1.subscriptformulae-sequence𝑒𝐸𝑀𝑒0𝑀𝑒1\min_{e\in E,w(e)\neq 0}w(e)\geq 1. Let G0subscript𝐺0G_{0} be the subgraph of G𝐺G formed by the zero-weight edges of G.𝐺G. PARALLEL-SROCT tests whether G0subscript𝐺0G_{0} is a connected spanning subgraph of G𝐺G in logarithmic space Rei [05] and if so, outputs a spanning tree of G0subscript𝐺0G_{0} by calling, say, PARALLEL​(G0,0)PARALLELsubscript𝐺00\text{PARALLEL}(G_{0},0) where 00 denotes the identically zero function.

Below we assume that G0subscript𝐺0G_{0} is disconnected. The random input to PARALLEL-SROCT determines an edge-weight function wr:E→ℝ0+:subscriptπ‘€π‘Ÿβ†’πΈsuperscriptsubscriptℝ0w_{r}:E\to\mathbb{R}_{0}^{+} where for each e∈E,𝑒𝐸e\in E, wr​(e)subscriptπ‘€π‘Ÿπ‘’w_{r}(e) is independently and randomly chosen from the uniform distribution over {1/|V|10,…,|V|6/|V|10}.1superscript𝑉10…superscript𝑉6superscript𝑉10\{1/{|V|^{10}},\ldots,|V|^{6}/{|V|^{10}}\}. Let wβ€²=w+wr.superscript𝑀′𝑀subscriptπ‘€π‘Ÿw^{\prime}=w+w_{r}. Note that maxe∈E⁑wr​(e)≀1/|V|4.subscript𝑒𝐸subscriptπ‘€π‘Ÿπ‘’1superscript𝑉4\max_{e\in E}w_{r}(e)\leq 1/|V|^{4}. By Theorem 7, G𝐺G is strongly min-unique with respect to wβ€²superscript𝑀′w^{\prime} with high probability. PARALLEL-SROCT uses FIND-PATH to determine if G𝐺G is strongly min-unique with respect to wβ€²superscript𝑀′w^{\prime} and outputs β€œfail” if it is not. Below we assume that G𝐺G is strongly min-unique with respect to wβ€².superscript𝑀′w^{\prime}. For each x∈V,π‘₯𝑉x\in V, a shortest path tree Txsubscript𝑇π‘₯T_{x} rooted at xπ‘₯x can be output unambiguously by running FIND-PATH​(G,wβ€²,x,y)FIND-PATH𝐺superscript𝑀′π‘₯𝑦\text{FIND-PATH}(G,w^{\prime},x,y) for each y∈V.𝑦𝑉y\in V. The s.r.c. cost of Txsubscript𝑇π‘₯T_{x} can be computed unambiguously by running ROUT-PAIR​(Tx,wβ€²,s,t)ROUT-PAIRsubscript𝑇π‘₯superscript𝑀′𝑠𝑑\text{ROUT-PAIR}(T_{x},w^{\prime},s,t) and accumulating the weight of the output path multiplied by r​(s)+r​(t)π‘Ÿπ‘ π‘Ÿπ‘‘r(s)+r(t) for all s,t∈V.𝑠𝑑𝑉s,t\in V. During the computation of ROUT-PAIR, each time any bit encoding Txsubscript𝑇π‘₯T_{x} is needed, it is generated on the fly. The spanning tree Txsubscript𝑇π‘₯T_{x} with the minimum (over x∈Vπ‘₯𝑉x\in V) s.r.c. cost with respect to wβ€²superscript𝑀′w^{\prime} is output. The final step in establishing the approximation ratio goes by showing that for every spanning tree T𝑇T of G,𝐺G,

cw(s)​(T)β‰₯maxv∈V⁑r​(v)subscriptsuperscript𝑐𝑠𝑀𝑇subscriptπ‘£π‘‰π‘Ÿπ‘£c^{(s)}_{w}(T)\geq\max_{v\in V}r(v)

by the disconnectedness of G0subscript𝐺0G_{0} and mine∈E,w​(e)β‰ 0⁑w​(e)β‰₯1,subscriptformulae-sequence𝑒𝐸𝑀𝑒0𝑀𝑒1\min_{e\in E,w(e)\neq 0}w(e)\geq 1, whereas

cwr(s)​(T)≀maxu,v∈V⁑(r​(u)+r​(v))​|V|32​1|V|4subscriptsuperscript𝑐𝑠subscriptπ‘€π‘Ÿπ‘‡subscriptπ‘’π‘£π‘‰π‘Ÿπ‘’π‘Ÿπ‘£superscript𝑉321superscript𝑉4c^{(s)}_{w_{r}}(T)\leq\max_{u,v\in V}(r(u)+r(v))\,\frac{|V|^{3}}{2}\frac{1}{|V|^{4}}

by Fact 3. The fact that π’°β€‹β„’βŠ†π’©β€‹β„’βŠ†π’©β€‹π’ž2𝒰ℒ𝒩ℒ𝒩superscriptπ’ž2{\cal UL}\subseteq{\cal NL}\subseteq{\cal NC}^{2} completes the proof. ∎

Sketch of proof of Theorem 22..

We omit the simple case when w𝑀w is identically zero and assume that mine∈E,w​(e)β‰ 0⁑w​(e)β‰₯1.subscriptformulae-sequence𝑒𝐸𝑀𝑒0𝑀𝑒1\min_{e\in E,w(e)\neq 0}w(e)\geq 1. The case where the zero-weight edges of G𝐺G form a connected spanning subgraph of G𝐺G is dealt with as in the proof of Theorem 20, so we may assume that it is not the case. The random input to WEIGHTED-222-MRCT determines an edge-weight function wr:E→ℝ0+:subscriptπ‘€π‘Ÿβ†’πΈsuperscriptsubscriptℝ0w_{r}:E\to\mathbb{R}_{0}^{+} where for each e∈E,𝑒𝐸e\in E, wr​(e)subscriptπ‘€π‘Ÿπ‘’w_{r}(e) is independently and randomly chosen from the uniform distribution over {1/|V|10,…,|V|6/|V|10}.1superscript𝑉10…superscript𝑉6superscript𝑉10\{1/{|V|^{10}},\ldots,|V|^{6}/{|V|^{10}}\}. Let wβ€²=w+wr.superscript𝑀′𝑀subscriptπ‘€π‘Ÿw^{\prime}=w+w_{r}. Note that maxe∈E⁑wr​(e)≀1/|V|4.subscript𝑒𝐸subscriptπ‘€π‘Ÿπ‘’1superscript𝑉4\max_{e\in E}w_{r}(e)\leq 1/{|V|}^{4}. WEIGHTED-222-MRCT detects whether G𝐺G is strongly min-unique with respect to wβ€²superscript𝑀′w^{\prime} by running FIND-PATH and outputs β€œfail” if it is not, which occurs with a small probability by Theorem 7. Now, assume that G𝐺G is strongly min-unique with respect to wβ€².superscript𝑀′w^{\prime}. The sets Z1wβ€²,Z2wβ€²subscriptsuperscript𝑍superscript𝑀′1subscriptsuperscript𝑍superscript𝑀′2Z^{w^{\prime}}_{1},Z^{w^{\prime}}_{2} in Theorem 21 where dG​(β‹…)subscript𝑑𝐺⋅d_{G}(\cdot) is measured with respect to wβ€²superscript𝑀′w^{\prime} are computable in unambiguous logarithmic space by Theorem 8. For each v∈V,𝑣𝑉v\in V, let Pv,s1(wβ€²)∈SPG​(v,s1)subscriptsuperscript𝑃superscript𝑀′𝑣subscript𝑠1subscriptSP𝐺𝑣subscript𝑠1P^{(w^{\prime})}_{v,s_{1}}\in\text{SP}_{G}(v,s_{1}) and Pv,s2(wβ€²)∈SPG​(v,s2)subscriptsuperscript𝑃superscript𝑀′𝑣subscript𝑠2subscriptSP𝐺𝑣subscript𝑠2P^{(w^{\prime})}_{v,s_{2}}\in\text{SP}_{G}(v,s_{2}) be the unique shortest paths with respect to wβ€².superscript𝑀′w^{\prime}. By Theorem 8, T1=⋃v∈Z1wβ€²Pv,s1wβ€²subscript𝑇1subscript𝑣subscriptsuperscript𝑍superscript𝑀′1subscriptsuperscript𝑃superscript𝑀′𝑣subscript𝑠1T_{1}=\bigcup_{v\in Z^{w^{\prime}}_{1}}P^{w^{\prime}}_{v,s_{1}} and T2=⋃v∈Z2wβ€²Pv,s2wβ€²subscript𝑇2subscript𝑣subscriptsuperscript𝑍superscript𝑀′2subscriptsuperscript𝑃superscript𝑀′𝑣subscript𝑠2T_{2}=\bigcup_{v\in Z^{w^{\prime}}_{2}}P^{w^{\prime}}_{v,s_{2}} are unambiguously computable in logarithmic space and they are trees by the strong min-uniqueness of G𝐺G with respect to wβ€².superscript𝑀′w^{\prime}. The unique shortest path Qwβ€²=(q0=s1,…,qj,qj+1,…,s2)∈SPG​(s1,s2)superscript𝑄superscript𝑀′subscriptπ‘ž0subscript𝑠1…subscriptπ‘žπ‘—subscriptπ‘žπ‘—1…subscript𝑠2subscriptSP𝐺subscript𝑠1subscript𝑠2Q^{w^{\prime}}=\left(q_{0}=s_{1},\ldots,q_{j},q_{j+1},\ldots,s_{2}\right)\in\text{SP}_{G}(s_{1},s_{2}) with respect to wβ€²superscript𝑀′w^{\prime} is also unambiguously computable by running FIND-PATH​(G,wβ€²,s1,s2),FIND-PATH𝐺superscript𝑀′subscript𝑠1subscript𝑠2\text{FIND-PATH}(G,w^{\prime},s_{1},s_{2}), so is its first vertex qj+1subscriptπ‘žπ‘—1q_{j+1} outside of Z1wβ€².subscriptsuperscript𝑍superscript𝑀′1Z^{w^{\prime}}_{1}. Theorem 21 then implies that a tree T𝑇T satisfying

cwβ€²(2)​(T)≀2​cwβ€²(2)​(W-2-MRCTw′​(G))subscriptsuperscript𝑐2superscript𝑀′𝑇2subscriptsuperscript𝑐2superscript𝑀′subscriptW-2-MRCTsuperscript𝑀′𝐺c^{(2)}_{w^{\prime}}(T)\leq 2c^{(2)}_{w^{\prime}}(\text{W-$2$-MRCT}_{w^{\prime}}(G))

can be output in unambiguous logarithmic space. The final step in establishing the approximation ratio is to show that for every spanning tree T𝑇T of G,𝐺G,

cw(2)​(T,s1,s2,Ξ»)β‰₯Ξ»+1subscriptsuperscript𝑐2𝑀𝑇subscript𝑠1subscript𝑠2πœ†πœ†1\displaystyle c^{(2)}_{w}(T,s_{1},s_{2},\lambda)\geq\lambda+1(6)

whereas

cwr(2)​(T,s1,s2,Ξ»)≀λ​|V|2|V|4+|V|2|V|4.subscriptsuperscript𝑐2subscriptπ‘€π‘Ÿπ‘‡subscript𝑠1subscript𝑠2πœ†πœ†superscript𝑉2superscript𝑉4superscript𝑉2superscript𝑉4c^{(2)}_{w_{r}}(T,s_{1},s_{2},\lambda)\leq\lambda\,\frac{|V|^{2}}{|V|^{4}}+\frac{|V|^{2}}{|V|^{4}}.

The fact that π’°β€‹β„’βŠ†π’©β€‹β„’βŠ†π’©β€‹π’ž2𝒰ℒ𝒩ℒ𝒩superscriptπ’ž2{\cal UL}\subseteq{\cal NL}\subseteq{\cal NC}^{2} completes the proof. ∎

References

  • Bar [98] Y. Bartal, On approximating arbitrary metrics by tree metrics, Proceedings of the 30th Annual ACM Symposium on Theory of Computing, 1998, pp. 161–169.
  • BFW [73] D. E. Boyce, A. Farhi, and R. Weischedel, Optimal network problem: A branch-and-bound algorithm, Environment and Planning 5 (1973), 519–533.
  • BLP [94] V. Bafna, E. L. Lawler, and P. Pevzner, Approximations algorithms for multiple sequence alignment, Proceedings of the 5th Combinatorial Pattern Matching Conference, vol. 807, 1994, pp. 43–53.
  • CCGG [98] M. Charikar, C. Chekuri, A. Goel, and S. Guha, Rounding via trees: Deterministic approximation algorithms for group Steiner trees and k-median, Proceedings of the 30th Annual ACM Symposium on Theory of Computing, 1998, pp. 114–123.
  • CLRS [01] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to algorithms., MIT Press, 2001.
  • DF [79] R. Dionne and M. Florian, Exact and approximate algorithm for optimal network design, Networks 9 (1979), no. 1, 37–60.
  • FD [87] D. Feng and R. Doolittle, Progressive sequence alignment as a prerequisite to correct phylogenetic trees, Journal of Molecular Evolution 25 (1987), 351–360.
  • Fis [01] Fischer, The art of uninformed decisions: A primer to property testing, Bulletin of the European Association for Theoretical Computer Science 75 (2001).
  • FLS [02] M. Fischetti, G. Lancia, and P. Serafini, Exact algorithms for minimum routing cost trees, Networks 39 (2002), 161–173.
  • FRT [03] J. Fakcharoenphol, S. Rao, and K. Talwar, A tight bound on approximating arbitrary metrics by tree metrics, Proceedings of the 35th Annual ACM Symposium on Theory of Computing, 2003, pp. 448–455.
  • GJ [79] M. R. Garey and D. S. Johnson, Computers and intractability: A guide to the theory of 𝒩​𝒫𝒩𝒫{\cal NP}-completeness, Freeman, 1979.
  • Gus [93] D. Gusfield, Efficient methods for multiple sequence alignment with guaranteed error bounds, Bulletin of Mathematical Biology 55 (1993).
  • GW [96] A. GΓ‘l and A. Wigderson, Boolean vs. arithmetic complexity classes: randomized reductions, Random Structures and Algorithms 9 (1996), 99–111.
  • Hoa [73] H. H. Hoang, A computational approach to the selection of an optimal network, Management Science 19 (1973), no. 5, 488–498.
  • Hu [74] T. C. Hu, Optimum communication spanning trees, SIAM Journal on Computing 3 (1974), 188–195.
  • Imm [88] N. Immerman, Nondeterministic space is closed under complementation, SIAM Journal on Computing (1988), 935–938.
  • JLK [78] D. S. Johnson, J. K. Lenstra, and A. H. G. Rinnooy Kan, The complexity of the network design problem, Networks 8 (1978), 279–285.
  • Pap [94] C. H. Papadimitriou, Computational complexity, Addison-Wesley, 1994.
  • Pev [92] P. Pevzner, Multiple alignment, communication cost, and graph matching, SIAM Journal on Applied Mathematics 52 (1992), 1763–1779.
  • RA [00] K. Reinhardt and E. Allender, Making nondeterminism unambiguous, SIAM Journal on Computing 29 (2000), no. 4, 1118–1131.
  • Rei [05] O. Reingold, Undirected ST-connectivity in log-space, Proceedings of the 37th Annual ACM Symposium on Theory of Computing, 2005, pp. 376–385.
  • Sip [05] M. Sipser, Introduction to the theory of computation, 2nd ed., Course Technology, 2005.
  • Sze [88] R. SzelepcsΓ©nyi, The method of forced enumeration for nondeterministic automata, Acta Informatica 26 (1988), 279–284.
  • WC [04] B. Y. Wu and K.-M. Chao, Spanning trees and optimization problems, Chapman & Hall/CRC Press, 2004.
  • [25] B. Y. Wu, K.-M. Chao, and C. Y. Tang, Approximation algorithms for some optimum communication spanning tree problems, Discrete Applied Mathematics 102 (2000), 245–266.
  • [26]  , Approximation algorithms for the shortest total path length spanning tree problem, Discrete Applied Mathematics 105 (2000), 273–289.
  • [27]  , A polynomial time approximation scheme for optimal product-requirement communication spanning trees, Journal of Algorithms 36 (2000), 182–204.
  • Wes [01] D. B. West, Introduction to graph theory, 2nd ed., Prentice-Hall, 2001.
  • Wig [94] A. Wigderson, 𝒩​ℒ/polyβŠ†βŠ•β„’/poly𝒩ℒpolydirect-sumβ„’poly{\cal NL}/\text{poly}\subseteq\oplus{\cal L}/\text{poly}, Proceedings of the 9th IEEE Structure in Complexity Conference, 1994, pp. 59–62.
  • WLB+ [00] B. Y. Wu, G. Lancia, V. Bafna, K.-M. Chao, R. Ravi, and C. Y. Tang, A polynomial time approximation scheme for minimum routing cost spanning trees, SIAM Journal on Computing 29 (2000), 761–778.
  • Won [80] R. T. Wong, Worst-case analysis of network design problem heuristics, SIAM Journal on Matrix Analysis and Applications 1 (1980), 51–63.
  • Wu [02] B. Y. Wu, A polynomial time approximation scheme for the two-source minimum routing cost spanning trees, Journal of Algorithms 44 (2002), 359–378.