13
Algorithmica (2013) 66:641–653 DOI 10.1007/s00453-012-9656-0 On Finding Min-Min Disjoint Paths Longkun Guo · Hong Shen Received: 1 December 2010 / Accepted: 23 April 2012 / Published online: 18 May 2012 © Springer Science+Business Media, LLC 2012 Abstract The Min-Min problem of finding a disjoint-path pair with the length of the shorter path minimized is known to be NP-hard and admits no K-approximation for any K> 1 in the general case (Xu et al. in IEEE/ACM Trans. Netw. 14:147–158, 2006). In this paper, we first show that Bhatia et al.’s NP-hardness proof (Bhatia et al. in J. Comb. Optim. 12:83–96, 2006), a claim of correction to Xu et al.’s proof (Xu et al. in IEEE/ACM Trans. Netw. 14:147–158, 2006), for the edge-disjoint Min-Min problem in the general undirected graphs is incorrect by giving a counter example that is an unsatisfiable 3SAT instance but classified as a satisfiable 3SAT instance in the proof of Bhatia et al. (J. Comb. Optim. 12:83–96, 2006). We then gave a cor- rect proof of NP-hardness of this problem in undirected graphs. Finally we give a polynomial-time algorithm for the vertex disjoint Min-Min problem in planar graphs by showing that the vertex disjoint Min-Min problem is polynomially solvable in st -planar graph G = (V,E) whose corresponding auxiliary graph G(V , E ∪{e(st)}) can be embedded into a plane, and a planar graph can be decomposed into several st -planar graphs whose Min-Min paths collectively contain a Min-Min disjoint-path This work is supported by National Science Foundation of China under its General Projects funding #61170232 and Youth funding #61100218, Fundamental Research Funds for the Central Universities #2012JBZ017, State Key Laboratory of Rail Traffic Control and Safety Research Grant RCS2011ZT009, and Research Initiative Grant of Beijing Jiaotong University # 2010RC018. L. Guo School of Mathematics and Computer Science, Fuzhou University, Fuzhou, China H. Shen School of Computer and Information Technology, Beijing Jiaotong University, Beijing, China H. Shen ( ) School of Computer Science, University of Adelaide, Adelaide, Australia e-mail: [email protected]

On Finding Min-Min Disjoint Paths

Embed Size (px)

Citation preview

Page 1: On Finding Min-Min Disjoint Paths

Algorithmica (2013) 66:641–653DOI 10.1007/s00453-012-9656-0

On Finding Min-Min Disjoint Paths

Longkun Guo · Hong Shen

Received: 1 December 2010 / Accepted: 23 April 2012 / Published online: 18 May 2012© Springer Science+Business Media, LLC 2012

Abstract The Min-Min problem of finding a disjoint-path pair with the length of theshorter path minimized is known to be NP-hard and admits no K-approximation forany K > 1 in the general case (Xu et al. in IEEE/ACM Trans. Netw. 14:147–158,2006).

In this paper, we first show that Bhatia et al.’s NP-hardness proof (Bhatia et al.in J. Comb. Optim. 12:83–96, 2006), a claim of correction to Xu et al.’s proof (Xuet al. in IEEE/ACM Trans. Netw. 14:147–158, 2006), for the edge-disjoint Min-Minproblem in the general undirected graphs is incorrect by giving a counter examplethat is an unsatisfiable 3SAT instance but classified as a satisfiable 3SAT instance inthe proof of Bhatia et al. (J. Comb. Optim. 12:83–96, 2006). We then gave a cor-rect proof of NP-hardness of this problem in undirected graphs. Finally we give apolynomial-time algorithm for the vertex disjoint Min-Min problem in planar graphsby showing that the vertex disjoint Min-Min problem is polynomially solvable inst-planar graph G = (V ,E) whose corresponding auxiliary graph G(V,E ∪ {e(st)})can be embedded into a plane, and a planar graph can be decomposed into severalst-planar graphs whose Min-Min paths collectively contain a Min-Min disjoint-path

This work is supported by National Science Foundation of China under its General Projects funding#61170232 and Youth funding #61100218, Fundamental Research Funds for the Central Universities#2012JBZ017, State Key Laboratory of Rail Traffic Control and Safety Research GrantRCS2011ZT009, and Research Initiative Grant of Beijing Jiaotong University # 2010RC018.

L. GuoSchool of Mathematics and Computer Science, Fuzhou University, Fuzhou, China

H. ShenSchool of Computer and Information Technology, Beijing Jiaotong University, Beijing, China

H. Shen (�)School of Computer Science, University of Adelaide, Adelaide, Australiae-mail: [email protected]

