Minimum survivable graphs with bounded distance increase

We study in graphs a property related to fault-tolerance in case a node fails. A graph G is k-self-repairing , where k is a non-negative integer, if after the removal of any vertex no distance in the surviving graph increase by more than k . We give upper and lower bounds on the minimum number of edges of a k -self-repairing graph for prescribed k and n , where n is the order of the graph. We also prove that the problem of ﬁnding, in a k -self-repairing graph, a spanning k -self-repairing subgraph of the minimum size is NP-Hard .


Introduction
We consider communication networks modeled by graphs in which the vertices represent the nodes and the edges represent the direct communication links.This model allows to measure performances of the network by different graph theoretic parameters.For instance, the delay of communication in the network can be measured by the diameter of the underlying graph that is the maximum distance over all pairs of nodes.
When designing reliable communication networks, the least that we must guarantee is that, after failure of some nodes or links, the surviving network still allows communication between all no-faulty nodes.This implies constraints on the connectivity of the corresponding graph.The k-connectivity (resp.k-edgeconnectivity) is associated to the capability of a network to resist to the failure of any subset of (k − 1) nodes (resp.links).If in addition, the surviving network must allow communication with a reasonably increased delay, constraints of bounded length for disjoint paths must be involved.The k-diameter of a k-connected graph and other variants of this parameter give means to study such properties (see [Hsu94]).
In a network, every communication link has a cost.The cost of a network is the sum of the costs of all its communication links.When all costs are the same, their value can be considered equal to 1 and, in this case, the cost of the network is simply the number of its communication links.In the rest of this paper, communication links are all considered of cost 1.Networks with small cost are desirable because they are "easy" to maintain.In particular, they do not require large capacity storage in a computer.The problem of designing communication networks which satisfy certain requirement with small cost has been 1365-8050 c 2003 Discrete Mathematics and Theoretical Computer Science (DMTCS), Nancy, France extensively studied.One can see [Cac89] for an account on such work and [CHH01] if the requirement is a given diameter and a small cost.
One approach consists in finding spanning subgraphs of a graph with the same good properties as the original graph and fewer edges.When the property dealing with is 2-connectivity, the problem is known as the 2-connected Steiner subgraph problem.This problem has been extensively studied in series of papers from the early one by Steiglitz et al. [SWK69] to the more recent ones [BM95], [CRRW93], [GM90], [GMS91], [GMS92a], [GMS92b].Applications of this problem can be found in [BBM90], [CW81], [EMV87], [MMP90], [Win85], [Win86].
Fortz et al. in [FLM00] consider an additive condition to the 2-connected Steiner problem.The condition is that in the spanning subgraph every edge must be on a cycle whose length is bounded by a given constant k.The authors called this problem the two-connected network with bounded meshes (rings) problem.Note that in such a spanning subgraph the failure of any edge does not yield any distance increase by more than (k − 2) in the surviving network.This property is a desirable feature because in case a link is broken, the traffic is rerouted with a limited alteration of the communication delay.Constraints involving distance conditions are also considered by M. Elkin and D. Peleg who introduced what they called an (α, β)-spanner of a graph [EP01].Given a graph G = (V, E) and a subset H of E, Farley and Proskurowski [FP97] consider a related problem concerning node failure.The requirement is that no penalty occur on any distance after the removal of a node.That is no distance increase in the surviving graph.The authors called such graphs self-repairing and called minimum self-repairing selfrepairing graphs with the minimum number of edges given an order n (the number of vertices).In their paper, they give the exact number of edges in a minimum self-repairing graph (given an order n) and characterize the class of such minimum graphs.
In this paper, we consider graphs in which the removal of any node makes no distance in the surviving graph increase by more than k.
Let G = (V, E) be a connected graph with m edges (m is the size of the graph) and n vertices (n is the order of the graph).For a vertex x, G − {x} denotes the subgraph of G induced by V − {x}.For x and y in V , we denote by d G (x, y) the length of a shortest path between x and y in G.We say that G is k-self-repairing, where k is a non-negative integer, if after the removal of any vertex the distances in the surviving graph increase by at most k.That is : Note that such a graph is 2-connected and every pair of adjacent edges (a pair of distinct edges sharing a common extremity) is on a cycle of length bounded by k + 4. Every pair Let n ≥ 4 and 0 ≤ k ≤ n − 4. We define g(n, k) as the minimum size of a k-self-repairing graph of order n.Biconnectivity implies that g(n, k) ≥ n.For a fixed n, we have : Self-repairing graphs studied in [FP97] are those satisfying the definition above for k = 0.The authors proved that g(n, 0) = 2n − 4 and characterized such minimum graphs.2 Bounds on the size of k-self-repairing graphs Proposition 2.1 : For n ≥ 6 and k ≥ 1, Proof : The lower bound needs to be proved only for k-self-repairing graphs having at least one vertex of degree 2 since otherwise the size of the graph is at least 3n/2 which is better than the lower bound given in the proposition above.
Since the graph is k-self-repairing , we fix for each transition (recall that a transition is a pair of adjacent edges), a cycle of length at most k + 4 containing this transition.This induces a map h from the set of transitions to the set of cycles.Let x 0 be a vertex of degree 2. Consider a BFS tree T rooted at x 0 .For an edge [u, v] of G define lmax ([u, v]) as max{L(u), L(v)}, where L(u) is the level of vertex u in T , that is its distance from x 0 .Let e = [x, y] be an edge of T such that lmax(e) ≥ 2. We assume that L(x) > L(y).Let z be the parent of y.The transition defined by edges [y, z], [y, x] is denoted by tr(e).Starting from y, the cycle h(tr(e)) goes down through at most ⌈(k + 1)/2⌉ levels using edges of T before using an edge of E − E(T ).The first such edge, say e ′ , is called an e-backedge (see Figure 1 To prove the upper bound, we give constructions of families of k-self-repairing graphs with a given number of vertices n.

The first construction :
Two vertices u and v are said to be related if the following conditions are satisfied : 2. For every edge e incident to u, there exists a path of length at most ⌈(k + 4)/2⌉, containing e and connecting u and v.
3. For every edge e incident to v, there exists a path of length at most ⌈(k + 4)/2⌉, containing e and connecting u and v.
Let q and r be the two integers such that n − (k + 4) = q(⌊(k + 4)/2⌋ − 1) + r, where 0 ≤ r < ⌊(k + 4)/2⌋ − 1. Start with a cycle G 0 of length (k + 4).Iterate q times the following step.Choose two related vertices in G i .Connect them by a new path of (⌊(k + 4)/2⌋ − 1) new vertices.This gives a graph G i+1 .If r is non-zero, then, after the q iterations, choose again two related vertices u and v in G q .Connect them by a new path of r new vertices.Let G be the resulting graph.
The k-self-repairing graph G so obtained is of order n and has a size of at most n+q+1.More precisely, The second construction : We give a second construction which is more complicated than the previous one but provides a better upper bound when k is odd and bounded by O( √ n).For k ≥ 1, and n > (k +4), let t and r be the non-negative integers such that ⌊n/2⌋−1 = t(k +2)+r, with 0 ≤ r ≤ (k + 1).Set l = t(k + 2) and α = ⌈(k + 2)/2⌉.Consider the following family of k-self-repairing graphs of order n denoted G(n,k) constructed as follows (Figure 2) : First take two vertex-disjoint paths P 1 and P 2 each of length l.Set P 1 = [x 0 , x 1 , . . ., x l ] and P 2 = [y 0 , y 1 , . . ., y l ].Connect x 0 and y 0 by an edge.
• Set n ′ = n − |V (P 1 ) ∪V (P 2 )|.We have n ′ = n − 2⌊n/2⌋ + 2r and then, 0 ≤ n ′ ≤ 2k + 2 if n is even and 1 ≤ n ′ ≤ 2k + 3 otherwise.Now, we add n ′ new vertices and finish the construction by adding necessary edges in order to obtain a k-self-repairing graph.along a path as done for P. Connect the two remaining vertices, say v 0 and w 0 by an edge and, connect v 0 to x 0 and w 0 to y 0 (Figure 2d).No more edge is needed and the k-self-repairing graph G so obtained satisfies , start with a construction as in the previous case (Figure 2d).This places k + 2 vertices from the n ′ .Then, place the remaining vertices along a new path P ′ and connect its extremities one to v 0 , the other to w 0 (Figure 2e).No more edge is needed and the k-self-repairing graph G so obtained satisfies |E(G)| = n + 3 + 4t.If n ′ = 2k + 3, start with a construction as in the previous case (Figure 2e).This places 2k + 2 vertices from the n ′ .Then, place the remaining vertex on P or P ′ and add a new chord in the path where the remaining vertex has just been placed, as done in case c).We obtain a k-self-repairing graph G that satisfies Case k = 1 : Connect x 1 to y 2 , x 2 to y 1 , x l to y l and, for all i, 1 ≤ i ≤ (t − 1), connect x 3i to y 3i and x 3i+1 to y 3i−1 and y 3i+2 and x 3i+2 to y 3i+1 (Figure 3) .If n ′ = n − |V (P 1 ) ∪ V (P 2 )| is non-zero, place n ′ new vertices along a new path, connected as done above for P. If n ′ = 1 no more edge is needed.If n ′ ≥ 2, let z 1 be the extremity of P connected to x l and z n ′ be the one connected to y l .Add the chord and then, no more edge is needed.If n ′ = 5, add the chord [z 2 , z 5 ] and then, no more edge is needed.The resulting graph is k-self-repairing and has a size of at most n + 2 + 4t.
A graph in G(n,k) is k-self-repairing and has a size of at most : 3 Complexity of the problem of finding a minimum k-self-repairing spanning subgraph In this section, we consider minimum k-self-repairing spanning subgraphs of a given graph.We denote by N G (x) the open neighborhood of x in G, that is, the set of vertices of G adjacent to x in G. First note that checking whether a graph is k-self-repairing can be done in polynomial time using the simple following algorithm : Algorithm 3.1 :  Proof : MSSPDistIC is in NP since, given a spanning subgraph of G, one can verify, in polynomial time, whether it is K-self-repairing (using Algorithm 3.1, for example) and then compare its size to B.
Let I be an instance of MSSPDC that is positive integers k and b and a graph G of diameter k.Let V = {x 1 , x 2 , . . ., x n } be the set of vertices of G. Consider the following instance J of MSSPDistIC : 1.The graph G of J is obtained by taking a copy of G and adding, from each vertex x i a path P i joining x i and t = k − 1 new vertices.Let y i be the second extremity of P i .Add a new vertex z connected to all y i (see Figure 4).Now, let J be an instance of MSSPDistIC constructed from an instance I of MSSPDC as described above.If J is a yes-instance of MSSPDistIC, there exists a spanning K-self-repairing graph H of G of size no more than B. The minimum degree in H is at least 2. This means that all edges external to G are in H . Let H be the spanning subgraph of G induced by all the edges in E(H )∩E(G).Let {x i , x j } be a pair of vertices of H.The transition of H defined by edges [z, y i ], [z, y j ] is in a cycle of length at most K + 4. Every cycle containing y i and y j must include all the vertices of the paths P i and P j .Therefore, the distance in H between x i and x j is at most K + 4 − 2k The previous reduction shows that MSSPDistIC is NP-complete for K = 3p + 2, p ≥ 0. In fact, if we consider the same reduction from intances of MSSPDC, with k ≥ 3, by setting t = k − 2, K = 3k − 6 and B = b + n(k − 1), we show that MSSPDistIC is NP-complete for K = 3p, p ≥ 1.In the same way, considering instances of MSSPDC with k ≥ 4, setting t = k − 3, K = 3k − 8 and B = b + n(k − 2), we show that MSSPDistIC is also NP-complete for K = 3p + 1, p ≥ 1. Therefore MSSPDistIC is NP-complete for all K ≥ 2. ✷
).Conversely, each edge of e ′ ∈ E −E(T ) is a backedge for at most (k +1) edges e (lmax(e) ≥ 2) of E(T ).Indeed, let e ′ = [a, b].If L(a) < L(b),then, e ′ is the backedge of at most ⌈(k + 1)/2⌉ edges contained in the subpath P[x 0 , b] and at most k/2 edges contained in the subpath P[x 0 , a] of T .If L(a) = L(b), e ′ is the backedge of at most twice (k + 1)/2 edges of T .In all cases, e ′ is the backedge of at most (k+1) edges of T .Since d G (x 0 ) = 2, the lower bound follows.
vertices along a new path, say P and connect one of its extremities to x l , the other one to y l .If n ′ ≤ k, no more edge is needed.The k-self-repairing graph G so obtained satisfies |E(G)| = n + 4t.If n ′ = k + 1 , add a chord in P as shown in Figure 2c.This suffices to obtain a k-self-repairing graph G and we have |E(G)| = n + 1 + 4t.If n ′ = k + 2, place k vertices
2. K = 3k − 4 and B = b + kn, where n is the order of G.
Fig. 4: = k and then, H is a spanning subgraph of G of diameter k.The size of H is |E(H)| = |E(H )| − kn ≤ B − kn = b and, therefore I is a yes-instance of MSSPDC.
The size of I is O(n 2 log 2 n).Since k ≤ n and b ≤ n 2 , the size of J is bounded by a polynomial in n 2 log 2 n.Now, we have to prove that I is a yes-instance of MSSPDC if and only if J is a yes-instance of MSSPDistIC.Suppose there exists a spanning subgraph H of G of diameter k and of size bounded by b.Consider the spanning subgraph H of G induced by all edges of H and all edges external to G. It is easy to see that H is K-self-repairing and of size at most B. Therefore, J is a yes-instance of MSSPDistIC.