This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

The two-edge connectivity survivable-network design problem in planar graphs

Glencora Borradaile
Oregon State University
   Philip Klein
Brown University
Abstract

Consider the following problem: given a graph with edge costs and a subset QQ of vertices, find a minimum-cost subgraph in which there are two edge-disjoint paths connecting every pair of vertices in QQ. The problem is a failure-resilient analog of the Steiner tree problem arising, for example, in telecommunications applications. We study a more general mixed-connectivity formulation, also employed in telecommunications optimization. Given a number (or requirement) r(v){0,1,2}r(v)\in\{0,1,2\} for each vertex vv in the graph, find a minimum-cost subgraph in which there are min{r(u),r(v)}\min\{r(u),r(v)\} edge-disjoint uu-to-vv paths for every pair u,vu,v of vertices.

We address the problem in planar graphs, considering a popular relaxation in which the solution is allowed to use multiple copies of the input-graph edges (paying separately for each copy). The problem is max SNP-hard in general graphs and strongly NP-hard in planar graphs. We give the first polynomial-time approximation scheme in planar graphs. The running time is O(nlogn)O(n\log n).

Under the additional restriction that the requirements are only non-zero for vertices on the boundary of a single face of a planar graph, we give a polynomial-time algorithm to find the optimal solution.

1 Introduction

In the field of telecommunications network design, an important requirement of networks is resilience to link failures [24]. The goal of the survivable network problem is to find a graph that provides multiple routes between pairs of terminals. In this work we address a problem concerning edge-disjoint paths. For a set SS of non-negative integers, an instance of the SS-edge connectivity design problem is a pair (G,𝒓)(G,\bm{r}) where G=(V,E)G=(V,E) is a undirected graph with edge costs 𝒄:V+\bm{c}\;:\;V\rightarrow\Re^{+} and connectivity requirements 𝒓:VS\bm{r}\;:\;V\rightarrow S. The goal is to find a minimum-cost subgraph of GG that, for each pair u,vu,v of vertices, contains at least min{𝒓(u),𝒓(v)}\min\{\bm{r}(u),\bm{r}(v)\} edge-disjoint uu-to-vv paths.

In telecommunication-network design, failures are rare; for this reason, there has been much research on low-connectivity network design problems, in which the maximum connectivity requirement is two. Resende and Pardalos [24] survey the literature, which includes heuristics, structural results, polyhedral results, computational results using cutting planes, and approximation algorithms. This work focuses on {0,1,2}\{0,1,2\}-edge connectivity problems in planar graphs.

We consider the previously studied variant wherein the solution subgraph is allowed to contain multiple copies of each edge of the input graph (a multi-subgraph); the costs of the edges in the solution are counted according to multiplicity. For {0,1,2}\{0,1,2\}-connectivity, at most two copies of an edge are needed. We call this the relaxed version of the problem and use the term strict to refer to the version of the problem in which multiple copies of edges of the input graph are disallowed.

A polynomial-time approximation scheme (PTAS) for an optimization problem is an algorithm that, given a fixed constant ϵ>0\epsilon>0, runs in polynomial time and returns a solution within 1+ϵ1+\epsilon of optimal. The algorithm’s running time need not be polynomial in ϵ\epsilon. The PTAS is efficient if the running time is bounded by a polynomial whose degree is independent of ϵ\epsilon. In this paper, we focus on designing a PTAS for {0,1,2}\{0,1,2\}-edge connectivity.

Two edge-connected spanning subgraphs

A special case that has received much attention is the problem of finding a minimum-cost subgraph of GG in which every pair of vertices is two edge-connected. Formally this is the strict {2}\{2\}-edge connectivity design problem. This problem is NP-hard [12] (even in planar graphs, by a reduction from Hamiltonian cycle) and max-SNP hard [10] in general graphs. In general graphs, Frederickson and JáJá [13] gave an approximation ratio of 3 which was later improved to 2 (and 1.5 for unit-cost graphs) by Khuller and Vishkin [17]. In planar graphs, Berger et al. [4] gave a polynomial-time approximation scheme (PTAS) for the relaxed {1,2}\{1,2\}-edge connectivity design problem and Berger and Grigni [5] gave a PTAS for the strict {2}\{2\}-edge connectivity design problem. Neither of these algorithms is efficient; the degree of the polynomial bounding the running time grows with 1/ϵ1/\epsilon. For the relaxed version of spanning planar 2-edge connectivity, the techniques of Klein [19] can be used to obtain a linear-time approximation scheme.

Beyond spanning

When a vertex can be assigned a requirement of zero, edge-connectivity design problems include the Steiner tree problem: given a graph with edge costs and given a subset of vertices (called the terminals), find a minimum-cost connected subgraph that includes all vertices in the subset. More generally, we refer to any vertex with a non-zero connectivity requirement as a terminal. For {0,2}\{0,2\}-edge connectivity design problem, in general graphs, Ravi [23] showed that Frederickson and JáJá’s approach could be generalized to give a 3-approximation algorithm (in general graphs). Klein and Ravi [20] gave a 2-approximation for the {0,1,2}\{0,1,2\}-edge connectivity design problem. (In fact, they solve the even more general version in which requirements 𝒓(u,v)\bm{r}({u,v}) are specified for pairs u,vu,v of vertices.) This result was generalized to connectivity requirements higher than two by Williamson et al. [27], Goemans et al. [14], and Jain [16]. These algorithms each handle the strict version of the problem.


In their recent paper on the spanning case [5], Berger and Grigni raise the question of whether there is a PTAS for the {0,2}\{0,2\}-edge connectivity design problem in planar graphs. In this paper, we answer that question in the affirmative for the relaxed version. The question in the case of the strict version is still open.

1.1 Summary of new results

Our main result is a PTAS for the relaxed {0,1,2}\{0,1,2\}-edge connectivity problem in planar graphs:

Theorem 1.1.

For any ϵ\epsilon, there is an O(nlogn)O(n\log n) algorithm that, given a planar instance (G,𝐫)(G,\bm{r}) of relaxed {0,1,2}\{0,1,2\}-edge connectivity, finds a solution whose cost is at most 1+ϵ1+\epsilon times optimal.

This result builds on the work of Borradaile, Klein and Mathieu [7, 8, 9] which gives a PTAS for the Steiner tree (i.e. {0,1}\{0,1\}-edge connectivity) problem. This is the first PTAS for a non-spanning two-edge connectivity problem in planar graphs.

Additionally, we give an exact, polynomial-time algorithm for the special case where are the vertices with non-zero requirement are on the boundary of a common face:

Theorem 1.2.

There is an O(k3n)O(k^{3}n)-time algorithm that finds an optimal solution to any planar instance (G,𝐫)(G,\bm{r}) of relaxed {0,1,2}\{0,1,2\}-edge-connectivity in which only kk vertices are assigned nonzero requirements and all of them are on the boundary of a single face. For instances of relaxed {0,2}\{0,2\}-edge connectivity (i.e. all requirements are 0 or 2), the algorithm runs in linear time.

1.2 Organization

We start by proving Theorem 1.2 in Section 3. The proof of this result is less involved and provides a good warm-up for the proof of Theorem 1.1. The algorithm uses the linear-time shortest-path algorithm for planar graphs [15] and a polynomial-time algorithm for the equivalent boundary Steiner-tree problem [11] as black boxes.

In order to prove Theorem 1.1, we need to review the framework developed for the Steiner tree problem in planar graphs. We give an overview of this framework in Section 4 and show how to use it to solve the relaxed {0,1,2}\{0,1,2\}-edge connectivity problem. The correctness of the PTAS relies on a Structure Theorem (Theorem 4.6) which bounds the number of interactions of a solution between different regions of the graph while paying only a small relative penalty in cost. We prove this Structure Theorem in Section 5. The algorithm itself requires a dynamic program; we give the details for this in Section 6.

2 Basics

We consider graphs and multi-subgraphs. A multi-subgraph is a subgraph where edges may be included with multiplicity. In proving the Structure Theorem we will replace subgraphs of a solution with other subgraphs. In doing so, two of the newly introduced subgraphs may share an edge.

For a subgraph HH of a graph GG, we use V(H)V(H) to denote the set of vertices in HH. For a graph GG and set of edges EE, G/EG/E denotes the graph obtained by contracting the edges EE.

For a path PP, P[x,y]P[x,y] denotes the xx-to-yy subpath of PP for vertices xx and yy of PP; end(P)\text{end}(P) and start(P)\text{start}(P) denote the first and last vertices of PP; rev(P)\text{rev}(P) denotes the reverse of path PP. For paths AA and BB, ABA\circ B denotes the concatenation of AA and BB. See Figure 1 for an illustration of the notion of paths crossing. A cycle is non-self-crossing if every pair of subpaths of the cycle do not cross.

We employ the usual definitions of planar embedded graphs. For a face ff, the cycle of edges making up the boundary of ff is denoted f\partial f. We assume the planar graph GG is connected and is embedded in the plane, so there is a single infinite face, and we denote its boundary by G\partial G.

For a cycle CC in a planar embedded graph, C[x,y]C[x,y] denotes an xx-to-yy path in CC for vertices xx and yy of CC. There are two such paths and the choice between the two possibilities will be disambiguated by always choosing the subpath in the clockwise direction. A cycle CC is said to enclose the faces that are embedded inside it. CC encloses an edge/vertex if the edge/vertex is embedded inside it or on it. In the former case, CC strictly encloses the edge/vertex. For non-crossing xx-to-yy paths PP and QQ, PP is said to be left of QQ if Prev(Q)P\circ\text{rev}(Q) is a clockwise cycle.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 1: (a) PP crosses QQ. (b) PP and QQ are noncrossing; QQ is left of PP (c) A self-crossing cycle. (d) A non-self-crossing cycle (non-self-crossing allows for repeated vertices, i.e. vv.)

We will use the following as a subroutine:

Theorem 2.1.

Erickson, Monma and Veinott [11] Let GG be a planar embedded graph with edge-costs and let QQ be a set of kk terminals that all lie on the boundary of a single face. Then there is an algorithm to find an minimum-cost Steiner tree of GG spanning QQ in time O(nk3+(nlogn)k2)O(nk^{3}+(n\log n)k^{2}) or O(nk3)O(nk^{3}) time using the algorithm of [15].

2.1 Edge-connectivity basics

Since we are only interested in connectivity up to and including two-edge connectivity, we define the following: For a graph HH and vertices x,yx,y, let

cH(x,y)=min{2,maximum number of edge-disjoint x-to-y paths in H}.c_{H}(x,y)=\min\{2,\text{maximum number of edge-disjoint $x$-to-$y$ paths in $H$}\}.

For two multi-subgraphs HH and HH^{\prime} of a common graph GG and for a subset SS of the vertices of GG, we say HH^{\prime} achieves the two-connectivity of HH for SS if cH(x,y)cH(x,y)c_{H^{\prime}}(x,y)\geq c_{H}(x,y) for every x,ySx,y\in S. We say HH^{\prime} achieves the boundary two-connectivity of HH if it achieves the two-connectivity of HH for S=V(G)S=V(\partial G).

Several of the results in the paper build on observations of the structural property of two-edge connected graphs. The first is a well-known property:

Lemma 2.2 (Transitivity).

For any graph HH, for vertices u,v,wV(H)u,v,w\in V(H), cH(u,w)min{cH(u,v),cH(v,w)}c_{H}(u,w)\geq\min\{c_{H}(u,v),c_{H}(v,w)\}

Note that in the following, we can replace “strictly encloses no/strictly enclosed” with “strictly encloses all/strictly not enclosed” without loss of generality (by viewing a face enclosed by CC as the infinite face).

Lemma 2.3 (Empty Cycle).

Let HH be a (multi-)subgraph of GG and let CC be a non-self-crossing cycle of HH that strictly encloses no terminals. Let HH^{\prime} be the subgraph of HH obtained by removing the edges of HH that are strictly enclosed by CC. Then HH^{\prime} achieves the two-connectivity of HH.

Proof.

See Figure 2(b). Without loss of generality, view CC as a clockwise cycle. Consider two terminals xx and yy. We show that there are cH(x,y)c_{H}(x,y) edge-disjoint xx-to-yy paths in HH that do not use edges strictly enclosed by CC. There are two nontrivial cases:

cH(x,y)=1:c_{H}(x,y)=1:

Let PP be an xx-to-yy path in HH. If PP intersects CC, let xPx_{P} be the first vertex of PP that is in CC and let yPy_{P} be the last vertex of PP that is in CC. Let P=P[x,xP]C[xP,yP]P[yP,y]P^{\prime}=P[x,x_{P}]\circ C[x_{P},y_{P}]\circ P[y_{P},y]. If PP does not intersect CC, let P=PP^{\prime}=P. PP^{\prime} is an xx-to-yy path in HH that has no edge strictly enclosed by CC.

cH(x,y)=2:c_{H}(x,y)=2:

Let PP and QQ be edge-disjoint xx-to-yy paths in HH. If QQ does not intersect CC, then PP^{\prime} and QQ are edge-disjoint paths, neither of which has an edge strictly enclosed by CC (where PP^{\prime} is as defined above). Suppose that both PP and QQ intersect CC. Define xQx_{Q} and yQy_{Q} as for PP. Suppose these vertices are ordered xPx_{P}, xQx_{Q}, yQy_{Q}, yPy_{P} around CC. Then P[x,xP]C[xP,yQ]Q[yQ,y]P[x,x_{P}]\circ C[x_{P},y_{Q}]\circ Q[y_{Q},y] and Q[x,xQ]rev(C[yP,xQ])P[yP,y]Q[x,x_{Q}]\circ\text{rev}(C[y_{P},x_{Q}])\circ P[y_{P},y] are edge disjoint xx-to-yy paths that do not use any edges enclosed by CC. This case is illustrated in Figure 2; other cases (for other orderings of {xP,xQ,yQ,yP}\{x_{P},x_{Q},y_{Q},y_{P}\} along CC) follow similarly.

Refer to caption
Figure 2: An illustration of the proof of Lemma 2.3: there are edge-disjoint xx-to-yy paths (grey) that do not use edges enclosed by CC.

We have shown that we can achieve the boundary two-connectivity of HH without using any edges strictly enclosed by a cycle of HH. The lemma follows. ∎

2.2 Vertex-connectivity basics

The observations in this section do not involve planarity. Although our results are for edge connectivity, we use vertex connectivity in Section 5 to simplify our proofs.