Page 2: On Finding Min-Min Disjoint Paths

642 Algorithmica (2013) 66:641–653

pair between s and t in the original graph G. To the best of our knowledge, these arethe first polynomial algorithms for the Min-Min problems in planar graphs.

Keywords Min-Min problem · Planar graph · NP-hardness · Polynomial-timealgorithm · Shortest path · Disjoint paths

1 Introduction

The Min-Min problem of computing an edge (vertex) disjoint-path pair with thelength of the shorter path minimized is attracting considerable attention in the re-search community [1]. This problem is formally defined as follows:

Definition 1 (Min-Min Problem) Given an undirected (directed) graph G = (V ,E),distinct vertices s and t of V , length function f : E → R

+, find a vertex (edge)disjoint path pair AP and BP with f (AP) minimized, where AP is the active path, BPis the backup path, and f (AP) ≤ f (BP).

The Min-Min problem is important in numerous practical applications of net-works: In some critical real-time applications, to guarantee the robustness of the ser-vice provided, it is required to establish multiple vertex (edge) disjoint routes betweena pair of nodes, so that in case one of the paths fails, the other routes are still func-tioning. That is, an alternative path can be established immediately for any vertex oredge failure in the current path to ensure robust routing and certain degree of fault-tolerance in the network. In real networks, it is quite common that nodes or edges mayfail. To protect connection from a single edge (vertex) failure, there are two types ofbasic approaches. One is called on-demand recovery, which is to invoke a routine forfinding another shortest path when a vertex or edge failure on the current route isdetected. This type of restoration works well for the applications like datagram com-munications in the Internet, but it does not suit for mission-critical communicationswhich cannot tolerate the long recovery latency required for finding an alternativepath and worst scenario that there may not be such a path in the graph since there areno enough backup resources available at that moment. An alternative solution to thisapproach is the preplanned failure restoration in which the restoration process takesless time because the backup path is pre-defined and the resources for it has been re-served. Secondly, for safety or security reasons in network applications, two types ofcommodities (e.g., encrypted data and decryption key) need to be transported sepa-rately along two disjoint paths. Because transporting one commodity (e.g., encrypteddata) is much more expensive than the other one (e.g., decryption key), finding theshortest path with a disjoint counterpart is the major design objective. Third, solv-ing the Min-Min problem can result in a near-optimal solution to the well-knownMSOD (Min-Sum in Ordered Dual network) problem, which requires computing aMin-Sum path pair in a more general dual-cost network where each edge has two or-dered lengths—the length used by BP (backup path) is always a fraction of that usedby AP (active path) [3, 4]. The MSOD problem is NPC and has wide applications inthe so-called shared path protection [1, 3–5].

Page 3: On Finding Min-Min Disjoint Paths

Algorithmica (2013) 66:641–653 643

Various problems closely related to the Min-Min problem have been attractingconsiderable interest in research community. The edge (vertex) disjoint path problemhas been well studied and numerous algorithms have been developed [6–8]. A closelyrelated problem, the Min-Sum problem, in which the objective is to minimize the sumof the costs of the two paths, can be solved using a polynomial-time algorithm calledSPP [9–11]. Unlike Min-sum, the Min-Max problem, whose objective is to minimizethe length of the longer one of the two paths, was proved to be NPC [12, 13]. Thelength bounded disjoint path problem, which is to find two disjoint paths with thelength of each path smaller than a given bound, is a subproblem of Min-Max problemand also shown to be NPC [12, 14]. The Min-Min problem, in which the objectiveis to minimize the length of the shorter path, is NPC and it is NP-hard to obtain ak-approximation algorithm [1].

Though intractable in the general graphs, efficient algorithms have been developedin some special graphs for these edge (vertex) disjoint problems [12, 14–16]. Li etal. gave a pseudo-polynomial algorithm to solve the Min-Max problem in acyclicgraphs [12], and Holst and de Pina showed the length bounded disjoint problem inplanar graphs can be solved in pseudo-polynomial time [14].

For the Min-Min problem itself, it was claimed in [1] to be NP-complete and alsoNP-hard to obtain a K-approximation to the optimal solution for any K > 1:

Lemma 1 The problem of finding vertex (edge) disjoint Min-Min paths between s

and t in a directed (undirected) graph is NPC; no polynomial time algorithm canapproximate the length of AP in the optimal solution within a factor of K unlessP = NP.

These results were based on an NP-hardness proof for the vertex disjoint Min-Minproblem in undirected graphs [1]. However, it was shown in [2] that the proof for theedge-disjoint Min-Min problem in undirected graphs is incorrect and a new proof ofNP-hardness for was given in [2].

