Abstract
In the past, intelligent system often realized reasoning operation by interpolation method for one-dimensional sparse rule base, and could not analyze fuzzy reasoning of multi-dimensional sparse rule condition, which greatly improved the error and volatility of reasoning results. Therefore, a multiple multi-dimensional fuzzy reasoning algorithm based on CMAC neural network weighting is proposed. Through the CMAC neural network, the influence weight of each variable is extracted. CMAC neural network is applied to train weights of multi-dimensional variables in multiple multi-dimensional fuzzy reasoning rules, and local correction weights are made, so that the weights of each modification are very few. After fast learning, the influence weights of the multi-dimensional variables on the reasoning result are obtained. A multiple multi-dimensional fuzzy reasoning algorithm based on CMAC neural network weighting is applied to input the given neighboring rules into CMAC neural network, and the weights of the variables in the neighboring rules are obtained. According to the linear interpolation and the sequence of interpolation cardinal numbers, the influence weights of the variables in the observation value are determined. According to the linear interpolation reasoning method, a new fuzzy rule is constructed. Based on the approximation between the new fuzzy rules and the observed values, the similarity between the predicted values and the new fuzzy rules is constructed. The result of fuzzy inference is obtained according to the similarity. The experimental results show that the proposed algorithm has high reasoning precision and stability, and the practical application effect is good.
Introduction
In the development and research of fuzzy control, fuzzy expert system and fuzzy decision making, fuzzy reasoning is a very important part [1]. Currently, in fuzzy reasoning, the most used fuzzy inference method is the compositional rule of inference (CRI). However, under sparse rules, rules cannot cover the whole domain. There is “gap” between rules. If the input facts fall in the gap, the method cannot be applied [2]. In order to solve this problem, scholars have proved that fuzzy inference is in fact interpolator, and KH interpolation reasoning is an important reasoning mode under the condition of coefficient rule [3], and it is also running more and more widely. In the condition of sparse rule, there are many studies on for univariate fuzzy interpolation reasoning [4]. However, there are few studies on the interpolation reasoning of multiple fuzzy variables. In the research of interpolation reasoning based on multi-dimensional rule, the representative method is MB interpolation reasoning. It can deduce the right conclusion under certain restrictions, but there is also the problem of the convexity of inference conclusion. These multi-variable fuzzy reasoning methods do not take into account the connection between variables [5], but consider each variable independently. No matter when calculating core or calculating slope, interpolation basis and distance, etc., they calculate according to arithmetic mean value. This calculation does not take into account that each variable has different influence on the conclusion, so the result is quite large.
Comprehensive analysis can be drawn that, in the past, intelligent system often realized reasoning operation by interpolation method for one-dimensional sparse rule base, and could not analyze fuzzy reasoning of multi-dimensional sparse rule condition. It is impossible to ensure the normality of the reasoning result, which greatly improved the error and volatility of reasoning results [6]. Therefore, a multiple multi-dimensional fuzzy reasoning algorithm based on CMAC neural network weighting is proposed, to realize the accurate reasoning of multiple fuzzy variables under the sparse rule of the intelligent system.
Material and methods
Multiple multi-dimensional fuzzy inference rules
The rules commonly used in multi-dimensional fuzzy reasoning are:
Wherein, A ij is the fuzzy set on the domain X, and B i is the fuzzy set on the domain Y, i = 1 ⋯ m, j = 1 ⋯ n.
However, in the real world, many problems are influenced by multivariable. In multi-dimensional fuzzy reasoning, the multi-dimensional variables are not independent of each other, and there are some connections between them. They have different effects on the result of reasoning, some variables have great influence, and the effect of some variables is smaller [7]. Therefore, we need to get the influence weights between the variables, so that the relationship between them can be expressed more, and the result of reasoning is more accurate.
After the rule is added, the rules used by multivariable sparse fuzzy reasoning become are as follows:
Wherein, w ij represents the weight of multi-dimensional variables, and CF i represents the confidence of the rule.
If the weight of a multi-dimensional variable in a rule is added by human beings, so the workload is too large and impractical [8]. In order to solve this problem, in this paper, the weights of multi-dimensional variables in CMAC neural network are trained to get the influence of the variables on the reasoning results. The multiple multi-dimensional fuzzy reasoning algorithm based on fuzzy neural network is used to obtain accurate reasoning results.
The structure of CMAC neural network
Cerebellar model articulation controller proposed by Albus (CMAC) is a kind of application based on neurophysiology. The mathematical model of arbitrary multi-dimensional nonlinear mapping can be learned by associative memory. It is one of the most widely applied neural networks in practical control engineering. In function, a trained CMAC neural network can approach the multivariable function by checking list; in structure, it is equivalent to a three-layer network. The main advantage of CMAC neural network is that its local correction weight coefficient makes the weight of each modification very few, so it has fast learning ability. This feature makes it more suitable for the real-time control than other neural networks [9].
The CMAC neural network is composed of two basic maps and an output calculation to determine the value of multiple functions. The structure of the neural network is shown as in the diagram. The first mapping S of the CMAC maps the input vector X into the C storage unit areas in the associated storage space A. In space A, the memory cell area produces similar output according to the similar input, and different input gives different output lists. This interaction is defined as the generalization ability of CMAC. The second mapping T connects each unit in A to a particular weight value W. For multi-dimensional input space, the required storage capacity of A will show a geometric growth, it may be very large. In this case, it can be used hash programming techniques to reduce the storage capacity [10]. The output of the CMAC neural network is equal to the sum of the C weights that have been activated.
CMAC network learning algorithm
The basic idea of CMAC neural network is to give a state in the input space and find the address corresponding to the state from the storage unit. The contents (weights) of these storage units are summed up to get the output of CMAC. The response value is compared with the expected output value, and according to the learning algorithm, it can modify the contents of these activated storage units and modify the weight [11].
CMAC can be used as a general nonlinear function approximation, to give a linear reference function f (x1, x2). Where, (x1, x2) is the independent variable of input space, and the CMAC storage capacity and mapping algorithm from the given (x1, x2) to the storage space N g can be determined. The following steps can be carried out:
The input space is sampled, and the scale transformation is given when necessary [12].
The mapping algorithm is used to find memory images;
The output of CMAC is calculated according to formula (3).
Where, w i is the contents of the storage space N g determined by the mapping algorithm.
Where, 0 < U < 1 is the coefficient of learning rate for determining the rate of weight convergence.
Repeat the above steps until the requirements of the accuracy criterion are met.
This is the weight of the multi-dimensional variables we are going to get. And then it is processed so that it is guaranteed. If the multivariable is input into the CMAC neural network, it can get the weight of the variables affecting the inference.
Supposing there is a sparse rule:
Observation value:
Conclusion: B* ? ? ?
Set A1 = [A11, A12, ⋯, A1n], A2 = [A21, A22, ⋯, A2n],
In this paper, a trapezoid membership function is used to represent a fuzzy set, as shown in Fig. 2.

