CHAPTER 6
Universal Generating Functions
The Method of Universal Generating Functions (U-functions), introduced by Ushakov (1986), actually represents a generalization of Kettelle's Algorithm. This method suggests a transparent and convenient method of computerized solutions of various enumeration problems, in particular, the optimal redundancy problem.
First, let us refresh our memory concerning generating functions. This is a very convenient tool widely used in probability theory for finding joint distributions of several discrete random variables. Generating function is defined as:
(6.1)
where pk is the probability that discrete random variable X takes value k and Gk is the distribution function domain. In optimal redundancy problems, in principle, Gk = [0, ∞), though any practical task has its own limitations on the largest value of k.
Consider two non-negative discrete random values X1 and X2 with distributions
and
correspondingly, where n1 and n2 are numbers of discrete values of each type. For finding probability of random variable X = X(1) + X(2), one should enumerate all possible pairs of X(1) and X(2) that give in sum value k and add corresponding probabilities:
Thus the probability of interest is equal to
(6.2)
One can see that there is a convolution transform. It is clear that the same result will be obtained if one takes a polynomial
(6.3)
and, after combining like terms of expansions, finds the coefficient at zk.
One sees that algebraic argument “z” was introduced only for convenience: everybody knows that polynomial multiplication means products of coefficients and sums of powers. Such presentation helps one to obtain a distribution of the convolution of discrete random variables. However, what if random variables should be exposed to transformation different from convolution? For instance, if these random variables are arguments of some function?
Let us use habitual form of presentation, using symbol “⊗” instead of “П” just to underline that this is not an ordinary product of two GFs but a special transformation:
(6.4)
The subscript “f” in means that some specific operation f will be undertaken over values X. It is clear that in the case of “pure” GF function is operation of summation.
In the general case, using the polynomial form of GF is inconvenient and even impossible. In order to move further, let us introduce some terms. We previously said that a system consists of units that are physical objects characterized by their parameters: reliability, cost, weight, and so on. So we can consider each unit as a multiplet of its parameter. Reliability of each unit can be improved by using redundancy or by replacing units with more effective units. In other words, on a design stage an engineer deals with a “string” of possible multiplets characterizing various variants of a considered unit.
Consider a series system of two units. Unit 1 and Unit 2 are characterized by strings:
and
Each multiplet is a set of parameters where N is the number of parameters in each multiplet.
“Interaction” of these two strings is an analogue of the Cartesian product whose members fill the cells of Table 6.1.
Interaction of multiplets consists of interaction of their similar parameters, for instance,
(6.5)
Operator ⊗, as well as each operator , in most natural practical cases possesses the commutativity property, that is,
(6.6)
and the associativity property, that is,
(6.7)
Of course, operator depends on the physical nature of parameter αs and the type of structure, that is, series or parallel (see Table 6.2).
Type of parameter | Type of structure | Result of interaction |
---|---|---|
(A) α is unit's PFFO (probability of failure-free operation) | Series | |
Parallel | ||
(B) α is number of units in parallel | Series | |
Parallel | ||
(C) α is unit's cost (weight) | Series | |
Parallel | ||
(D) α is unit's ohmic resistance | Series | |
Parallel | ||
(E) α is unit's capacitance | Series | |
Parallel | ||
(F) α is pipeline unit's capacitance | Series | |
Parallel | ||
(G) α is unit's random time to failure | Series | |
Parallel |
In the problem of optimal redundancy, one deals with triplet of type “Probability–Cost–Number of units” for each redundant group: Mj = {α1j, α2j, α3j}. If there is a system of n series subsystems (single elements or redundant groups), one has to use a procedure almost completely coincided with the procedure of compiling the dominating sequences at Kettelle's algorithm. In other words, the problem reduces to constructing a single “equivalent unit” that possesses the entire system's properties. There are two possible ways of “convolving” the system into a single “equivalent unit”: dichotomous and sequential. We will demonstrate these two possible procedures in an example of a series system of four subsystems (see descriptions in Fig. 6.1 and Fig. 6.2).
As the conclusion of this chapter, let us notice that the U-function method is very constructive not only for solving optimal redundancy problems, but also for a number of other problems, particularly those associated with multi-state systems analysis.
Chronological Bibliography
Ushakov, I. A. 1986. “A Universal Generating Function” (in Russian). Engineering Cybernetics, no. 5.
Ushakov, I. A. 1987. “Universal generating function.” Soviet Journal of Computer and System Science, no. 3.
Ushakov, I. A. 1987. “Optimal standby problem and a universal generating function.” Soviet Journal of Computer and System Science, no. 4.
Ushakov, I. A. 1987. “Solution of multi-criteria discrete optimization problems using a universal generating function.” Soviet Journal of Computer and System Sciences, no. 5.
Ushakov, I. A. 1988. “Solving of optimal redundancy problem by means of a generalized generating function.” Elektronische Informationsverarbeitung und Kybernetik, no. 4–5.
Ushakov, I. A. 2000. “The method of generating sequences.” European Journal of Operational Research, vol. 125, no. 2.
Levitin, G. 2005. The Universal Generating Function in Reliability Analysis and Optimisation. Springer-Verlag.
Chakravarty, S., and Ushakov, I. A. 2008. “Object Oriented Commonalities in Universal Generating Function for Reliability and in C++.” Reliability and Risk Analysis: Theory and Applications, no. 10.