Approximating Minimum Manhattan Networks in Higher Dimensions

Approximating Minimum Manhattan Networks in Higher Dimensions

Aparna Das Dept. of Comp. Sci., University of Arizona, Tucson, AZ, U.S.A.    Emden R. Gansner AT&T Labs Research, Florham Park, NJ, U.S.A.    Michael Kaufmann Wilhelm-Schickard-Institut für Informatik, Universität Tübingen, Germany    Stephen Kobourov Dept. of Comp. Sci., University of Arizona, Tucson, AZ, U.S.A.    Joachim Spoerhase Institut für Informatik, Universität Würzburg, Germany    Alexander Wolff Institut für Informatik, Universität Würzburg, Germany

We study the minimum Manhattan network problem, which is defined as follows. Given a set of points called terminals in , find a minimum-length network such that each pair of terminals is connected by a set of axis-parallel line segments whose total length is equal to the pair’s Manhattan (that is, -) distance. The problem is NP-hard in 2D and there is no PTAS for 3D (unless ). Approximation algorithms are known for 2D, but not for 3D.

We present, for any fixed dimension  and any , an -approximation algorithm. For 3D, we also give a -approximation algorithm for the case that the terminals are contained in the union of parallel planes. Keywords: Approximation Algorithms, Computational Geometry, Minimum Manhattan Network

1 Introduction

In a typical network construction problem, one is given a set of objects to be interconnected such that some constraints regarding the connections are fulfilled. Additionally, the network must be of little cost. For example, if the objects are points in Euclidean space and the constraints say that, for some fixed , each pair of points must be connected by a path whose length is bounded by  times the Euclidean distance of the points, then the solution is a so-called Euclidean -spanner. Concerning cost, one usually requires that the total length of the network is proportional to the length of a Euclidean minimum spanning tree of the points. Such low-cost spanners can be constructed efficiently [2].

In this paper, we are interested in constructing 1-spanners, with respect to the Manhattan (or -) metric. Rather than requiring that the total length of the network is proportional to the minimum spanning tree of the points, our aim is to minimize the total length (or weight) of the network. Note that the Euclidean 1-spanner of a set of points is simply the complete graph (if no three points are collinear) and hence, its weight is completely determined. Manhattan 1-spanners, in contrast, have many degrees of freedom and vastly different weights.

More formally, given two points  and  in -dimensional space , a Manhattan path connecting  and  (a M-path, for short) is a sequence of axis-parallel line segments connecting  and  whose total length equals the Manhattan distance between  and . Thus an M-path is a monotone rectilinear path. For our purposes, a set of axis-parallel line segments is a network. Given a network , its weight is the sum over the lengths of its line segments. A network  Manhattan-connects (or M-connects) two given points  and  if it “contains” a M-path . Note that we slightly abuse the notation here: we mean pointwise containment, that is, we require . Given a set  of points—called terminals—in , a network  is a Manhattan network (or M-network) for  if  M-connects every pair of terminals in . The minimum Manhattan network problem (MMN) consists of finding, for a given set  of terminals, a minimum-weight M-network. For examples, see Fig. 1.

M-networks have important applications in several areas such as VLSI layout and computational biology. For example, Lam et al. [12] used them in gene alignment in order to reduce the size of the search space of the Viterbi algorithm for pair hidden Markov models.

(a) an M-network for
(b) a minimum M-network for 
(c) a minimum M-network in 3D
(d) M-paths missing each other
Figure 1: Examples of M-networks in 2D and 3D.

1.1 Previous work

The 2D-version of the problem, 2D-MMN, was introduced by Gudmundsson et al. [9]. They gave an 8- and a 4-approximation algorithm. Later, the approximation ratio was improved to 3 [3, 8] and then to 2, which is currently the best possible. It was achieved in three different ways: via linear programming [5], using the primal–dual scheme [15] and with purely geometric arguments [10]. The last two algorithms run in time, given a set of  points in the plane. A ratio of 1.5 was claimed [16], but apparently the proof is incomplete [8]. Chin et al. [6] finally settled the complexity of 2D-MMN by proving it NP-hard.

A little earlier, Muñoz et al. [14] considered 3D-MMN. They showed that the problem is NP-hard and that it is NP-hard to approximate beyond a factor of 1.00002. For the special case of 3D-MMN, where any cuboid spanned by two terminals contains other terminals or is a rectangle, they gave a -approximation algorithm, where  denotes the best approximation ratio for 2D-MMN. They posed the design of approximation algorithms for general 3D-MMN as an open problem.