Vertices xx and yy are biconnected (a.k.a. two-vertex-connected) in a graph HH if HH contains two xx-to-yy paths that do not share any internal vertices, or, equivalently, if there is a simple cycle in HH that contains both xx and yy. For a subset SS of vertices of HH, we say HH is SS-biconnected if for every pair x,yx,y of vertices of SS, HH contains a simple cycle through xx and yy. We refer to the vertices of SS as terminals.

Lemma 2.4.

A minimal SS-biconnected graph is biconnected.

Proof.

Suppose HH has a cut-vertex vv: H=H1H2H=H_{1}\cup H_{2} where H1H2={v}H_{1}\cap H_{2}=\{v\} and Hi{v}H_{i}\neq\{v\} for i=1,2i=1,2. If H1H_{1} and H2H_{2} both have terminals then HH does not biconnect every pair of terminals. If, say, H2H_{2} does not have a terminal then H(H2{v})H-(H_{2}-\{v\}) is a smaller subgraph that biconnects the terminals. ∎

For the next two proofs, we use the notion of an (open) ear decomposition. An ear decomposition of a graph GG is a partition of the edges into a cycle CC and a sequence of paths P1,P2,,PkP_{1},P_{2},\ldots,P_{k} such that the endpoints of PiP_{i} are in C(j<iPj)C\cup(\bigcup_{j<i}P_{j}). The ear decomposition is open if the endpoints of PiP_{i} are distinct. A graph is biconnected iff it has an open ear decomposition [25]. Ear decompositions can be built greedily starting with any cycle.

Theorem 2.5.

Let HH be a minimal SS-biconnected graph. Every cycle in HH contains a vertex of SS.

Proof.

Assume for a contradiction that HH contains a cycle CC that does not contain any terminals. By Lemma 2.4, HH is biconnected and so has an open ear decomposition starting with CC; let C,P1,P2,,PkC,P_{1},P_{2},\ldots,P_{k} be an open ear decomposition of HH. Define i\mathcal{E}_{i} to be the subgraph composed of CC and the first ii ears: C(jiPj)C\cup(\bigcup_{j\leq i}P_{j}). We construct another open ear decomposition with one fewer ear C,P2,,PkC^{\prime},P_{2}^{\prime},\ldots,P_{k}^{\prime} of HH as follows (note there is no ear P1P_{1}^{\prime}) and use i\mathcal{E}_{i}^{\prime} to denote C(jiPj)C^{\prime}\cup(\bigcup_{j\leq i}P_{j}^{\prime}).

Let xx and yy be the endpoints of P1P_{1}. Let C=C[y,x]P1C^{\prime}=C[y,x]\circ P_{1}. Let Q1=C[x,y]Q_{1}^{\prime}=C[x,y] be the portion of CC that is not used in CC^{\prime}. We will maintain the invariant:

Qi contains at least one edge and Qi=iiQ_{i}^{\prime}\text{ contains at least one edge and }Q_{i}^{\prime}=\mathcal{E}_{i}-\mathcal{E}_{i}^{\prime}

Clearly this invariant holds for i=1i=1. For i2i\geq 2, we define PiP_{i}^{\prime} using PiP_{i} and Qi1Q_{i-1}^{\prime}. Note that one or more of the endpoints of PiP_{i} may be in Qi1Q_{i-1}^{\prime} and so i1Pi\mathcal{E}_{i-1}^{\prime}\cup P_{i} is not necessarily a valid ear decomposition. However, by the invariant, PiP_{i}’s endpoints are in Qi1i1Q_{i-1}^{\prime}\cup\mathcal{E}_{i-1}^{\prime}, allowing us to define a new valid ear PiP_{i}^{\prime} by extending PiP_{i} along Qi1Q_{i-1}^{\prime} to reach i1\mathcal{E}_{i-1}^{\prime} as follows: PiP_{i}^{\prime} is the minimal path of PiQi1i1P_{i}\cup Q_{i-1}^{\prime}\cup\mathcal{E}_{i-1}^{\prime} whose endpoints are in i1\mathcal{E}_{i-1}^{\prime} such that PiP_{i} is a subpath of PiP_{i}^{\prime}. Define Qi=Qi1(PiPi)Q_{i}^{\prime}=Q_{i-1}^{\prime}-(P_{i}^{\prime}-P_{i}). Since PiP_{i} has distinct endpoints, PiP_{i}^{\prime} does not contain all the edges of Qi1Q_{i-1}^{\prime}, thus maintaining the invariant.

By construction, C,P2,,PkC^{\prime},P_{2}^{\prime},\ldots,P_{k}^{\prime} is an open ear decomposition of HQkH-Q_{k}^{\prime} and so HQkH-Q_{k}^{\prime} is biconnected. Since QkCQ_{k}^{\prime}\subset C and CC does not contain any terminals, HQkH-Q_{k}^{\prime} is SS-biconnected and since QkQ_{k}^{\prime} contains at least one edge, HQkH-Q_{k}^{\prime} contradicts the minimality of HH. ∎

Theorem 2.6.

Let HH be a minimal SS-biconnected graph. For any cycle CC in HH, every CC-to-CC path contains a vertex of SS.

Proof.

Let CC be any cycle. By Theorem 2.5, CC contains a terminal. We consider an ear decomposition C,P1,P2,C,P_{1},P_{2},\ldots of HH built as follows. Consider sSs\in S not spanned by CP1Pi1C\cup P_{1}\cup\cdots\cup P_{i-1}. Then there are vertex-disjoint paths from ss to CP1Pi1C\cup P_{1}\cup\cdots\cup P_{i-1} since ss and the terminal on, for example, CC are biconnected. Let PiP_{i} be the ear formed by these vertex-disjoint paths. Observe that by this construction each ear PiP_{i} contains a terminal for every ii.

Suppose every path in ikPi\cup_{i\leq k}P_{i} with two endpoints in CC strictly contains a vertex of SS. We prove that this is then the case for ik+1Pi\cup_{i\leq k+1}P_{i}. Since Pk+1P_{k+1} is an ear, its endpoints are in ikPi\cup_{i\leq k}P_{i} and so any CC-to-CC path that uses an edge of Pk+1P_{k+1} would have to contain the entirety of Pk+1P_{k+1}; therefore Pk+1P_{k+1} cannot introduce a terminal-free path. ∎

3 An exact algorithm for boundary {0,1,2}\{0,1,2\}-edge connectivity

Our algorithm for the boundary case of {0,1,2}\{0,1,2\}-edge connectivity, as formalized in Theorem 1.2 is based on the observation that there is an optimal solution to the problem that is the union of Steiner trees whose terminals are boundary vertices, allowing us to employ the boundary-Steiner-tree algorithm of Theorem 2.1.

When terminals are restricted to the boundary of the graph, no cycle can strictly enclose a terminal. By Lemma 2.3, we get:

Corollary 3.1.

Let HH be a subgraph of GG and let HH^{\prime} be a minimal subgraph of HH that achieves the boundary two-connectivity of HH. Then in HH^{\prime} every cycle CC strictly encloses no edges.

In the following we will assume that the boundary of the graph GG is a simple cycle; that is, a vertex appears at most once along G\partial G. Let us see why this is a safe assumption. Suppose the boundary of GG is not simple: there is a vertex vv that appears at least twice along G\partial G. Partition GG into two graphs G1G_{1} and G2G_{2} such that G1G2=vG_{1}\cap G_{2}=v, vv appears exactly once along G1\partial G_{1} and E(G)=E(G1)E(G2)E(\partial G)=E(\partial G_{1})\cup E(\partial G_{2}). Let xx be a vertex of G1\partial G_{1} and let yy be a vertex of G2\partial G_{2}. Then cG(x,y)=min{cG1(x,v),cG2(v,y)}c_{G}(x,y)=\min\{c_{G_{1}}(x,v),c_{G_{2}}(v,y)\}, allowing us to define new connectivity requirements and solve the problem separately for G1G_{1} and G2G_{2}.

Lemma 3.2.

Let PP and QQ be leftmost non-self-crossing xPx_{P}-to-yPy_{P} and xQx_{Q}-to-yQy_{Q} paths, respectively, where xPx_{P}, yPy_{P}, xQx_{Q}, and yQy_{Q} are vertices in clockwise order on G\partial G. Then PP does not cross QQ.

Proof.

For a contradiction, assume that QQ crosses PP. Refer to Figure 3(a). Let CC (interior shaded) be the cycle Prev(G[xP,yP])P\circ\text{rev}(\partial G[x_{P},y_{P}]). CC strictly encloses neither xQx_{Q} nor yQy_{Q}. If QQ crosses PP, there must be a subpath of QQ enclosed by CC. Let xx be the first vertex of QQ in PP and let yy be the last. There are two cases:

xP[y,yP]:x\in P{[y,y_{P}]}:

Refer to Figure 3(a). In this case, rev(P[y,x])\text{rev}(P[y,x]) is left of Q[x,y]Q[x,y] and so Q[xQ,x]rev(P[y,x])Q[y,yQ]Q[x_{Q},x]\circ\text{rev}(P[y,x])\circ Q[y,y_{Q}] (grey path) is left of QQ, contradicting the leftmostness of QQ.

xP[xP,y]:x\in P{[x_{P},y]}:

Refer to Figure 3(b). In this case, Q[xQ,x]rev(P[xP,x])G[xP,xQ]Q[x_{Q},x]\circ\text{rev}(P[x_{P},x])\circ\partial G[x_{P},x_{Q}] (shaded interior) is a cycle that strictly encloses yy and does not enclose yQy_{Q}. Since yy is the last vertex of QQ on PP, QQ must cross itself, a contradiction. ∎

Refer to caption
Refer to caption
Figure 3: Illustration of Lemma 3.2: there exist leftmost paths that do not cross.
Lemma 3.3.

Let HH be a subgraph of GG. Let SS be a subset of V(G)V(\partial G) such that, for every x,ySx,y\in S, cH(x,y)=2c_{H}(x,y)=2. Then there is a non-self-crossing cycle CC in HH such that SV(C)S\subseteq V(C) and the order that CC visits the vertices in SS is the same as their order along G\partial G.

Proof.

Assume that the vertices of SS are in the clockwise order s0,s1,,sk1s_{0},s_{1},\ldots,s_{k-1} along G\partial G.

Let PiP_{i} be the leftmost non-self-crossing si1s_{i-1}-to-sis_{i} path in HH, taking the indices modulo kk. Let C=P1P2Pk1C=P_{1}\circ P_{2}\circ\cdots\circ P_{k-1}. Certainly CC visits each of the vertices s0,s1,s_{0},s_{1},\ldots in order. By Lemma 3.2, PiP_{i} does not cross PjP_{j} for all iji\neq j. Therefore, CC is non-self-crossing, proving the lemma. ∎

We now give an algorithm for the following problem: given a planar graph GG with edge costs and an assignment 𝒓\bm{r} of requirements such that r(v)>0r(v)>0 only for vertices vv of G\partial G, find a minimum-cost multi-subgraph HH of GG that satisfies the requirements (i.e. such that there are at least min{r(x),r(y)}\min\{r(x),r(y)\} edge-disjoint xx-to-yy paths in HH).

Boundary2EC(G,r)(G,r) 1. Let q1,q2,q_{1},q_{2},\ldots be the cyclic ordering of vertices {vV(G):𝒓(v)=2}\{v\in V(\partial G):\ \bm{r}(v)=2\}. 2. For i=1,i=1,\ldots, let Xi={qi}{vV(G[qi,qi+1]):𝒓(v)=1}{qi+1}X_{i}=\{q_{i}\}\cup\{v\in V(\partial G[q_{i},q_{i+1}])\ :\ \bm{r}(v)=1\}\cup\{q_{i+1}\}. 3. For i=1,i=1,\ldots, let TiT_{i} be the minimum-cost Steiner tree spanning XiX_{i}. 4. Return the disjoint union iTi\cup_{i}T_{i}.

We show that Boundary2EC correctly finds the minimum-cost multi-subgraph of GG satisfying the requirements. Let OPT{\rm OPT} denote an optimal solution. By Lemma 3.3, OPT{\rm OPT} contains a non-self-crossing cycle CC that visits q1,q2,q_{1},q_{2},\ldots (as defined in Boundary2EC). By Corollary 3.1, CC strictly encloses no edges of OPT{\rm OPT}. Let PiP_{i} be the leftmost qiq_{i}-to-qi+1q_{i+1} path in CC. The vertices in XiX_{i} are connected in OPT{\rm OPT}, by the input requirements. Let SiS_{i} be the subgraph of OPT{\rm OPT} that connects XiX_{i}. This subgraph is enclosed by G[qi,qi+1]C[qi,qi+1]\partial G[q_{i},q_{i+1}]\circ C[q_{i},q_{i+1}]. Replacing SiS_{i} by TiT_{i} achieves the same connectivity among vertices vv with 𝒓(v)>0\bm{r}(v)>0 without increasing the cost.

We will use the following lemma to give an efficient implementation of Boundary2EC.

Lemma 3.4.

Let aa, bb and cc be vertices ordered along the clockwise boundary G\partial G of a planar graph GG. Let TaT_{a} be the shortest-path tree rooted at aa (using edge costs for lengths). Then for any set of terminals QQ in G[b,c]\partial G[b,c], there is a minimum-cost Steiner tree connecting them that enclosed by the cycle G[b,c]Ta[c,b]\partial G[b,c]\circ T_{a}[c,b].

Proof.

Refer to Figure 4. Let C=G[b,c]Ta[c,b]C=\partial G[b,c]\circ T_{a}[c,b]. Let TT be a minimum-cost Steiner tree in GG connecting QQ. Suppose some part of TT is not enclosed by CC. Let TT^{\prime} be a maximal subtree of TT not enclosed by CC. The leaves of TT^{\prime} are on Ta[c,b]T_{a}[c,b]. Let PP be the minimum subpath of Ta[b,c]T_{a}[b,c] that spans these leaves. Let PP^{\prime} be the start(P)\text{start}(P)-to-end(P)\text{end}(P) path in TT^{\prime}. See Figure 4.

We consider the case when start(P)\text{start}(P^{\prime}) is a vertex of Ta[a,b]T_{a}[a,b] and end(P)\text{end}(P^{\prime}) is a vertex of Ta[a,c]T_{a}[a,c] (the other cases, when start(P)\text{start}(P^{\prime}) and end(P)\text{end}(P^{\prime}) are either both vertices of Ta[a,b]T_{a}[a,b] or both vertices of Tb[a,c]T_{b}[a,c], are simpler). Then PP^{\prime} must cross Ta[a,x]T_{a}[a,x] where xx is the last vertex common to Ta[a,b]T_{a}[a,b] and Ta[a,c]T_{a}[a,c] (i.e. the lowest common ancestor in TaT_{a} of bb and cc). Let yy be a vertex of PTa[a,x]P^{\prime}\cap T_{a}[a,x]. Since TaT_{a} is a shortest-path tree in an undirected path, every subpath of Ta[a,z]T_{a}[a,z] and Ta[z,a]T_{a}[z,a], for any vertex zz, is a shortest path. We have that:

𝒄(P)\displaystyle\bm{c}(P^{\prime}) =𝒄(P[start(P),y])+𝒄(P[y,end(P)])\displaystyle=\bm{c}(P^{\prime}[\text{start}(P^{\prime}),y])+\bm{c}(P^{\prime}[y,\text{end}(P^{\prime})])
𝒄(Ta[start(P),y])+𝒄(Ta[y,end(P)])\displaystyle\geq\bm{c}(T_{a}[\text{start}(P^{\prime}),y])+\bm{c}(T_{a}[y,\text{end}(P^{\prime})])
𝒄(Ta[start(P),end(P)])\displaystyle\geq\bm{c}(T_{a}[\text{start}(P^{\prime}),\text{end}(P^{\prime})])
𝒄(P)\displaystyle\geq\bm{c}(P)

Let T^=TTP\widehat{T}=T-T^{\prime}\cup P. By construction, T^\widehat{T} spans QQ. Using that 𝒄(P)𝒄(P)\bm{c}(P^{\prime})\geq\bm{c}(P), we have that 𝒄(T^)=𝒄(T)𝒄(T)+𝒄(P)𝒄(T)𝒄(T)+𝒄(P)𝒄(T)\bm{c}(\widehat{T})=\bm{c}(T)-\bm{c}(T^{\prime})+\bm{c}(P)\leq\bm{c}(T)-\bm{c}(T^{\prime})+\bm{c}(P^{\prime})\leq\bm{c}(T) since PP^{\prime} is a subpath of TT^{\prime}.

Repeating this process for every subtree of TT not enclosed by CC results in a tree enclosed by CC spanning QQ that is no longer than TT. ∎

Refer to caption
Figure 4: There is a tree T^\widehat{T} that is just as cheap as TT (dotted) and spans the terminals between bb and cc but is enclosed by CC (whose interior is shaded). T^\widehat{T} is composed of the portion of TT enclosed by CC plus PP, the thick grey path.

We describe an O(k3n)O(k^{3}n)-time implementation of Boundary2EC (where kk is the number of terminals). Compute a shortest-path tree TT rooted at terminal q1q_{1} in linear time. For each ii, consider the graph GiG_{i} enclosed by Ci=G[qi,qi+1]T[qi+1,qi]C_{i}=\partial G[q_{i},q_{i+1}]\circ T[q_{i+1},q_{i}]. Compute the minimum Steiner tree spanning XiX_{i} in GiG_{i}. By Lemma 3.4, TiT_{i} has the same cost as the minimum spanning tree spanning XiX_{i} in GG. Since each edge of GG appears in at most two subgraphs GiG_{i} and GjG_{j}, the trees TiT_{i} can be computed in O(k3n)O(k^{3}n) time (by Theorem 2.1).

Note: if the requirements are such that 𝒓(v){0,2}\bm{r}(v)\in\{0,2\} for every vertex vv on the boundary of GG, then the sets XiX_{i} have cardinality 2. Instead of computing Steiner trees in Step 3, we need only compute shortest paths. The running time for this special case is therefore linear.

This completes the proof of Theorem 1.2.

4 A PTAS framework for connectivity problems in planar graphs

In this section, we review the approach used in [9] to give a PTAS framework for the Steiner tree problem in planar graphs. While the contents of this section are largely a summary of the framework, we generalize where necessary for the survivable network design problem, but refer the reader to the original paper [9] for proofs and construction details that are not unique to the focus of this article.

Herein, denote the set of terminals by QQ. OPT{\rm OPT} denotes an optimal solution to the survivable network design problem. We overload this notation to also represent the cost of the optimal solution.

4.1 Mortar graph and bricks

The framework relies on an algorithm for finding a subgraph MG of GG, called the mortar graph [9]. The mortar graph spans QQ and has total cost no more than 9ϵ19\epsilon^{-1} times the cost of a minimum Steiner tree in GG spanning QQ (Lemma 6.9 of [9]). Since a solution to the survivable network problem necessarily spans QQ, the mortar graph has cost at most

9ϵ1OPT.9\epsilon^{-1}\cdot{\rm OPT}. (1)

The algorithm for computing MG first computes a 2-approximate Steiner tree  [21, 26, 28] and then augments this subgraph with short paths. The resulting graph is a grid-like subgraph (the bold edges in Figure 5(a)) many of whose subpaths are ϵ\epsilon-short:

Definition 4.1.

A path PP in a graph GG is ϵ\epsilon-short if for every pair of vertices xx and yy on PP,

distP(x,y)(1+ϵ)distG(x,y).{dist}_{P}(x,y)\leq(1+\epsilon){dist}_{G}(x,y).

That is, the distance from xx to yy along PP is at most (1+ϵ)(1+\epsilon) times the distance from xx to yy in GG.

For each face ff of the mortar graph, the subgraph of GG enclosed by that face (including the edges and vertices of the face boundary) is called a brick (Figure 5(b)), and the brick’s boundary is defined to be ff. The boundary of a brick BB is written B\partial B. The interior of BB is defined to be the subgraph of edges of BB not belonging to B\partial B. The interior of BB is written int(B)\text{int}(B).

Bricks satisfy the following:

Lemma 4.2 (Lemma 6.10 [9]).

The boundary of a brick BB, in counterclockwise order, is the concatenation of four paths WB,SB,EB,NBW_{B},S_{B},E_{B},N_{B} (west, south, east, north) such that:

  1. 1.

    The set of edges BBB-\partial B is nonempty.

  2. 2.

    Every vertex of QBQ\cap B is in NBN_{B} or in SBS_{B}.

  3. 3.

    NBN_{B} is 0-short in BB, and every proper subpath of SBS_{B} is ϵ\epsilon-short in BB.

  4. 4.

    There exists a number tκ(ϵ)t\leq\kappa(\epsilon) and vertices s0,s1,s2,,sts_{0},s_{1},s_{2},\ldots,s_{t} ordered from west to east along SBS_{B} such that, for any vertex xx of SB[si,si+1)S_{B}[s_{i},s_{i+1}), the distance from xx to sis_{i} along SBS_{B} is less than ϵ\epsilon times the distance from xx to NBN_{B} in BB: distSB(x,si)<ϵdistB(x,NB){dist}_{S_{B}}(x,s_{i})<\epsilon\,{dist}_{B}(x,N_{B}).

The number κ(ϵ)\kappa(\epsilon) is given by:

κ(ϵ)=4ϵ2(1+ϵ1)\kappa(\epsilon)=4\epsilon^{−2}(1+\epsilon^{−1}) (2)

The mortar graph has some additional properties. Let B1B_{1} be a brick, and suppose B1B_{1}’s eastern boundary EB1E_{B_{1}} contains at least one edge. Then there is another brick B2B_{2} whose western boundary WB2W_{B_{2}} exactly coincides with EB1E_{B_{1}}. Similarly, if B2B_{2} is a brick whose western boundary contains at least one edge then there is a brick B1B_{1} whose eastern boundary coincides with B2B_{2}’s western boundary.

The paths forming eastern and western boundaries of bricks are called supercolumns.

Lemma 4.3 (Lemma 6.6 [9]).

The sum of the costs of the edges in supercolumns is at most ϵOPT\epsilon\,{\rm OPT}.

The mortar graph and the bricks are building blocks of the structural properties required for designing an approximation scheme. Borradaile, Klein and Mathieu demonstrated that there is a near-optimal Steiner tree whose interaction with the mortar graph is “simple” [9]. We prove a similar theorem in Section 5. In order to formalize the notion of “simple”, we select a subset of vertices on the boundary of each brick, called portals, and define a portal-connected graph.

4.2 Portals and simple connections

We define a subset of θ\theta evenly spaced vertices along the boundary of every brick. The value of θ\theta depends polynomially on the precision ϵ\epsilon and on α\alpha, a parameter that represents how complex the solution can be within a single brick (α\alpha will be defined precisely in Equation (6))

θ(ϵ) is O(ϵ2α(ϵ))\theta(\epsilon)\mbox{ is }O(\epsilon^{-2}\alpha(\epsilon)) (3)

The portals are selected to satisfy the following:

Lemma 4.4 (Lemma 7.1 [9]).

For any vertex xx on B\partial B, there is a portal yy such that the cost of the xx-to-yy subpath of B\partial B is at most 1/θ1/\theta times the cost of B\partial B.

Recall that, for each face ff of the mortar graph MGMG, there is a corresponding brick BB, and that BB includes the vertices and edges comprising the boundary of ff. The next graph construction starts with the disjoint union of the mortar graph MGMG with all the bricks. Each edge ee of the mortar graph is represented by three edges in the disjoint union: one in MGMG (the mortar-graph copy of ee) and one on each of two brick boundaries (the brick copies of ee). Similarly, each vertex on the boundary of a brick occurs several times in the disjoint union.

The portal-connected graph, denoted +(MG){\cal B}^{+}(MG), is obtained from the disjoint union as follows: a copy of each brick BB of MGMG is embedded in the interior of the corresponding face of MGMG, and each portal pp of BB is connected by an artificial edge to the corresponding vertex of MGMG. The construction is illustrated in Figure 5(c). The artificial edges are called portal edges, and are assigned zero cost.

Noting that each vertex vv on the boundary of a brick occurs several times in +(MG){\cal B}^{+}(MG), we identify the original vertex vv of GG with that duplicate in +(MG){\cal B}^{+}(MG) that belongs to MGMG. In particular, each terminal (vertex in QQ) is considered to appear exactly once in +(MG){\cal B}^{+}(MG), namely in MGMG. Thus the original instance gives rise to an instance in +(MG){\cal B}^{+}(MG): the goal is to compute the optimal solution w.r.t. the terminals on MGMG in +(MG){\cal B}^{+}(MG) and then map the edges of this solution to GG. Since GG can be obtained from +(MG){\cal B}^{+}(MG) by contracting portal edges and identifying all duplicates of each edge and all duplicates of each vertex, we infer:

Lemma 4.5.

Let HH be a subgraph of +(MG){\cal B}^{+}(MG) that, for each pair of terminals u,vu,v, contains at least min{r(u),r(v)}\min\{r(u),r(v)\} edge-disjoint uu-to-vv paths. Then the subgraph of GG consisting of edges of HH that are in GG has the same property.

The graph ÷(MG){\cal B}^{\div}(MG), which we call the brick-contracted graph, is obtained by contracting each brick in +(MG){\cal B}^{+}(MG) to a single vertex, called a brick vertex, as illustrated in Figure 5(d). This graph will be used in designing the dynamic program in Section 6.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 5: (a) The mortar graph in bold, (b) the set of bricks, (c) the portal-connected graph +(MG){\cal B}^{+}(MG), and (d) the brick-contracted graph ÷(MG){\cal B}^{\div}(MG).

4.3 Structure Theorem

Lemma 4.5 implies that, to find an approximately optimal solution in GG, it suffices to find a solution in +(MG){\cal B}^{+}(MG) whose cost is not much more than the cost of the optimal solution in GG. The following theorem, which we prove in Section 5, suggests that this goal is achievable. An equivalent theorem was proven for the Steiner tree problem [9].

Theorem 4.6 (Structure Theorem).

For any ϵ>0\epsilon>0 and any planar instance (G,𝐫)(G,\bm{r}) of the {0,1,2}\{0,1,2\}-edge connectivity problem, there exists a feasible solution SS to the corresponding instance (+(MG),𝐫)({\cal B}^{+}(MG),\bm{r}) such that

  • the cost of SS is at most (1+cϵ)OPT(1+c\epsilon){\rm OPT} where cc is an absolute constant, and

  • the intersection of SS with any brick BB is the union of a set of non-crossing trees whose leaves are portals.

4.4 Approximation scheme

We assume that the input graph GG has degree at most three. This can be achieved using a well-known embedding-preserving transformation in which each vertex of degree d>3d>3 is replaced with a cycle of dd degree-three vertices, as shown in Figure 6. Making this assumption simplifies the dynamic program using for Step 5 below.

Refer to caption

Figure 6: Each vertex of degree greater than 33 is replaced with a cycle of degree-three vertices

The approximation scheme consists of the following steps.

  1. Step 1:

    Find the mortar graph MG.

  2. Step 2:

    Decompose MG into “parcels”, subgraphs with the following properties:

    1. (a)

      The parcels partition the faces of MG. Since each edge of MG belongs to the boundaries of exactly two faces, it follows that each edge belongs to at most two parcels.

    2. (b)

      The cost of all boundary edges (those edges belonging to two parcels) is at most 1η𝒄(MG)\frac{1}{\eta}\bm{c}(\text{\it MG}). We choose η\eta so that this bound is ϵ2𝒄(OPT)\frac{\epsilon}{2}\bm{c}(OPT):

      η=η(ϵ)=20ϵ2\eta=\eta(\epsilon)=\lceil 20\epsilon^{-2}\rceil (4)
    3. (c)

      The planar dual of each parcel has a spanning tree of depth at most η+1\eta+1.

    Each parcel PP corresponds to a subgraph of GG, namely the subgraph consisting of the bricks corresponding to the faces making up PP. Let us refer to this subgraph as the filled-in version of PP.

  3. Step 3:

    Select a set of “artificial” terminals on the boundaries of parcels to achieve the following:

    • for each filled-in parcel, there is a solution that is feasible with respect to original and artificial terminals whose cost is at most that of the parcel’s boundary plus the cost of the intersection of OPT with the filled-in parcel, and

    • the union over all parcels of such feasible solutions is a feasible solution for the original graph.

  4. Step 4:

    Designate portals on the boundary of each brick.

  5. Step 5:

    For each filled-in parcel PP, find a optimal solution in the portal-connected graph, +(P){\cal B}^{+}(P). Output the union of these solutions.

Step 1 can be carried out in O(nlogn)O(n\log n) time [9]. Step 2 can be done in linear time via breadth-first search in the planar dual of MG, and then applying a “shifting” technique in the tradition of Baker [1]. Step 3 uses the fact that each parcel’s boundary consists of edge-disjoint, noncrossing cycles. If such a cycle separates terminals, a vertex vv on the cycle is designated an artificial terminal. We set r(v)=2r(v)=2 if the cycle separates terminals with requirement 2 and r(v)=1r(v)=1 otherwise. Under this condition, any feasible solution for the original graph must cross the cycle; by adding the edges of the cycle, we get a feasible solution that also spans the artificial terminal. Step 3 can be trivially implemented in linear time. Step 5 is achieved in linear time using dynamic programming (Section 6).

