Smaller sums of disjoint products by subproduct inversion - IEEE Xplore

3 downloads 135 Views 564KB Size Report
Boolean algebra, Computer program. Reader Aids -. Purpose: Widen state-of-the-art. Special math needed for explanation: Elementary Boolean algebra.
IEEE TRANSACTIONS ON RELIABILITY, VOL. 38, NO. 3, 1989 AUGUST

305

Smaller Sums of Disjoint Products by Subproduct Inversion Klaus D. Heidtmann, Member IEEE University of Hamburg, Hamburg

Key Words - System reliability, Disjoint product, Sum of disjoint products, Binary coherent system, Network reliability, Boolean algebra, Computer program.

Reader Aids Purpose: Widen state-of-the-art Special math needed for explanation: Elementary Boolean algebra Special math needed for results: None Results useful to: System reliability analysts

Abstract - This paper presents a new method for calculating system reliability by s u m of disjoint products. While the Abraham algorithm and its successors invert single variables, this new method applies inversion also to products of several variables. This results in shorter computation time and appreciably fewer disjoint products. Hence, the system reliability formula is considerably reduced in size. The Abraham algorithm for instance produces 71 disjoint products for a network of 12 components and 24 minpaths, and this new method produces only 41 disjoint terms. This facilitates the numerical evaluation of the system reliability formula by reducing computation and rounding errors. This paper includes computer programs for both algorithms. They were written in Pascal and run on a microcomputer.

1. INTRODUCTION The method of disjoint products is a powerful tool for reliability analysis. It has advantages over other techniques as summarized in 121. Several algorithms for the generation of disjoint products are known 11, 3, 4, 5, 91 but they do not obtain a minimal formula. The following two elements determine the quality of algorithms for the generation of disjoint products computational efficiency, resulting number of disjoint products.