1.2 Related problems

As we observe in Section 2.3, MMN is a special case of the directed Steiner forest problem (DSF). More precisely, an instance of MMN can be decomposed into a constant number of DSF instances. The input of DSF is an edge-weighted directed graph  and a set of vertex pairs. The goal is to find a minimum-cost subgraph of  (not necessarily a forest) that connects all given vertex pairs. Recently, Feldman et al. [7] reported, for any , an -approximation algorithm for DSF, where  is the number of vertices of the given graph. This bound carries over to D-MMN.

An important special case of DSF is the directed Steiner tree problem (DST). Here, the input instance specifies an edge-weighted digraph , a root vertex , and a subset  of the vertices of  to which must connect. An optimum solution for DST is a minimum-weight -rooted subtree of  spanning . DST admits an -approximation for any  [4].

A geometric optimization problem that resembles MMN is the rectilinear Steiner arborescence problem (RSA). Given a set of points in  with non-negative coordinates, a rectilinear Steiner arborescence is a spanning tree that connects all points with M-paths to the origin. As in MMN, the aim is to find a minimum-weight network. For 2D-RSA, there is a polynomial-time approximation scheme (PTAS) [13] based on Arora’s technique for approximating geometric optimization problems such as TSP [1]. It is not known whether 2D-MMN admits a PTAS. Arora’s technique does not directly apply here as M-paths between terminals forbid detours and thus may not respect portals.

1.3 Our contribution

We first present a -approximation algorithm for the special case of 3D-MMN where the given terminals are contained in planes parallel to the plane; see Section 3.

Our main result is an -approximation algorithm for D-MMN, for any . We first present the algorithm in detail for three dimensions; see Section 4. Since the algorithm for arbitrary dimensions is a straightforward generalization of the algorithm for 3D but less intuitive, we describe it in the appendix.

Our -approximation algorithm for D-MMN constitutes a significant improvement upon the best known ratio of for (general) directed Steiner forest [7]. We obtain this result by exploiting the geometric structure of the problem. To underline the relevance of our result, we remark that the bound of is the best known result also for other directed Steiner-type problems such as DST [4] or even acyclic DST [18].

Our -approximation algorithm for the -planes case relies on recent work by Soto and Telha [17]. They show that, given a set of red and blue points in the plane, one can determine efficiently a minimum-cardinality set of points that together pierce all rectangles having a red point in the lower left corner and a blue point in the upper right corner. Combining this result with an approximation algorithm for 2D-MMN, yields an approximation algorithm for the 2-planes case. We show how to generalize this idea to planes.

2 Some Basic Observations

We begin with some notation. Given a point , we denote the -, - and -coordinate of  by , , and , respectively. Given two points  and  in , let be the rectangle spanned by  and . If a line segment is parallel to the -, -, or -axis, we say that it is -, -, or -aligned. In what follows, we consider the 3-dimensional case of the MMN problem, unless otherwise stated.

2.1 Quadratic Lower Bound for Generating Sets in 3D

Intuitively, what makes 3D-MMN more difficult than 2D-MMN is the following: in 2D, if the bounding box of terminals  and  and the bounding box of  and  cross (as in Fig. (b)b), then any M-path will intersect any M-path, which yields and M-paths for free (if  and  are the lower left corners of their respective boxes). A similar statement for 3D does not hold; M-paths can “miss” each other—even if their bounding cuboids cross; see Fig. (d)d.

Let us formalize this observation. Given a set  of terminals, a set  of pairs of terminals is a generating set [11] if any network that M-connects the pairs in  in fact M-connects all pairs of terminals. In 2D, any MMN instance has a generating set of linear size [11]. Unfortunately this result does not extend to 3D. Below, we construct an instance that requires a generating set of size . The idea of using linear-size generating sets is exploited by several algorithms for 2D-MMN [5, 11]. The following theorem shows that these approaches do not easily carry over to 3D.

Theorem 2.1

There exists an instance of 3D-MMN with terminals that requires a generating set of size .


We construct an instance that requires a generating set of size at least . The main idea of the construction is to ensure that of the terminal pairs must use an edge segment unique to that specific pair. The input consists of two sets and , each with terminals, with the following coordinates: for , terminal is at and terminal is at . Figure 2 shows the instance for .