5 Proof of the Structure Theorem

We are now ready to prove the Structure Theorem for {0,1,2}\{0,1,2\}-edge connectivity, Theorem 4.6. In order to formalize the notion of connectivity across the boundary of a brick, we use the following definition:

Definition 5.1 (Joining vertex).

Let HH be a subgraph of GG and PP be a subpath of G\partial G. A joining vertex of HH with PP is a vertex of PP that is the endpoint of an edge of HPH-P.

We will use the following structural lemmas in simplifying OPT{\rm OPT}. The first two were used in proving a Structure Theorem for the Steiner tree PTAS [9]; in these, TT is a tree and PP is an ϵ\epsilon-short path on the boundary of the graph in which TT and PP are embedded. The third is in fact a generalization of the second lemma that we require for maintaining two connectivity.

Lemma 5.2 (Simplifying a tree with one root, Lemma 10.4 [9]).

Let rr be a vertex of TT. There is another tree T^\widehat{T} that spans rr and the vertices of TPT\cap P such that 𝐜(T^)(1+4ϵ)𝐜(T)\bm{c}(\widehat{T})\leq(1+4\cdot\epsilon)\bm{c}(T) and T^\widehat{T} has at most 11ϵ1.4511\cdot\epsilon^{-1.45} joining vertices with PP.

Lemma 5.3 (Simplifying a tree with two roots, Lemma 10.6 [9]).

Let pp and qq be two vertices of TT. There is another tree T^\widehat{T} that spans pp and qq and the vertices of TPT\cap P such that 𝐜(T^)(1+c1ϵ)𝐜(T)\bm{c}(\widehat{T})\leq(1+c_{1}\epsilon)\bm{c}(T) and T^\widehat{T} has at most c2ϵ2.5c_{2}\cdot\epsilon^{-2.5} joining vertices with PP, where c1c_{1} and c2c_{2} are constants.

Lemma 5.4.

Let \mathcal{F} be a set of non-crossing trees whose leaves are vertices of ϵ\epsilon-short boundary paths PP and QQ and such that each tree in the forest has leaves on both these paths. There is a cycle or empty set C^\widehat{C}, a set ^\widehat{\mathcal{F}} of trees, and a mapping ϕ:^{C^}\phi:\mathcal{F}\longrightarrow\widehat{\mathcal{F}}\cup\{\widehat{C}\} with the following properties

  • For every tree TT in \mathcal{F}, ϕ(T)\phi(T) spans TT’s leaves.

  • For two trees T1T_{1} and T2T_{2} in FF, if ϕ(Ti)C^\phi(T_{i})\neq\widehat{C} for at least one of i=1,2i=1,2 then ϕ(T1)\phi(T_{1}) and ϕ(T2)\phi(T_{2}) are edge-disjoint (taking into account edge multiplicities).

  • The subgraph ^{C^}\bigcup\widehat{\mathcal{F}}\cup\{\widehat{C}\} has o(ϵ2.5)o(\epsilon^{-2.5}) joining vertices with PQP\cup Q.

  • 𝒄(C^)+{𝒄(T):T^}3𝒄(Q)+(1+dϵ){𝒄(T):T}\bm{c}(\widehat{C})+\sum\{\bm{c}(T)\ :\ T\in\widehat{\mathcal{F}}\}\leq 3\bm{c}(Q)+(1+d\cdot\epsilon)\sum\{\bm{c}(T)\ :T\in\mathcal{F}\} where dd is an absolute constant.

Proof.

View the embedding of the boundary such that PP is on top and QQ is at the bottom. Let T1,,TkT_{1},\ldots,T_{k} be the trees of FF ordered according the order of their leaves from left to right.


There are two cases.

Case 1) k>1/ϵk>1/\epsilon. In this case, we reduce the number of trees by incorporating a cycle C^\widehat{C}. Let aa be the smallest index such that 𝒄(Ta)ϵ𝒄(F)\bm{c}(T_{a})\leq\epsilon\bm{c}(F) and let bb be the largest index such that 𝒄(Tb)ϵ𝒄(F)\bm{c}(T_{b})\leq\epsilon\bm{c}(F). We will replace trees Ta,Ta+1,,TbT_{a},T_{a+1},\ldots,T_{b} with a cycle. Let QQ^{\prime} be the minimal subpath of QQ that spans the leaves of i=abTi\bigcup_{i=a}^{b}T_{i} on QQ. We likewise define PP^{\prime}. Let LL be the leftmost QQ-to-PP path in TaT_{a} and let RR be the rightmost QQ-to-PP path in TbT_{b}. Since PP is ϵ\epsilon-short,

𝒄(P)(1+ϵ)𝒄(LQR).\bm{c}(P^{\prime})\leq(1+\epsilon)\bm{c}(L\cup Q^{\prime}\cup R). (5)

To obtain F^\widehat{F} from FF, we replace the trees Ta,,TbT_{a},\ldots,T_{b} with the cycle C^=PLQR\widehat{C}=P^{\prime}\cup L\cup Q^{\prime}\cup R and set ϕ(Ta),,ϕ(Tb)\phi(T_{a}),\ldots,\phi(T_{b}) to C^\widehat{C}. By construction C^\widehat{C} spans the leaves of i=abTi\cup_{i=a}^{b}T_{i}.

Case 2) k1/ϵk\leq 1/\epsilon. In this case, the number of trees is already bounded. We set a=2,b=1a=2,b=1 so as to not eliminate any trees, and we set C^\widehat{C} to be the empty set.


In both cases, for each remaining tree TiT_{i} (ia,a+1,,bi\neq a,a+1,\ldots,b) we do the following. Let TiT_{i}^{\prime} be a minimal subtree of TiT_{i} that spans all the leaves of TiT_{i} on PP and exactly one vertex rr of QQ. Let QiQ_{i} be the minimal subpath of QQ that spans the leaves of TiT_{i} on QQ. We replace TiT_{i} with the tree T^i\widehat{T}_{i} that is the union of QiQ_{i}^{\prime} and the tree guaranteed by Lemma 5.2 for tree TiT_{i}^{\prime} with root rr and ϵ\epsilon-short path PP. By construction T^i\widehat{T}_{i} spans the leaves of TiT_{i}. We set ϕ(Ti)=T^i\phi(T_{i})=\widehat{T}_{i} for ia,,bi\neq a,\ldots,b.

C^\widehat{C} has at most four joining vertices with PQP\cup Q. Each tree T^i\widehat{T}_{i} has one joining vertex with QQ and, by Lemma 5.2, o(ϵ1.5)o(\epsilon^{-1.5}) joining vertices with PP. By the choice of aa and bb, there are at most 2/ϵ2/\epsilon of the trees in the second part of the construction. This yields the bound on joining vertices.

The total cost of the replacement cycle is:

𝒄(C^)\displaystyle\bm{c}(\widehat{C}) \displaystyle\leq 𝒄(P)+𝒄(L)+𝒄(Q)+𝒄(R)\displaystyle\bm{c}(P^{\prime})+\bm{c}(L)+\bm{c}(Q^{\prime})+\bm{c}(R)
\displaystyle\leq (2+ϵ)(𝒄(L)+𝒄(Q)+𝒄(R))by Equation (5)\displaystyle(2+\epsilon)(\bm{c}(L)+\bm{c}(Q^{\prime})+\bm{c}(R))\qquad\mbox{by Equation~\eqref{eq:1}}
\displaystyle\leq (2+ϵ)(𝒄(Ta)+𝒄(Q)+𝒄(Tb))since L and R are paths in Ta and Tb\displaystyle(2+\epsilon)(\bm{c}(T_{a})+\bm{c}(Q^{\prime})+\bm{c}(T_{b}))\qquad\mbox{since $L$ and $R$ are paths in $T_{a}$ and $T_{b}$}
\displaystyle\leq (2+ϵ)(2ϵ𝒄(F)+𝒄(Q))by the choice of a and b\displaystyle(2+\epsilon)(2\epsilon\bm{c}(F)+\bm{c}(Q^{\prime}))\qquad\mbox{by the choice of $a$ and $b$}
\displaystyle\leq (4ϵ+2ϵ2)𝒄(F)+(2+ϵ)𝒄(Q)\displaystyle(4\epsilon+2\epsilon^{2})\bm{c}(F)+(2+\epsilon)\bm{c}(Q^{\prime})

The total cost of the replacement trees is:

i=1,,a1,b+1k𝒄(T^i)\displaystyle\sum_{i=1,\ldots,a-1,b+1\ldots k}\bm{c}(\widehat{T}_{i}) \displaystyle\leq i=1,,a1,b+1k𝒄(Qi)+(1+4ϵ)𝒄(Ti)by Lemma 5.2\displaystyle\sum_{i=1,\ldots,a-1,b+1\ldots k}\bm{c}(Q_{i}^{\prime})+(1+4\epsilon)\bm{c}(T_{i}^{\prime})\qquad\mbox{by Lemma~\ref{lem:fib-tree}}
\displaystyle\leq i=1,,a1,b+1k𝒄(Qi)+(1+4ϵ)𝒄(Ti)since Ti is a subtree of Ti\displaystyle\sum_{i=1,\ldots,a-1,b+1\ldots k}\bm{c}(Q_{i}^{\prime})+(1+4\epsilon)\bm{c}(T_{i})\qquad\mbox{since $T_{i}^{\prime}$ is a subtree of $T_{i}$}

By the ordering of the trees and the fact that they are non-crossing, QQ^{\prime} and the QiQ_{i}^{\prime}’s are disjoint. Combining the above gives the bound on cost. ∎

5.1 Construction of a new solution

We start with a brief overview of the steps used to prove the structure theorem. We start with an edge multiset forming an optimal solution, OPT{\rm OPT}. Each step modifies either the input graph GG or a subgraph thereof while simultaneously modifies the solution. The graphs and edge multisets resulting from these steps are denoted by subscripts. Details are given in subsequent sections.

Augment

We add two copies of each supercolumn, obtaining GAG_{A} and OPTA{\rm OPT}_{A}. We consider the two copies to be interior to the two adjacent bricks. This step allows us, in the restructure step, to concern ourselves only with connectivity between the north and south boundaries of a brick.

Cleave

Cleaving a vertex refers to splitting it into two vertices and adding an artificial edge between the two vertices. In the cleave step, we modify GAG_{A} (and so in turn modify MGAMG_{A} and OPTA{\rm OPT}_{A}) to create GCG_{C} (and MGCMG_{C} and OPTC{\rm OPT}_{C}) by cleaving certain vertices while maintaining a planar embedding. Let JCJ_{C} be the set of artificial edges introduced. Note that XC/JC=XAX_{C}/J_{C}=X_{A}. The artificial edges are assigned zero cost so the metric between vertices is preserved. The artificial edges are added to the solution, possibly in multiplicity, so connectivity is preserved.

Flatten

In this step, for each brick BB, we consider the intersection of the solution with int(B)\text{int}(B); we replace some of the connected components of the intersection with subpaths of the boundary of BB. We denote the resulting solution by OPTF{\rm OPT}_{F}.

Map

We map the edges of OPTF{\rm OPT}_{F} to +(MG)\mathcal{B}^{+}(MG) creating OPTM{\rm OPT}_{M}. This step temporarily disconnects the solution.

Restructure

In this step, we modify the solution OPTM{\rm OPT}_{M}. For each brick BB in MGCMG_{C}, the part of OPTM{\rm OPT}_{M} strictly interior to BB is replaced with another subgraph that has few joining vertices with B\partial B. We denote the resulting solution by OPTS{\rm OPT}_{S}.

Rejoin

In order to re-establish connections broken in the Map step, we add edges to OPTS{\rm OPT}_{S}. Next, we contract the artificial edges added in the cleave step. We denote the resulting solution by OPT^\widehat{OPT}.

Note that the solutions OPT{\rm OPT}, OPTA{\rm OPT}_{A}, and so on are multisets; an edge can occur more than once. We now describe these steps in greater detail.

5.1.1 Augment

Recall that a supercolumn is the eastern boundary of one brick and the western boundary of another, and that the sum of costs of all supercolumns is small. In the Augment step, for each supercolumn PP, we modify the graph as shown in Figure 7:

  • Add to the graph two copies of PP, called P1P_{1} and P2P_{2}, creating two new faces, one bounded by P1P_{1} and PP and the other bounded by PP and P2P_{2}.

  • Add P1P_{1} and P2P_{2} to OPT{\rm OPT}.

The resulting graph is denoted GAG_{A}, and the resulting solution is denoted OPTA{\rm OPT}_{A}^{\prime}. We consider P1P_{1} and P2P_{2} to be internal to the two bricks. Thus PP remains part of the boundary of each of the bricks, and MGMG contains PP but not P1P_{1} or P2P_{2}. Since P1P_{1} and P2P_{2} share no internal vertices with PP, the joining vertices of OPTAB{\rm OPT}_{A}^{\prime}\cap B with B\partial B belong to NBN_{B} and SBS_{B}.

Refer to caption
Refer to caption
Figure 7: Adding the column between two adjacent bricks (solid) in the augment step. The dotted edges represent OPT{\rm OPT} in (a) and OPTA{\rm OPT}_{A} in (b).

We perform one more step, a minimality-achieving step:

  • We remove edges from OPTA{\rm OPT}_{A}^{\prime} until it is a minimal set of edges achieving the desired connectivity between terminals.

Let OPTA{\rm OPT}_{A} be the resulting set. We get:

Lemma 5.5.

For every brick BB, the joining vertices of OPTAB{\rm OPT}_{A}\cap B with B\partial B belong to NBN_{B} and SBS_{B}.

5.1.2 Cleave

We define a graph operation, cleave. Given a vertex vv and a bipartition A,BA,B of the edges incident to vv, vv is cleaved by

  • splitting vv into two vertices, vAv_{A} and vBv_{B},

  • mapping the endpoint vv of edges in AA to vAv_{A},

  • mapping the endpoint vv of edges in BB to vbv_{b}, and

  • introducing a zero-cost edge ev=vAvBe_{v}=v_{A}v_{B}.