In this paper, we show that the proof of [2] is still incorrect. We give a cor-rect NP-hardness proof for the edge-disjoint Min-Min problem in undirected graphs,and show that the Min-Min problem admits no full polynomial time approximationscheme. As a by-product, we also show that the vertex-disjoint Min-Min problemin planar graphs is polynomially solvable, whereas the directed edge-disjoint Min-Min problem is known NP-complete [17]. The paper is organized as follows: weshow the NP-hardness proof of [2] for the edge-disjoint Min-Min problem in undi-rected graphs is incorrect and give a correct proof in Sect. 2. In Sect. 3, we presentan algorithm solving the vertex-disjoint Min-Min problem in st-planar graphs withtime complexity O(|V | log |V | + |E|), and extend this algorithm to solve the vertex-disjoint Min-Min problem in planar graphs in O(|V |3(|V | log |V | + |E|)) time. Sec-tion 4 concludes the paper.

2 A Correct NP-Hardness Proof for the Edge-Disjoint Min-Min Problem inUndirected Graphs

The Min-Min problem was first studied by Xu et al. [1] who showed this problemis NP-hard in both undirected and directed graphs based on a proof of the vertex-

Page 4: On Finding Min-Min Disjoint Paths

644 Algorithmica (2013) 66:641–653

Fig. 1 A counter-example for the proof in Bhatia et al. [2]

disjoint Min-Min problem in undirected graphs. Bhatia et al. showed that Xu et al.’sproof cannot be applied to edge-disjoint case in undirected graphs [2] and gave analternative proof for this case. In this section, we show that Bhatia et al.’s NP-hardnessproof [2] is incorrect by showing a counter example, and give a correct NP-hardnessproof.

For m clauses {C1, . . . ,Cm}, n variables {x1, . . . , xn}, where Ci is the OR of threeliterals, each of which is an occurrence of the variable xj or its negation, the 3SATproblem is to answer whether there is an assignment satisfying all the m clauses.Figure 1 illustrates an auxiliary graph constructed by the algorithm in [2] that is acounter example for Bhatia et al.’s NP-hardness proof for the edge-disjoint Min-Minproblem in undirected graphs [2]: The instance of 3SAT (x1 ∨ x2 ∨ x3) ∧ (x1 ∨ x2 ∨x3)∧(x1 ∨x2 ∨x3)∧(x1 ∨x2 ∨x3)∧(x1 ∨x2 ∨x3)∧(x1 ∨x2 ∨x3)∧(x1 ∨x2 ∨x3)∧(x1 ∨ x2 ∨ x3) is clearly unsatisfiable whereas the auxiliary graph constructed by thealgorithm in [2] still contains two disjoint paths between s and t with a cost-O(m)

shorter path. These contradicts with the claim in [2] which states that an instance of3SAT is satisfiable iff its corresponding auxiliary graph contains two disjoint pathsbetween s and t with a cost-O(m) shorter path.

We now give a correct NP-hardness proof for this problem. Our proof is based onan induction from the MAX-2SAT problem [18], a well-known NP-complete prob-lem, to the decision version of the undirected edge-disjoint Min-Min problem: Doesan undirected network with positive edge weight contain two edge-disjoint s − t pathswith the shorter path having a cost not greater than a given positive integer?

For m clauses {C1, . . . ,Cm}, n variables {x1, . . . , xn}, and an integer K , whereCi is the OR of two literals, each of which is an occurrence of the variable xj orits negation, the MAX-2SAT problem is to answer whether there is an assignmentsatisfying at least K of the m clauses. For any instance of MAX-2SAT, we constructan auxiliary graph with two distinct vertices s and t , such that there exist two disjointpaths between s and t with the shorter path having a cost not greater than m − K iffat least K clauses of {C1, . . . ,Cm} can be satisfied.

Our proof can be extended to show the NP-hardness of all the four versions ofthe Min-Min problem: directed and undirected, edge-disjoint and vertex-disjoint, andthus results in the following theorem:

Theorem 1 The Min-Min problem is NP-complete.

Page 5: On Finding Min-Min Disjoint Paths

Algorithmica (2013) 66:641–653 645

Fig. 2 Lobe for xi

Proof Apparently, the Min-Min problem is in NP because satisfaction of an instanceof this problem to a solution can be verified in polynomial time: We shall show thatthe MAX-2SAT problem is polynomially reducible to the decision version of ourproblem. Given an instance of MAX-2SAT, we construct the undirected network G

as follows.Firstly, for each variable xi we construct a lobe as shown in Fig. 2, where pi is