Figure 2: The constructed network for .

Consider any given generating set such that there is a pair , and that is not in . We now construct a specific network that contains M-paths between all terminal pairs in but no M-path between .

Consider any pair such that and . The M-path from to has three segments: an -aligned segment from to , a -aligned segment from to , and a -aligned segment from to . To ensure an M-path between each generating pair (similarly between ), we add M-paths between each pair of consecutive terminals in (similarly for ) as follows: we connect by adding a -aligned segment from to , a -aligned segment to , and an -aligned segment to ; see Fig. 2.

It is easy to verify that, in this construction, the M-path between terminals and must use the -aligned segment between and . Since this segment is added only between terminal pairs that are present in the generating set , there is no M-path between terminals and which are not in . Thus, in order to obtain M-paths between all pairs of terminals in , we need at least all of the pairs in . ∎

2.2 Hanan Grid and Directional Subproblems

First, we note that any instance of MMN has a solution that is contained in the Hanan grid, the grid induced by the terminals; see Fig. 1(a). Gudmundsson et al. [9] showed this for 2D; their proof generalizes to higher dimensions. In what follows, we restrict ourselves to finding feasible solutions that are contained in the Hanan grid.

Second, to simplify our proofs, we consider the directional subproblem of 3D-MMN which consists of connecting all terminal pairs such that  dominates , that is, , , , and . We call such terminal pairs relevant.

The idea behind our reduction to the directional subproblem is that any instance of 3D-MMN can be decomposed into four subproblems of this type. One may think of the above-defined directional subproblem as connecting the terminals which are oriented in a north-east (NE) configuration in the plane (with increasing -coordinates). Analogous subproblems exist for the directions NW, SE, and SW. Note that any terminal pair belongs to one of these four categories (if seen from the terminal with smaller -coordinate).

The decomposition extends to higher dimensions , by fixing the relationship between for one dimension (for example, ), and enumerating over all possible relationships for the remaining dimensions. This decomposes D-MMN into subproblems, which is a constant number of subproblems as we consider to be a fixed constant.

This means that any -approximation algorithm for the directional subproblem leads to an -approximation algorithm for the general case. Thus we can focus on designing algorithms for the directional subproblem.

Observation 1

Any instance of MMN can be decomposed into a constant number of directional subproblems. Thus a -approximation algorithm for the directional subproblem leads to an -approximation algorithm for MMN.

2.3 Relation to Steiner Problems

We next show that there is an approximation-preserving reduction from directional 3D-MMN to the directed Steiner forest (DSF) problem, which by Observation 1, carries over up to a constant factor, to general 3D-MMN.

Let be a set of points in . Let be the Hanan grid induced by . We consider as an undirected graph where the length of each edge equals the Euclidean distance between its endpoints. We orient each edge in  so that, for any edge in the resulting digraph , the start node dominates the end node . We call the oriented Hanan grid of . Now let be a relevant pair of points in , that is, dominates . Any M-path in connecting to corresponds to a directed path in  from  to . The converse also holds: every directed path in  corresponds to an M-path in .

Let be an instance of directional 3D-MMN and let be an instance of DSF where the input graph is and where every relevant terminal pair of has to be connected. Then, each feasible solution of contained in corresponds to a sub-graph  of  that connects every relevant terminal pair, and is therefore a feasible solution to . It is easy to see that has the same cost as , as uses the oriented version of each edge of . Conversely, every feasible solution  for  corresponds to a subgraph of that M-connects every relevant terminal pair. Therefore, is a feasible solution to with the same cost as . This establishes an efficiently computable one-to-one correspondence between feasible solutions to that are contained in and feasible solutions to . Since there is an optimum solution to  contained in  [9], this is an approximation-preserving reduction from directional 3D-MMN to DSF.

By means of the above transformation of the Hanan grid into a digraph, we also obtain an approximation-preserving reduction from 3D-RSA to DST. We use this later in Section 4 to develop an approximation algorithm for 3D-MMN. Let be an instance of 3D-RSA given by a set of terminals with non-negative coordinates that are to be M-connected to the origin . We construct an instance of DSF as above where is the set of node pairs to be connected. Note that any feasible solution to is, without loss of generality, a tree. Hence, is an instance of DST with root . All in all, we have an approximation-preserving reduction from 3D-RSA to DST.

3 The -Plane Case