This operation is illustrated in Figure 8(a) and (b). If the bipartition A,BA,B is non-interleaving with respect to the embedding’s cycle of edges around vv then the construction maintains a planar embedding.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 8: Cleavings illustrated. The bipartition of the edges incident to vv is given by the dashed edges AA and solid edges BB. (a) Starting with this bipartition, (b) the result of cleaving vertex vv according to this bipartition. A simplifying cleaving of vertex vv with respect to a cycle (bold) before (c) and after (d). A lengthening cleaving of a cycle (e) before and (f) after.

We use two types of cleavings:

Simplifying cleavings

Refer to Figures 8(c) and (d). Let CC be a clockwise non-self-crossing, non-simple cycle that visits vertex vv twice. Define a bipartition A,BA,B of the edges incident to vv as follows: given the clockwise embedding of the edges incident to vv, let AA start and end with consecutive edges of CC and contain only two edges of CC. Such a bipartition exists because CC is non-self-crossing.

Lengthening cleavings

Refer to Figures 8(e) and (f). Let CC be a cycle, let vv be a vertex on CC with two edges eAe_{A} and eBe_{B} adjacent to vv embedded strictly inside CC, and let eAe_{A}^{\prime} and eBe_{B}^{\prime} be consecutive edges of CC adjacent to vv such that the following bipartition is non-crossing with respect to the embedding: A,BA,B is a bipartition of the edges adjacent to vv such that eA,eAAe_{A},e_{A}^{\prime}\in A and eB,eBBe_{B},e_{B}^{\prime}\in B.

We perform simplifying cleavings for non-simple cycles of OPTA{\rm OPT}_{A} until every cycle is simple; the artificial edges introduced are not included in OPT{\rm OPT}. The following lemma does not use planarity and shows that (since cycles get mapped to cycles in this type of cleaving) simplifying cleavings preserve two-edge connectivity.

Lemma 5.6.

Let ee be an edge in a graph HH. Let H^\widehat{H} be the graph obtained from HH by a simplifying cleaving. Then ee is a cut-edge in HH iff it is a cut-edge in H^\widehat{H}.

Proof.

Let u1,u2u_{1},u_{2} be the endpoints of ee and let CC be the cycle w.r.t. which a simplifying cleaving was performed. If HH contains an ee-avoiding uiu_{i}-to-CC path for i=1,2i=1,2 then ee is not a cut-edge in HH, and similarly for H^\widehat{H}. Suppose therefore that removing ee separates uiu_{i} from CC in HH. Then the same is true in H^\widehat{H}, and conversely. ∎

Corollary 5.7.

For k=1,2k=1,2, if two vertices are kk-edge connected in HH then any of their copies are kk-edge connected in HCH_{C}.

Moreover, after all the simplifying cleavings, every cycle is simple, so:

Lemma 5.8.

Vertices that are two-edge-connected in OPTC{\rm OPT}_{C} are biconnected.

Next we perform lengthening cleavings w.r.t. the boundary of a brick and edges eAe_{A} and eBe_{B} of OPTC{\rm OPT}_{C}; we include in OPTC{\rm OPT}_{C} all the artificial zero-cost edges introduced. Lengthening cleavings clearly maintain connectivity. Suppose that vertices xx and yy are biconnected in OPTC{\rm OPT}_{C}, and consider performing a lengthening cleaving on a vertex vv. Since there are two internally vertex-disjoint xx-to-yy paths in OPTC{\rm OPT}_{C}, vv cannot appear on both of them. It follows that there remain two internally vertex-disjoint xx-to-yy paths after the cleaving. We obtain the following lemma.

Lemma 5.9.

Lengthening cleavings maintain biconnectivity.

Lengthening cleavings are performed while there are still multiple edges of the solution embedded in a brick that are incident to a common boundary vertex. Let JCJ_{C} be the set of artificial edges that are introduced by simplifying and lengthening cleavings. We denote the resulting graph by GCG_{C}, we denote the resulting mortar graph by MGCMG_{C}, and we denote the resulting solution by OPTC{\rm OPT}_{C}.

As a result of the cleavings, we get the following:

Lemma 5.10.

Let BB be a brick in GCG_{C} with respect to MGCMG_{C}. The intersection OPTCint(B){\rm OPT}_{C}\cap\text{int}(B) is a forest whose joining vertices with B\partial B are the leaves of the forest.

Proof.

Let HH be a connected component of OPTCint(B){\rm OPT}_{C}\cap\text{int}(B). As a result of the lengthening cleavings, the joining vertices of HH with B\partial B have degree 1 in HH. Suppose otherwise; then there is a vertex vv of HBH\cap\partial B that has degree >1>1 in HH. Hence vv is a candidate for a lengthening cleaving, a contradiction.

By Theorem 2.5 and the minimality-achieving step of the Augment step, any cycle in HH must include a terminal uu with r(u)=2r(u)=2 by Theorem 2.5. Since there are no terminals strictly enclosed by bricks, uu must be a vertex of B\partial B. However, that would make uu a joining vertex of HH with B\partial B. As argued above, such vertices are leaves of HH, a contradiction to the fact that uu is a vertex of a cycle in HH. Therefore HH is acyclic.

Furthermore, leaves of HH are vertices of B\partial B since OPTC{\rm OPT}_{C} is minimal with respect to edge inclusion and terminals are not strictly internal to bricks. ∎

Lemma 5.11.

Let CC be a cycle in OPTC{\rm OPT}_{C}. Let BB be a brick. Distinct connected components of Cint(B)C\cap\text{int}(B) belong to distinct components of OPTCint(B){\rm OPT}_{C}\cap\text{int}(B).

Proof.

Assume the lemma does not hold. Then there is a CC-to-CC path PP in int(B)\text{int}(B). Each vertex of PP that is strictly interior to BB is not a terminal. A vertex of PP that was on (B)\partial(B) would be a candidate for a lengthening cleaving, a contradiction. Therefore PP includes no terminals. This contradicts Theorem 2.6. ∎

5.1.3 Flatten

For each brick BB, consider the edges of OPTC{\rm OPT}_{C} that are strictly interior to BB. By Lemma 5.10, the connected components are trees. By Lemma 5.5, for each such tree TT, every leaf is either on BB’s northern boundary NBN_{B} or on BB’s southern boundary SBS_{B}. For each such tree TT whose leaves are purely in NBN_{B}, replace TT with the minimal subpath of NBN_{B} that contains all the leaves of TT. Similarly, for each such tree TT whose leaves are purely in SBS_{B}, replace TT with the minimal subpath of SBS_{B} that contains all the leaves of TT.

Let OPTF{\rm OPT}_{F} be the resulting solution. Note that OPTF{\rm OPT}_{F} is a multiset. An edge of the mortar graph can appear with multiplicity greater than one.

5.1.4 Map

This step is illustrated in Figures 9(a) and (b). In this step, the multiset OPTF{\rm OPT}_{F} of edges resulting from the flatten step is used to select a set OPTM{\rm OPT}_{M} of edges of +(MGC){\cal B}^{+}(MG_{C}). Recall that every edge ee of MGCMG_{C} corresponds in +(MGC){\cal B}^{+}(MG_{C}) to three edges: two brick copies (one in each of two bricks) and one mortar-graph copy. In this step, for every edge ee of MGCMG_{C}, we include the mortar-graph copy of ee in OPTM{\rm OPT}_{M} with multiplicity equal to the multiplicity of ee in OPTF{\rm OPT}_{F}. At this point, none of the brick copies are represented in OPTM{\rm OPT}_{M}.

Next, recall that in the augment step, for each supercolumn PP, we created two new paths, P1P_{1} and P2P_{2}, and added them to OPT{\rm OPT}. The edges of these two paths were not considered part of the mortar graph, so mortar-graph copies were not included in OPTM{\rm OPT}_{M} for these edges. Instead, for each such edge ee, we include the brick-copy of ee in OPTF{\rm OPT}_{F} with multiplicity equal to the multiplicity of ee in OPTF{\rm OPT}_{F}.

Finally, for each edge ee interior to a brick, we include ee in OPTM{\rm OPT}_{M} with the same multiplicity as it has in OPTF{\rm OPT}_{F}.

Refer to caption
Refer to caption
Figure 9: Map (a) The intersection of OPTC{\rm OPT}_{C} with a brick, dashed. (b) The same brick in the portal connected graph with portal edges (double-lines) connecting the brick to the corresponding face (outer boundary) of the mortar graph.

5.1.5 Restructure

Let BB be a brick. For simplicity, we write the boundary paths of BB as N,E,S,WN,E,S,W. Let FF be the multiset of edges of OPTM{\rm OPT}_{M} that are in the interior of BB. FF is a forest (Lemma 5.10). As a result of the flatten step, each component of FF connects SS to NN. We will replace FF with another subgraph F^\widehat{F} and map each component TT of FF to a subgraph ϕ(T)\phi(T) of F^\widehat{F} where ϕ(T)\phi(T) spans the leaves of TT and is a tree or a cycle. Distinct components of FF are mapped by ϕ\phi to edge-disjoint subgraphs (taking into account multiplicities).

Refer to Figure 10. We inductively define SS-to-NN paths P0,P1,P_{0},P_{1},\ldots and corresponding integers k0,k1,k_{0},k_{1},\ldots. Let s0,,sts_{0},\ldots,s_{t} be the vertices of SS guaranteed by Lemma 4.2 (where s0s_{0} is the vertex common to SS and WW and sts_{t} is the vertex common to SS and EE). Let P0P_{0} be the easternmost path in FF from SS to NN. Let k0k_{0} be the integer such that start(P0))\text{start}(P_{0})) is in S[sk0,sk0+1)S[s_{k_{0}},s_{k_{0}+1}). Inductively, for i0i\geq 0, let Pi+1P_{i+1} be the easternmost path in FNSF_{N\wedge S} from S[s0,ski)S[s_{0},s_{k_{i}}) to NN that is vertex-disjoint from PiP_{i}. Let kik_{i} be the integer such that start(Pi)S[ski,ski+1)\text{start}(P_{i})\in S[s_{k_{i}},s_{k_{i}+1}). This completes the inductive definition of P0,P1,P_{0},P_{1},\ldots. Note that the number of paths is at most tt, which in turn is at most κ(ϵ)\kappa(\epsilon) as defined in Equation 2.

We use these paths to decompose FF, as illustrated in Figure 10. Let FiF_{i} be the set of edges of FPi+1F-P_{i+1} enclosed by the cycle formed by PiP_{i}, Pi+1P_{i+1}, NN and SS. Clearly F=iFiF=\cup_{i}F_{i}. If PiP_{i} is connected to Pi+1P_{i+1}, they share at most one vertex, wiw_{i}. If they are not connected, we say wiw_{i} is undefined.

There are two cases: either FiF_{i} is connected or not.

Refer to caption
Figure 10: Paths used to decompose FF. The brick boundary is given by the rectangle. The paths P0,P1,P_{0},P_{1},\ldots are bold. FiF_{i} is given by the shaded background.
Connected case:

There are two subcases. Either FiF_{i} spans vertices of S[,ski)S[\cdot,s_{k_{i}}) or not.


Suppose FiF_{i} spans vertices of S[,ski)S[\cdot,s_{k_{i}}). Let TST_{S} be a minimal subtree of FiF_{i} that spans FiSF_{i}\cap S and let TNT_{N} be a minimal subtree of FiF_{i} that spans FiNF_{i}\cap N. Let rNr_{N} be the first vertex of PiP_{i} in TNT_{N} and let rSr_{S} be the last vertex of PiP_{i} in TST_{S}. A path in FiF_{i} from TST_{S} to NN that does not go through rSr_{S} contradicts the choice of Pi+1P_{i+1} as there would be a path in FiF_{i} from S[,ski)S[\cdot,s_{k_{i}}) to NN that is disjoint from PiP_{i}. It follows that TST_{S} and TNT_{N} are edge disjoint: if they intersect they may only do so at rS=rNr_{S}=r_{N}. If wiw_{i} is defined, then there is a path QQ from wiw_{i} to PiP_{i}; QQ intersects PiP_{i} between rNr_{N} and rSr_{S}, for otherwise there would be a superpath of QQ that contradicts the choice of Pi+1P_{i+1}.

If wi1w_{i-1} is defined and wi1TNw_{i-1}\in T_{N}, then we replace TNT_{N} with the tree guaranteed by Lemma 5.3 with roots rNr_{N} and wi1w_{i-1}. Otherwise, we replace TNT_{N} with the tree guaranteed by Lemma 5.2 with root rNr_{N}. We do the same for TST_{S}.


Suppose FiF_{i} does not span vertices of S[,ski)S[\cdot,s_{k_{i}}). Let TNT_{N} be a minimal connected subgraph of FiS[ski,start(Pi)]F_{i}\cup S[s_{k_{i}},\text{start}(P_{i})] that spans FiNF_{i}\cap N. Let rNr_{N} be the first vertex of PiP_{i} in TNT_{N}. If wiw_{i} is defined, then there is a path QQ from wiw_{i} to PiS[ski,start(Pi)]P_{i}\cup S[s_{k_{i}},\text{start}(P_{i})] and QQ’s intersection with PiP_{i} belongs to Pi[,rN]P_{i}[\cdot,r_{N}], for otherwise there would be a superpath of QQ that contradicts the choice of Pi+1P_{i+1}. If wi1w_{i-1} is defined and wi1TNw_{i-1}\in T_{N}, then we replace FiF_{i} with the tree guaranteed by Lemma 5.3 with roots rNr_{N} and wi1w_{i-1} along with QQ, Pi[,rN]P_{i}[\cdot,r_{N}], and S[ski,start(Pi)]S[s_{k_{i}},\text{start}(P_{i})]. Otherwise we replace FiF_{i} with the tree guaranteed by Lemma 5.2 with root rNr_{N} along with QQ, Pi[,rN]P_{i}[\cdot,r_{N}], and S[ski,start(Pi)]S[s_{k_{i}},\text{start}(P_{i})].


In both cases, we define ϕ(Fi)\phi^{\prime}(F_{i}) to be the resulting tree that replaces FiF_{i}. By construction, ϕ(Fi)\phi^{\prime}(F_{i}) spans the leaves of FiF_{i} and wi1w_{i-1} and wiw_{i} (if defined).

Disconnected case:

In this case, by the definition of Pi+1P_{i+1}, FiSF_{i}\cap S is a subset of the vertices of S[ski,start(Pi)]S[s_{k_{i}},\text{start}(P_{i})], for otherwise there would be a path to the right of Pi+1P_{i+1} that connects to NN and is disjoint from PiP_{i}.