the number of its occurrences in all 2CNFs. The solid edges are with cost m whiledotted edges are with cost 0. Vertices s, t are connected to the lobes by edges s − x1,xn+1 − t which has length 1.

Secondly, for each clause Cj = yj ∨ zj , 4 vertices y1j , y2

j , z1j and z2

j are added

together with cost-1 edge z1j − y2

j and cost-0 edges y1j − z1

j , y2j − z2

j , and z2j − y1

j+1.

Vertices s and t are connected to y11 and z2

m by two cost-0 edges s − y11 and z2

m − t

respectively.Finally, we connect these vertices corresponding to clauses with those vertices in

lobes corresponding to variables as follows:

1. w1j − ui

k and vik − w2

j , if the kth occurrence of variable xi is literal xi in Cj , andwj is vertex yj or zj that corresponds to literal xi ;

2. w1j − ui

k and vik − w2

j , if the kth occurrence of variable xi is literal xi in Cj , andwj is vertex yj or zj that corresponds to literal xi .

For example, network G constructed for instance (x1 ∨ x2) ∧ (x2 ∨ x3) ∧ (x1 ∨ x3)

of MAX-2SAT is illustrated in Fig. 3.Clearly such a construction can be done in polynomial time. Lemma 2 below com-

pletes the proof of this theorem. �

Lemma 2 There exists an assignment satisfying at least K clauses of {C1, . . . ,Cm}iff there exist two edge-disjoint Min-Min paths in G with f (AP) ≤ m − K .

Proof Suppose that there exists an assignment simultaneously satisfying at least K

clauses. A satisfied clause Cj has a literal, say yj , with either τ(yj ) = τ(xi) = trueor τ(yj ) = τ(xi) = true. Then the clause corresponds to a subpath y1

j −uik − vi

k − y2j

or y1j − ui

k − vik − y2

j with cost 0. An unsatisfied clause Cj corresponds to a subpath

y1j − z1

j − y2j − z2

j with cost 1. These two sets of subpaths together with s − y11 and

z2m − t compose a path AP between s and t with a total cost less than m − K , the

number of unsatisfied clauses. There is another path BP from s to t going througheither the upper portion of lobe i if τ(xi) = false or the lower portion if τ(xi) = true.Hence, AP and BP are two disjoint paths between s and t with f (AP) ≤ m − K .

Page 6: On Finding Min-Min Disjoint Paths

646 Algorithmica (2013) 66:641–653

Fig. 3 The auxiliary graph for reducing instance (x1 ∨ x2) ∧ (x2 ∨ x3) ∧ (x1 ∨ x3) to the Min-Minproblem. Solid edges are with cost m, dashed edges are with cost 1 and dotted edges are with cost 0

Conversely, suppose there exist a pair of disjoint paths AP and BP with f (AP) ≤m − K . Since each solid edge in G is with a cost m and f (AP) < m, AP cannot gothrough any solid edge. Hence, AP must go through s − y1

1 and z2m − t . Apparently

removal of any z2j − y1

j+1 and the edges of cost m will separate s and t in G, so

after removal of any z2j − y1

j+1, G contains no s-t path with cost less than m. Thus,

AP must contain z2j − y1

j+1 for all 1 ≤ j ≤ m − 1. Since f (AP) ≤ m − K , there are

at least K subpaths, say exactly K paths, from y1j to z2

j with cost 0. Since there existpath BP going through either upper portion or lower portion of every lobe, AP cannotgo through both edges in upper and lower portions of a lobe. For the K subpaths ofAP, set τ(xi) = true if there are subpaths of them going through the upper portionof lobe, i and τ(xi) = true if going through lower portion of a lobe. Clearly, such anassignment results in K satisfied clauses. �

Let G′ be the auxiliary graph G in the proof of Theorem 1 by setting each dottededge with cost 1, replacing each dashed edge by a path composed of m ∗ (n + 1)

dotted edges and solid edge by a path of m2 ∗ (n + 1) dotted edges, where m and n

are the number of clauses and variables of the 2SAT instance respectively. Clearly,there exists a pair of Min-Min path in G′ with f (AP) ≤ m2 ∗(n+1)−Km∗(n+1) iffthere exists an assignment simultaneously satisfying at least K +1 clauses. Therefore,we have the correctness of the following corollary:

Corollary 1 The edge-disjoint Min-Min Problem is strongly NP-complete in undi-rected graphs, and hence admits no full polynomial time approximation scheme ac-cording to [19].

3 Algorithms for the Vertex Disjoint Min-Min Problem in Planar Graphs

Given graph G = (V ,E) with distinct vertices s and t , we say graph G is an st-planargraph if and only if G ∪ {e(s, t)} = (V ,E ∪ {e(s, t)}) is a planar graph. Assume that