In this section we consider 3D-MMN, under the assumption that the set  of terminals is contained in the union of planes that are parallel to the plane. Of course, this assumption always holds for some . We present a -approximation algorithm, which outperforms our algorithm for the general case in Section 4 if .

Let  be some fixed minimum M-network for , let be the set of all -aligned and all -aligned segments in , and let be the set of all -aligned segments in . Let  denote the weight of . Clearly, does not depend on the specific choice of ; the weights of  and , however, may depend on . For , let be the set of terminals in plane . Further, let  be the projection of  onto the plane.

Our algorithm consists of two phases. Phase I computes a set  of horizontal (that is, - and -aligned) line segments, phase II computes a set  of vertical (that is, -aligned) line segments. Finally, the algorithm returns the set .

Phase I is simple; we compute a 2-approximate M-network  for  (using the algorithm of Guo et al. [10]) and project  onto each of the planes . Let  be the union of these projections. Note that M-connects any pair of terminals that lie in the same plane.

Observation 2



The projection of  to the plane is an M-network for . Hence, . Adding up over the planes yields the claim. ∎

In Phase II, we construct a pillar network by computing a set  of vertical line segments, so-called pillars, of total cost at most . This yields an overall approximation factor of  since .

Below we describe Phase II of our algorithm for the directional subproblem that runs in direction north-east (NE) in the plane (with increasing -coordinates). For this directional subproblem, we construct a pillar network  of weight at most that, together with , M-connects all relevant pairs. We solve the analogous subproblems for the directions NW, SE, and SW in the same fashion. Then is the union of the four partial solutions and has weight at most , as desired.

Our directional subproblem is closely linked to the (directional) bichromatic rectangle piercing problem (), which is defined as follows. Let  and  be sets of red and blue points in , respectively, and let denote the set of axis-aligned rectangles each of which is spanned by a red point in its SW-corner and a blue point in its NE-corner. Then the aim of is to find a minimum-cardinality set  such that every rectangle in  is pierced, that is, contains at least one point in . The points in  are called piercing points.

The problem dual to BRP is the (directional) bichromatic independent set of rectangles problem (BIS) where the goal is to find the maximum number of pairwise disjoint rectangles in , given the sets  and .

Recently, Soto and Telha [17] proved a beautiful min–max theorem saying that, for , the minimum number of piercing points always equals the maximum number of independent rectangles. This enabled them to give efficient exact algorithms for and BIS running in worst-case time or expected time, where the -notation ignores polylogarithmic factors, is the exponent for fast matrix multiplication, and is the input size.

The details of Phase II appear, for planes, in Section 3.1, and, for planes, in Section 3.2. Algorithm 1 summarizes of our -planes algorithm.

Input: Set of terminals contained in the union of planes , all parallel to the plane.

1:  Let be the projection of onto the plane
2:  Phase I:  Compute , a 2-approximate M-network for using the algorithm of Guo et al. [10].  Let be the union of the projections of onto each of the planes .
3:  Phase II:  If , construct a pillar network by Algorithm 2; see Section 3.1.  Otherwise, construct a pillar network by Algorithm 3; see Section 3.2.

Output: .

Algorithm 1 -Planes Algorithm

3.1 Pillar Network for Two Planes

Our phase-II algorithm for two planes is very simple. We sketch it first in order to provide some intuition for the -planes case. Let the terminals in  be red and those in  be blue. Ignore the -coordinates of the terminals. Then the relevant red–blue point pairs span exactly the rectangles in , which we call relevant, too.

Input: Sets and of terminals.

1:  Color red and blue.
2:  Ignoring -coordinates of terminals, let be the set of rectangles spanned by relevant red–blue pairs.
3:  Compute a minimum piercing  of such that for each relevant red–blue pair the piercing point for lies on an M-path in , as described in Lemma 2.
4:  Erect pillars from to at each piercing point ; let be the resulting set of pillars.

Output: .

Algorithm 2 Pillar network of the directional subproblem for planes

Our algorithm (Algorithm 2) consists of two steps. First, we compute a minimum piercing  of using the algorithm of Soto and Telha [17]. Second, we move each piercing point  to a new position —a nearby junction of —and erect, at , a pillar connecting the two planes. Let  be the set of piercing points after the move, and let be the corresponding set of pillars.

Lemma 1

It holds that .