If FiF_{i} is connected to Fi+1F_{i+1}, then the western-most tree TWT_{W} is a tree with root wiw_{i} and leaves on SS and does not connect to NN as that would contradict the choice of Pi+1P_{i+1}; if this is the case, let T^W\widehat{T}_{W} be the tree guaranteed by Lemma 5.2 and define ϕ(TW)=T^W\phi^{\prime}(T_{W})=\widehat{T}_{W}.

If FiF_{i} is connected to Fi1F_{i-1}, let SS^{\prime} be the subpath of SS that spans the eastern-most tree TET_{E}’s leaves on SS. Let T^E\widehat{T}_{E} be the tree guaranteed by Lemma 5.3 that spans the eastern-most tree’s leaves on NN and roots wi1w_{i-1} and start(Pi)\text{start}(P_{i}) and define ϕ(TE)=T^E\phi^{\prime}(T_{E})=\widehat{T}_{E}.

Let \mathcal{F} be the set of remaining trees, let P=NP=N, and let Q=S[ski,start(Pi)]Q=S[s_{k_{i}},\text{start}(P_{i})] in Lemma 5.4. Let C^\widehat{C}, ^\widehat{\mathcal{F}}, and ϕ\phi be the cycle (or empty set), set of trees, and mapping that satisfy the properties stated in the lemma.

We define F^i\widehat{F}_{i} to consist of the trees of ^\widehat{\mathcal{F}} and the cycle C^\widehat{C} (and T^W\widehat{T}_{W}, SS^{\prime} and T^E\widehat{T}_{E} if defined).


We replace every FiF_{i} with F^i\widehat{F}_{i}, as described above, for every brick, creating OPTS{\rm OPT}_{S}. This is illustrated in Figure 11(a). Now we define ϕ\phi in terms of ϕ\phi^{\prime}. A component TT of FF is partitioned into adjacent trees in this restructuring: namely T1,,TkT_{1},\ldots,T_{k}, k1k\geq 1. T1T_{1} and TkT_{k} may be restructured via the disconnected case and all others are restructured via the connected case. Define ϕ(T)=i=1kϕ(Ti)\phi(T)=\cup_{i=1}^{k}\phi^{\prime}(T_{i}). If k>1k>1, then consecutive trees TiT_{i} and Ti+1T_{i+1} share a vertex wiw_{i} and by construction ϕ(Ti)\phi^{\prime}(T_{i}) and ϕ(Ti)\phi^{\prime}(T_{i}) also share this vertex. Since ϕ(T)\phi^{\prime}(T) spans the leaves of TT, we get that ϕ(T)\phi(T) spans the leaves of TT, as desired. Also by construction, the submapping of ϕ\phi^{\prime} of trees to trees (and not cycles) is bijective; the same holds for ϕ\phi.

Number of joining vertices

In both the connected and disconnected case, the number of leaves is the result of a constant number of trees resulting from Lemmas 5.25.3 and 5.4. Therefore, F^i\widehat{F}_{i} has o(ϵ2.5)o(\epsilon^{-2.5}) joining vertices with NN and SS. Since iκ(ϵ)=O(ϵ3)i\leq\kappa(\epsilon)=O(\epsilon^{-3}), OPTS{\rm OPT}_{S} has o(ϵ5.5)o(\epsilon^{-5.5}) joining vertices with the boundary of each brick. This is the number of connections required to allow a solution to be nearly optimal and affects the number of portals required in Equation (3):

α(ϵ) is o(ϵ5.5)\alpha(\epsilon)\mbox{ is }o(\epsilon^{-5.5}) (6)

This will allow us to prove the second part of the Structure Theorem.

Refer to caption
Refer to caption
Figure 11: Continuing from Figure 9, restructure and rejoin: (a) Restructured version (dark grey) of the intersection of OPTM{\rm OPT}_{M} with the brick (dashed). (b) Connecting the restructured solution inside the brick to the mortar graph through portals (via dark grey edges).

5.1.6 Rejoin

In this step, we make inter-brick connections for parts that were disconnected in the mapping step. Since joining vertices represent the ends of all disconnected parts, it suffices to connect joining vertices of OPTS{\rm OPT}_{S} with B\partial B to their mortar-graph counterparts via portal edges.

This is illustrated in Figure 11 (d): We first move the edges of OPTSB{\rm OPT}_{S}\cap\partial B to MGMG for every brick BB. Such edges may have been introduced in the restructure step: for every brick BB, we connect OPTSB{\rm OPT}_{S}\cap B to the mortar graph. For every joining vertex vv of OPTSB{\rm OPT}_{S}\cap B, we find the nearest portal pvp_{v}, add the subpath of B\partial B and MGMG connecting vv and pvp_{v} and add the portal edge corresponding to pvp_{v}. (We need at most two copies of each portal edge.) Finally we contract the edges introduced in the cleaving step. This produces a solution OPT^\widehat{OPT} of +(MG)\mathcal{B}^{+}(MG).

5.2 Analysis of connectivity

In the augment step, because the added paths P1P_{1} and P2P_{2} form a cycle, this transformation preserves two-connectivity and connectivity between terminals. Cleaving clearly preserves connectivity and, by Lemmas 5.8 and 5.9, terminals that require two-connectivity are biconnected in OPTC{\rm OPT}_{C}. Therefore, for terminals xx and yy requiring connectivity, there is a path PCP_{C} in OPTC{\rm OPT}_{C} connecting them. If xx and yy require two-connectivity, there is a simple cycle CCC_{C} in OPTC{\rm OPT}_{C} connecting them. We follow PCP_{C} and CCC_{C} through the remaining steps.

Flatten

Consider a tree TT that is replaced by a subpath QQ of a northern or southern boundary of a brick that spans TT’s leaves. QQ spans any terminals that TT spanned, since there are no terminals internal to bricks.

PCTP_{C}\cap T is therefore a (set of) leaf-to-leaf paths and so (PCT)Q(P_{C}-T)\cup Q contains an xx-to-yy path. It follows that there is an xx-to-yy path PFP_{F} in OPTF{\rm OPT}_{F}.

By Lemma 5.11, CCTC_{C}\cap T is a single path and, by the above reasoning, is a leaf-to-leaf path. Therefore (CCT)Q(C_{C}-T)\cup Q contains a cycle through xx and yy. It follows that there is a cycle CFC_{F} through xx and yy in OPTF{\rm OPT}_{F}

Map

PFP_{F} (CFC_{F}) gets mapped to a sequence 𝒫M=(PM1,PM2,){\cal P}_{M}=(P_{M}^{1},P_{M}^{2},\ldots), (a cyclic sequence 𝒞M=(CM1,CM2,){\cal C}_{M}=(C_{M}^{1},C_{M}^{2},\ldots)) of paths of OPTM{\rm OPT}_{M} in +(MGC){\cal B}^{+}(MG_{C}) such that each path either consists completely of mortar-graph edges or consists completely of brick-copy edges. The last vertex of one path and the first vertex of the next path are copies of the same vertex of GCG_{C}, and that vertex belongs to a north or south boundary of MGCMG_{C}. By Lemma 5.10, each path in 𝒫M{\cal P}_{M} or 𝒞M{\cal C}_{M} that consists of brick-copy edges starts and ends at the northern or southern boundary of a brick.

Restructure

We define a mapping ϕ^\hat{\phi}, based in part on the map ϕ\phi defined in Section 5.1.5. For a path QQ in 𝒫M{\cal P}_{M} or 𝒞M{\cal C}_{M} that uses mortar-copy edges, define ϕ^(Q)=Q\hat{\phi}(Q)=Q. For a path QQ in 𝒫M{\cal P}_{M} or 𝒞M{\cal C}_{M} that uses brick-copy edges, let TT be the tree in OPTM{\rm OPT}_{M} that contains QQ and define ϕ^(Q)=ϕ(T)\hat{\phi}(Q)=\phi(T).

Let 𝒞S{\cal C}_{S} be the cyclic sequence of trees and cycles to which 𝒞M{\cal C}_{M} maps by ϕ\phi. Since ϕ(T)\phi(T) spans the leaves (joining vertices) of TT, consecutive trees/cycles in 𝒞S{\cal C}_{S} contain copies of the same vertex. By Lemma 5.11 and that, within a brick, the preimage of the set of trees mapped to by ϕ\phi, the trees of 𝒞S{\cal C}_{S} are edge disjoint. (The cycles may be repeated.)

Likewise we define 𝒫S{\cal P}_{S} having the same properties except for the fact that the sequence is not cyclic.

Rejoin

This step reconnects 𝒫S{\cal P}_{S} and 𝒞S{\cal C}_{S}.

Consider a tree TT in either of these sequences that contains brick-copy edges. The rejoin step first moves any edge of TT that is in a brick boundary to the mortar copy. It then connects joining vertices to the mortar by way of detours to portals and portal edges. Therefore, TT is mapped to a tree TJT_{J} that connects the mortar copies of TT’s leaves.

Consider a cycle CC in either 𝒫S{\cal P}_{S} or 𝒞S{\cal C}_{S}. CC contains a subpath of NN and SS whose edges are moved to their mortar copy and two NN-to-SS paths whose joining vertices are connected to their mortar copies. Therefore CC is mapped to a cycle CJC_{J} through the mortar copies of the boundary vertices of CC.

Let the resulting sequence and cyclic sequence of trees and cycles be 𝒫J{\cal P}_{J} and 𝒞J{\cal C}_{J}. Since consecutive trees/cycles in 𝒞S{\cal C}_{S} contain copies of the same vertex, in 𝒞J{\cal C}_{J} consecutive trees/cycles contain common mortar vertices. We have that 𝒞J{\cal C}_{J} is a cyclic sequence of trees and cycles, through xx and yy, the trees of which are edge-disjoint. Therefore the union of these contains a cycle through xx and yy.

Similarly, we argue that the union of the trees and cycles in 𝒫J{\cal P}_{J} contains and xx-to-yy path.

5.3 Analysis of cost increase

By Lemma 4.3, the total costs of all the east and west boundaries of the bricks is an ϵ\epsilon fraction of OPT{\rm OPT}, so we have

𝒄(OPTA)(1+2ϵ)𝒄(OPT).\bm{c}({\rm OPT}_{A})\leq(1+2\epsilon)\bm{c}({\rm OPT}). (7)

The cleaving step only introduces edges of zero cost, so

𝒄(OPTC)=𝒄(OPTA).\bm{c}({\rm OPT}_{C})=\bm{c}({\rm OPT}_{A}). (8)

The flatten step replaces trees by ϵ\epsilon-short paths, and so can only increase the cost by an ϵ\epsilon fraction, giving:

𝒄(OPTF)(1+ϵ)𝒄(OPTC).\bm{c}({\rm OPT}_{F})\leq(1+\epsilon)\bm{c}({\rm OPT}_{C}). (9)

The mapping step does not introduce any new edges, so

𝒄(OPTM)=𝒄(OPTF).\bm{c}({\rm OPT}_{M})=\bm{c}({\rm OPT}_{F}). (10)

The restructure step involves replacing disjoint parts of OPTMB{\rm OPT}_{M}\cap B for each brick by applying Lemmas 5.25.3, and 5.4. This increases the cost of the solution by at most an O(ϵ)O(\epsilon) fraction. Further we add subpaths of S[ski,start(Pi)]S[s_{k_{i}},\text{start}(P_{i})] where OPTM{\rm OPT}_{M} contains disjoint subpaths PiP_{i} from start(Pi)\text{start}(P_{i}) to NN and by the brick properties, 𝒄(S[ski,start(Pi)])𝒄(Pi)\bm{c}(S[s_{k_{i}},\text{start}(P_{i})])\leq\bm{c}(P_{i}). This increases the the cost of the solution by at most another O(ϵ)O(\epsilon) fraction. We get, for some constant cc:

𝒄(OPTS)(1+cϵ)𝒄(OPTM).\bm{c}({\rm OPT}_{S})\leq(1+c\epsilon)\bm{c}({\rm OPT}_{M}). (11)

In the rejoin step, we add two paths connecting a joining vertex to its nearest portal: along the mortar graph and along the boundary of the brick. The cost added per joining vertex is at most twice the interportal cost: at most 2𝒄(B)/θ2\bm{c}(\partial B)/\theta for a joining vertex with the boundary of brick BB, by Lemma 4.4. Since each mortar graph edge appears as a brick-boundary edge at most twice, the sum of the costs of the boundaries of the bricks is at most 18ϵ1OPT18\epsilon^{-1}{\rm OPT} (Equation (1)). Since there are α(ϵ)\alpha(\epsilon) joining vertices of OPTS{\rm OPT}_{S} with each brick, the total cost added due to portal connections is at most 36αθϵOPT36\frac{\alpha}{\theta\epsilon}{\rm OPT}. Replacing α\alpha and θ\theta via Equations (6) and (3) gives us that the total cost added due to portal connections is

O(ϵ𝒄(OPT))O(\epsilon\bm{c}({\rm OPT})) (12)

Combining equations (7) through (12), 𝒄(^OPT)(1+cϵ)𝒄(OPT)\bm{c}(\widehat{}{\rm OPT})\leq(1+c^{\prime}\epsilon)\bm{c}({\rm OPT}) for some constant cc^{\prime}, proving Theorem 4.6.

6 Dynamic Program

In this section we show that there is a dynamic program that finds an approximately optimal solution in the portal-connected graph +(P){\cal B}^{+}(P).

6.1 Structure of solution

We start by showing that we can restrict our attention to solutions whose intersection with each brick is a small collection of trees whose leaves are portals.

Lemma 6.1.

Let SS be a minimal solution to the instance (+(MG),𝐫)({\cal B}^{+}(MG),\bm{r}) of the {0,1,2}\{0,1,2\}-edge connectivity problem. Let BB be a brick, and suppose that the intersection of SS with BB is the union of a set of non-crossing trees whose leaves are portals. Then the number of such trees is at most three times the number of portals.

Proof.

Let the portals be v1,,vkv_{1},\ldots,v_{k} in counterclockwise order. Each tree induces a subpartition on the set of pairs {(i,i+1):i{1,,k1}}\{(i,i+1)\ :i\in\{1,\ldots,k-1\}\} as follows: if the leaves of the tree are vi1,vi2,,vipv_{i_{1}},v_{i_{2}},\ldots,v_{i_{p}} where i1<i2<<ipi_{1}<i_{2}<\cdots<i_{p}, then the parts are

{(i1,i1+1),,(i21,i2)},{(i2,i2+1),,(i31,i3)},,{(ip1,ip1+1),,(ip1,ip)}\{(i_{1},i_{1}+1),\ldots,(i_{2}-1,i_{2})\},\{(i_{2},i_{2}+1),\ldots,(i_{3}-1,i_{3})\},\ldots,\{(i_{p-1},i_{p-1}+1),\ldots,(i_{p}-1,i_{p})\}

