# Approximating Minimum Manhattan Networks in Higher Dimensions

###### Abstract

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.

### 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 .

###### Proof

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 .

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

.

###### Proof

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.

### 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.

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 .

###### Proof

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 .

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.

###### Proof

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.

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. ∎

###### 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 .

###### Lemma 3

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

###### Proof

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 .

###### Proof

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

(1) |

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.

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.

###### Proof

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 .

###### Proof

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

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.

###### Proof

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 .

###### Proof

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