Evaluation of Algorithms for Identification of Minimal Cut Vectors and Minimal Path Vectors in Multi-State Systems

Reliability has been considered as an important characteristic of many systems [1 6]. One of the current issues of reliability engineering is the analysis of complex systems [7]. These systems are characterized by the fact that they consist of many elements (components) with very different behavior. Typical instances of such systems are healthcare systems [5] or gas distribution networks [6]. A healthcare system consists of very variable components that can be identified as hardware, software, organizational, and human, while a gas network is composed of many different hardware components, such as pipelines with various capacities, compressor stations, and supply and demand centers. This variability implies that such systems can operate at several performance levels. However, many approaches of reliability engineering are based on the assumption that the system and all its components can be either functioning or failed [8]. This indicates that many methods of reliability analysis have originally been developed for so-called Binary-State Systems (BSSs) and, therefore, they are not very appropriate for the analysis of complex systems operating at several performance levels. Furthermore, classical approaches of reliability analysis assume that the system and all its components have very similar behavior and, therefore, they are not very suitable for the analysis of complex systems consisting of components with various natures. Because of that, new methods have to be developed for the analysis of such systems. One of the possible ways is application of models that allow defining more than two states in system/components performance. These models are known as Multi-State Systems (MSSs) [7, 9 and 10]. One of the most important tasks of reliability analysis based on BSSs is finding minimal scenarios that result in system failure or minimal scenarios ensuring that the system will be working. In case of MSSs, this task can be generalized as identification of minimal scenarios whose occurrence causes that the system performance decreases below a given level or minimal scenarios ensuring that the system achieves its mission. Special instances of these scenarios are Minimal Cut Vectors (MCVs) and Minimal Path Vectors (MPVs). A MCV represents a situation in which an improvement (in case of MSSs) or repair (in case of BSSs) of any non-perfectly functioning component results in improvement/ repair of the system. Similarly, a MPV agrees with a situation in which a degradation (in case of MSSs) or failure (in case of BSSs) of any working component causes system degradation/failure. Knowledge of the MCVs and MPVs can be used to estimate system availability [8 and 9] or to find components with the greatest influence on the system [11 and 12]. However, the main issue is their detection. EVALUATION OF ALGORITHMS FOR IDENTIFICATION OF MINIMAL CUT VECTORS AND MINIMAL PATH VECTORS IN MULTI-STATE SYSTEMS Miroslav Kvassay Jozef Kostolny *


Introduction
Reliability has been considered as an important characteristic of many systems [1 -6]. One of the current issues of reliability engineering is the analysis of complex systems [7]. These systems are characterized by the fact that they consist of many elements (components) with very different behavior. Typical instances of such systems are healthcare systems [5] or gas distribution networks [6]. A healthcare system consists of very variable components that can be identified as hardware, software, organizational, and human, while a gas network is composed of many different hardware components, such as pipelines with various capacities, compressor stations, and supply and demand centers. This variability implies that such systems can operate at several performance levels. However, many approaches of reliability engineering are based on the assumption that the system and all its components can be either functioning or failed [8]. This indicates that many methods of reliability analysis have originally been developed for so-called Binary-State Systems (BSSs) and, therefore, they are not very appropriate for the analysis of complex systems operating at several performance levels. Furthermore, classical approaches of reliability analysis assume that the system and all its components have very similar behavior and, therefore, they are not very suitable for the analysis of complex systems consisting of components with various natures. Because of that, new methods have to be developed for the analysis of such systems. One of the possible ways is application of models that allow defining more than two states in system/components performance. These models are known as Multi-State Systems (MSSs) [7, 9 and 10].
One of the most important tasks of reliability analysis based on BSSs is finding minimal scenarios that result in system failure or minimal scenarios ensuring that the system will be working. In case of MSSs, this task can be generalized as identification of minimal scenarios whose occurrence causes that the system performance decreases below a given level or minimal scenarios ensuring that the system achieves its mission. Special instances of these scenarios are Minimal Cut Vectors (MCVs) and Minimal Path Vectors (MPVs). A MCV represents a situation in which an improvement (in case of MSSs) or repair (in case of BSSs) of any non-perfectly functioning component results in improvement/ repair of the system. Similarly, a MPV agrees with a situation in which a degradation (in case of MSSs) or failure (in case of BSSs) of any working component causes system degradation/failure. Knowledge of the MCVs and MPVs can be used to estimate system availability [8 and 9] or to find components with the greatest influence on the system [11 and 12]. However, the main issue is their detection.
of the systems that are investigated by reliability engineers are coherent. Furthermore, MCVs and MPVs, which are studied in this paper, have been defined in terms of coherency and, therefore, only coherent systems will be considered in what follows.
The structure function defines system topology. Its analysis can reveal conditions under which a failure (repair) of a binarystate component or degradation (improvement) of a multistate component results in a failure (repair) of the BSS or in degradation (improvement) of the MSS. Because of that, it is useful in the qualitative analysis of BSSs and MSSs. However, only its knowledge is not sufficient for quantitative analysis for which the probabilities of individual states of individual system components have to be known: The knowledge of these probabilities allows us to calculate the system availability (unavailability) defined as the probability that the system can (cannot) satisfy a demand requiring at least level j of system performance [9 and 10], or to analyze importance of individual system components or their states for system activity. This investigation is done using some special measures, such as Birnbaum's, criticality, or Fussell-Vesely's importance [11, 12, 25 and 26]. Computation of some of these measures, e.g. the Fussell-Vesely's importance, requires knowledge of MCVs or MPVs [12].