Because the trees are non-crossing, the corresponding subpartitions are non-crossing as well: for each pair T1,T2T_{1},T_{2} of trees, either each part of T2T_{2} is a subset of some part of T1T_{1}, or vice versa.

Therefore the trees themselves form a rooted tree 𝒯\cal T according to the nesting relation of the corresponding subpartitions. Furthermore, by minimality of SS, no three trees have the same sets of leaves. This shows that a node of 𝒯\cal T with only one child has a parent with at least two children. The number of leaves of 𝒯\cal T is at most the number of pairs (i,i+1)(i,i+1), which is at most k1k-1. This shows that the number of trees is at most 3(k1)3(k-1). ∎

Corollary 6.2.

There exists a function ff that maps each brick BB to a cardinality-at-most-3θ3\theta subpartition f(B)f(B) of the portals of BB with the following property:
for each brick BB, for each part PP of f(B)f(B), let TPT_{P} be any minimum-cost tree in BB whose leaves are PP, and let HBH_{B} be the union Pf(B)TP\bigcup_{P\in f(B)}T_{P}. Then there is a feasible solution SS^{\prime} to the instance (+(MG),𝐫)({\cal B}^{+}(MG),\bm{r}) such that

  • the cost of SS^{\prime} is at most (1+cϵ)OPT(1+c\epsilon){\rm OPT} where cc is an absolute constant, and

  • the intersection of SS with any brick BB is HBH_{B}.

Proof.

Theorem 4.6 states that there is a feasible solution SS of cost at most (1+cϵ)OPT(1+c\epsilon){\rm OPT} such that the intersection of SS with any brick BB is the multi-set union of a family 𝒯B{\cal T}_{B} of non-crossing trees whose leaves are portals. We assume that SS is a minimal feasible solution. Lemma 6.1 shows that |𝒯B|3θ|{\cal T}_{B}|\leq 3\theta.

Now we construct the multi-subgraph SS^{\prime} from SS. For each brick BB, replace each tree in 𝒯B{\cal T}^{\prime}_{B} with a minimum-cost tree having the same leaves. Clearly the cost of SS^{\prime} is at most that of SS. It remains to show that SS^{\prime} is a feasible solution.

Let uu and vv be two terminals. Let PP or CC be a minimal uu-to-vv path or minimal cycle containing uu and vv in +(MG){\cal B}^{+}(MG) using edges of SS. We obtain a uu-to-vv path PP^{\prime} in SS^{\prime} or a cycle CC^{\prime} in SS^{\prime} containing uu and vv as follows. For each brick BB, the intersection of PP or CC with BB is a set of paths P1,,PkP_{1},\ldots,P_{k} through the trees in 𝒯B{\cal T}_{B} such that each path PiP_{i} starts and ends on a portal. For each path PiP_{i}, the tree in 𝒯B{\cal T}_{B} connecting the endpoints of PiP_{i} is replaced in SS^{\prime} by another tree that includes the same endpoints, so that tree contains a path PiP_{i}^{\prime} with the same endpoints. We replace each path PiP_{i} with the path PiP_{i}^{\prime}. Let PP^{\prime} and CC^{\prime} be the subgraphs obtained by performing these transformations for each brick BB. The transformations ensure that PP^{\prime} and CC^{\prime} are in SS^{\prime}. The path PP^{\prime} shows that uu and vv are connected in SS^{\prime}.

For a cycle CC in SS, we still need to show that CC^{\prime} is a cycle. In particular, we need to show that, for each brick BB, the paths P1,,PkP_{1},\ldots,P_{k} forming the intersection of CC with BB all belong to different trees in 𝒯B{\cal T}^{\prime}_{B}. Assume for a contradiction that PiP_{i} and PjP_{j} belong to a single tree T𝒯BT\in{\cal T}^{\prime}_{B}. By the assumption that the degree is at most three, PiP_{i} and PjP_{j} cannot share a vertex. Therefore there is a PiP_{i}-to-PjP_{j} path in TT containing at least one edge. However, since CC is a cycle containing PiP_{i} and PJP_{J}, an edge of the PiP_{i}-to-PjP_{j} path can be removed while preserving feasibility, a contradiction. ∎

6.2 The tree used to guide the dynamic program

Recall that ÷(P){\cal B}^{\div}(P) is the brick-contracted graph, in which each brick of +(P){\cal B}^{+}(P) is contracted to a vertex. Recall that a parcel PP is a subgraph of MGMG and defines a set of bricks contained by the faces of PP. The planar dual of the parcel has a spanning tree TT of depth η+1\eta+1. The algorithm transforms TT into a spanning tree TT^{\prime} of the planar dual of ÷(P){\cal B}^{\div}(P) as follows. Each brick is a vertex of TT; replace that vertex with a cycle minus one edge consisting of the duals of the portal edges, as shown in Figure 12.

Refer to caption

Figure 12: The spanning tree of the dual of the parcel is transformed to be a spanning tree of the planar dual of ÷(P){\cal B}^{\div}(P). For each brick, all but one of the portal edges is included in the new spanning tree.

Since each brick has at most θ\theta portal edges, it follows that the spanning tree TT^{\prime} of the dual of ÷(P){\cal B}^{\div}(P) has depth at most (η+1)θ(\eta+1)\theta. Next, the algorithm defines T^\widehat{T} to be the set of edges of ÷(P){\cal B}^{\div}(P) whose duals are not in TT^{\prime}. A classical result on planar graphs implies that T^\widehat{T} is a spanning tree of ÷(P){\cal B}^{\div}(P). The construction ensures that each vertex of ÷(P){\cal B}^{\div}(P) that corresponds to a brick has only one incident edge in T^\widehat{T}. By our assumption that each vertex in the input graph has degree at most three, every vertex of ÷(P){\cal B}^{\div}(P) that appears in GG has degree at most three in T^\widehat{T}. Thus T^\widehat{T} has degree at most three. The bound on the depth of TT^{\prime} ensures that, for each vertex vv of T^\widehat{T}, the graph ÷(P){\cal B}^{\div}(P) contains at most 2(η+1)(θ+1)+12(\eta+1)(\theta+1)+1 edges between descendents of vv and non-descendents.

6.3 The dynamic programming table

The algorithm considers the spanning tree T^\widehat{T} of ÷(P){\cal B}^{\div}(P) as rooted at an arbitrary leaf. By our assumption that the input graph has degree three, each vertex vv of T^\widehat{T} has at most two children. Let T^(v)\widehat{T}(v) denote the subtree of T^\widehat{T} rooted at vv. For each vertex vv of T^\widehat{T}, define