Page 7: On Finding Min-Min Disjoint Paths

Algorithmica (2013) 66:641–653 647

P is a path from s to t following the vertex order s = v0, v1, . . . , vt = t , we writeu � w for u,w ∈ V (P ) if and only if u = vi , w = vj and i ≤ j . By u ≺ w, we denoteu � w and u �= w. By SP we denote the shortest path and by {AP,BP} the Min-Minpath pair between s and t in G. Let G′ be G(V,E ∪{e(s, t)}) embedded in the plane.We denote by G1 the subgraph of G induced by the vertices in the close region of G′bounded by path SP and e(s, t), and by G2 the subgraph G\(G1\{SP}).

In this section, we first study the properties of a pair of vertex disjoint Min-Minpaths in an st-planar graph. Based on these properties, we give a polynomial algo-rithm for the vertex-disjoint Min-Min problem in st-planar graphs and show that thevertex-disjoint Min-Min problem in general planar graphs can be solved by using thealgorithm for st-planar graphs as a subroutine.

3.1 Optimal Min-Min Path Pairs in st-Planar Graphs

0 We shall give the properties on a Min-Min path pair in st-planar graphs, from whichour algorithm can be derived.

Proposition 1 [8] Let G′ be G embedded in the plane. Let p1, p2, p3 be three pathsfrom x to y such that any two of the paths have only x and y as common vertices.Let (x, vl), (x, v2), (x, v3) be the first edges of p1, p2, p3 respectively, and (wl, y),(w2, y), (w3, y) be the last edges of p1, p2, p3. If the orientation of edges clock-wise around x in the plane is (x, vl), (x, v2), (x, v3), then the orientation of edgesclockwise around y is (wl, y), (w3, y), (w2, y).

Assume that S = {a1,1, a1,2, . . . , ak,1, ak,2} are the endpoints of all maximal sub-paths of SP whose internal vertices are used neither by AP nor by BP, where ai,1, ai,2is a pair of endpoints of a maximal subpath. The following theorem indicates the dis-tribution of the vertices of S in the Min-Min paths:

Theorem 2 There exists a Min-Min path pair {AP,BP} between s and t in G in-tersecting with SP as below: AP = (s, a1,1, a2,2, a3,1, . . . , a2i,2, a2i+1,1, . . . , t), BP =(s, a1,2, a2,1, . . . , a2i+1,2, a2i+2,1, . . . , t).

Proof We show first that S ∩ V (Pi) = {a1,1, a2,2, . . . , a2i+1,1, a2i+2,2, . . .},S ∩ V (P3−i ) = {a1,2, a2,1, . . . , a2i+1,2, a2i+2,1, . . .} and second that vertices ofV (AP) ∩ S (V (BP) ∩ S) appear on AP (BP) following the order a1,1 ≺AP a2,2�AP . . . �AP a2i+1,1 ≺AP a2i+2,2 �AP . . . (ai,2 and ai+1,1 may be the same vertex).

For the first, any pair of vertices ai,1, ai,2 in S will not appear in the same AP orBP, since otherwise the subpath of SP between ai,1 and ai,2 will be used by AP or BP.Hence, si,1 ∈ Pi indicates si,2 ∈ P3−i . If ai,2 ∈ Pi then ai+1,1 ∈ Pi , since otherwiseSP(ai,2, ai+1,1) can be used by neither AP nor BP and hence (ai,2, ai+1,1) is a vertexpair of S by the definition of S, contradicting with the assumption of S.

For the second, we need only to show that for u,v ∈ S, u ≺SP v iff u ≺AP v. Sup-pose a2i+2h+1,1 ≺AP a2i,2, then obviously there exist vertices u and w of BP ∩ SPwith u appearing on SP(a2i−1,1, a2i,2) and v on SP(a2i+2h+1,1, a2i+2h+2,2). For thecase u ≺BP w (the case w ≺BP u is similar), the following 8 subpaths, SP(u, a2i,2),

Page 8: On Finding Min-Min Disjoint Paths

648 Algorithmica (2013) 66:641–653

Fig. 4 (a) Subgraph composedby AP, BP and SP, in whichthere exist vertices of APfollows ordera2i+2h+1,1 ≺AP a2i,2;(b) A K3,3 composed by edgesof subgraph in (a)

SP(a2i+2h+1,1,w), AP(s, a2i+2h+1,1), AP(a2i+2h+1,1, a2i,2), AP(a2i,2, t), BP(s, u),BP(u,w), BP(w, t), are internal vertex disjoint with each other. These 8 subpaths ande(s, t) compose a K3,3 (see Fig. 4), which contradicts with the fact that G ∪ {e(s, t)}is a planar graph. Similarly, we have the order of the vertices in V (BP)∩S appearingon BP. �

