Microelectron. Reliab., Vol. 33, No. 9, pp. 1241-1244, 1993. Printed in Great Britain.
0026-2714/9356.00 + .00 © 1993 Pergamon Press Ltd
A SIMPLE METHOD FOR GENERATING K-TREES OF A NETWORK DEBAR,~J RATH Orissa State Electricity Board, Department of Energy, Government of Orissa, India and
K. P. SOMAN Indian Institute of Technology, Kharagpur 721 302, West Bengal, India
(Receivedfor publication30 March 1992) Abstract--The K-terminal reliability of a network is defined. It is evaluated using K-trees obtained from spanning trees of the network graph. A simple algorithm for generating the K-trees is proposed. The method is suitable for small networks and also for large networks if Kis greater than half the total number of nodes. Changing all logical variables into their analogous probability variables in the mutually disjointed sum of the K-trees gives K-terminal reliability of the network. The method is straightforward and easy to program. The examples illustrate the method.
1. INTRODUCTION Exact computation of K-terminal reliability in undirected networks was first investigated in 1958 [1]. A n u m b e r of papers [2-14] have since then addressed the subject but with no remarkable improvement on computational complexity. All the existing papers are primarily dealing with factoring algorithms for computation of network reliability. The purpose of this paper is to provide a new dimension to the computation of K-terminal reliability in undirected networks. The reliability problem may be stated thus: let G = ( V , E ) be a graph whose edges can fail statistically independently of each other, with known probabilities. Every vertex vj __qV is perfectly reliable. The edge-failure probability for edge e~ ~_E is q~ and the edge reliability is p~ = 1 -q~. Now, a set K__qV must be specified for G. These vertices are the Kvertices of G, and Gk denotes the graph G with K specified. The K-terminal reliability of Gk, Rk(Gk) is the probability that Gk is connected, i.e. that all K-vertices in Gk communicate with each other. Special cases are as follows. (i) The source-to-terminal reliability problem, where K = (v~, v:) is denoted by Rst(Gk). Here, the problem is to calculate the probability that v~ (designated as the source) communicates with vj which is designated as the terminal. (ii) The all terminal or global reliability problem, where K = V denoted by Rg(Gk). Here, the problem is to calculate the probability that all the vertices in the network communicate with each other. 2. ASSUMPTIONS (a) The network is modeled by a reliability graph with non-oriented edges.
(b) Each edge and the network have only two states; good(up) and failed(down). (c) Edge states are statistically independent, i.e. one edge being up or down does not affect the probability of other edges being up or down. (d) Nodes are perfect; see Ref. [21] for a relaxation of this assumption.
G Gk ei
vj
Pi q~ Rk(Gk) T, Vrj N
3. NOTATION AND DEFINITIONS (V, E) an undirected graph G with vertex set Vand edge set E G with K ~ V specified an edge, ei~_E a vertex, vj~_V probability that e~c_E is functioning 1-p~ K-terminal reliability of Gk spanning tree-i of the network K tree-/of the network a redundant vertex number of redundant vertices
Definitions Spanning tree. A tree T~is said to be a spanning tree of graph G if T~ is a connected subgraph of G and contains all the vertices of G. An edge in T~ is called a branch of T~, while an edge of G that is not in T, is called a chord. For a connected graph of n vertices and b edges, a spanning tree has (n - I) branches and (b - n + 1) chords. K-tree. A tree TKi is a tree, coveting all the K-vertices of Gk, such that all pendant (degree one) vertices of Gk belong to K. A K-tree might or might not be a spanning tree of G. Redundant vertices. These are vertices such that the connectivity of the K-vertices of Gk is retained even after elimination of any one of the same from Gk. The number of redundant vertices might or might not be equal to [ V [ - IK].
1241
1242
D. R~Tn and K. P. SOMAN 2
2
X
1
x
\I75_ s
3
Ut.--'--
4
X2
Fig. 2.
4 Fig. 1.
The K-terminal reliability expression is Rk (Gk) = PIP2 + Pl q2P3 + qlP2P3 + Pl q2qsPaP5 + qlPzqsP4Ps.
4 METHODOLOGY Example 2
The proposed method requires the following steps. (1) Enumeration of all spanning trees of the network. This can be carried out in a number of ways [15-17]. (2) Enumeration of all K-trees. (3) Evaluation of K-terminal reliability using Ktrees. This can be carried out in a number of ways [18-20]. 5. T H E ALGORITHM
(1) Find all values of T : . (2) Form a set corresponding to each of the N redundant vertices, the elements of which are the edges incident on that node resulting N such sets, i.e. Si, i = 1,2 . . . . . N. (3) Take a T~ and compare its elements with those of S~. If the n u m b e r of c o m m o n elements is one, delete it from T,, otherwise retain it. (4) Repeat 3 for all values of Tis. (5) Repeat 3 and 4 N times. (6) Take all non-recurring terms and one from each set of recurring terms as Tx~.
For the A R P A network (Fig. 2), vertices 1, 3 and 4 are taken as K-vertices. Then vertices 2 and 5 are redundant vertices. There are 21 spanning trees and 9 K-trees. All the spanning trees and K-trees involved in this example are listed in Table 2. The K-terminal reliability Rk(Gk) is PlP2P5 + PlP2P4q5 + Pl q2P4P5 + PlP2Psq4qsP7 + Pl q2PsP4 qsP7 + PJ P2P3q4 qsP6 q7 + PlP2q3q4qsP6 + Pl q2q4PsP6 + qlPsP6 + qlP2P4qsP6 + Pl q2P3 q4qsP6P7 + qlP2Psq4qsP6P7 + ql q2P3qsP6P7.
In the above example the desired spanning trees are obtained even in one iteration. But there are cases which may require as many iterations as the number of redundant vertices. The algorithm has been coded in F O R T R A N and the program run for several examples; the source listing can be obtained from the authors.
6. EXAMPLES A N D D I S C U S S I O N
Table 2 T,s
Example 1
For a bridge network (Fig. 1) there are eight spanning trees. If the K-vertices constitute the vertices 1, 2 and 3 then vertex 4 is the only redundant vertex and there will be five K-trees. Table 1 lists all the spanning trees and K-trees involved in this example.
X 5 X6
X 2X 3 X 5x 6
XIX2X 6
X2 X s X6 X 7
X9X6X 7
X I X5X6X 7
XIX2X 5
X 3 X4 X 5 X 6
XIX2X 4
X4X5X6X7
X 2X 4 X 6
XIX2X3X 6
X IX4X 5
X IX2X6X 7
Xl X2X3X7
X [x 3x 6X 7
X I X3 X4 X7
X 2 X 3 X 6 X7
Table 1 Tis
XIX2X3X 5
Tx~s
Txis
X I X 3X5 X6
X[X2X3X4 X 2 X 3X 4 X 6
X I X 3X 4
X IX3
x[ X2XsX 7
X l X3 X5
X l X2
X IX2X4X 7
X I X2 X4
X2 X3
X 2X 4 X6X 7
X 2X 3X 4
X 2X 4 X 5
X 9X 4X 6X 7
Xj X2X 5
X IX4X 5
X[ X 9 X 4 X 5
X 2 X 3X 5
X IX4X5X 7
X 2X 4X 5
XIX2X3X7
xlx4x5
X IX9X4X 7
Generating K-trees
1243
Table 3 Network sl. number
Number o f vertices
Number of edges
K-vertices number
Number o f T,.s
Number of T~s
1 2 3 4 5 6
4 5 6 6 7 8
5 7 8 9 10 11
1,2,3 1,3,4 1, 3, 5 1, 3, 5 2, 4, 6 1, 4, 7
8 21 30 81 96 168
5 9 I1 21 16 32
2
X2
1
x4
3
1
x7
4
7
~
x6
5
X5
Fig. 5.
Fig. 3.
X1
2
2
x2
3
8
x5
5
X6
X2
4
x3
3
Fig. 6.
Fig. 4.
Table 4 Network sl. number
Txix XlX2X$, X5X6X8, XIX2X3X4, XIX2X5XT, XIX5X7Xs, XIX2XsX6, X2XsX6XT, X2X6XTXs, X3X4X5X6, XIX3X4X5X7
and x2x3x4x6xT. XIX2X 8, X3X4Xg, X5X6XT, glX2X3Xg, XlX2X5X7, XIXaX4Xs, glX3XsXg, XlXsX7X 8, XlX6XTXs, XlX2X4gg,
x3x4xsxT, x4xsxTxg, x4x6x7xg, x2x3x4xs, xzx4xsxg, x~x2xsx6, x3x4xsx6, x3xsx6xg, xzxsx6x8 and x2x6x7x s. X4X5Xlo, X6XTX9, X4XsX6X7, X4X5X7X9, X5X7XgXIo, X3X4XsX $, X3X5XsXI0, X4X6XgXI0, X5X6XgXlo, X3X6XTX 8,
x3x6xsxg, xtx2x4xsxs, x~x2xsxsxLo, x~xzx6xTx 8 and X~XzX6XsX9 . XlX2X3Xg, X3X6XgXIo, X4XsX6XIo, X3X4X5.X6Xg, X4XsX6X7XII, X4X6XTXIoXII, XIX2X3XsXII, XIX2X3X6XIO, XIX3XsXgXII, XtX4XTX$XII, XIX2X3X4XsXIo, XIX2X3X4X7XII, XI.,'C2X4X5X6X9, XIX2X4XsXgXIo, XbX2X4X7XgXlI, XIX4Z5X6XsXll . XIZ4XsXsXIoXlI, XIX2X4X7X8X9, XIX4X5X7XgXIo, XIX4X6X7XsXIo, ZIX3X4X7XgX 9, X3XsX6X7X9XII , X2X3X6XgXIoXII ~ XI X2X3XsX7X8XIo, XI X3X5X7XsXgXIo, Xl X2X3X5X6X7XII , X2X3X4X5X6XsXII , X2X3X5X6X7XsXg, X2X3X5X6X7XsXIo , X2X3X5X6X7XsXII, X2X4X5X6X7XsX9 a n d x.2x4x6g7x8xgX.lo.
Table 5
Network sl. number I 2 3 4 5 6
Rk(Gk) for p = 0.5
Rk(Gk) for p -- 0.6
Rk(Gk) for p = 0.7
Rk(Gk) for p = 0.8
R,(Gk) for p = 0.9
0.5625 0.52343 0.35937 0.48632 0.41796 0.27148
0.71712 0.69592 0.55040 0.68659 0.61900 0.47950
0.84573 0.83872 0.73776 0.84578 0.79840 0.70028
0.93696 0.93655 0.88702 0.94430 0.92365 0.87687
0.98657 0.98692 0.97484 0.98886 0.98546 0.97436
1244
D. PATH and K. P. SOMAN
Table 3 lists brief particulars of some of the networks studied (Fig. 3). Table 4 lists the K-trees of the networks not covered in Examples 1 and 2 for which the K-vertices are specified in Table 3 (Fig. 4). Table 5 gives K-terminal reliability of the networks for the K-vertices specified in Table 3 for different values of edge reliabilities (Figs 5 and 6).
7. CONCLUSIONS A simple and efficient algorithm for enumeration of all minimal paths for K-terminal reliability of a network has been proposed. The K-trees of Example 1 are the same as those given in Ref. [22] for the same bridge network. The method is simple in principle and application. One of the possible areas of application of K-terminal network reliability is the communication between the power generating stations and each master load despatch station of a region. REFERENCES
1. F. Moskowitz, The analysis of redundancy networks, AIEE Trans. Commun. Electron. 39, 627-632 (1958). 2. K. B. Misra, An algorithm for reliability evaluation of redundant networks, IEEE Trans. Reliab. R-19, 146 151 (1970). 3. J. Murchland, Calculating the probability that a graph is disconnected, Working paper No. 182 (1973). 4. A. Rosenthal, Computing reliability of complex systems, PhD thesis, University of California, Berkeley (1974). 5. A. Rosenthal, A computer scientist looks at reliability calculations, In Reliability and Fault Tree Analysis (eds R. E. Barlow, J. B. Fussel and N. D. Singpurwalla), pp. 133-152. SIAM (1977). 6. H. Nakazaw, Bayesian decomposition method for computing reliability of an oriented network, IEEE Trans. Reliab. R-25, 77-80 (1976).
7. M. O. Bal, Network reliability analysis: algorithms and complexity, PhD thesis, Cornell University (1977). 8. M. O. Ball, Computing network reliability, Opns Res. 27, 132-143 (1979). 9. M. O. Ball and G. L. Nemhauser, Matroids and a reliability analysis problem, Math. Opns Res. 4, 132 143 (1979). 10. M. K. Chang, A graph theoretic appraisal of the complexity of network reliability algorithms, PhD thesis, Department of IEOR, University of California, Berkeley (1981). 11. R. Johnson, Some combinatorial aspects of network reliability, PhD thesis, Department of IEOR, University of California, Berkeley (1982). 12. A. Satyanarayana and M. K. Chang, Network reliability and the factoring theorem, Networks 13, 107-120 (1983). 13. R. K. Wood, A factoring algorithm using polygonto-chain reductions for computing K-terminal reliability, Networks 15, 173 190 (1985). 14. R. K. Wood, Factoring algorithms for computing Kterminal network reliability, IEEE Trans. Reliab. R-35, 269 278 (1986). 15. K. K. Aggarwal and S. Rai, Reliability evaluation in computer-communication networks, IEEE Trans. Reliab. R-30, 32-35 (1981). 16. R. B. Misra, An algorithm for enumerating all simple paths in a communication network, Microelectron. Reliab. 19, 363-366 (1979). 17. S. P. Jain and Krishna Gopal, An efficient algorithm for computing global reliability of a network, IEEE Trans. Reliab. 37, 488-492 (1988). 18. K. K. Aggarwal, J. S. Gupta and K. B. Misra, A new method for system reliability evaluation, Microelectron. Reliab. 12, 435-440 (1962). 19. J. A. Abrahm, An improved algorithm for network reliability, IEEE Trans. Reliab. R-28, 58--61 (1979). 20. F. Beichelt and L. Spross, An improved Abraham method for generating disjoint sums, IEEE Trans. Reliab. R-36, 70 74 (1987). 21. K. K. Aggarwal, J. S. Gupta and K. B. Misra, A simple method for reliability evaluation of a communication system, IEEE Trans. Communs COM-23, 563 566 (1975). 22. A. Satyanarayana, A unified formula for the analysis of some network reliability problems, IEEE Trans. Reliab. 31, 23 32 (1982).