Minimal Cut Vectors and Minimal Path Vectors
A MCV for system state j (for j = 1,2,…, m -1) is defined as a state vector x such that z(x) < j and z(y) ≥ j for any y > x where notation y > x between state vectors x = (x 1 , x 2 ,…, x n ) and y = (y 1 , y 2 ,…, y n ) expresses that y i ≥ x i for i = 1,2,…, n and there exists at least one i such that y i > x i [9 and 10], This definition implies that a MCV for a given system state corresponds to such situation in which a minor improvement (i.e. improvement by one state) of any non-perfectly working component causes that the system achieves at least state j. (Please note that component i is nonperfectly working if it is in a state that is less than m i -1.) Similarly, a MPV for state j (for j = 1,2,…, m -1) of a MSS is defined as a state vector x such that z(x) ≥ j and z(y) < j for any y < x [9 and 10]. Using this definition, it can be shown easily that a MPV for a given system state represents such situation in which a minor degradation (i.e. degradation by one state) of any working component (i.e. component that is not in state 0) causes that the system state decreases below value j.
There exist a lot of algorithms for finding the MCVs and MPVs or their equivalents known as minimal cut sets and minimal path sets in case of BSSs [13 -18]. Several algorithms have also been proposed for identification of the MCVs or MPVs in a MSS [19 -21]. However, these algorithms have been developed specially for network systems and, therefore, there can be some complications to apply them to other types of MSSs. Because of that, new methods for identification of the MCVs and MPVs of a MSS have been considered in [12, 22 and 23]. These methods are based on the investigation of system structure using logical differential calculus [24]. However, time complexity of these algorithms has not been studied in [12, 22 and 23] and, therefore, we decided to perform some experiments whose results are presented in this paper.

Mathematical Background
Reliability analysis of a system requires creation of its model. Every system consists of one or more components (elements that are assumed to be indivisible into smaller parts). This implies that one of the principal information that has to be carried by the model is dependency between system state and states of its components. This dependency is usually expressed using a special mapping that is known as structure function. For a general MSS consisting of n components, this function has the following form where m is a number of possible states of the system (state m -1 corresponds to perfectly functioning while state 0 agrees with the complete failure of the system), m i , for i = 1,2,…,n, represents number of states of the i-th system component (state m i -1 means that component i is perfectly functioning while state 0 means that it completely failed), x i is a variable denoting state of the i-th system component, and x = (x 1 , x 2 ,…, x n ) is a vector of components states (state vector). Specially, if all system components have the same number of states as the system, i.e. m 1 = m 2 =…= m n = m, then the system is recognized as a homogeneous [9 and 10]. Using this notation, a BSS, which allows defining only two states in the system/components performance, can be viewed as a homogeneous system in which m = 2. Two classes of systems can be recognized depending on the properties of the structure function -coherent and noncoherent. The coherent systems are characterized by the fact that their structure function is monotone [8 -10], which means that there exist no circumstances under which a failure/degradation (repair/ improvement) of any system component can cause system repair/ improvement (failure/degradation). Although real examples of noncoherent systems exist, e.g. logic networks studied in [4] where notation h <j expresses that all system states that are less than j are investigated while notation h ≥j implies that we take into account all situations in which the structure function has at least value j. These derivatives will be referred to as expanded Integrated Direct Partial Logic Derivatives (IDPLDs) because (a) they expand classical DPLDs using value "*", and (b) it can be shown that they combine (integrate) several DPLDs together.

Algorithms for Identification of Minimal Cut Vectors and Minimal Path Vectors based on Integrated Direct Partial Logic Derivatives
The definition of expanded IDPLD (4) introduced in the previous section implies that value "1" of this IDPLD detects situations in which change of the i-th system component from state s to r causes that the system achieves at least state j, value "0" agrees with situations in which the considered change of component state does not result in achieving at least system state j, and value "*" implies that the component cannot change from state s to r because it is not in state s. It has been shown in [12 and 22] Table 1-a, then we can identify all situations in which a minor improvement of any non-perfectly working component causes that the system achieves at least state j. This agrees with the interpretation of a MCV for system state j and, therefore, the MCVs for system state j can be computed using the algorithm presented in Fig. 1. If we repeat this algorithm for all possible system states, i.e. for j = 1,2,…, m-1, then all MCVs of the MSS can be found. Using IDPLDs (5) and Π-conjunction shown in Table 1-b, the similar algorithm can be derived for identification of the MPVs (Fig. 2).