It is easy to see that . Integrating over the distance  of the two planes yields . The last inequality is due to the fact that is a minimum piercing of and that the pillars in  pierce —otherwise  would not be feasible. ∎

Now we turn to feasibility. We first detail how we move each piercing point  to its new position . For the sake of brevity, we identify terminals with their projections to the plane. Our description assumes that we have at our disposal some network  (such as ) connecting the relevant pairs in .

For a piercing point , let be the intersection of the relevant rectangles pierced by ; see Fig. 3. Clearly, . Note that the bottom and left sides of  are determined by terminals  and  to the west and south of , respectively. Symmetrically, the top and right sides of  are determined by terminals  and  to the east and north of , respectively. Terminals  and  may coincide, and so may  and . It is easy to see that the network  contains an M-path  connecting  and  and an M-path  connecting  and . The path  goes through the bottom and top sides of  and  goes through the left and right sides. Hence, the two paths intersect in a point . This is where we move the original piercing point .

Figure 3: Paths  and  meet in a point  in .

Since , the point  pierces the same relevant rectangles as , and the set is a (minimum) piercing for the set of relevant rectangles.

Lemma 2

Let be an instance of and let be a network that M-connects every relevant red–blue point pair. Then we can efficiently compute a minimum piercing of such that  contains, for every relevant red–blue point pair  in , an M-path that contains a piercing point.


We use the algorithm of Soto and Telha [17] to compute a minimum piercing  of . Then, as we have seen above, is a minimum piercing of , too. Now let be a relevant red–blue pair in , and let be a point that pierces . Clearly, pierces , too. As we have observed before, both  and  lie in .

Since is a relevant pair, lies to the  of  and  to the ; see Fig. (a)a. We prove that contains an M-path; a symmetric argument proves that  also contains a M-path. Concatenating these two M-paths yields the desired M-path since  lies to the  of  and  lies to the  of . Recall that  lies on the intersection of the M-path and the - M-path , where , , , are the terminals that determine the extensions of ; see Fig. 3. To show that  M-connects  and , we consider two cases.

Case I: ; see Fig. (a)a. According to our assumption, contains some M-path . Then must intersect  or  at some point  to the  of . Thus, we can go, in a monotone fashion, along  from  to  and then along  or  from  to . This is the desired M-path.

(a) Case I: we can go from  via  to .
(b) Case II: we can go from  via  or  to .
Figure 4: Sketches for the proof of Lemma 2.

Case II: lies to the  of  or ; see Fig. (b)b. In this case contains M-paths from  to  and to . If  lies to the  of , we can go, again in a monotone fashion, from  to  and then along  from  to . Otherwise, if  lies to the  of , we can go from  to  and then on  from  to .

Since these are the only two possibilities, this concludes the proof. ∎

Lemmas 1 and 2 (with , , and ) yield the following.

Theorem 3.1

We can efficiently compute a 4-approximation for the 2-plane case.

3.2 Pillar Network for Planes

Now we show how our phase-II algorithm generalizes to planes. As in the 2-planes case, we restrict ourselves to the directional subproblem and construct a pillar network of weight at most . As we have argued at the beginning of Section 3, this suffices to prove Theorem 3.2.

Theorem 3.2

There exists a -approximation algorithm for 3D-MMN where the terminals lie in the union of planes parallel to the plane.

Our pillar-placement algorithm (Algorithm 3) is as follows. Let . We construct an instance  of where we two-color such that each point corresponding to a terminal of some plane  with is colored red and each point corresponding to a terminal of some plane  with is colored blue. For , we compute a minimum piercing  according to Lemma 2 with . In other words, for any relevant pair , there is some M-path in that contains a piercing point of . We choose such that  has minimum cardinality. This is crucial for our analysis. At the piercing points of , we erect pillars spanning all planes . Let  be the set of these pillars. We now show that , along with , creates a feasible network for any relevant terminal pair such that and .

Input: Sets of terminals with (initially and ).

1:  Let be the projection of onto the plane.
2:  for each  do
3:     Let  be an instance of where each point in , corresponding to a terminal in  with , is colored red and each point in , corresponding to a terminal in  with , is colored blue.
4:     Compute a minimum piercing  according to Lemma 2 with .
5:  end for
6:  Choose such that  has minimum cardinality.
7:  Let be the set of pillars erected at each piercing point of , spanning planes .
8:  Let be the output of this algorithm applied recursively to .
9:  Let be the output of this algorithm applied recursively to .


