© Hindawi Publishing Corp. RELIABILITY OF COMMUNICATION NETWORKS WITH DELAY CONSTRAINTS: COMPUTATIONAL COMPLEXITY AND COMPLETE TOPOLOGIES

Let G=(V,E) be a graph with a distinguished set of terminal vertices K⫅V. We define the K-diameter of G as the maximum distance between any pair of vertices of K. If the edges fail randomly and independently with known probabilities (vertices are always operational), the diameter-constrained K-terminal reliability of G, RK(G,D), is defined as the probability that surviving edges span a subgraph whose K-diameter does not exceed D. In general, the computational complexity of evaluating RK(G,D) is NP-hard, as this measure subsumes the classical K-terminal reliability RK(G), known to belong to this complexity class. In this note, we show that even though for two terminal vertices s and t and D=2, R{s,t}(G,D) can be determined in polynomial time, the problem of calculating R{s,t}(G,D) for fixed values of D, D≥3, is NP-hard. We also generalize this result for any fixed number of terminal vertices. Although it is very unlikely that general efficient algorithms exist, we present a recursive formulation for the calculation of R{s,t}(G,D) that yields a polynomial time evaluation algorithm in the case of complete topologies where the edge set can be partitioned into at most four equi-reliable classes.


Introduction.
The components of a communication network (e.g., nodes, communication links) may be subject to random failures.Failures may arise from natural catastrophes (e.g., hurricanes), component wearout, or action of intentional enemies.
A communication network can be modelled by a graph G = (V , E), where V and E are the sets of vertices and edges, respectively, of G.Moreover, the probabilities of failure of the network components can be represented by assigning probabilities of failure to the vertices and/or edges of its underlying graph.
A widely used probabilistic model is the one where the edges fail randomly and independently with known probabilities, and where the vertices are always operational.Let G = (V , E) be a graph with a distinguished set K ⊆ V .We define the K-diameter of G as the maximum distance between any pair of vertices of K.If the edges fail randomly and independently with known probabilities, in [2,8], the diameter-constrained K-terminal reliability of G, R K (G, D), is defined as the probability that surviving edges span a subgraph whose K-diameter does not exceed D, or equivalently, as the probability that for each pair of vertices {u, v} ⊆ K, there exists an operating path between u and v of at most D edges.
One particular application of this measure is when transmissions between every two nodes of a terminal set K of a network (modelled by a graph G = (V , E)) are required to experience a maximum delay DT , where T is the delay experienced at a single node or edge.The probability that after random failures of the communication links the surviving network meets the delay DT is R K (G, D).
As real networks are subject to failures, the diameter-constrained reliability can be useful in different contexts.For example, this measure gives an indicator of the suitability of an existing network topology to support good-quality voice over IP applications between a pair of terminals.In the case of a videoconference, we take K to be the set of the participating nodes, and the diameter-constrained reliability gives the probability that we can find short enough paths between all of them.Another potential case of interest is a number of protocols which, in order to avoid congestion by looping data, assign a timeout date or a maximum number of hops to each data packet, to control information; that is, the case for some peer-to-peer (P2P) networks, such as Freenet, Gnutella, or others [3,7], in which a fixed maximum number of hops are allowed for communication between nodes.In these cases, the diameter-constrained unreliability (i.e., one minus the reliability) gives the probability that, due to failed links, there are some nodes of the network, which are not mutually reachable using these protocols.
In Section 2, we introduce some basic notation and definitions that will be used in the following sections, and we present R K (G, D) as a generalization of the classical reliability measure R K (G), allowing us to conclude that, in general, the complexity of evaluating R K (G, D) is NP-hard.In Section 3, we show that even though R K (G, D), for |K| = 2 and D = 2, can be calculated efficiently, this problem is NP-hard for fixed values of D, D ≥ 3.In Section 4, we generalize this result for any fixed number of terminal vertices.In Section 5, we present a recursive formulation for the calculation of R {s,t} (G, D) that yields a polynomial-time evaluation algorithm for the case of complete topologies, whose edge set can be partitioned into at most four equi-reliable classes.Finally, in Section 6, we present some open problems and final remarks.
The notation in this paper follows that of Harary [5], unless otherwise noted.