Basic CMAC algorithm structure.

Trapezoid membership function.
The kernel value of the trapezoid membership function is more than one, a2 is the minimum kernel value, and a3 is the maximum kernel value, and the middle value is called the core [13]. 2 core (A) = (a2 + a3)/ - 2. The core of the fuzzy set A is core (A) = (a2 + a3)/ - 2.
Since there are n fuzzy variables in the first part of the rule, we need to calculate n difference techniques in linear difference reasoning, that is, a sequence of [λ1, λ2, ⋯, λ n ] of the interpolation base is obtained. The interpolating basis is set as:
The given adjacent rules are input into the CMAC neural network to learn, and the influence weights w1i and w2i of the multiple variables in rule 1 and rule 2 are obtained, i = 1 ⋯ n. The influence weights of the variables in the observation value
According to the linear interpolation reasoning method, a new fuzzy rule A′ → B′ is constructed, which is
First, A′ is constructed.
Secondly, a new fuzzy rule B′ is constructed. Construction of B′ needs to know the interpolation cardinal number λ of the second component of the rule. According to the interpolated cardinal number sequence of the second component and the influence factor of the n dimensions fuzzy variable on the second component (i.e., the weight w
i
), it can get the interpolation base number of the second component.
With the interpolation base λ, it is far away according to linear interpolation [15], and B′ is:
In this way, a new fuzzy rule is constructed, and the original fuzzy rules are changed into:
Observation value:
Conclusion: B* ?
The first A′ and A* of the new rules that are built are similar. The similarity between A′ and A* is used to construct the similarity between B* and B′, and the result B* of fuzzy reasoning can be obtained according to the similarity.
The fuzzy set B* of the conclusion is determined according to the similarity.
In order to express the similarity of the geometric shapes between the fuzzy sets, it can define the similarity between a simple fuzzy set, as shown in Fig. 3.