Algorithm 3 Pillar network for the directional subproblem for planes
Lemma 3

The network M-connects any relevant terminal pair in with and .


Consider a pair in as in the statement. We construct an M-path from  to  as follows. We know that there exists an M-path  that connects the projections of  and  in  and contains a piercing point  of . Therefore, we can start at  and follow the projection of  onto plane  until we arrive at . Then we use the corresponding pillar in  to reach the plane , where we follow the projection of  (onto that plane) until we reach . ∎

In order to also M-connect relevant terminal pairs in , where either ( and ) or ( and ), we simply apply the pillar-placement algorithm recursively to the sets and . This yields the desired pillar network . By Lemma 3, is feasible. Next, we bound .

Lemma 4

Let  be an arbitrary directional Manhattan network for , and let  be the set of vertical segments in . Then the pillar network has weight at most .


Without loss of generality, we assume that is a subnetwork of the Hanan grid [9]. We may also assume that any segment of  spans only consecutive planes. For , let denote the subnetwork of  lying between planes and . Let be the vertical distance between planes  and .

We start with the observation that, for any , the network  is a set of pillars that forms a valid piercing of the piercing instance  (defined right after Theorem 3.2). Hence, , which implies the claim of the lemma as follows:

It is crucial for our construction that the pillars constructed recursively span either or , but not all planes. For , let denote the weight of the vertical part of the network produced by the above pillar-placement algorithm, when applied to planes recursively. For technical reasons we set . Now assume that and that the algorithm makes the partition at plane with when planes are processed. By means of Lemma 4, we derive the recursion


which holds for any M-network  for . We now claim that

Our proof is by induction on the number of planes processed by the algorithm. By the inductive hypothesis, we have that and . We plug these expressions into the recursion 1. Since and for any , the claim follows.

We conclude that the weight of the solution produced by the algorithm, when applied to all planes , is bounded by . This completes the proof of Theorem 3.2.

4 The General Case

In this section, we present an approximation algorithm, which we call the grid algorithm, for the general 3D-MMN problem. Our main result is the following.

Theorem 4.1

For any , there exists an -approximation algorithm for 3D-MMN that, given a set of terminals, runs in time.

This result is better than the one in the previous section if the given set of terminals is distributed over horizontal planes. Moreover, the approach in this section extends to higher dimensions; see appendix.

For technical reasons, we assume that the terminals are in general position, that is, any two terminals differ in all three coordinates. By Observation 1 it suffices to describe and analyze the algorithm for the directional subproblem.

4.1 The 3D Grid Algorithm

We begin the description with a high-level summary. To solve the directional subproblem, we place a 3D grid that partitions the instance into a constant number of cuboids; see Fig. (a)a. Cuboids that differ in only two coordinates form slabs. We connect terminals from different slabs by M-connecting each terminal to the corners of its cuboid and by using the edges of the grid to connect the corners. We connect terminals from the same slab by recursively applying our algorithm to the slabs.

Step 1: Partitioning into cuboids and slabs. Consider the bounding cuboid  of  and set . Partition  by separating planes into axis-aligned subcuboids with . The indices are such that larger indices mean larger coordinates. Place the separating planes such that the number of terminals between two consecutive planes is at most . This can be accomplished by executing a simple plane-sweep for each direction and by placing separating planes after every  terminals. Here we exploit our general-position assumption. The edges of the resulting subcuboids—except the edges on the boundary of , which we do not need—induce a three-dimensional grid  of axis-aligned line segments. We insert  into the solution.

For each , define the -aligned slab, , to be the union of all cuboids with . Define -aligned and -aligned slabs , analogously; see Fig. (b)b.

(a) Example of a grid with two cuboids from different slabs.
(b) Examples of -, -, and -aligned slabs.
(c) M-paths using patching and grid edges.
Figure 5: Illustrations for the grid algorithm: cuboids, slabs, and patches.

Step 2: Add M-paths between different slabs. Consider two cuboids and with , , and . Any terminal pair can be M-connected using the edges of  as long as  and  are connected to the appropriate corners of their cuboids; see Fig. (c)c. To this end, we use the following patching procedure.

Call a cuboid relevant if there is a non-empty cuboid with , , and . For each relevant cuboid , let  denote a corner that is dominated by all terminals inside . We define up-patching  to mean M-connecting every terminal in  to . We up-patch  by solving (approximately) an instance of 3D-RSA with the terminals in  as points and as origin. We define down-patching analogously; cuboid is relevant if there is a non-empty cuboid with , , ; we let be the corner that dominates all terminals in .

