^{1}

^{*}

^{2}

^{*}

This investigation deals with the intelligent system for parallel fault-tolerant diagnostic tests construction. A modified parallel algorithm for fault-tolerant diagnostic tests construction is proposed. The algorithm is allowed to optimize processing time on tests construction. A matrix model of data and knowledge representation, as well as various kinds of regularities in data and knowledge are presented. Applied intelligent system for diagnostic of mental health of population which is developed with the use of intelligent system for parallel fault-tolerant DTs construction is suggested.

Creating algorithms for diagnostic tests (DTs) construction and their implementation in intelligent systems is very relevant [1-5], since quality of decision-making is essentially dependent on them.

Intelligent systems are used in various semistructured scientific disciplines, such as medicine, geology, construction, engineering, sociology, psychology, military medicine, emergency medicine, genetics and others [6-10].

As a rule, the description of a mathematical model of knowledge representation for the above-mentioned scientific disciplines uses a large features space. This may cause entry or measurement errors of feature values. In order to improve the dependability of decision-making, the DTs construction was proposed in [11,12].

Fault-tolerant diagnostic tests will be called tests that are tolerant to a preassigned number of measurement (entry) errors of characteristic feature values of the objects under investigation [

First investigations on the dependability in the automata theory were conducted by von Neumann and Shannon [

The DTs construction problem is NP-hard. With a large feature space for its solution it is required more time and cost expenditures. In this regard, for fault-tolerant DTs construction was proposed to use parallel algorithms [17,18]. In this investigation we proposed modified parallel algorithm for fault-tolerant DTs construction [19,20] implemented in intelligent system. Criteria of optimization of algorithm parallelization for diagnostic tests construction [

In this investigation the construction of fault-tolerant DTs is fulfilled in k-valued data space [

We use matrix model [2,3] to represent the data and knowledge.

The model includes an integer description matrix (Q) that describes objects in the space of characteristic features and an integer distinction matrix (R) that partitions objects into equivalence classes for each classification mechanism. A dash (“—”) in the respective element of the matrix Q shows that the value of the feature is not significant to the object. We give the range of values for each feature z_{j}.

The set of all nonrepeating rows of the matrix R is compared to the number of selected patterns presented by the one-column matrix R' whose elements are the numbers of patterns.

This model allows us to represent not only data but the expert knowledge, as one row of the matrix Q can be represented as a subset of objects in the interval form, which are characterized with the same final decisions, for the relevant rows of the matrix R.

The matrix model of data and knowledge representation is given in

We use a binary matrix of tests (T) [

For further survey we use the definitions and concepts described in [1,2].

A diagnostic test is a set of features that distinguishes any pair of objects that belong to different patterns.

A diagnostic test is called “irredundant” (dead-end [

An irredundant unconditional diagnostic test (IUDT) is characterized by simultaneously presentation of all features of the object under investigation included in test, while decision-making.

Regularities are subsets of features with particular, easy-to-interpret properties that affect the distinguishability of objects from different patterns that are stably observed for objects from the learning sample and are exhibited in other objects of the same nature and weight coefficients of features that characterize their individual contribution [

We use a procedure for constructing the implication matrix (U) [

The matrix U is an integer; its columns are matched to the columns of the matrix Q and its rows are matched to all possible pairs of objects v and l from different patterns a and b, respectively (classes, for fixed classification mechanism);

, where σ(Q^{a}) (σ(Q^{b})) is the number of rows in the submatrix Q^{a} (Q^{b}) of the matrix Q. The row U_{i} of the matrix U represents the value vector-function of the distinguishability, the jth component u_{i}_{,j} of which is calculated by the formula

where is the value of the features z_{j} for the object v (l), and is the set of rows of the matrix U.

We say that the row U_{b} covers the row U_{ρ}if

where I is the set of rows of the matrix U.

The implication matrix U' is called irredundant if it has no covering rows [

Note that we use the modification of the algorithm for constructing the irredundant implication matrix U' given in [

Now, we use the matrix U' to define constant, stable, alternative, and dependant features.

If all elements in the column of the matrix U' take the same value, the feature that corresponds to the column is constant. In other words, the constant feature corresponds to the column of the matrix Q consisting of identical elements. A stable feature corresponds to the column of the matrix Q that includes elements of the same value inside the pattern and is not constant.

Alternative features correspond to the same columns of the matrix U'.

Dependant features correspond to columns of the matrix U' covered by another (others) column of the matrix U'.

Data and knowledge analysis, which involves defining the most significant features and estimating their significance [

We present formulas for calculating the value of the weight coefficient of the k-valued jth feature (w_{j}) and the value of the weight of the ith test (W_{i}) given in [

w_{j} is weight coefficient of the integer feature z_{j};

q_{aj} is value of feature z_{j} for object from the pattern a;

is the value of the jth component of the distinguishing vector-function for objects from different patterns a and b (a ≠ b) calculated by the formula:

;

N_{a} is the number of rows in the description of the pattern a;

K is the number of patterns singled out;

S_{j} is the range of values of the jth feature matched to the jth column of the matrix Q;

p_{l} is the repeating coefficient of the lth row given externally;

;

is the quantity of objects in the pattern a calculated by the formula:

;

r, s (r≠s) and a, b (a≠b) are the numbers of the patterns;

is the set of tests;

L_{i} is the set of features included in the test T_{i}.

To find the weight coefficient w_{j} of the integer feature z_{j}, we use its distinguishing ability, which is similar to how w_{j} is calculated for the binary feature z_{j} [

We call the set of obligatory features the kernel of all DTs, since exclusion of any feature from the kernel disturbs the property of each of the test to be a test.

Each test T_{i}ÎT is matched to its weight W_{i} calculated by the formula

To construct fault-tolerant IUDTs we will use the sufficient condition for constructing diagnostic tests that are tolerant to the preassigned number of measurement (entry) errors of characteristic features values [

We use Ψ(U') to denote the number of the non-zero elements in the row U', and h = 2t + 1.

Theorem 1. For data and knowledge, as well as decision-making, tolerant to the number t of measurement (entry) errors of values of characteristic features to be consistent, it is sufficient to ensure for any row of the matrix U' in the matrix Q for each pair of objects from different patterns.

Corollary. If the theorem’s hypothesis is not met for the row of the matrix U', one cannot ensure DT fault-tolerance by features, including the non-zero elements of the row.

Below we introduce some notations to describe the algorithm:

i is the level number of matrices Q и R' decomposition;

j is the number of submatrix Q_{i}_{,j} on ith decomposition level, j is the function of i, viz. j(i) and jÎ{1,2 r_{i}};

f is the quantity of patterns in the matrix R';

is the least from above whole to;

ω is the quantity of decomposition level calculated by the formula:

;

η is the coefficient which takes the value η=0 for i ≠ ω and η = 1 for I = ω;

r_{i} is the quantity of submatrix Q_{i}_{,j} on ith decomposition level calculated by the formula:

.

In this investigation we describe a modified algorithm of fault-tolerant DTs construction taking into account the optimization criteria developed in [19,20]. We propose to optimize loading of processors by the use of starting of decomposition from the last level, viz. from the level ω. The amount of computation in the processing of matrices (Q^{a}, R'^{a}) and (Q^{b}, R'^{b}) the construction of the matrix U' is directly proportional to the value.

The decomposition of matrices into submatrices in each ith level of the partition is fulfilled so that the processing time of each pair of submatrix in the ith level was as close to each other (exact equality is not always possible due to the solution of real problems in which typically, the number of objects in each pattern is not the same). Then time to the matrix U' construction processors at the same level of the partition will be as close to each other, thus providing a more balanced processors loading [

Amount iterate by the construction of the matrix U' in the processing of each pair of submatrices (Q^{a}, R'^{a}) and (Q^{b}, R'^{b}) is proportional to the quantity of L_{a}_{,b}.

When the number of patterns is equaled to 2^{n} (where n is an integer in the original matrices Q, R'), the goal of determining the pairs reduces to constructing 2^{n}^{–1} pairs of submatrices (Q^{a}, R'^{a}) and (Q^{b}, R'^{b}), each of which contains only one pattern, then the construction of 2^{n}^{–2} pairs of submatrices, each of which contains two patterns, etc. as long as each pair of submatrices do not contain 2^{n}^{-1} patterns.

When the number of patterns is not equaled to 2^{n}, the decomposition process ends for some submatrices at level ω-1 and for the other—at level ω.

Below modified parallel algorithm for k-valued faulttolerant IUDTs construction is given.

1) Sort matrices Q and R' rows along membership patterns.

2) i = 1, j = 1.

3) Decomposition of each pair submatrices Q_{i}_{,j} and on two pair submatrices (Q_{i+}_{1,j} and) and (Q_{i+}_{1,j+1} and) so that σ(Q_{i+}_{1,j}) and σ(Q_{i+}_{1,j+1}) will be maximally close.

4) Parallel construction of submatrices (where g is a number of submatrices on ith decomposition level,) to submatrices Q_{i}_{,j} and. Submatrices construction is fulfilled by using Formula (1). Each submatrix added in matrix U' with simultaneously deleting covers rows and calculating weight coefficients of features by Formula (2). Note that the matrix U' received after deleting of the covered rows newly is also denoted by U'.

5) If j ≠ r_{i} than j = j + 2. Else j = 1, i = i + 1.

6) If i ≠ ω then go to point 3.

7) Construction of Boolean matrix by substitution of all non-zero elements value in matrix U' on value (1).

8) Check to ensure sufficient condition for fault-tolerant diagnostic tests construction (theorem 1). If the check is fulfilled then go to point 12.

9) Revealing various kinds of regularities of matrix by algorithm described in [

10) Parallel construction of all irredundant h-fold column coverings of matrix or part thereof if quantity of irredundant h-fold column coverings exceeds preassigned value g in process of their construction. The construction is fulfilled by algorithm described in [

11) Construction all fault-tolerant IUDTs by found irredundant h-fold column coverings of matrix and go to point 13.

12) Extension of a definition of matrix Q and go to point 2.

13) End.

_{i}_{,j}, and Q_{i}_{,j+1}, , and submatrices constructed using these tops, where.

We present example of submatrices U'_{i,g} construction using modified parallel algorithm.

Let the number of patterns in matrices Q and R' be 9.

Step 1. Ordering rows of matrices Q and R' along membership patterns. Let in result ordering the number of objects in patterns 1-9 equal respectively 12, 10, 9, 8, 6, 5, 4, 3, 3.

Step 2. i: = 1, j: = 1.

Step 3. Decomposition of patterns set {1, 2, 3, 4, 5, 6, 7, 8, 9} into two subsets {2, 3, 6, 8, 9} and {1, 4, 5, 7}. In this case, the number of rows in each subset equals 30.

Step 4. Construction of the submatrix U'_{1,1}. Herewith the amount of calculations at submatrix U'_{1,1} construction is directly proportional to value 900.

Step 5. j: = 1, i: = 2, since j = r_{1}_{ }= 2 (r_{1} is calculated by formula 3).

Step 6. Condition of algorithm point 6 is not satisfied and go to algorithm point 3, since i ≠ ω + 1 (ω=4, ω is calculated by formula 4).

Step 7. Decomposition of patterns subset {2, 3, 6, 8, 9} into subsets {2, 6} and {3, 8, 9}. In this case, the number of rows in pair of subsets equals 15 and 15 respectively.

Step 8. Construction of the submatrix U'_{2,1}. Herewith the amount of calculations of submatrix U'_{2,1} construction is directly proportional to value 225.

Step 9. j: = 4 and go to algorithm point 3, since j = 2 and r_{2}_{ }= 4 (r_{2} is calculated by formula 3).

Step 10. Decomposition of patterns subset {1, 4, 5, 7} into subsets {1, 7} and {4, 5}. In this case, the number of rows in pair of subsets equals 16 and 14 respectively.

Step 11. Construction of the submatrix U'_{2,2}. Herewith the amount of calculations of submatrix U'_{2,2} construction is directly proportional to value 224.

Step 12. j: = 1, i: = 3, since j = r_{2}_{ }= 4.

Step 13. Condition of algorithm point 6 is not satisfied and go to algorithm point 3, since I ≠ ω + 1.

Step 14. Decomposition of patterns subset {2, 6} into subsets {2} and {6}.

Step 15. Construction of the submatrix U'_{3,1}. Herewith the amount of calculations of submatrix U'_{3,1} construction is directly proportional to value 50.

Step 16. j: = 4 and go to algorithm point 3, since j = 2 and r_{3}_{ }= 8 (r_{3} is calculated by formula 3).

Step 17. Decomposition of patterns subset {3, 8, 9} into subsets {3} and {8, 9}.

Step 18. Construction of the submatrix U'_{3,2}. Herewith the amount of calculations of submatrix U'_{3,2} construction is directly proportional to value 54.

Step 19. j: = 6 and go to algorithm point 3, since j = 4 and r_{3} = 8.

Step 20. Decomposition of patterns subset {1, 7} into subsets {1} and {7}.

Step 21. Construction of the submatrix U'_{3,3}. Herewith the amount of calculations of submatrix U'_{3,3} construction is directly proportional to value 48.

Step 22. j: = 8 and go to algorithm point 3, since j = 4 and r_{3} = 8.

Step 23. Decomposition of patterns subset {4, 5} into subsets {4} and {5}.

Step 24. Construction of the submatrix U'_{3,4}. Herewith the amount of calculations of submatrix U'_{3,4} construction is directly proportional to value 48.

Step 25. j: = 1, i: = 4, since j = r_{3} = 8.

Step 26. Condition of algorithm point 6 is not satisfied and go to algorithm point 3, since I ≠ ω + 1.

Step 27. Decomposition of patterns subset {8, 9} into subsets {8}, {9}.

Step 28. Construction of the submatrix U'_{4,1}. Herewith the amount of calculations of submatrix U'_{4,1} construction is directly proportional to value 9.

Step 29. j: = 1, i: = 5, since j =r_{4}_{ }= 2 (r_{4} is calculated by formula 3).

Step 30. Since condition of algorithm point 6 is satisfied then go to algorithm point 7.

Thus, the total time of processors loading necessary to construct submatrices U'_{i}_{,g} is directly proportional to the value 1198.

Since the example illustrates the total time of processors loading necessary to construct submatrices U'_{i}_{,g} then omit the rest points of the algorithm.

We give an example where the decomposition is fulfilled without optimization criteria.

We fulfill the decomposition of the patterns subset {1, 2, 3, 4, 5, 6, 7, 8, 9} into two subsets {1, 2, 3} and {4, 5, 6, 7, 8, 9}. Moreover the number of rows in the subsets equals 31 and 29 respectively, and the amount of calculations is directly proportional to the value 899. Subsequent decomposition will lead to irregular processors loading: maximal processor loading on the second level is directly proportional to the value 228, maximal processor loading on the third level is directly proportional to the value 90 and maximal processor loading on the fourth level is directly proportional to the value 30. Thus, the total time of processors loading at all levels is directly proportional to the value 1347.

The above-mentioned example shows the advantage of the modified algorithm.

The above modified parallel algorithm for fault-tolerant DTs construction is implemented in intelligent system. This system is created as a dynamically plug-in and is included in intelligent instrumental software (IIS) IMSLOG [

The IIS IMSLOG architecture is open and represents a hierarchic system of software modules developed in the environment in Builder C^{++}.

One module, which was implemented as residential, has a built-in system of commands, acts as a coordinating center, and is called a kernel. All other modules are

dynamically pluggable (called plug-ins) and divided into functional modules, system data modules, and a basic module of the intelligent user interface.

Functional modules implement particular subsystems and functions, including different approaches and algorithms of test pattern recognition.

The intelligent system for parallel fault-tolerant DTs construction is one of the functional modules. The library of this module classes consists of mathematical objects (k-valued vectors and k-valued, Boolean matrices), which are created, processed, and deleted dynamically. The original matrices Q and R', the range of values of characteristic features, and the preassigned number t of measurement (entry) errors of values of characteristic features are the input data for the functional module. All (or part, for a big feature space) k-valued fault-tolerant IUDTs are output data.

System data modules store informational structures used in the process. The basic module of the intelligent interface ensures the interactive interaction of the user and the kernel on a limited natural language via an intelligent graphic shell or (if needed) a console application. The kernel consists of an interpreter of the built-in system of commands and a plug-in manager that ensure automatic connection and registration of all plug-ins, their real-time dynamic upload and download, transfer of control and information exchange between plug-ins, and control of their correct performance.

All plug-ins consist of a registration block, which is needed for them to be automatically connected to the kernel and for the dynamic invocation to perform, and a software gateway to ensure the registered system commands are called correctly, RAM required to store system data structures is allocated dynamically, the results of command execution are transferred, and control is returned to the kernel once the function corresponding to this plug-in ends its operation.

The built-in subsystem that creates and implements the operation scenarios (templates) is used to synchronize operation of separate components and control information flows as plug-ins are performed in IIS IMSLOG. The subsystem allows the real-time formation of a connected component network and establishes the interconnection relations (one-to-one or one-to-many) between the inputs and outputs of functional modules.

In the constructed scenario, we can monitor the executed processes, view the obtained intermediary values of the system variables, and (if needed) change the course of information processing by correcting values of transmitted data or by blocking/activating components of the template, which undoubtedly adds flexibility, which is especially useful in scientific research.

The IIS IMSLOG software leverages ideas and principles of structural nonlinear and object-oriented programming. The final software product is implemented in Borland C^{++} Builder and Windows API and GUI.

The OpenGL library was used to create cognitive tools. User interactions are carried out as an intelligent multiwindow MDI interface.

The described above intelligent system for fault-tolerant DTs construction is designed to applied intelligent systems for a number of problem areas.

In this section we will present an applied intelligent system for diagnostic of population mental health.

Currently highly relevant research topics worldwide are mental and behavioral disorders, such as affective [27-31]. Depression refers to affective disorders. Mortality in depression is only slightly inferior to mortality from cardiovascular diseases. Therefore, the need for development of applied intelligent systems for diagnostic of depression is not in doubt.

For the applied intelligent system as a feature space the space of k-valued symbols is used [

However, as used in this paper the inquirer also revealing one of the three severity degrees of depression (mild, moderate or severe) differs by greater number of questions, viz. it contains 24 questions. The increase in the number of questions is related to fault-tolerant DTs construction. Thus, wrong answer(s) on some questions can be compensated by the decision-making by taking into account fault-tolerance of DTs.

To clarify it, the basis of inquirer is the diagnostics criteria of international classification of diseases, tenth revision (ICD-10) [

Currently, the applied intelligent system for diagnostic of mental health of the population is on stage of approbation.

The intelligent system for parallel fault-tolerant diagnostic tests construction is described. The modified parallel algorithm for fault-tolerant diagnostic tests construction, which implemented in intelligent system, is given. The algorithm provides a more uniform loading of processors for irredundant implication matrix construction thereby reducing the time spent in parallelizing process of the DTs construction.

The applied intelligent system for diagnostic of mental health of population which is developed with the use of intelligent system for parallel fault-tolerant DTs construction is suggested.

For the first time, a combination of different approaches [30,32] for the diagnostic of population mental health is used. It is allowed to get a synergistic effect in diagnostic decision-making.

Future investigation is connected with construction of complex of intelligent systems for diagnostic and prevention of depression, which is based on intelligent system for parallel fault-tolerant diagnostic tests construction.

This research is funded by grant from the Russian Foundation for Basic Research (project No. 13-07-00373a and project No. 12-07-31109-mol_a) and by grant from the Russian Humanitarian Scientific Foundation (project No. 13-06-00709).

Professor MD department chief of clinical psychology of Siberian State Medical University Kornetov A. N. and department assistant of clinical psychology of Siberian State Medical University Silaeva A. V. are greatly appreciated for consultation in area of depression diagnostic by creation of applied intelligent system.