Preliminaries.
The following notation and definitions will be used in the sequel.
(i) Let G = (V , E, ᏼ(E)) be a probabilistic graph with a distinguished set K ⊆ V , |K| ≥ 2, and D ∈ Z + , with 1 ≤ D ≤ n − 1, where n = |V | and where ᏼ : E [0, 1] are the operational probabilities of the set of edges E. For ease of notation, we represent the operational probability of an edge e ∈ E as p(e) = 1 − q(e) (q(e) is the probability of failure).
(ii) Let the sample space Ω represent the set of all possible subsets of E corresponding to sets of operational links (i.e., Ω = 2 E ).
(iii) Under the assumption of independent edge failures, each H ∈ Ω has occurrence probability (2.1) p(e) e∉H q(e). (2.2) Similarly, (2.2) can be rewritten in terms of the failure states: p(e) e∉H q(e). (2.3) A widely used probabilistic measure (see [1,4,11,12]) is the classical K-terminal reliability of a graph G, R K (G), defined on the same probabilistic model (i.e., edges fail randomly and independently with known probabilities and the vertices are always operational).The measure R K (G) is the probability that for every pair of vertices u, v ∈ K, there exists an operating path between u and v.In this case, there are no length restrictions of the paths joining the vertices of K, and by noting that the maximum length of a path joining a pair of vertices is of at most n − 1 edges, where n is the number of vertices of G, then (2.4) This generalization of the classical reliability parameter allows us to reflect more stringent performance objectives by restricting the maximum length of a path in a network.Let G = (V , E) and let K be a set of terminal vertices of G.For the classical reliability measure, computations of the K-terminal reliability (see [10]) and the specific cases when |K| = 2 (see [13]) and K = V (see [6,9]) were shown to be NP-hard.From these results and the fact that , where n is the number of vertices of the graph G, and by restricting D = n − 1, we have the following theorem.
Theorem 2.1.For the diameter-constrained reliability, the computational complexity of computing R K (G, D), R {s,t} (G, D), and R V (G, D) is NP-hard.
Even though it is very unlikely that R K (G, D) can be evaluated efficiently, we cannot preclude that it is the case when fixed values of the diameter parameter D are under consideration.We address this question in Sections 3 and 4.

Evaluating R K (G, D
) when |K| = 2 and when D is a constant value.In this section, we establish the computational complexity of computing R K (G, D) when K is composed of two terminal vertices s and t, and for fixed values of diameter parameter D.
In [8], an efficient formulation was given for the evaluation of diameter-constrained two-terminal reliability of a network when terminals s and t should be connected by operating paths of at most two edges (i.e., D = 2).Theorem 3.1.Let G = (V , E) be a simple graph where each edge (u, v) ∈ E operates independently with probability p (u,v) , and let ᏺ {s,t} = {u 1 ,u 2 ,...,u l } be the common neighborhood of terminal nodes s and t; then where Even though R {s,t} (G, 2) can be computed in time linearly on the number of nodes of G, we next show that the complexity of evaluating R {s,t} (G, D), for fixed values of D, is NP-hard.
For ease of notation, instead of representing a state (operational or failure) as a set of edges of a graph G, we represent it as a subgraph of G spanned by this set.
Proof.We show that counting the number of vertex covers of a bipartite graph is polynomial-time Turing reducible to counting the number of failure states of an undirected graph with terminal vertices s and t and fixed diameter parameter D ≥ 3.
An instance of the bipartite vertex cover consists of a bipartite graph G = (V , E); let X and Y be the classes in the bipartition of V .A vertex cover is a set of vertices and C Y ⊆ Y such that every edge of E has at least one endpoint in C. The problem of counting the number of vertex covers of a bipartite graph was shown to be #ᏼ-complete by Provan and Ball [9].
Let D = 3 + d and let P = (V (P ), E(P )) be a path on d + 1 vertices, where It is clear that this transformation is polynomial on the size of the input of the bipartite graph, since D is a constant value.
From this construction, a state H of G consists of the bipartite graph G, the path P , the vertex s d , possibly joined to some vertices of X, and the vertex t, possibly joined to some vertices of Y of the bipartite graph G.
We then construct a one-to-one correspondence Z : W ᏻ D {s,t} (E ) from the set of vertex covers W of the bipartite graph to the failure states of G as follows: if w = (S T ) ∈ W , where S ⊆ X and T ⊆ Y , is a vertex cover of the bipartite graph, then To show that this is a one-to-one correspondence, let w = (S T ) be a vertex cover of the bipartite graph G, and suppose x ∈ X −S and y ∈ Y −T .Clearly, (x, y) is not an edge in Z(w), otherwise if (x, y) is an edge, this edge is not covered by w.Thus, there are no paths of length D joining s and t in Z(w).Therefore, Z(w) is a failure state of G .
Conversely, consider a failure state H which, as remarked previously, must include all the edges of path P , all the edges of set E, and possibly some edges joining vertex s d to vertices in X and joining vertex t to some vertices in Y .As H is a failure state, the vertices of X and Y adjacent to s d and t must form an independence set (if that was not the case, there would exist a path of length D joining s and t).Therefore, the remaining vertices of the bipartite graph form a vertex cover which is Z −1 (H).
From (2.3), we obtain where F i (G , {s, t},D) is the number of failure states of G with |E| + |E(P )| + i edges.
But F i (G , {s, t},D) is equal to the number of vertex covers of the bipartite graph G, thus the result follows.
In the next section, we generalize this result for any fixed number of terminal vertices.
e., we make the terminal vertex t adjacent to each vertex If s and t ought to be connected by a path of at most D edges, then this path must comprise the path P of G (see the proof of Theorem 3.2).In a failure state H of G , every pair of terminal vertices is connected by paths of at most D edges, with the exception of s and t; thus Also, it follows from (4.1) that the occurrence probability (see Section 2, definition (iii)) of the edge set E(H ) of a failure state H of G is equal to the occurrence probability of the edge set E(H) of its corresponding failure state H of G as Path of length D Therefore, it follows from (2.3), (3.3), (4.1), and (4.2) that But, as was shown in the proof of Theorem 3.2, F i (G , {s, t},D) is equal to the number of vertex covers of the bipartite graph G, thus the result follows.