From Theorem 2, we can obtain the theorem below:

Theorem 3 E(AP) ⊂ E(Gi) and E(BP) ⊂ E(G3−i ).

Proof To prove this theorem, we need only to show that if AP(a1,1, a2,2) ∈ Gi , thenE(AP) ∈ Gi , and the case for BP is similar.

Clearly, AP(a1,1, a2,2) ∈ Gi . We shall show if AP(a2i+1,1, a2i+2,2) ∈ Gi thenAP(a2i+3,1, a2i+4,2) ∈ Gi . Suppose this is not true, i.e. AP(a2i+3,1, a2i+4,2) ∈ G3−i ,then BP(a2i+2,1, a2i+3,2) cannot be embedded into the plane:

1. BP ∈ Gi is impossible, since otherwise the following three paths between verticesa2i+2,1 and a2i+2,2 will violate Proposition 1 (as shown in Fig. 5(a), paths outlinedby bolded lines):p1 = SP(a2i+2,1, a2i+2,2), p2 = {SP(a2i+2,1, a2i+1,1),AP(a2i+1,1, a2i+2,2)},p3 = {BP(a2i+2,1, a2i+3,2),SP(a2i+3,2, a2i+2,2)}.

2. BP ∈ G3−i is also impossible, since otherwise the following three paths betweenvertices a2i+3,1 and a2i+3,2 will violate Proposition 1 (as shown in Fig. 5(b), paths

Page 9: On Finding Min-Min Disjoint Paths

Algorithmica (2013) 66:641–653 649

Fig. 5 Two contradictory cases to the proof of Theorem 3, i.e. the appearing order of v1, v2, v3 andw1,w2,w3 does not satisfy the Proposition 1: (a) v1, v2, v3 and w1,w2,w3 on the three paths betweena2i+1,1 and a2i+2,2; (b) v1, v2, v3 and w1,w2,w3 on the three paths between a2i+3,1 and a2i+3,2

outlined by bolded lines):p1 = SP(a2i+3,1, a2i+3,2), p2 = {SP(a2i+3,1, a2i+2,1),BP(a2i+2,1, a2i+3,2)},p3 = {AP(a2i+3,1, a2i+4,2),SP(a2i+4,2, a2i+3,2)}.

Combining the two cases, we have AP(a2i+3,1, a2i+4,2) ∈ Gi . This completes theproof. �

3.2 Algorithm for the Vertex Disjoint Min-Min Problem in st-Planar Graphs

In this subsection, we shall present a polynomial algorithm for the vertex-disjointMin-Min problem in st-planar graphs. From Theorem 3, if an instance of the vertexdisjoint Min-Min problem in st-planar graphs is solvable then there exists a pair ofMin-Min paths AP ⊂ Gi and BP ⊂ G3−i (i = 1 or i = 2). Apparently, AP may notbe the shortest s-t path in Gi , since Gi ∩ G3−i = SP and SP may contains somevertices essential for BP to connect s and t . Hence, the key idea of our algorithm isto compute the set of vertices V ∗

Bion SP which are essential for BP and the shortest

s-t path in Gi \ V ∗Bi

has a minimum cost among all VBis. From the following lemma,

computing vertices of V ∗Bi

is to find the set of st-articulation vertices (i.e. a vertexthat can separate s and t in G3−i ) in V (SP)\{s, t}:

Lemma 3 G3−i contains a BP disjoint with AP iff AP contains no vertex whoseremoval separates s and t in G3−i .

Proof Let V ∗Bi

be the set of st-articulation vertices on SP. If G3−i contains a disjointpath for AP, clearly AP contains no vertex that separates s and t in G3−i . Conversely,

Page 10: On Finding Min-Min Disjoint Paths

650 Algorithmica (2013) 66:641–653

assume AP contains no vertex that separates s and t in G3−i , i.e. AP ∩ V ∗Bi

= ∅.Suppose s and t are disconnected in G3−i \ (SP \ V ∗

Bi\ {s, t}). Then there exists a

minimal subset of V (SP) with size ≥ 2 separating s and t in G3−i , contradicting withTheorem 2. This completes the proof. �

Formally, the algorithm is described as below:

Algorithm 1 Algorithm for the vertex disjoint Min-Min problem in st-planar graphsInput: An st-planar graph G = (V ,E) and two distinct vertices s, t ;Output: A pair of vertex disjoint Min-Min paths between s and t .