Experimental Investigation of Algorithms Performance
The aforementioned algorithms for identification of the MCVs and MPVs are very similar. In fact, the only difference is that the algorithm for finding the MCVs

Logical Differential Calculus and Integrated Direct Partial Logic Derivatives
Logical differential calculus has been developed for analysis of dynamic properties of Boolean and Multiple-Valued Logic (MVL) functions. Direct Partial Logic Derivatives (DPLDs) are a special part of this tool. They allow finding situations in which a change of a value of a Boolean (MVL) variable results in a change of the analyzed Boolean (MVL) function [24].
The use of DPLDs in reliability analysis of BSSs and MSSs has been considered in several works. In [25], DPLDs have been used in the analysis of BSSs to detect situations in which a failure of a component results in system failure. In [26], the use of DPLDs to investigate circumstances under which a degradation of a multi-state component causes degradation of a MSS has been considered. These two works have primarily focused on homogeneous systems because the structure function of such systems can be recognized as a Boolean function (in the case of BSSs) or as a MVL function (in the case of MSSs). Other works, such as [12, 23 and 27], have considered application of DPLDs in the analysis of non-homogeneous systems. Based on these works, a DPLD investigating the structure function of a non-homogeneous system should be defined in the following way: Clearly, the nonzero elements of this derivative identify situations in which change of component i from state s to r causes change of the system state from value j to h. Since only coherent systems are studied in this paper, only DPLDs in which j > h and s > r or DPLDs in which j < h and s < r can be nonzero. The former can be used to find correlation between degradation of component i and system degradation while the latter can reveal circumstances under which the improvement of component i results in system improvement. This fact and the interpretation of MCVs and MPVs indicate that DPLDs  (4) and (5), there is no significant difference in their computation and, therefore, the algorithm for computation of the MPVs has the similar properties as the algorithm for finding the MCVs. Because of that, we investigated only the algorithm for identification of the MCVs. The study was done by performing some experiments on a computer with CPU Intel Core i5 (2.5 GHz), 4 GB RAM and Windows 7 OS. The algorithm was implemented in C++ programing language, and we analyzed its time complexity depending on the number of system components and depending on the number of all system MCVs. (For simplicity, we considered only homogeneous systems.) Firstly, the dependency of the computation time on the number of all system MCVs was studied. For such analysis, we generated systems with the same number of components but with the variable count Π-conjunction of two expanded IDPLDs

Conclusion
MCVs and MPVs are one of the key concepts of reliability analysis. In the case of BSSs, a MCV represents such situation in which a repair of any failed component results in system repair, while a MPV corresponds to such situation in which a failure of any working component causes the system failure. In the case of MSSs, the MCVs for a given system state describe circumstances under which a minor improvement of any non-perfectly working component causes that the system achieves at least the considered state, while the MPVs for system state j agree with situations in which a minor degradation of any working component results in decrease in system state below value j.
MCVs and MPVs are very useful in reliability analysis. They can be used to estimate system availability or to analyze influence of individual system components on the system activity. Methods based on MCVs and MPVs could be used to analyze a large scale of systems, such as healthcare systems considered in [5 and 23], distribution networks presented in [6], or medical and temporal database systems studied in [29 and 30]. However, one of the main issues of use of these methods is identification of the MCVs and MPVs. For BSSs, many algorithms have been proposed for detection of the MCVs and MPVs or their equivalents known as minimal cut sets and minimal path sets. In the case of MSSs, some algorithms have also been designed. However, these algorithms are based on the assumption that the considered system is a network. Because of that, new algorithms that can be applied to a system of any type have been considered in [12, 22 and 23]. The mathematics behind these algorithms was summarized in this paper. Furthermore, some experiments estimating their time complexity were also done. The experiments showed that the running time of the algorithms does not depend on the number of system MCVs (MPVs) and, therefore, they are very suitable for the analysis of systems with a complicated structure, i.e. systems with a huge amount of the MCVs or MPVs. On the other hand, the experiments also showed that the running time depends exponentially on the number of system components and the number of components states and, therefore, the further research should focus on solving this issue.
hand, these figures indicate that the running time increases exponentially with the increasing number of system components. This is clearer in Fig. 5, in which the dependency of the running time on the number of system components for systems with the similar numbers of the MCVs is presented. This figure also implies that the algorithm depends exponentially on the number of components states and, therefore, it is not very appropriate for systems with a lot of components or systems containing components that have many states.