We complete this step by inserting the up-patches and the down-patches of all relevant cuboids into the solution.

Step 3: Add M-paths within slabs. To M-connect relevant terminal pairs that lie in the same slab, we apply the grid algorithm (steps 1–3) recursively to each slab , , and with .

4.2 Analysis

We first show that the output of the algorithm presented in Section 4.1 is feasible, then we establish its approximation ratio of and its running time of for any . In this section, denotes the weight of a minimum M-network (not the cost of an optimal solution to the directional subproblem).

Lemma 5 (Feasibility)

The grid algorithm M-connects all relevant terminal pairs.


Let be a relevant terminal pair. First, suppose that and lie in cuboids of different slabs. Thus, there are such that and . Furthermore, and are relevant for up- and down-patching, respectively. When up-patching, we solve an instance of RSA connecting all terminals in  to . Similarly, down-patching M-connects  to . The claim follows as M-connects  and .

Now, suppose that  and  lie in the same slab. As the algorithm is applied recursively to each slab, there will be a recursion step where  and  lie in cuboids in different slabs. Here, we need our general-position assumption. Applying the argument above to that particular recursive step completes the proof. ∎

Approximation ratio.

Next, we turn to the performance of our algorithm. Let be its approximation ratio, where is the number of terminals in . The total weight of the output is the sum of , the cost of patching, and the cost for the recursive treatment of the slabs. We analyze each of the three costs separately.

The grid  consists of all edges induced by the subcuboids except the edges on the boundary of . Let denote the length of the longest side of . The weight of  is at most , which is bounded by as .

Let denote the cost of patching all relevant cuboids in step 2. Lemma 6 (given below) proves that .

Now consider the recursive application of the algorithm to all slabs. Recall that is a fixed minimum M-network for . For , let be the optimum cost for M-connecting all (not only relevant) terminal pairs in slab . Define  and  analogously.

Slightly abusing of notation, we write for the set of line segments of  intersected with slab . Observe that forms a feasible solution for . Thus, . By construction, any slab contains at most terminals. Hence, the total cost of the solutions for slabs is at most

Clearly, the solutions for the - and -slabs have the same bound.

Summing up all three types of costs, we obtain the recursive equation

Hence, . Plugging in yields , which proves the approximation ratio claimed in Theorem 4.1.

Lemma 6

Patching all relevant cuboids costs .


First note that it suffices to consider up-patching; the down-patching case can be argued analogously.

Lemma 7 shows the existence of a near-optimal M-network that up-patches all relevant cuboids. Lemma 8 shows that by reducing the patching problem to 3D-RSA, we can find such a network of cost , where is the approximation factor of 3D-RSA.

We argued in Section 2.3 that there exists an approximation-preserving reduction from 3D-RSA to DST. DST, in turn, admits an -approximation for any [4]. Hence, the cost of up-patching is indeed bounded by . ∎

We now turn to the two lemmas that we just used in the proof of Lemma 6. For our analysis, we need the network  that is the union of  with  and the projections of  onto every separating plane of . Since there are separating planes and, as we have seen above, , it holds that .

Lemma 7

There exists an M-network of total cost at most that up-patches all relevant cuboids.


We claim that up-patches all relevant cuboids. To this end, let and let with . Follow the M-path connecting and , starting from . This path must leave at a certain point , which lies on some face of . Face , in turn, lies on some separating plane of the grid . From now on follow the projection of the M-path from to on plane . This projected path must leave the face , since lies in with , and the projection of onto must therefore lie outside of . Moreover, the point where this path leaves  must lie on an edge of  incident to . Hence, we obtain a M-path by going from  to , from  to  and then from  to . ∎

Lemma 8

Given a number and an efficient -approximation of 3D-RSA, we can efficiently up-patch all relevant cuboids at cost no more than .


In Lemma 7, we showed the existence of a network that up-patches all relevant cuboids at low cost. Now consider an arbitrary relevant cuboid . Clearly up-patches . Hence , where denotes the cost of a minimum up-patching of . The problem of optimally up-patching is just an instance of 3D-RSA in which all terminals in have to be connected by an M-path to . Applying the factor- approximation algorithm for 3D-RSA to each instance