3.2 Minimum Steiner Trees With Obstacles
3.2.2 A 2-Approximation
We now show that the Length–Restricted Steiner Tree Problem can be ap- proximated within a factor of 2 in polynomial time. In this connection, instances of the Length–Restricted Steiner Tree Problem with only two terminals, i.e. the Length–Restricted Shortest Path Problem (LRSPP), are of special interest for several reasons. In contrast to the general Length–Restricted Steiner Tree Prob- lem, such instances can be solved to optimality in polynomial time. M¨uller-Hannemann and Zimmermann [2003] analyzed the LRSPP and used it as a subroutine for constructing slack-optimized buffer and inverter trees. An efficient solution to the LRSPP is the ba- sis for our 2-approximation of the Length–Restricted Steiner Tree Problem. We summarize the most important properties of the LRSPP for later use.
Lemma 3.13 (M¨uller-Hannemann and Zimmermann [2003]). Given two terminals s and t, a set of obstacles B and a length restriction L, there is an optimal length–restricted s–t–path using only Hanan grid edges.
This property does not hold for Steiner trees. A small counter–example with three termi- nals is shown in Figure 3.19.
For a set B of obstacles described by mB edges (in total) and a set Z of terminals, the
Figure 3.19: A small rectilinear Steiner tree instance with three terminals: A Steiner minimum tree without a length restriction lies on the Hanan grid (left), whereas a Steiner minimum tree with such a restriction on the rectangular obstacle does not always lie on the Hanan grid (right).
many applications, see again Figure 3.18, this is by far too pessimistic. Therefore, in the following we use the actual size of the Hanan grid as a measure of our algorithm’s complexity.
Lemma 3.14 (M¨uller-Hannemann and Zimmermann [2003]). Given a Hanan grid with n vertices, there is a graph G with O(n) vertices and edges in which all s–t–paths are feasible length–restricted paths and which contains an optimal length–restricted s–t–path for any pair s, t of terminals. Such a graph can be constructed in O(n) time.
Lemma 3.15 (M¨uller-Hannemann and Zimmermann [2003]). Given a weighted rectilinear subdivision of the plane with an associated Hanan grid of size n where a subset of the regions are obstacles, the weighted shortest path problem with a given length restriction L can be solved by Dijkstra’s algorithm in O(n log n) time.
To obtain a 2-approximation for LRSTP, we use well-known 2-approximations for the Steiner tree problem in graphs. Consider an instance G = (V, E, `; Z) of the Steiner tree problem in graphs, where V is the vertex set and E the edge set of a connected graph with edge length function `, and Z denotes the terminal set. The distance network Nd = (Z, EZ, d) is a complete graph defined on the set of terminals Z: for each pair
z1, z2 ∈ Z of terminals there is an edge with exactly the length d(z1, z2) of a shortest
z1–z2-path in G.
For every vertex z ∈ Z let N (z) be the set of vertices in V that are closer to z (with respect to d) than to any other vertex in Z. More precisely, we partition the vertex set V into sets {N (z) : z ∈ Z} with N (z1) ∩ N (z2) = ∅ for z1, z2 ∈ Z, z16= z2 with the property
resolving ties arbitrarily. The modified distance network Nd∗ = (Z, E∗, d∗) is a subgraph of Nd defined by
E∗:= {(z1, z2) | z1, z2 ∈ Z and there is an edge (u, v) ∈ E with u ∈ N (z1), v ∈ N (z2)},
and
d∗(z1, z2) := min{d(z1, u) + `(u, v) + d(v, z2) | (u, v) ∈ E, u ∈ N (z1), v ∈ N (z2)},
for z1, z2∈ Z.
Mehlhorn [1988] showed that (a) every minimum spanning tree of Nd∗ is also a minimum spanning tree of Nd, and that (b) Nd∗ can be computed in O(n log n + m) time (namely,
by one single-source shortest path computation plus bucket sorting). Algorithm 3.3: Mehlhorn’s Algorithm
Input: Graph G = (V, E, `; Z) Output: A Steiner Tree T for G
Compute the modified distance network Nd∗ for G = (V, E, `; Z);
1
Compute a minimum spanning tree Td∗ in Nd∗;
2
Transform Td∗ into a Steiner tree T for G by replacing every edge of Td∗ by its
3
corresponding shortest path in G; Return T ;
4
Given an instance G = (V, E, `; Z) of the Steiner tree problem in graphs with n = |V | and m = |E|, Mehlhorn’s Algorithm computes a Steiner tree with a performance guarantee of 2 in O(n log n + m) time (Mehlhorn [1988]).
Theorem 3.16. Length–restricted Steiner trees can be approximated with a performance guarantee of 2 in O(n log n) time.
Proof. Using the results of the previous section, we can efficiently build up the modified Hanan grid G0 from Lemma 3.14. We apply Mehlhorn’s Algorithm to G0 and obtain a performance guarantee of 2. The claim on the running time follows immediately as O(m) = O(n). Finally, the obtained tree is feasible, as no tree in G0 violates any length restriction.
We finish this section by showing that the approximation guarantee for Mehlhorn’s Algorithm is tight. The Steiner ratio is the least upper bound on the length of a minimum spanning tree in the distance network divided by the length of a minimum Steiner tree for all instances of the Steiner tree problem. We extend this notion to length restrictions. The length–restricted Steiner ratio is the least upper bound on the length of a minimum spanning tree in the distance network containing a length–restricted shortest path between any pair of terminals divided by the length of an LRSMT for all instances of the Length–Restricted Steiner Tree Problem. In the case without obstacles the
Steiner ratio is 32 as was shown by Hwang [1976]. However, in the scenario with obstacles and length restrictions the corresponding Steiner ratio is worse, namely 2, and therefore not better than for the Steiner tree problem in general graphs.
Lemma 3.17. The length–restricted Steiner ratio is 2.
Proof. Clearly, the Steiner ratio is not larger than 2 by the approximation guarantee from Theorem 3.16. To prove that the Steiner ratio is exactly 2, we provide a class of input instances for which the length of the minimum spanning tree in the distance network (based on length–restricted shortest paths) becomes arbitrarily close to twice the length of a length–restricted Steiner minimum tree.
Figure 3.20: Schematic view on the instance class with a Steiner ratio of 2: the LRSMT (left) and a minimum spanning tree in the distance network based on length–restricted shortest paths (right).
For a given length restriction L, we define an instance with k = 2r terminals as follows, see Figure 3.20. The terminal positions are p1 = (0, 0), p2i= (−rL, iL + 3i) for i = 1, . . . , r − 1
and p2i+1 = (rL, iL + 3i) for i = 1, . . . , r − 1 and pk = (0, rL + 3r). There are k − 2
rectangular obstacles B1, . . . Bk−2. We specify each rectangle by giving two opposite corner
points, namely the lower left corner `ci and the upper right corner rci for i = 1, . . . k − 2.
Precisely, we define `c2i−1 = (−2rL, iL + 3i + 1), rc2i−1 = (−1, iL + 3i + L + 2) and
`c2i = (1, iL + 3i + 1), rc2i = (2rL, iL + 3i + L + 2), for i = 1, . . . , r − 1. The length of a
length–restricted Steiner minimum tree LRSM T is
|LRSM T | = 2r2L − rL + 3r.
The length of a minimum spanning tree in the distance network, however, is |M ST | = 4r2L − 3rL + r + 4.
Hence
lim
r→∞
|M ST | |LRSM T | = 2.