Similarity between fuzzy sets.
The membership function of the fuzzy set is divided into three segments [16], and the similarity S(A,B) between A and B is divided into the left similarity, the middle similarity and the right similarity [17], that is:
The similarity can be used to describe the relationship between the fuzzy sets [18], as shown in Fig. 3.
The similarity between A′ and the observation value A*. Because there are n dimensional variables, so we get a similarity sequence [S1, S2, ⋯, S
n
], that is:
According to the degree of similarity between A′ and A* and the influence weight w
i
of the multivariable on the result B*, the similarity S between the fuzzy set B* and B′ can be calculated.
The width of the three segment of the fuzzy set B*’s membership function can be obtained by the formula (12) and (13):
And because of core (B′) = core (B*), there are:
According to the formula (14) and (15), we can get the value of unknown values of b1*, b2*, b3* and b4*, so that we can get the fuzzy reasoning result B* = (b1*, b2*, b3*, b4*).
Effectiveness detection of algorithm
In this part, an example is given to verify the feasibility of the proposed method and compare it with the MB method. Tipping problem is a very classic example in textbooks of fuzzy system in foreign countries. The input of tipping problem is quality of service and food quality – service and foods, output is consumption–tip.
The data has been fuzzed to form the following rules:
Known rules: A11 and A12 → B1, A21 and A22 → B2
Observation value:
Conclusion: B* ? ? ?
The input variables are input to MCAC neural network, to get the weights w11 = 0.3, w12 = 0.7, w21 = 0.4, w22 = 0.6 of variables in rule 1 and rule 2. And then, the weights of variables in observations can be w1 = 0.34, w2 = 0.66 by interpolation calculation.
From Fig. 4, we can see that the conclusion of MB method is non-convex and irregular image. As in Fig. 5, the result calculated by this method is B* = (20.45, 20.60, 21.29, 21.52). Compared with MB method, it can guarantee the convexity and normality of fuzzy set [19–21], and the reasoning effect is good.

Inference results of MB method.

Method of reasoning in this paper.
The original rule is the same, and then another observation value is given.
Observation value:
Conclusion:
By calculating the fuzzy MCAC neural network, the weight value of the variable is w1 = (0.36), w2 = (0.64).
The result calculated by the proposed method is
As shown in Fig. 6, we see that the rule has not changed, and the observation value has changed. But the result calculated by the MB method is the same as that in Fig. 4, because it does not take into account the weights between variables while calculating, but calculates according to the arithmetic mean [20]. However, as shown in Fig. 7, in this paper, the weights of variables are obtained by using fuzzy neural network, so the results are changed, and the normality and convexity of fuzzy sets are guaranteed.

Inference results of MB method.

