User:Huang jennifer/sandbox

In computer science networking, consider directed networks whose edges are assigned precomputed capacity, delay, and reliability values. The problem of selecting a path from a designated source-node to a designated target-node that guarantees the most reliable path/route for transmitting a given amount of data from the source to the sink. This algorithm is going to give a most reliable data path transmission (MRDPT) for the well studied shortest-path problem in networks. This algorithm has some common features as Dijkstra’s algorithm.

MRDPT: Most Reliable Data Path Transmission

This algorithm is used to resolve the problem of transmitting a given amount of data along a single path from a designated source to a designated target in a directed network so that the reliability of the transmission is maximum. In the network, especially the routing problem, the sub-paths of an optimal path are not necessary optimal. This is not like the Greedy algorithm, in MRDPT, the first path from node A to node B is an optimal path. However from node B to node C, there may be has a long delay. So how to decide an optimal path in the whole network routing is a NP-complete problem.

MRDPT this algorithm has been published by Spyros Tragoudas, "The most reliable data path transmission," Performance, Computing and Communications Conference, 1999 IEEE International, vol., no., pp.15,19, 10-12 Feb 1999 doi: 10.1109/PCCC.1999.749415

Algorithm
The reliability of the data transmission along P is MRDPT: R∂(P)=∏$$a_p$$(u,v). (u,v)∈p

If ∂ units of data are to be transmitted from node s to node t through u, then the transmission reliability is: a(u,v) = r(u,v)d(u,v)+[∂/c(u,v))]

$$r(u,v)$$: reliability of the interconnection between u and v, 0 ≤ r(u, v) ≤ 1;

$$d(u, v)$$: integer delay from node u∈V to v∈V ; lead time in establishing a connection between nodes u and v

$$c(u; v)$$: integer capacity on (u; v)∈E (edge bandwidth); maximum number of data units that can be transmitted from node u to node v per time-unit

∂: units of data to be transmitted from s to t along a path.

Let: P ≡ (s; v1; v2; t) be an s- t path along which ∂ units of data are to be transmitted; c(P) ≡ min {c(u,v)} (u,v)∈P $$a_p(u,v)$$= r(u,v)d(u,v)+[∂/c(P))]

Example
Figure 1:

Consider the graph of Fig.1, Every edge is assigned a triple (a,b,c)

a: delay along the edge;

b: capacity of the edge;

c:reliability of the edge;

Let node A is the source, node E is the sink, and ∂=100;

The first reconvergent node is D. There are 2 paths leading to node D,(A,B,D) and (A,C,D). The reliability of the data transmission along (A,B,D) is:

R100(A,B,D)=0.858+100/10∗0.8510+100/10=0.8538=0.0020793097

R100(A,C,D)=0.8515+100/50∗0.855+100/50=0.8524=0.0455994483

Therefore the latter subpath would have been selected as MRDPT if node D were the destination t.

There are also 2 paths leading to the destination node E: (A,B,D,E) and (A,C,D,E).

R100(A,B,D,E)=0.858+100/5∗0.8510+100/5∗0.8510+100/5=0.8588=6.149863307

R100(A,C,D,E)=0.8515+100/5∗0.855+100/5∗0.8510+100/5=0.8590=4.443276239

which is worse than the previous value.

So in this case, although (A,B,D,E) is the optimal path, optimal subpaths can not be built upon to find the optimal path for the studied problem. More specifically, one needs to store for the intermediate node D not only the optimal subpath (A,C,D) but also the non-optimal subpath (A,B,D) because the latter subpath is eventually incremented to obtain the optimal path (A,B,D,E).

Pseudocode
Pseudocode: Algorithm Reliable (Ni)

for i=1 to |V|-1

{find u∈ V/S that maximizes R[u] and add u in S}

∀ w∈ V/S do

R[w]=min{R[w],R[u]⋅aci (u,w)}

End Algorithm

This idea is to associate with every node v, not only one subpath P v from s to u, but c' subpaths Pciv, one for each different edge capacity ci in the network. The proposed solution will apply algorithm, Reliable (Ni) on Ni, which is similar to the Dijkstra shortest path algorithm to find, for every node v∈V, the MRDRT(vNi) up to node v, The Ni are considered in increasing order of ci.

Complexity
The running time is O(|E| + |V|⋅log|V|).

Applications
This algorithm can be used in network routing problem for finding a path for which having most reliable data transmission. In applications when many data transmissions with different values of data are requested to be routed from the source to the sink, it is useful to precompute a polynomial set of paths so that, for any value of data, there exists a polynomial set of paths so that, for any value of data, there exists a precomputed path guarantees the most reliable transmission.

Reference
MRDPT this algorithm has been published by Spyros Tragoudas, "The most reliable data path transmission," Performance, Computing and Communications Conference, 1999 IEEE International, vol., no., pp.15,19, 10-12 Feb 1999 doi: 10.1109/PCCC.1999.749415

R.K. Ahuja, Minimum cost-reliability ratio path problem, Computers & Operations Research, Volume 15, Issue 1, 1988, Pages 83-89, ISSN 0305-0548, 10.1016/0305-0548(88)90031-7.

Fu-Shang P.Tsen; Ting-Yi Sung; Men-Yang Lin; Lih-Hsing Hsu; Myrvold, W., "Finding the most vital edges with respect to the number of spanning trees," Reliability, IEEE Transactions on, vol.43, no.4, pp.600,603, Dec 1994 doi: 10.1109/24.370220