ings due to the Locks and Beichelt & Spross improvements are small, eg, 60 and 63 instead of 71 disjoint products for the example network of figure 2 [5, 93. (Editor’s nore: We have named this new algorithm KDH88, in order to refer to it easily and clearly.)

The KDH88 algorithm follows the same philosophy as the one of Abraham [11: The formula is generated recursively, using the minsets (either minpaths or mincuts) as input data. Each minset contributes a set of disjoint terms, all of which are also disjoint with the prior minsets. The recursive buildup of the formula is accomplished with an inner loop within an outer loop. A recursion of the outer loop results in a portion of the system formula, representing the probability accounted for by a single minset. Each recursion includes a sequence of inner loop steps, one step for each prior minset, and each step possibly resulting in the modification of one or more terms. The inner loop of the KDH88 algorithm uses a new technique for making terms disjoint: Parts of products are inverted instead of single variables. This results in fewer disjoint terms, each of which covers a greater domain of the Boolean structure function. The main ideas of KDH88 are explained in section 3 and demonstrated by a small example in section 4. The entire KDH88 algorithm is described in section 5, followed by the complete code of a Pascal program. Section 6 contains a corresponding program for the Abraham algorithm. Both are applied to the standard example, viz, a 2-terminal network with 12 components and 24 minpaths [l, 5 , 91. Section 7 lists the disjoint products. Section 8 includes numerical results for an example network with variable size, viz, number of disjoint products and computation time of a microcomputer. The computation experiments indicate that the KDH88 algorithm is superior with regard to both aspects. Nevertheless, the problem to find disjoint products is NP-hard [ l 13. This paper uses only 2-terminal networks as examples, for simple illustration. But the KDH88 algorithm and programs are not restricted to this class of reliability structures - they can be applied to any coherent system 17, 81.

A sum of disjoint products applies very well to system 2. PRELIMINARIES reliability computation. Assuming mutual statistical independence among component states, the probability of a Boolean product term is the arithmetic product of the compo- Assumptions nent reliabilities involved. Since all the Boolean products are 1 . Components and the system are 2-state (good or bad). disjoint, system reliability is the additive sum of the probabilities 2 . System structure is coherent, ie, the Boolean structure funcof the terms. It is clear that a minimal number of summands tion is isotone. results in smaller rounding errors and less numerical computation. This is extremely important in system modeling when Nomenclature various component reliabilities are considered. Hence, for system reliability computation, sums of disjoint products should Product connection of at least two Boolean expressions by consist of a small number of disjoint summands. But the a conjunction (Boolean AND operation) Abraham algorithm produces many disjoint terms and the sav- Uniproduct Boolean pruduct of only uncomplemented variables. 00 18-9529/89/0800-0305$01.00O1989 IEEE

I

306

IEEE TRANSACTIONS ON RELIABILITY,VOL. 38, NO. 3, 1989 AUGUST

Minproduct Boolean product which represents a minset of a coherent structure. This implies that a minproduct is a uniproduct, ie, it contains only uncomplemented variables. Subproduct part of a Boolean product which is a complemented or an uncomplemented uniproduct from a subset of all variables not contained in another subproduct. Mixproduct product from one uncomplemented and at least one complemented subproduct. Mintenn product of all variables which appear exactly once, either complemented or uncomplemented. KDH08 the new algorithm LIBS Lock and Beichelt-Spross improved Abraham algorithms

Now this mixproduct is disjoint with the first and covers all minterms of the second product which are not contained in the first one. For s-independent components with reliabilities p i the corresponding summand of the reliability formula is:

In this situation the Abraham algorithm [11 as well as the Locks version [5] produces 4 disjoint terms:

This results in the following reliability formula:

Notation number of system components. set of component subscripts, N = { 1,...,n}. subscript for components, i E N. number of minsets (minpaths or mincuts) or minproducts. subscript for minsets and minproducts. Boolean variable indicating that component i is working, failed. (3 is the complement of xi) complement of the product x$i+l (this differs from the product of the complemented variables f$i+l). at position i stands for xi stands for the constant Boolean value, true. probability that component i is working, Pr{xi = true}. source, terminal node number of disjoint products computation time

3. BASIC IDEAS Complemented products are indicated by continuous overbars. A product of complemented individual variables or subproducts is denoted by a space between overbars. This can be illustrated by using brackets and the logical Not operator ( -I ) as follows:

Enample I

This simple example shows the essential difference between the KDH88 and Abraham algorithms, and the main advantage of the KDH88 method, which produces only 1 summand instead of 4. 0 The Abraham disjoint products consist of single variables which are either complemented or uncomplemented. KDH88 produces disjoint terms with single uncomplemented variables as well as inverted subproducts from some remaining variables. Example 2 The sum of minproducts -

needs the inverted subproducts x l q vs 6xfollowing sum of disjoint products -

to produce the

and in the probabilistic sum -

Here we have only 3 disjoint terms instead of 9 produced by 0 the Abraham algorithm. KDH88 produces a different kind of disjoint products than does the Abraham algorithm. The formal description of both product terms illustrates the differences:

Assume that two products ~ 1 ~ 9 3 and . ~ 4x+@~Q have to be made disjoint. The appropriate way is to invert the first product and to use this complemented subproduct as a part of the disjoint term: with IonZl = { } and Io UZl C N . For the last product of example 1, (2) holds: IO= {1,2,3,5,6,7,8},Z,= (4).

HEIDTMANN: SMALLER SUMS OF DISJOINT PRODUCTS BY SUBPRODUCT INVERSION

2. KDH88 (mixproducts):

( n xi,)

n (n s=l

307

xi)

id,

Now a provisional rule of KDH88 is evident: Make a product disjoint with a minproductj by substitutingj for - at all posiwith pairwise disjoint sets Zsfor all s=O, ...,r and U :=o ISEN. tions in the product where the minproduct is 0. (This is identical with 1 if all sets Z, contain only one element, Apply this rule (in table 1) to the product from minproduct and all together form another set Zl. ) Example 1, (1) implies: 4 (which is disjoint with minproduct 1 and 2) to make it disr=1, Zo={5,6,7,8}, Zl={1,2,3,4}. For the last product of exjoint with minproduct 3: ample 2, (3) holds: r = 2 , Z0={5}, Z1={1,2}, Z2={3,4,6}.

1 1 10222030. 4. EXAMPLE 3 (INSTRUCTIVE) The network of figure 1 has the following minpaths: {1,2,3,4}, {5,6,7,8}, {1,5,6,9), {4,8,10>.

This term does not cover all minterms of minproduct 4 outside minproducts 1-3, eg,

1 0 0 0 2 2 2 0 00. Hence, the final rule is: Assume that the product equals s at positions where minproduct j is - as well as 0. Then begin a loop over all s. For the previous value of s, replace this value by 0 and replace the - substituted in the prior step by the previous value of s. Then replace s of the product at all positions where minproductj is - by - . Execute the loop also for s = j if the product is - at positions where minproduct j is 0. Apply this rule to make minproduct 4 -

Figure 1 . Example of a Simple Network

---0---0-0 Table 1 is another representation of these minsets; the 0 indicates the presence of a component and -, its absence.

disjoint with minproduct 1-3. The result is the following terms for disjointness with minproduct 1 :

1 1 10---0-00'=1,s=l), TABLE 1 List of Minproducts for the Network of Figure 1 ~

k 1

2

3 4

1 0

2 0

3 0

4 0

5 -

- - - -

6 0

7

8

9

1

- - - 0 0 0 -

0 - - - 0 0 - - 0 - _ - 0 - - - 0 - 0

0

minproduct 2: ~

minproducts x1xp@4

-

1 - - 0 2 2 2 0 - 0 0'=2, s=1) 0 1 1 0 2 2 2 0 - 0 0'=2, s=2),

xsx6x7xs

xIx$6xs X4-WlO

Now, inverted variables are denoted by a positive integer. All variables marked by the same number form a complemented subproduct. So the part of the second minpath which is disjoint with the first minproduct is given by (1) and, in the new notation 1 1 110000--.

Making the third minpath disjoint with the first minproduct yields:

and finally minproduct 3:

1 - - 0 2 2 2 0 - 0 (result forj=2 already disjoint with 3) 0 1 1 0 2 2 - 0 - 0 (j=3, s=2) 0 1 10002030(j=3,s=3). Table 2 shows the complete list of disjoint products along with the corresponding result from the Abraham algorithm. For KDH88, table 2 implies the following form of the structure function:

011100--00. The part of this term which is disjoint with the second minproduct is -

01 1100220--, which represents -

which results in the small reliability formula:

I

IEEE TRANSACTIONS ON RELIABILITY, VOL. 38, NO. 3, 1989 AUGUST

308

TABLE 2 Lists of Disjoint Products for the Network of Figure 1. ~

~~

Abraham

KDH88

k

1 2 3 4 5 6 7 8 9 1 0

1 2 3 4 5 6 7 8 9 10

1

0 0 0 0 - - - - - -

oooo------

2

1 0 0 0

- - - 0 0 0 0 - 1 - - 0 0 0 0 - 0 1 - 0 0 0 0 - 0 0 1 0 0 0 0 - -

1 1 1 1 0 0 0 0 - -

3

0 0 0 0 0 0

1 1 0 0 0 0

0 1 1 1 0 0 2 2 0 -

4

1 1 1 0 0 0 0 0 0

- - 0 1 - - 0 - 0 - - 0 0 1 - 0 - 0 - - 0 0 0 1 0 - 0 1 - 0 1 - - 0 - 0 1 - 0 0 1 - 0 - 0 1 - 0 0 0 1 0 1 0 0 1 0 1 - - 0 - 0 0 1 0 0 1 - 0 - 0 0 1 0 0 0 1 0 1 0

- - 0 0 1 - 0 - - 0 0 0 1 0 1 - 0 0 1 - 0 1 - 0 0 0 1 0 0 1 0 0 1 - 0 0 1 0 0 0 1 0 -

For ease in implementation on a digital computer, represent an uncomplemented variable, by a 0 in its position a variable in a complemented subproduct, by a unique positive integer for each subproduct a variable which is absent, by a -.

5.1 Main Algorithm 1 - - 0 2 2 2 0 - 0 o 1 1 o 2 2 -o - o 0 1 1 0 0 0 2 0 3 0

disjoint products: 20,

5.

results from a common variable which is complemented in one minterm and uncomplemented in the other. To compose products from minterms means to absorb irrelevant and to keep relevant variables. Because the considered alternate variables are relevant they form a subproduct which is complemented for one and uncomplemented for the other product.

6.

KDH88 ALGORITHM

As shown at the beginning of section 3 the new method uses a compact complementation to make products disjoint. This technique is based on the following lemma. Lemma: Assume that products contain only individually complemented or uncomplemented variables and complemented subproducts, which are not nested. This means that subproducts contain only uncomplemented individual variables but no subproducts. Two such products are disjoint if one product contains a complemented subproduct and all variables of this subproduct appear as uncomplemented variables in the other product. Proof. Any minterm of the product with a complemented subproduct contains at least one complemented variable of the subproduct. This variable is uncomplemented in the other product. So no minterm of one product is contained in the other product. Hence, they are disjoint. Boolean expressions are disjoint if they have different minterms. The difference of minterms

1 . Read the number of system componentsn and of minsets m. 2. Do steps 3-4for k = l to m (Outer Loop). 3 . Input: Minproduct k; Set Product =Minproduct k. 4. Do step 5 for j = 1 to k (Inner Loop). 5 . I f j < k then do steps 6- 11 else print Product. 6. Call Procedure Mask for a test if Product is disjoint with Minproduct j (then Disjoint=true) and for a mask to produce disjoint terms (Mask contains r values.). 7. Ifproduct is disjoint with Minproductj then continue with step 4 and next j else do step 8. 8. Do Steps 9- 11for any marked value of Product (ie, make disjoint for all s = l to r using the Mask). 9. According to the Mask replace all identical integers of Product by - where the component of Minproduct j is and continue with step 4 and next j. 10. Recall step 9 and replace all integers of Product by 0 where Minproduct j equals 0. 1 1 . At all positions where Minproduct j is 0 substitute of Product byj. Ifthis happens at least once then continue with step 4 and next j . 12. STOP. 5.2 Procedure Masku, Product, Minproduct, Mask,r, Disjoint) 1. Set disioint=false and r=O. 2 . Do steps 3-4 for s= 1 to j - 1 while Disjoint =false. 3. Find all positions where Product equals this positive integer ~

A.

4. If at all these positions Minproduct j is 0 then set Disjoint=true else do steps 5-6. If at these positions Minproduct j is equal to 0 at least one time and is equal to - at least once then increment r . 6. Extend the vector Mask by a component r equal to s. 7. RETURN 5.

6.COMPUTER PROGRAMS Program 1 is a Pascal version of the Abraham algorithm. It is structured by several subroutines:

309

HEIDTMANN: SMALLER SUMS OF DISJOINT PRODUCTS BY SUBPRODUCT INVERSION

Procedure Output prints the list of disjoint products (pro). The main program is identical with program 1. Function Disjoint checks if a product (pro) is disjoint with Program 2: KDH88 Algorithm is Pascal minproduct j (minu]). It returns the result, viz, the value true or false for variable Disjoint. P r o g r a m N c d l c t h o d ; l D e c l a r a t 8 o n see progrant 1 ) Procedure Nextstep calls procedure Output if no minproduct P r o c e d u r e O u t p u t < s e e p r o g r a m 1 ) remains for making the current product (pro) disjoint with P r o c e d u r e M a s k ( n , j . u : i n t e g e r ; m i n : s y s t e m : p r o : p r o d u c t ; r: integer: t : booleanJ; I n t e g e r : b,C: b o o l e a n ; it, viz, j = k . Otherwise ( j < k ) , it uses Function Disjoint to B e g imn ads ki s: J po r! no dt :u=cf ta; l svea; r dr :i=s0J; o l ns:=l; w h o l e n o t d l s ~ o l n tand l s < j ) do beSon b : = f a l s e ; C:=faiSe; verify if the product (pro) is disjoint with minproduct t o n do i t p r o C ~ l = s t h e n i f m , n C ~ I [ ; l = O t h e n b:= t r u e for ,:=I e l s e c:=true: j (minu]). If so it initiates the next step of the inner loop, b t h e n ! f c t h e n b e g i n r : = ~ + l ; m a ~ k C r l : - s : end calling itself and passing the subscriptj+ 1 of the next minelse disjoint:=true; s:=s+I; end; product. Otherwise it makes the product disjoint with min- End; j,K: ~ n t e g r r ;m i " : s y s t e m ; p r 3 : p r o d u c t ) ; productj. It generates all disjoint products (dpro) that cover vPar or c ei d, su .rPe : N ienxttes gt eepr!;n . dpPo,mask:pPodUCt: disjoint: b o o l e a n ; ,mi n , p r o , r .mask . d i s j D I n t ) ; the intersection of the considered product and minproduct j B e g , n i f ji f; C I S Q !I make d i s j o i n t I) b e g i n f o r i : - I t o n do d p r o C i l : = p r o C ~ l ; (minu]). For any resulting disjoint product (dpro), it calls f o r *:=I t o r do b e g i n f o r i :-I t o n do i f < p r o C ~ l - m a s k C s l >and ! m i n C j l C i j < O ) t h e n d p r o C I l : = - I ; itself and passes this term together with subscriptj+l for Nex t s t r p c n , J + I , K . m i n , d p r o ) ; f o r i :=I t o n do i f p r o [ i l ~ m a s K C s l t h c v the next minproduct. ~f m i n C j I t i 1 - 0 t h e n d p r o C i l : = O else dproCi1:rmasKCsl; end: 8~a.p

V a r

VP I

4.5:

f f

,J

The main program reads the number of componentsand minsets. Then it sets up the outer loop. In each step (k= 1 to m) a minproduct k is read and made disjoint with all prior minproducts (j=1 to k-1) by calls of Procedure Nextstep. The sequence of this inner loop steps, each step reahzed as a call of Procedure Nextstep, is initiated by the call of this Procedure for minproduct 1 (j=1) in each step of the outer loop. Program 1: Abraham Algorithm in Pascal Program 6brahsm; t s p t p r o d u c t = arrav[1..121 of i n t e g e r : system = a r r a s [ 1 . . 2 4 1 v a r x : char: ~ . k . m , n : ~ r t e g e r :p r o : urnduct; m i " : ssstem:

of

,:=I t o n d o ~f ( p r o C i 1 1 0 ) and ~ m l n C j l C i 1 - 0 ) t h e n b r g l n dproCiI:-j; diiJOint:=tPUe; end: t h e n N ~ ~ t ~ t e p ( " , j + l , k , m i n , d p r o end; ); end e l s e Outpbt(n,pro); ! * M a i n P r o g r a m I ) (see p r o g r a m 1 ) for

16 disjoint

End;

7. EXAMPLE 4 (STANDARD)

product: ~

I;\rocedure O u t p u t ( n : i n t e g e r ; P P O : p r n d u c t ! : var I : ~ n t s g e r ; Begin f o r , : = I t n n 46 8 f p r c [ t l ( f l then ~ w r ~ t e r l ~ t , ' e I s e wr I te! 1 C t , ' ' , p r n [ i 1j ; uir I t e 1 n l 1 s t ) ; End;

-',

F u n c t i o n d i ~ j o l n t ' n , ~ r: n t t g e r ; m n n : s ~ s t e m : P P O : p r n d u c t ) : b o o l e l n : ,ear ~ : ~ n t c g e r ; B e g I n d i S J 0 1n t :=f J Is- : for ,:=I t o n do t f ' p ~ o ~ ~ and I = l' m ~ l n [ , I [ I l = O ~ t h e n d l s ~ o , n t : =' t" e ~ : End;

t Figure 2. Example Network from [l].

Procedure Nextstep\n.J.K: ~ n t e g e r : m l n : system: p r o : p r o d u c t ) ; u a r 1 : t n t e g e r ; dpro: p r n d u c t ; B e g i n i f j < Y then i f disjoint(n.j.min.pro! then Next;ten!n. !+I .k.m~n_oro)

TABLE 3 List of Minpaths in Figure 2.

t f !min[jI[Il=O! and ! p r o [ i l < O ) t h e n be?,r, dpro[iI:=l; NFrtiteptn,,+l,K.mln,dproj; d p r o h J : = O ; e n d : end e l s e O"tp"t!",prn);

End;

k

of c a p o n r n t s and m l n s e t s : 'j; r e a d l n l n , m , ; t o m do b s g l n f o r ( : * I t o n do b e g i n r e a d ' , : ) ; of x : = ' O ' t h e n p r n [ ~ l : = I l else p r n [ ~ l : = - I ; m i n [ j l [ I 1 : = p r o 1 1: end: ( f r ,t e l n i 1 r t ~ I r " t ~ t s ~ ' n , l . Y . m l n . p r o ) ;.ir I t e l n : e n d :

1 2 3 4 5 6 7

Program 2 is a Pascal version of the new algorithm. Its structure is similar to program 1:

9

!* M a o n Program C I Begin wrrter'Number (or

k:-I

,:

End.

Procedure Output (identical with the one in program 1) Procedure Mask checks if a product (pro) is disjoint with minproductj (minbl). In the same run it marks all positions in a list called mask where the product (pro) has to be modified to make it disjoint with minproductj (minu]). The value of variable disjoint and the mask are passed to Procedure Nextstep (where the modification takes place). Procedure Nextstep (same task as in program 1 but calling Procedure Mask instead of Function Disjoint). The generation of all disjoint products (dpro) that cover the intersection of the considered product (pro) and minproduct j (minu]) is based on the mask produced by Procedure Mask.

8

10 11 12 13 14 15

16 17 18 19

20 21 22 23 24

a

b

c

d

e

f

g

h

i

j

k

l

I

3 10

IEEE TRANSACTIONS ON RELIABILITY, VOL. 38, NO. 3, 1989 AUGUST

8. EXAMPLE 5 , NUMERICAL RESULTS

TABLE 4 Lists of Disjoint Products for Figure 2. Abraham

New Method

a b c d e f g h i j k l

a b c d e f g h i j k l

--------- 0 0 0

------

2

0 - 0 0 - - - 0 - 1 - 0 - 0 0 - - - 0 - 0 1 0 - 0 0 - - - 0 - 0 0 1

0 - 0 0 - - - 0 - 1 1 1

3

1 0 1 0

-

2 - 2 0 - 0 - 0 - 1 0 1

4

1 0 0 0 0 0 0

00------0 1 0 0 0 1 - - - - - 0 1 0 0 0 0 - - - 1 - 0 1 0 - 0 1 0 - 0 0 - 1 - 1 0 1 0 - 0 0 - 0 1 0 0 1 0 - 0 0 - 0 1 1 - 0 1 0 - 0 0 - 0 0 1

k 1

5

- 0 - 0 - 0 - 1 0 1 0 - 0 - 0 - 1 0 - 0 - 0 - 0 - 0 0 1 1 0 - 0 - 0 - 0 0 1

-

2 0 0 2---

-- 0 0 0

2 - 0

1 0

0 - 0 2 0 - 0 0 - 1 - 1 0 4 0 2 0 - 0 0 - 0

1 0

1 4

Figure 3. Example Network

6

1 0 0 0 - 0 - 0 - 1 1 1 0 0 0 - 0 - 0 - 0 1 1

2 0 0 0 - 0 - 0 - 4

7

0 0 0 0 0 0

- 0 1 0 - 1 - 0 1 - 0 - 0 1 0 - 0 1 0 1 - 0 - 0 0 0 - - 1 0 1 - 0 1 0 1 0 - 1 - 0 0 1 0 1 0 1 0 - 0 1 0 0 1 0 1 0 0 0 - - 1 0 0 1 0

0 0 0 0

8

1 1 0 0 0

-

- 1 - - 0 0 0 0 0 1 - 0 - 1 0 0 0 0 0 1 1 1 - - 0 0 0 0 0 1 1 0 - 1 0 0 0 0 0 1 0 1 1 - 0 0 0 0 0 1

5 - 5 2 5 - 0 0 0 0 0 1 2 - 2 0 - 3 0 0 0 0 0 1

9

1 1 0 0

-

- 1 0 0 - - 0 1 0 0 - 0 0 0 - 1 0 1 0 0 1 1 0 0 - - 0 1 0 0 1 0 0 0 - 1 0 1 0 0

7 - 7 - 0 0 - 2 0 1 0 0 5 - 5 2 0 0 - 0 0 1 0 0

10

0 0 0 0 0

1 1 1 1 1

0 0 0 0 0

0 - 2 7 0 1 0 0 4 0 - 7 0 4 0 2 5 0 - 0 - 0 1 0 0 4 0 2 0 0 5 0 7 0 1 0

1 1 0---0 1 0 1 0 0 1 - 1 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 - 1 - 0 1 0 0 0 0 - 1 1 0 1 0

- 0 - 0 - - 2 0 1 - 0 - 0 2 0 - 5 0 0 1 - 0 4 0 - 0 -- 2 0 0 1 0 4 0 2 0 - 5 0 0 0 1 0

11

0 0 1 0 - 1 - 0 - 1 0 0 0 1 0 - 1 1 0 - 0 0 1 0 0 1 0 - 1 0 0 1 0 0 1

0 0 2 0 - 3 - 0 - 1 0 0 0 2 0 - 3 8 0 8 0 0 1

12

1 1 0 0 I 0 0 0

5 - 5 2 0 0 0 0 9 1 0 9 5 - 5 2 0 0 0 0 8 0 0 1

13 14

- - 1 0 0 0 0 1 1 0 - - 1 0 0 0 0 0 1 0 1 - 1 1 0 0 0 0 1 1 0 - 1 1 0 0 0 0 0 1 0 1 - - 1 0 0 0 0 1 0 0 1 - 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 - 1 0 0 1 1 0 1 0 0 1 0 0 1

1 0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 - 0 1 1

-

15

-

-

0 1 0 0 1 1 0 1 0 0 1 0

l6

A T T 8 : : 8 :8 8 -

17

0 0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 - 1 0 1 0 0 18 19

20

1 0 1 1 1 0

--0 1 0 0 1 0 1 0 0 - 1 0 1 0 0 1 0 1 0 0 0 0 1 1 - 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 - 1 0 0 0 0 1 1 0 0 1 1 - 0 0 0 0 1 1 0 0 0 0

0 0 0 1

1 1 0 0

0 0 0 1

0 0 0 1

The number n of edges (components) is related to the number of vertical edges as follows: v = ( n 2 ) /3. Obviously n - 1 is a multiple of 3. The minpaths can be enumerated easily by recursion. The minpaths of the network with n nodes can be determined from the minpaths of the network with n - 3 nodes as follows: Append edges n-2 vz n - 1 and n to the minpaths of the subnetworks where the lower and upper node of edge n-3 serves as terminal nodes (see Program 3). Hence the number of minpaths m is 2"-'

+

Program 3: Generation of the Minsets for Figure 3, in Pascual

0 0 5 2 0 9 0 0 - 1 0 0 0 2 2 0 120 0 8 0 0 1 2 0 0 6 0 0 0 0 - 4

nin[jlIil:=h[j-i2][11;

h[jllil:=nin[j-i2l[iI;andi

min[J1[13+1l1=0; hIJl[i3tl):*O;end;end;end.

1 4

All programs were executed by a microcomputer (IBM PS/2-80) -

I 0 4 0 0 7 10 0 2 0 0 1 0 -

8888

88

11

-

:

-

witha 16MHzIntel80386microprocessorunderMS-DOS3.3 and Turbom Pascal 3.0. The values for TA(execution time for Program 1 in seconds) and TNM(execution time for Program 2) do not include times for input and output.

0 0 5 2 0 9 130 0 1 0 0 15-150

7 0 0 2 0 1 0 0

TABLE 5 Comparison of Abraham and KDH for Figure 3

2 0 0 -- 6 0 0 0 0 1 4 2 0 0 6 1 4 0 0 0 0 0 1 4 0 0 0 2 5 - 0 0 0 0 1 4

1 - 0 1 1 0 0 1 0 1 1 0 - 1 0 1 1 0 0 1 0 1 0 0

7 0 0 - 0 0 - 2 0 4 1 0 2 0 0 6 0 0 0 1 4 0 4 1 0

21

1 1 1 0

22

1 0 0 0 0 1 1 0 0 0 1 1

2 0 0 0 0 6 1 9 0 0 0 1 4

23 24

1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1

7 0 0 0 2 0 0 0 2 0 4 1 0 0 1 9 0 2 5 0 0 0 0 0 8 1 41 disjoint products

71 disjoint products

For a further comparison of algorithms, consider the 2-terminal reliability of the undirected network of figure 3 with absolutely reliable nodes and unreliable edges.

0 0 1 5 0 7 1 8 0 2 0 1 0 0

10 13 l6 l9 22 25

V

m

dA

dNM

3 4 5 6 7 8 16

4 8 16 32 64 128 256

9 30 107 393 1459 5436 20277

5 13 34 89 233 610 1597

TNM

TA

0.28 1.81 14.22 114.96 969.60

k

0.15 0.94 7.52 68.55 645.15

HEIDTMANN: SMALLER SUMS OF DISJOINT PRODUCTS BY SUBPRODUCT INVERSION

Table 5 shows the number of disjoint products d produced by Programs 1 and 2 for the Abraham algorithm dA and the new method dNM.In both cases d grows exponentially with the number n of components vs the number v of vertical edges. d=uv.

But in this example dNMincreases only with uNM=2.6and dA with uA=3.7. Numerical results from the L/BS algorithms [ 5 , 9 ] for this example network are reported in the literature [lo]. They show that KDH88 produces appreciably fewer disjoint products. Moreover, the relative calculation times (Tm/TA) for the L/BS algorithms is longer than for KDH88 (TNM/TA).For n=13, 16 the L/BS algorithm yields T‘~/T’=o.78, 0.53 [lo] and KDH88 results in T N M / T A = O .0.51. ~ ~ , These experimental data indicate that KDH88 is superior with regard to both criteria: computational efficiency and resulting number of disjoint products. Nevertheless, in the worst case (see example 5) the number of disjoint products and the computational amount still grows exponentially with the size of the system.

REFERENCES

311

[5] M. 0. Locks, “A minimizing algorithm for sum of disjoint products”, IEEE Trans. Reliability, vol R-36, 1987 Oct, pp 445-453. [6] R. E. Barlow, K. D. Heidtmann, “Computing k-out-of-n system reliability”, IEEE Trans. Reliability, vol R-33, 1984 Oct, pp 322-323. [7] K. D.Heidtmann, Domination of Binary Systems, Techn. Report, University of Trier, 1986. (available from the author) [8] R. E. Barlow, F. Proschan, Statistical lheory of Reliability and Life Testing, Holt, Rinehart and Winston, 1975. [9] F. Beichelt, L. Spross, “An improved Abraham-Method for generating disjoint sums”, IEEE Trans. Reliability, vol R-36, 1987 Apr, pp 70-74. [lo] F. Beichelt, L. Spross, “An efficient method for reliability analysis of complex systems”, J. Information Processing and Cybernetics EM, vol 23, no. 415, 1987, pp 227-235. [ l l ] M. 0. Ball, J. S. Provan, “Disjoint Products and efficient computation of reliability”, Operations Research, vol 36, 1988, pp 703-715.

AUTHOR Dr. Klaus D.Heidtmann; Dept. Computer Science; University of Hamburg; Bodenstedtstr. 16; D-2000 Hamburg 50; Fed. Rep. GERMANY. Klaus D. Heidtmann (M’82) received the diploma in Mathematics and Physics in 1977 and the DrRerNat degree in Computer Science in 1981. When he left the University of Trier as a lecturer in 1987, he joined the University of Hamburg as the leader of a computer system laboratory for distributed computer systems with several computer networks. His interests include reliability and fault tolerance, especially of computer and communication systems. He is involved with the incorporation of ISDN into the DFN (German Research Network).

[l] J. A. Abraham, “An improved algorithm for network reliability”, IEEE Trans. Reliability, vol R-28, 1979 Apr, pp 58-61. [2] M. 0.Locks, “Recursive disjoint products: a review of three algorithms”, IEEE Trans. Reliability, vol R-31, 1982 Apr. pp 33-35. [3] K.K. Aggmal, K.B. Misra, J. S. Gupta, “A fast algorithm for reliability evaluation”, IEEE Trans. Reliability, vol R-24, 1975 Apr, pp 83-85. Manuscript TR87-099 received 1987 July 24; revised 1989 January 30. [4] L. Fratta, U. G. Montanari, “A Boolean algebra method for computing the terminal reliability in a communicationnetwork”, IEEE Trans. Circuit lheory, vol C-20, 1973 May, pp 203-211. 4TRb IEEE Log Number 27191

FROM THE EDITORS FROM T H E EDITORS FROM THE EDITORS FROM THE EDITORS FROM THE EDITORS

FROM T H E EDITORS

Manuscript Preparation - Revised & Updated Procedures The “Information for Readers & Authors” that appears at the rear of each issue has been revised and updated as of the 1989 April issue. Please re-read it carefully before preparing and submitting your manuscript. The major changes incolve: 1. Authors outside of North America need send only 1 copy of the manuscript (be sure it can be legibly copied on ordinary copy-machines). It is cheaper for us to make more copies than it is for those authors to pay the airmail postage. Authors within North America will contine to send 3 copies. 2. Figure originals may be made by any of the current technologies. They must be very legible and free from extraneous marks. 3 . Suggestions for organizing the paper have been added.

DON’T FORGET! RE-READ IT! ‘‘Information for Readers 8z Authors” IT WAS REVISED IN APRIL!