Method of reasoning in this paper.
There is a fuzzy set as follows
A neural network combining the positive and negative parts of fuzzy reasoning is designed. The topology form of Fig. 1 is designed. Based on the principle of neural network, the calculation and weight modification of the reasoning principle samples are made according to the positive and negative parts respectively, until that they meet the requirements of error.
The example is calculated by neural network. After 27316 iterations, the total error of the 8 samples will converge, and the weights are as follows:
Two instances are calculated.
The results of the neural network are as follows:
The results of the neural network are as follows:
A significant advantage of fuzzy inference neural network method is that it has a strong adaptability when the sample of reasoning principle is increased or changed. For example, the following principles of reasoning are added:
To confirm the new reasoning principle of first component
To deny the new reasoning principle of second component
After adding these new reasoning principles, neural network method can still be well adapted, but it is impossible to adapt to so many reasoning principles by fuzzy relational reasoning defined by human.
Performance analysis of algorithm for fault detection
In order to further verify the performance experiment of practical reasoning algorithm in this paper, the detection algorithm, CRI algorithm, three Ialgorithm and general multiple multi-dimensional reasoning algorithm, a fault diagnosis system is made fuzzy reasoning, and then the practical application of fault diagnosis is realized, as the following description:
The number of remaining alarm in the alarm library is concluded with different fuzzy reasoning algorithms in the experimental statistics, and the results are described in Table 1.
Number of residual alarm under different fuzzy inference algorithms
Number of residual alarm under different fuzzy inference algorithms
By comparing the data in Table 1 horizontally, it can be seen clearly that under the same fuzzy reasoning algorithm, the new rule obtained by the new rule is the lowest warning number.It can be seen from the longitudinal comparison that when the rules are consistent, the conclusion of the multiple multi-dimensional fuzzy reasoning algorithm based on neural network is the least.The results obtained by the general multi-dimensional fuzzy reasoning algorithm are several times, and the two are far less than the results obtained by using simple fuzzy reasoning algorithm.Compared with simple fuzzy reasoning, the multiple multi-dimensional fuzzy reasoning algorithm can reduce the range of the source alarm more effectively.The weighted multi-dimensional fuzzy reasoning algorithm can further remove redundant alerts and reduce the range of root alarm so that it can more accurately diagnose faults.
In Table 2, the number of fuzzy alerts in the fuzzy alarm database and the number of residual alerts in the alarm database are calculated by using the three new network topologies and four fuzzy reasoning algorithms under the new rule proposed by this method.
The number of the original alarm and the remaining alarm in the system under different network scale
The analysis shows that in every network topology, the multi-dimensional fuzzy reasoning algorithm based on neural network can minimize the range of the root alarm and minimize the remaining number of alerts in the conclusion alarm library. The residual alarm ratio is the ratio of the number of residual alerts in the alarm library to the number of alerts in the fuzzy alarm library. The residual alarm ratio describes the ability of the fault diagnosis system to remove redundant alerts and reduce the root alarm range. The following results can be obtained through the data in Table 3:
In the same network topology, the ratio of residual alarm in fault vibration system by using the multiple multi-dimensional fuzzy reasoning algorithm of based on the neural network is the minimum, indicating that when the proposed algorithm is used for alarm correlation analysis, the ability to remove redundant alarm is the strongest. When the same fuzzy reasoning algorithm is applied to different network topologies, the ratio of residual alarm is reduced with the increase of network size. This is because when the number of nodes in the network topology increases and the connection complexity between nodes increases, the redundancy of the alerts in the network is also enhanced, and more association rules can be obtained by fuzzy association rule mining algorithm. When the correlation rules are analyzed, the more the association rules are, the more thorough the correlation is, and the less the remaining alarm will be.
In order to compare the performance of the fault diagnosis system with different fuzzy reasoning algorithms, the experiment uses network three as a simulation topology. 100 fault diagnosis processes are implemented, and the accuracy of the fault diagnosis system is calculated by using the above four fuzzy reasoning algorithms respectively when the other conditions are consistent. If the alarm in the conclusion alarm library is anti-defuzzification, it can locate the fault node accurately. In this paper, the result of the task fault diagnosis is accurate, otherwise the task diagnosis is inaccurate. The result is described in Table 3.
Accuracy of fault diagnosis system with different fuzzy reasoning algorithms (%)
Analysis of Table 3 can see that no matter what kind of reasoning algorithm is adopted, fuzzy reasoning algorithm has high accuracy for fault diagnosis of network fault diagnosis system.The accuracy of diagnosis is much higher than that of the simple fuzzy reasoning algorithm when using multiple errors fuzzy reasoning algorithm. This is because the multi-dimensional fuzzy reasoning model can better reflect the fuzzy relation between the alarms. The multiple multi-dimensional fuzzy reasoning algorithm based on neural network in this paper can further improve the accuracy of fault diagnosis and has high application value.
In multi-dimensional sparse fuzzy reasoning system, many multi-dimensional fuzzy reasoning methods do not take account of the links among variables, but consider each variable independently, which leads to higher bias and volatility in reasoning results. Therefore, it needs to get the influence weight of the multivariable on the reasoning result. A multidimensional fuzzy reasoning algorithm based on CMAC neural network weighting is proposed in this paper. The weights of multi-dimensional variables are trained by CMAC neural network in multiple multi-dimensional fuzzy reasoning rules. The influence of multi-dimensional variables on the reasoning results is obtained by fast learning. Based on this weight, a new rule of fuzzy reasoning is established. According to the approximation between fuzzy sets, the final reasoning result is obtained. The algorithm is simple and applicable, and has better reasoning effect. It provides a very useful tool for fuzzy reasoning in intelligent system.
Footnotes
Acknowledgments
We are indebted to Second Military Medical University Shanghai, and Universiti Kebangsaan Malaysia for funding this research under the grant GUP-2017-105.