procedure Alg_For_MMG,s,t1 Find shortest path SP between s and t dividing G into G1 and G2;2 Compute V ∗

B1and V ∗

B2for G1 and G2 respectively;

3 Compute shortest paths AP1 and AP2 in G1\V ∗B1

and G2\V ∗B2

respectively;4 if f (AP1) > f (AP2) then AP := AP2, GB := G1

else AP := SP1, GB := G2;5 Compute BP, the shortest path between s and t in G\(V (AP)\{s, t}) in GB .

end procedure

The correctness and time complexity of our algorithm are given by the theorembelow:

Theorem 4 Algorithm 1 returns a pair of Min-Min paths in G in time O(|E| +|V | log |V |).

Proof The correctness of Algorithm 1 can be obtained from Theorem 3 and Lemma 3immediately.

For the time complexity, Step 1, Step 3, and Step 5 compute O(1) shortest pathsin G or a subgraph of G and hence take O(|E|+ |V | log |V |) time in all. Step 2 takesO(|V |) to compute V ∗

B1and V ∗

B2and Step 4 takes O(1) time. Hence, Algorithm 1 has

a time complexity O(|E| + |V | log |V |). �

Remark 1 As a usual assumption for s-t paths, our algorithm requires distinct ver-tices s and t adjacent to the unbounded face, since otherwise AP and BP might havecommon interior vertices. It is also essential that the algorithm only works for vertexdisjoint AP and BP, as Theorem 3 cannot hold for the edge disjoint Min-Min problemin planar graphs (see Fig. 6).

3.3 The Vertex Disjoint Min-Min Problem in Planar Graphs

In this subsection, we show that the vertex disjoint Min-Min problem is polynomiallysolvable in planar graphs. Theorem 2 is not true in planar graphs, so Algorithm 1cannot be directly applied to solve the Min-Min problem in general planar graphs.

Page 11: On Finding Min-Min Disjoint Paths

Algorithmica (2013) 66:641–653 651

Fig. 6 Theorem 3 is not correct for the edge disjoint Min-Min problem in planar graphs: AP and BP havea common vertex w

However, we can use it as a building block to solve the Min-Min problem in generalplanar graphs.

Let C be a minimal set of vertices in V (SP) whose removal will disconnect s

and t in graph G. We shall show that a collection of proper Cs can decompose aplanar graph to several st-planar graphs such that the Min-Min path pair between Cscompose a Min-Min path pair between s and t in G. Below gives the decompositionof G. If G ∪ e(s, t) can be embedded into a plane, then G is an st-planar graph;otherwise, assuming that e(s, t) cross with G1, . . . ,Gh, we have the following lemmato decompose a G by computing {C1, . . . ,Ch} on {G1, . . . ,Gh}:

Lemma 4 Let P ∈ {AP,BP}, c ∈ Ci , d ∈ Ci+1 and c, d ∈ V (P ) ∩ V (SP), thenc ≺P d if and only if c ≺SP d .

Proof Suppose c ≺P d and d ≺SP c. Assume that the vertices of C in AP are sx andsx+1, and AP goes from vertex u to vertex sx+1. If sx �= u, then graph G containsK3,3; otherwise, sx = u, so u is in C. Then either in the case v ≺ u or u ≺ v, similarto the proof of Theorem 2, there always exist a minor of K3,3. This contradicts withthe fact that G is a planar graph. �

Following Lemma 4, AP and BP must go through {Ci |i ∈ {1, . . . , h}} one by oneincrementally on i. So we can construct a Min-Min path pair from s to vertices inCi+1 by the Min-Min path pairs from s to Ci and from Ci to Ci+1 (see Algorithm 2).

The correctness of Algorithm 2 can be directly obtained from Lemma 4. Since|Ci | < |V | and |Ci+1| < |V |, then Algorithm 2 computes at most O(|V |2) pairs ofMin-Min paths in the iteration of processing Ci , and runs in at most |V | iterations.Thus, we need to compute at most O(|V |3) Min-Min path pairs, each computationtakes O(|V | log |V | + |E|) time by Algorithm 1, so we have:

Theorem 5 Algorithm 2 outputs a Min-Min path pair between s and t in graph G intime O(|V |3(|V | log |V | + |E|)).

4 Conclusion

In this paper, we first showed that Bhatia et al.’s NP-hardness proof [2] for theedge-disjoint Min-Min problem in the general undirected graphs is incorrect and

Page 12: On Finding Min-Min Disjoint Paths

652 Algorithmica (2013) 66:641–653

Algorithm 2 Computing Min-Min Paths in planar graphsInput: A planar graph G = (V ,E) and two distinct vertices s, t ;Output: A pair of vertex disjoint Min-Min paths between s and t .