f(v)={Bif v is the result of contracting a brick Bvotherwisef(v)=\left\{\begin{array}[]{ll}B&\mbox{if $v$ is the result of contracting a brick }B\\ v&\mbox{otherwise}\end{array}\right.

and define W(v)W(v) to be the subgraph of +(P){\cal B}^{+}(P) induced by {f(w):wT^(v)}\bigcup\{f(w):w\in\widehat{T}(v)\}. Let δ(S)\delta(S) be the subset of edges with exactly one endpoint in the subgraph SS (i.e. a cut). It follows that the cut δ(W(v))\delta(W(v)) in +(P){\cal B}^{+}(P) is equal to the cut δ(T^(v))\delta(\widehat{T}(v)) in ÷(P){\cal B}^{\div}(P) and so has O(θη)O(\theta\eta) edges. The dynamic programming table will be indexed over configurations, defined below.

6.3.1 Configurations

Let L=δ(H)L=\delta(H) for a connected, vertex-induced subgraph HH of +(P){\cal B}^{+}(P). We define a configuration KLK_{L} corresponding to LL, illustrated in Figure 13. First, for each edge eLe\in L, we defined two edges e1e^{1} and e2e^{2} to reflect the fact that an edge can be used twice. Let L^\hat{L} be the resulting set of edges, L^=eL{e1,e2}\hat{L}=\bigcup_{e\in L}\{e^{1},e^{2}\}. A configuration is a forest with no degree-2 vertices whose leaf edges are a subset of L^\hat{L}, and such that, for each edge eLe\in L, if the forest contains both e1e^{1} and e2e^{2} then these two edges are incident to the same vertex in the forest, together with a {1,2}\{1,2\} labeling of the internal vertices. We denote the set of all configurations on edge set LL by 𝒦L{\cal K}_{L}.

Refer to caption
Refer to caption
Refer to caption
Figure 13: (a) The cut edges (black) of a subgraph HH (shaded). (b) A configuration (dotted forest) for L=δ(H)L=\delta(H). (c) A subgraph (bold) that meets the configuration.
Lemma 6.3.

The number of configurations for HH where n=|δ(H)|n=|\delta(H)| is at most 16n(2n)2n216^{n}(2n)^{2n-2} and these trees can be computed in O(16n(2n)2n2)O(16^{n}(2n)^{2n-2}) time.

Proof.

A configuration can be selected as follows. First, for each of the nn edges, decide whether edge e1e^{1} is to be included and whether e2e^{2} is to be included. (There are 4n4^{n} choices.) Let nn^{\prime} be the number of edges ee for which either e1e^{1} or e2e^{2} is to be included. Next, select a tree with the selected edges as leaf edges. It follows from Cayley’s formula that the number of such trees is 2n2n22n^{\prime 2n^{\prime}-2}, which is at most 2n2n22n^{2n-2}. Next, delete some subset of non-leaf edges of the tree. There are at most 2n2^{n} ways of selecting such a subset. Finally, select a {1,2}\{1,2\} labeling of the internal vertices. There are at most 2n2^{n} such labelings.

The set of trees can be computed in O(1)O(1) amortized time per tree [22]. ∎

Connecting

A configuration KL𝒦LK_{L}\in{\cal K}_{L} is connecting if, for each internal vertex vv of KLK_{L}, if vv has label cc then KLK_{L} contains cc paths from vv to leaves.

Compatibility

Configurations KA𝒦AK_{A}\in{\cal K}_{A} and KB𝒦BK_{B}\in{\cal K}_{B} are compatible if for every edge eA^B^e\in\hat{A}\cap\hat{B} either eKAKBe\in K_{A}\cap K_{B} or eKAKBe\notin K_{A}\cup K_{B}.

Compressed bridge-block forest

For a graph GG, a block is a maximal subgraph such that, for every two vertices uu and vv in the subgraph, there are two edge-disjoint uu-to-vv paths. Contracting each block of GG to a single vertex yields the bridge-block forest of GG. It is easy to see that it is indeed a forest. An edge ee of GG is an edge of this forest if ee is a bridge of GG, i.e. if the endpoints of ee are in different connected components of GeG-e.

We define the compressed bridge-block forest to be the forest obtained from the bridge-block forest by substituting an edge for each maximal path of internal degree two. We denote the compressed bridge-block forest of GG by EC~(G)\widetilde{EC}(G).

Consistency

We say a configuration KAK_{A} is consistent with a set of mutually compatible configurations {KA1,KA2,}\{K_{A_{1}},K_{A_{2}},\ldots\} if

  • there is an isomorphism between KAK_{A} and EC~(iKAi)\widetilde{EC}(\cup_{i}K_{A_{i}}) that preserves the identity of leaf edges of KAK_{A}, and

  • for each vertex xx of iKAi\cup_{i}K_{A_{i}} that is labeled 2, xx is in a block of iKAi\cup_{i}K_{A_{i}} that corresponds to a vertex in KAK_{A} that is labeled 2.

Meeting

Let HH be a connected, vertex-induced subgraph of GG. Let MM be a minimal solution to an instance (G,𝒓)(G,\bm{r}). Let MHM_{H} be the graph obtained from MM as follows. Remove edges not in Hδ(H)H\cup\delta(H). Next, for each vertex vv outside of HH, if vv has kk incident edges, replace vv with kk copies of vv, one incident to each of these edges.

We say MM meets a configuration Kδ(H)K_{\delta(H)} if EC~(MH)=Kδ(H)\widetilde{EC}(M_{H})=K_{\delta(H)} and if, for each terminal xx in HH, MHM_{H} either contains r(x)r(x) edge-disjoint paths to vertices outside of HH or contains min{r(x),r(y)}\min\{r(x),r(y)\} edge-disjoint paths to every other terminal yy.

DP table entry

The dynamic program constructs a table DPvDP_{v} for each vertex vv of T^\widehat{T}. The table DPvDP_{v} is indexed by the configurations of δ(W(v))\delta(W(v)). We showed in Section 6.1 that we can restrict our attention to solutions with the following property:

the intersection with each brick is a cardinality-at-most-3θ3\theta collection of minimum-cost trees whose leaves are portals.

For each configuration KK of δ(W(v))\delta(W(v)), the entry DPv[K]DP_{v}[K] is the minimum cost of a subgraph of W(v)W(v) that meets configuration KK and has the above property. We do not count the cost of edges of δ(W(v))\delta(W(v)).

6.3.2 The filling procedure

If uu is not a leaf of T^\widehat{T}, then we populate the entries of DPuDP_{u} with the procedure fill. We use the shorthand KK for Kδ({u})K_{\delta(\{u\})} and KiK_{i} for Kδ(W(ui))K_{\delta(W(u_{i}))}. The cuts are with respect to the graph +(P){\cal B}^{+}(P).

fill(DPu)(DP_{u})
Initialize each entry of DPuDP_{u} to \infty.
Let u1,,usu_{1},\ldots,u_{s} be the children of uu.
For every set of connecting, mutually compatible configurations K,K1,,KsK,K_{1},\ldots,K_{s},
For every connecting configuration K0K_{0} that is consistent with K,K1,,KsK,K_{1},\ldots,K_{s},
cost𝒄(K(i=1sKi))+(𝒄(K1K2) if s=2 else 0)+i=1sDPui[Ki]\mbox{cost}\leftarrow\bm{c}(K\cap(\cup_{i=1}^{s}K_{i}))+(\bm{c}(K_{1}\cap K_{2})\text{ if }s=2\text{ else }0)+\sum_{i=1}^{s}DP_{u_{i}}[K_{i}].
DPu[K0]min{DPu[K0],cost}DP_{u}[K_{0}]\leftarrow\min\{DP_{u}[K_{0}],\mbox{cost}\}

Since T^\widehat{T} has degree at most three, the number ss of children of each vertex uu in T^\widehat{T} is at most two.

If uu is a leaf of T^\widehat{T} and uu does not correspond to a brick (i.e. f(u)=uf(u)=u), the problem is trivial. Each configuration KK is a star: uu is the center vertex, and the edges of δ({u})\delta(\{u\}) are the edges of KK. Since the cost of any subgraph that is induced by {u}\{u\} is zero, the value of DPu[K]DP_{u}[K] is zero for every KK.

Suppose uu is a leaf of T^\widehat{T} and f(u)f(u) is a brick BB. Recall that we restrict our attention to solutions whose intersection with BB is a collection of at most 3θ3\theta minimum-cost trees whose leaves are portals. The algorithm populates the table DPuDP_{u} as follows. Initialize each entry of DPuDP_{u} to \infty. Next, iterate over cardinality-at-most-3θ3\theta families of subsets of the portals. For each family \cal F,

  • define a subgraph HH_{\cal F} to be the multi-set union over subsets PP in \cal F of a minimum-cost tree spanning PP,

  • find the configuration KK corresponding to HH_{\cal F}, and

  • set DPu[K]min{DPu[K],cost of H}DP_{u}[K]\leftarrow\min\{DP_{u}[K],\text{cost of }H_{\cal F}\}.

The minimum-cost tree spanning a subset of portals can be computed in O(θ3n)O(\theta^{3}n) time using the algorithm of Theorem 2.1.

6.3.3 Running time

Consider the time required to populate the DPuDP_{u} for all the leaves uu of T^\widehat{T}. We need only consider non-crossing partitions of subsets of δ(W(v))\delta(W(v)) since HKH_{K} is the union of non-crossing trees. The number of non-crossing partitions of an nn element ordered set is the nthn^{th} Catalan number, which is at most 4n/(n+1)4^{n}/(n+1). Therefore, the number of non-crossing sub-partitions is at most 4n4^{n}. It follows that the time to populate DPvDP_{v} for vv a brick vertex is O(θ44θ|B|)O(\theta^{4}4^{\theta}|B|) which is O(2poly(1/ϵ)|B|)O(2^{\mathrm{poly}(1/\epsilon)}|B|) since θ\theta depends polynomially on 1/ϵ1/\epsilon. Since a vertex appears at most twice in the set of bricks, the time needed to solve all the base cases in O(2poly(1/ϵ)n)O(2^{\mathrm{poly}(1/\epsilon)}n) where nn is the number of vertices in the parcel.

Consider the time required to populate the DPuDP_{u} for all the internal vertices uu of T^\widehat{T}. The number of edges in δ(W(v))\delta(W(v)) in +(P){\cal B}^{+}(P) is O(θη)O(\theta\eta). By Lemma 6.3, it follows that the corresponding number of configurations is O(2poly(1/ϵ))O(2^{\mathrm{poly}(1/\epsilon)}) since θ\theta and η\eta each depend polynomially on 1/ϵ1/\epsilon. There are O(n)O(n) vertices of the recursion tree and so the time required for the dynamic program, not including the base cases is O(2poly(1/ϵ)n)O(2^{\mathrm{poly}(1/\epsilon)}n).

The total running time of the dynamic program is O(2poly(1/ϵ)n)O(2^{\mathrm{poly}(1/\epsilon)}n) where nn is the number of vertices in the parcel.

6.4 Correctness

The connecting property guarantees that the final solution is feasible (satisfying the conectivity requirements). The definitions of compatible and consistent guarantee the inductive hypothesis.

We show that the procedure fill correctly computes the cost of a minimum-cost subgraph HuH_{u} of W(u)W(u) that meets the configuration K0K_{0}. We have shown that this is true for the leaves of the recursion tree. Since KK is the configuration corresponding to the cut δ({u0})\delta(\{u_{0}\}), KK is a star. Therefore 𝒄(K)\bm{c}(K) is the cost of the edges of δ({u0})\delta(\{u_{0}\}): KK is both the configuration and a minimum-cost subgraph that meets that configuration. Further, 𝒄(K(i=1sKi))\bm{c}(K\cap(\cup_{i=1}^{s}K_{i})) is the cost of the edges of KK that are in KiK_{i} (for i=1,,si=1,\ldots,s). w(i=1sKi)w(\cap_{i=1}^{s}K_{i}) is equal to the cost of the edges common to K1K_{1} and K2K_{2} if s=2s=2 and zero otherwise. By the inductive hypothesis the cost computed is that of a HuH_{u}: the subgraph of W(u)W(u) of a minimum-cost graph that meets this configuration.

Consider the entries of DPrDP_{r} where rr is the root of T^\widehat{T}. Since δ(W(r))\delta(W(r)) is empty, there is only one configuration corresponding to this subproblem: the trivial configuration. Therefore, the dynamic program finds the optimal solution in +(P){\cal B}^{+}(P).

As argued in Section 4.4, combining parcel solutions forms a valid solution in our input graph. We need to compare the cost of the output to the cost of an optimal solution.

Recall that new terminals are added at the parcel boundaries to guarantee connectivity between the parcels; let 𝒓+\bm{r}^{+} denote the requirements including these new terminals. Let S(G,𝒓)S(G,\bm{r}) denote the optimal solution in graph GG with requirements 𝒓\bm{r}.

For each parcel PP, there is a (possibly empty) solution SPS_{P} in +(P){\cal B}^{+}(P) for the original and new terminals in PP consisting of edges of S(+(MG),𝒓)S({\cal B}^{+}(\text{\it MG}),\bm{r})\cup\partial{\cal H} (where \cal H is the set of parcels and \partial{\cal H} is the set of boundary edges of all parcels). We have:

𝒄(S(+(MG),𝒓)+(P))𝒄(SP)=𝒄(SP)+𝒄(SP).\bm{c}(S({\cal B}^{+}(\text{\it MG}),\bm{r})\cap{\cal B}^{+}(P))\leq\bm{c}(S_{P})=\bm{c}(S_{P}-\partial{\cal H})+\bm{c}(S_{P}\cap\partial{\cal H}).

Every edge of S(+(MG),𝒓)S({\cal B}^{+}(\text{\it MG}),\bm{r}) not in \partial{\cal H} appears in SPS_{P} for exactly one parcel PP, and so

P𝒄(SP)𝒄(S(+(MG),𝒓)).\sum_{P\in{\cal H}}\bm{c}(S_{P}-\partial{\cal H})\leq\bm{c}(S({\cal B}^{+}(\text{\it MG}),\bm{r})).

Every edge of \partial{\cal H} appears in at most two parcels, and so

P𝒄(SP)2𝒄().\sum_{P\in{\cal H}}\bm{c}(S_{P}\cap\partial{\cal H})\leq 2\cdot\bm{c}(\partial{\cal H}).

Since a feasible solution for the original and new terminals in +(MG){\cal B}^{+}(\text{\it MG}) can be obtained by adding a subset of the edges of \partial{\cal H} to S(+(MG),𝒓)S({\cal B}^{+}(\text{\it MG}),\bm{r}), the cost of the output of our algorithms is at most

𝒄()+PS(+(P),𝒓+)𝒄(S(+(MG),𝒓))+3𝒄().\bm{c}(\partial{\cal H})+\sum_{P\in{\cal H}}{S({\cal B}^{+}(P),\bm{r}^{+})}\leq\bm{c}(S({\cal B}^{+}(\text{\it MG}),\bm{r}))+3\bm{c}(\partial{\cal H}).

Combining the cost of the parcel boundaries, the definition of η\eta, and the cost of the mortar graph, we obtain 𝒄()12ϵ𝒄(S(G,𝒓))=12ϵOPT\bm{c}(\partial{\cal H})\leq\frac{1}{2}\epsilon\bm{c}(S(G,\bm{r}))=\frac{1}{2}\epsilon{\rm OPT}. Finally, by Theorem 4.6, the cost of the output is at most (1+cϵ)OPT(1+c\epsilon)\ {\rm OPT}. This gives:

Theorem 6.4.

There is an approximation scheme for solving the {0,1,2}\{0,1,2\}-edge connectivity problem (allowing duplication of edges) in planar graphs. The running time is O(2poly(1/ϵ)n+nlogn)O(2^{\mathrm{poly}(1/\epsilon)}n+n\log n).

Comments

The PTAS framework used is potentially applicable to problems where (i) the input consists of a planar graph GG with edge-costs and a subset QQ of the vertices of GG (we call QQ the set of terminals), and where (ii) the output spans the terminals. Steiner tree and two-edge-connectivity have been solved using this framework. The PTAS for the subset tour problem [18] (which was the inspiration for this framework) can be reframed using this technique. Since the extended abstract of this work first appeared, Borradaile, Demaine and Tazari have also this framework to give PTASes for the same set of problems in graphs of bounded genus [6], Bateni, Hajiaghayi and Marx [3] have extended the framework to the Steiner forest problem and Bateni et al. [2] have extended the framework to prize collecting problems.

Acknowledgements

The authors thank David Pritchard for comments on early versions of this work and discussions with Baigong Zheng regarding Theorems 2.5 and  2.6. This material is based upon work supported by the National Science Foundation under Grant Nos. CCF-0964037, CCF-0963921, CCF-14-09520 and by a Natural Science and Research Council of Canada Postdoctoral Fellowship.

References

  • [1] B. Baker. Approximation algorithms for NP-complete problems on planar graphs. Journal of the ACM, 41(1):153–180, 1994.
  • [2] M. Bateni, C. Chekuri, A. Ene, M. Hajiaghayi, N. Korula, and D. Marx. Prize-collecting Steiner problems on planar graphs. In Proceedings of the 22nd Annual ACM-SIAM Symposium on Discrete Algorithms, pages 1028–1049, 2011.
  • [3] M. Bateni, M. Hajiaghayi, and D. Marx. Approximation schemes for Steiner forest on planar graphs and graphs of bounded treewidth. J. ACM, 58(5):21, 2011.
  • [4] A. Berger, A. Czumaj, M. Grigni, and H. Zhao. Approximation schemes for minimum 2-connected spanning subgraphs in weighted planar graphs. In Proceedings of the 13th European Symposium on Algorithms, volume 3669 of Lecture Notes in Computer Science, pages 472–483, 2005.
  • [5] A. Berger and M. Grigni. Minimum weight 2-edge-connected spanning subgraphs in planar graphs. In Proceedings of the 34th International Colloquium on Automata, Languages and Programming, volume 4596 of Lecture Notes in Computer Science, pages 90–101, 2007.
  • [6] G. Borradaile, E. Demaine, and S. Tazari. Polynomial-time approximation schemes for subset-connectivity problems in bounded-genus graphs. Algorithmica, 2012. Online.
  • [7] G. Borradaile, C. Kenyon-Mathieu, and P. Klein. A polynomial-time approximation scheme for Steiner tree in planar graphs. In Proceedings of the 18th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 1285–1294, 2007.
  • [8] G. Borradaile, P. Klein, and C. Mathieu. Steiner tree in planar graphs: An O(nlogn){O}(n\log n) approximation scheme with singly exponential dependence on epsilon. In Proceedings of the 10th International Workshop on Algorithms and Data Structures, volume 4619 of Lecture Notes in Computer Science, pages 275–286, 2007.
  • [9] G. Borradaile, P. Klein, and C. Mathieu. An O(nlogn){O}(n\log n) approximation scheme for Steiner tree in planar graphs. ACM Transactions on Algorithms, 5(3):1–31, 2009.
  • [10] A. Czumaj and A. Lingas. On approximability of the minimum cost k-connected spanning subgraph problem. In Proceedings of the 10th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 281–290, 1999.
  • [11] R. Erickson, C. Monma, and A. Veinott. Send-and-split method for minimum-concave-cost network flows. Mathematics of Operations Research, 12:634–664, 1987.
  • [12] K. Eswaran and R. Tarjan. Augmentation problems. SIAM Journal on Computing, 5(4):653–665, 1976.
  • [13] G. Frederickson and J. Jájá. Approximation algorithms for several graph augmentation problems. SIAM Journal on Computing, 10(2):270–283, 1981.
  • [14] M. Goemans, A. Goldberg, S. Plotkin, D. Shmoys, É. Tardos, and D. Williamson. Improved approximation algorithms for network design problems. In Proceedings of the 5th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 223–232, 1994.
  • [15] M. Henzinger, P. Klein, S. Rao, and S. Subramanian. Faster shortest-path algorithms for planar graphs. Journal of Computer and System Sciences, 55(1):3–23, 1997.
  • [16] K. Jain. A factor 2 approximation algorithm for the generalized Steiner network problem. Combinatorica, 2001(1):39–60, 21.
  • [17] S. Khuller and U. Vishkin. Biconnectivity approximations and graph carvings. Journal of the ACM, 41(2):214–235, 1994.
  • [18] P. Klein. A subset spanner for planar graphs, with application to subset TSP. In Proceedings of the 38th Annual ACM Symposium on Theory of Computing, pages 749–756, 2006.
  • [19] P. Klein. A linear-time approximation scheme for TSP in undirected planar graphs with edge-weights. SIAM Journal on Computing, 37(6):1926–1952, 2008.
  • [20] P. Klein and R. Ravi. When cycles collapse: A general approximation technique for constraind two-connectivity problems. In Proceedings of the 3rd International Conference on Integer Programming and Combinatorial Optimization, pages 39–55, 1993.
  • [21] K. Mehlhorn. A faster approximation algorithm for the Steiner problem in graphs. Information Processing Letters, 27(3):125–128, 1988.
  • [22] S. Nakano and T. Uno. Efficient generation of rooted trees. Technical Report NII-2003-005E, National Institute of Informatics, 2003.
  • [23] R. Ravi. Approximation algorithms for Steiner augmentations for two-connectivity. Technical Report TR-CS-92-21, Brown University, 1992.
  • [24] M. Resende and P. Pardalos, editors. Handbook of Optimization in Telecommunications. Springer, 2006.
  • [25] H. Whitney. Non-separable and planar graphs. Trans. Amer. Math. Soc., 34:339–362, 1932.
  • [26] P. Widmayer. A fast approximation algorithm for Steiner’s problem in graphs. In Graph-Theoretic Concepts in Computer Science, volume 246 of Lecture Notes in Computer Science, pages 17–28. Springer Verlag, 1986.
  • [27] D. Williamson, M. Goemans, M. Mihail, and V. Vazirani. A primal-dual approximation algorithm for generalized Steiner network problems. In Proceedings of the 25th Annual ACM Symposium on Theory of Computing, pages 708–717, 1993.
  • [28] Y. Wu, P. Widmayer, and C. Wong. A faster approximation algorithm for the Steiner problem in graphs. Acta informatica, 23(2):223–229, 1986.