Two-terminal reliability of complete topologies with at most four edge reliability values.
In this section, we define a class of complete graphs, whose edges can be partitioned into four elementary reliability values.We will denote these graphs by G A (n, q st ,q s ,q t ,q), where n is the number of intermediate nodes between the terminals s and t, q st = 1−r st is the unreliability of the edge connecting s and t, q s = 1−r s is the unreliability of the edges connecting s to the other n intermediate nodes, q t = 1 − r t is the unreliability of the edges connecting t to the n intermediate nodes, and q = 1 − r is the unreliability of the edges whose endpoints are intermediate nodes (see Figure 5.1(a)).The reliability for this network, R {s,t} (G A (n, q st ,q s ,q t ,q),D), is a multinomial in q st , q s , q t , q.
We will express the reliability of network G A by taking into account the independence between the edge (s, t) and the other paths, and by conditioning on the number of operational edges between s and the intermediate nodes (exploiting the symmetry between those nodes).If D = 1, the only feasible path is the edge (s, t); then trivially R {s,t} (G A (n, q st ,q s ,q t ,q),1) = 1 − q st .We can now look at the case where D > 1.As a first step, we use the fact that (s, t) is a feasible path and that it is independent from all other simple paths from s to t.Then we can write R {s,t} G A n, q st ,q s ,q t ,q ,D = 1 − q st + q st R {s,t} G A n, q s ,q t ,q ,D , (5.1) q s ,q t ,q) and G A (n, q s ,q t ,q) networks.
where G A (n, q s ,q t ,q) is the probabilistic network obtained from G A (n, q st ,q s ,q t ,q), by deleting the edge (s, t) (see Figure 5.

1(b)).
As this network is completely symmetric with respect to the edges between s and the intermediate nodes (all nodes except s and t), we will define a partition of the probability state space for the network based on the number of those edges that fail or are operational.We define A k to be the event where k edges from s to intermediate nodes fail and the remaining n − k are operating; its probability is The set {A k : 0 ≤ k ≤ n} is a partition of the probability space, as the events are pairwise-disjoint and their union has probability one.Applying the total probability theorem, we then have (5.3) We must now find an expression for the general term with k ≤ n.The leftmost network shown in Figure 5.2 corresponds to this event, where k edges between s and intermediate nodes fail (i.e., can be removed from the network) and the remaining n−k are operational, which are presented with a bolder trace.Finding an operational path of length less than or equal to D in this network corresponds to finding a path of length less than or equal to D − 1 in the network shown at the center of Figure 5.2, which is obtained by identifying s and the intermediate nodes to which it is unconditionally q s ,q t ,q) when n − k edges between s and intermediate nodes work and the rest fail.
connected into one node.In addition, as edges fail independently, the operational probability of a bank of parallel edges is the complement (to one) of the products of their failure probabilities.Thus, the set of parallel edges between s and t shown at the center of Figure 5.2 can be replaced by a single edge with reliability 1−q n−k t .Similarly, the set of parallel edges between s and an intermediate node of K k can be replaced by a single edge with reliability 1 − q n−k .
The network resulting from this last operation is shown at the right of Figure 5.2, and corresponds to a topology, where the operational paths must have length at most D −1.From (5.1), (5.2), and (5.3) and the latest fact, we can express the reliability of the original network G A by the following formula: R {s,t} G A n, q st ,q s ,q t ,q ,D ,q n−k ,q t ,q ,D − 1 . (5.4) The recursive application of this formula gives a multinomial on q st , q s , q t , q.It can be observed that the direct application of the recursive formula leads to evaluating the multinomial many times for values of k ≤ n and d < D, but with different values to be substituted for the parameters q st , q s , q t , and q.This observation leads us to the following alternative formulation.We define a subclass of the class of networks G A .These networks will be denoted by G B (m,h,q t ,q), with G B (m,h,q t ,q) = G A (m, q h t ,q h ,q t ,q).This means that these networks have the same complete graph topology, but that the reliabilities of the four-edge classes are defined by only two integer and two real parameters.It is trivial to observe that R {s,t} G B m, h, q t ,q ,D = R {s,t} G A m, q h t ,q h ,q t ,q ,D . ( Substituting in (5.4), we have that R {s,t} G A n, q st ,q s ,q t ,q ,D (5.7) ( Moreover, it is also noted that the last term (i.e., k = m) of (5.7) is null since G B (m, 0,q t ,q) represents a network with m + 2 nodes in which the edges from s to the intermediate nodes fail, and where s is adjacent to the terminal node t by an edge whose reliability is 0 (i.e., 1 − q 0 t ).The next theorem states the space and time complexity of evaluating R {s,t} (G A (n, q st , q s ,q t ,q),D).Theorem 5.1.Evaluating R {s,t} (G A (n, q st ,q s ,q t ,q),D) takes O(n 3 ) and O(Dn 3 ) space and time complexity, respectively.
Proof.We first start with the standard assumption that the edges' reliabilities are rational numbers p/q, where both p and q are of length O(n), and that arithmetic operations on such rational numbers take constant time (i.e., O( 1)) (see [4, page 4]).
We next note, from the right-hand side of (5.7), that evaluation of R {s,t} (G B (m,h,q t , q), d) for specific values of m and h depends on powers of the edges' unreliabilities q t and q.Since the possible values for m and h are in [0,n], we first proceed to evaluate and store the values q i t , for 0 ≤ i ≤ n, and q i , for 0 ≤ i ≤ n.This procedure requires O(n 2 ) space complexity (n values to be stored, each having length O(n)) and O(n 2 ) time complexity.We then calculate and store all possible values q ij , for 0 ≤ i, j ≤ n.This can be accomplished by utilizing an n × n two-dimensional array and values already stored for powers of q.This procedure takes O(n 3 ) space and time complexity.Values for (1 − q i ) j are stored in a similar fashion.
Finally, we proceed to evaluate R {s,t} (G B (m,h,q t ,q),d) for specific values of m, h, and d.In order to execute this last step, we note, from (5.7), that an evaluation of R {s,t} (G B (m,h,q t ,q),d) requires at most n values (i.e., n terms in the summation) of R {s,t} (G B (m,h,q t , q), d−1).An efficient evaluation is, for example, to first evaluate and store R {s,t} (G B (m,h,q t ,q),d), for d = 1, and for all values of m (with 0 ≤ m ≤ n) and h (with 0 ≤ h ≤ n) (i.e., O(n 3 ) space and O(n 2 ) time complexity).Next we determine and store the values of R {s,t} (G B (m,h,q t ,q),d) for d = 2 and for each pair (m, h), by utilizing already stored values; by the previous assumptions, this step will take O(n) execution time.We sequentially repeat this last procedure for all possible values of d, 1 ≤ d < D, yielding an O(Dn 3 ) space and time complexity.We can also improve the storage to O(n 3 ) by noting that to evaluate R {s,t} (G B (m,h,q t ,q),d), it is only necessary to store values for d − 1.We implemented this iterative procedure as well as the recursive method which is obtained by directly applying (5.4).
Table 5.1 shows the execution times (obtained on an Intel Celeron PC) for both the iterative and the recursive methods, for different values of n and D. Some entries are marked > 36000, corresponding to runs which exceeded 10 CPU hours (36000 seconds) and were aborted.It is easy to see that the iterative method has a much better behavior than the recursive formulation, leading to smaller execution times (especially for high values of D).

Conclusions and future work.
In this paper, we investigated the computational complexity of the diameter-constrained K-terminal reliability.
In particular, this measure subsumes the classical K-terminal reliability measure when there is no restriction on the length of the paths connecting the terminal vertices.This equivalence between these two reliability measures allows us to conclude that, in general, the computational complexity of the diameter-constrained K-terminal reliability is NP-hard.Nevertheless, the problem of determining the computational complexity of R K (G, D), for specific cases of K and D, was open.We showed that even though for two terminal vertices s and t and D = 2, R {s,t} (G, D) can be determined in polynomial time, the problem of calculating R {s,t} (G, D) for fixed values of D, D ≥ 3, is NP-hard.Moreover, we generalized this result for any arbitrary number of terminal vertices.As a consequence, this result justifies the implementation of approximation methods for the evaluation, and the determination of bounds for R K (G, D).Another relevant open problem is to determine subclasses of graphs for which polynomial-time evaluation algorithms exist.In this paper, we showed that for the case of complete topologies where the edge set can be partitioned into at most four equi-reliable classes, R {s,t} (G, D) can be computed efficiently.

Call for Papers
Thinking about nonlinearity in engineering areas, up to the 70s, was focused on intentionally built nonlinear parts in order to improve the operational characteristics of a device or system.Keying, saturation, hysteretic phenomena, and dead zones were added to existing devices increasing their behavior diversity and precision.In this context, an intrinsic nonlinearity was treated just as a linear approximation, around equilibrium points.
Inspired on the rediscovering of the richness of nonlinear and chaotic phenomena, engineers started using analytical tools from "Qualitative Theory of Differential Equations," allowing more precise analysis and synthesis, in order to produce new vital products and services.Bifurcation theory, dynamical systems and chaos started to be part of the mandatory set of tools for design engineers.
This proposed special edition of the Mathematical Problems in Engineering aims to provide a picture of the importance of the bifurcation theory, relating it with nonlinear and chaotic dynamics for natural and engineered systems.Ideas of how this dynamics can be captured through precisely tailored real and numerical experiments and understanding by the combination of specific tools that associate dynamical system theory and geometric tools in a very clever, sophisticated, and at the same time simple and unique analytical environment are the subject of this issue, allowing new methods to design high-precision devices and equipment.
Authors should follow the Mathematical Problems in Engineering manuscript format described at http://www .hindawi.com/journals/mpe/.Prospective authors should submit an electronic copy of their complete manuscript through the journal Manuscript Tracking System at http:// mts.hindawi.com/according to the following timetable: and t.The edge set E consists of E, E(P ), the edge sets E X = {(s d ,x) : x ∈ X} and E Y = {(t, y) : y ∈ Y } (see Figure 3.1).The edges' operational probabilities are p(e) = 1 if e ∈ E, p(e) = 1 if e ∈ E(P ), and p(e) = 1/2 otherwise.The terminal set is K = {s, t}.

4 .Theorem 4 . 1 . 1 )
Evaluating R K (G, D) for any fixed number of terminal vertices K and when D is a constant value, D ≥ 3.In this section, we show that complexity of calculating R K (G, D) is NP-hard when any fixed number of terminal vertices are under consideration and when D is a constant value, D ≥ 3. Evaluating R K (G, D) for a fixed number of terminal vertices and for fixed D, D ≥ 3, is NP-hard.Proof.Let k = |K| with k > 2, and D = 3 + d.We construct a probabilistic G = (V ,E , ᏼ(E )) obtained from the probabilistic graph G = (V ,E , ᏼ(E )) mentioned in the proof of Theorem 3.2 as follows:(a) for each j, 1 ≤ j ≤ k − 2, let P j = (V j = {u j ) be a path on D vertices; (b) let the set of edges E s = {(s, u j : 1 ≤ j ≤ k−2} (i.e., we make the terminal vertex s adjacent to each vertex u j

Figure 4 .
1).For the operational probabilities of G , if e is an edge in which one of the endpoints is s d or t and the other endpoint is a vertex of the bipartite graph G, then p(e) = 1/2, otherwise let p(e) = 1.Let also the terminal set K = {s, t} ( This construction is also polynomial on the size of the input of the bipartite G, since both |K| and D are constant values.

First
Round of ReviewsMarch 1, 2009 for all e i ∈ H.(vii) H ∈ Ω is a failure state if H spans a subgraph whose K-diameter is greater than D (if H spans a subgraph where two vertices of K belong to different connected components, then its K-diameter is infinite).

Table 5 .
1. Execution times for evaluating complete graph reliability.