1. � ← ∅, �′ ← ∅;2. Embed graph G into a plane;3. Compute shortest path SP between s and t in G;4. Find subgraphs {G1, . . . ,Gk}, which cross with e(s, t), i.e. make e(s, t) cannot be

embedded in to the plane;5. Compute Cs set {C1, . . . ,Ck}, C0 ← s, Ck+1 ← t ;6. For i = 0 to k do

(a) Compute all Min-Min path pairs SPPs between pair of vertices in Ci andCi+1;

(b) Compute Min-Min path pairs set �′ from s to Ci+1 by � and SPPs;(c) � ← �′;

7. Compute AP and BP from �.

gave a correct NP-hardness proof for the problem. We then showed the vertex-disjoint Min-Min problem in planar graphs is polynomially solvable by giving aO(|V |3(|V | log |V | + |E|))-time algorithm that uses our solution to the problem inst-planar graphs as a building block.

We are currently investigating how to extend our techniques in solving the edgedisjoint Min-Min problem in planar graphs, whose complexity still remains open.

References

1. Xu, D., Chen, Y., Xiong, Y., Qiao, C., He, X.: On the complexity of and algorithms for finding theshortest path with a disjoint counterpart. IEEE/ACM Trans. Netw. 14(1), 147–158 (2006)

2. Bhatia, R., Kodialam, M., Lakshman, T.: Finding disjoint paths with related path costs. J. Comb.Optim. 12(1), 83–96 (2006)

3. Bouillet, E., Labourdette, J., Ramamurthy, R., Chaudhuri, S.: Lightpath re-optimization in mesh opti-cal networks. IEEE/ACM Trans. Netw. 13(2), 437–447 (2005)

4. Li, C.-L., McCormick, S.T., Simchi-Levi, D.: Finding disjoint paths with different path-costs: com-plexity and algorithms. Networks 22(7), 653–667 (1992)

5. Zheng, S., Yang, B., Yang, M., Wang, J.: Finding minimum-cost paths with minimum sharability.In: IEEE INFOCOM 2007, 26th IEEE International Conference on Computer Communications, pp.1532–1540 (2007)

6. Seymour, P.: Disjoint paths in graphs. Discrete Math. 306(10–11), 979–991 (2006)7. Liu, G., Ramakrishnan, K.: A* Prune: an algorithm for finding K shortest paths subject to multiple

constraints. In: Proceedings of IEEE INFOCOM 2001, Twentieth Annual Joint Conference of theIEEE Computer and Communications Societies, vol. 2 (2001)

8. Shiloach, Y.: A polynomial solution to the undirected two paths problem. J. ACM 27(3), 445–456(1980)

9. Suurballe, J.: Disjoint paths in a network. Networks 4(2), 125–145 (1974)10. Suurballe, J., Tarjan, R.: A quick method for finding shortest pairs of disjoint paths. Networks 14(2),

325–336 (1984)11. Bhandari, R.: Optimal physical diversity algorithms and survivable networks. In: Proceedings of Sec-

ond IEEE Symposium on Computers and Communications, 1997, pp. 433–441 (1997)12. Li, C.-L., McCormick, S.T., Simich-Levi, D.: The complexity of finding two disjoint paths with min-

max objective function. Discrete Appl. Math. 26(1), 105–115 (1989)

Page 13: On Finding Min-Min Disjoint Paths

Algorithmica (2013) 66:641–653 653

13. Sen, A.: Survivability of lightwave networks–path lengths in WDM protection scheme. J. High SpeedNetw. 10(4), 303–315 (2001)

14. van der Holst, H., de Pina, J.: Length-bounded disjoint paths in planar graphs. Discrete Appl. Math.120(1–3), 251–261 (2002)

15. Frank, A.: Edge-disjoint paths in planar graphs. J. Comb. Theory, Ser. B 39(2), 164–178 (1985)16. Perl, Y., Shiloach, Y.: Finding two disjoint paths between two pairs of vertices in a graph. J. Assoc.

Comput. Mach. 25, 1 (1978)17. Guo, L., Shen, H.: Hardness of finding two edge-disjoint min-min paths in digraphs. In: Frontiers in

Algorithmics and Algorithmic Aspects in Information and Management, pp. 300–307 (2011)18. Garey, M., Johnson, L.: Some simplified NP-complete graph problems. Theor. Comput. Sci. 1(3),

237–267 (1976)19. Garey, M., Johnson, D.: Computers and Intractability: A Guide to the Theory of NP-Completeness.

Freeman, New York (1979)