## 3 Materials and Methods
### The Modified DE Algorithm  
The original DE algorithm is a state-of-the-art-evolutionary algorithm for unconstrained nonlinear or non-convex continuous optimization problems. However, the optimization problem of BRB is constrained in nature. Therefore, the original DE algorithm is modified so that the optimal parameters can meet the constrains. The modified DE consists of the following operations. **Mutation:** For any parameter vector \(p_{c}\), \(\{c=1,2,\ldots,NP\}\) in the population at generation \(t\) which is basically a belief rule base consists of knowledge representation parameters attribute weights, rule weights and consequent belief degree encoded as a solution vector as shown in Figure 1, three parameter vectors, \(p_{w}\), \(p_{y}\), and \(p_{z}\), which are distinct from each other as well as from \(p_{c}\), are randomly selected from \(NP\) parameter vectors to generate so-called donor vector as follows:  
\[v_{c}=p_{w}+F*(p_{y}-p_{z}) \tag{19}\]  
where \(F\) is a constant known as mutation operator. Normally, \(F\in(0,2]\) and \(F=0.5\) is more stable and efficient [35]. **Crossover:** The crossover operation is performed between two parameter vectors \(v_{c}\) and \(P_{c}\) using the following equation:  
\[v_{c,i}= \begin{cases}p_{c,i},\ if\ random(0,1)>CR\\ v_{c,i},\ otherwise\end{cases} ,\ i=1,2,\ldots,N \tag{20}\]  
where \(p_{c,i}\) is the \(i\)th parameter in the \(c\)th parameter vector and \(N\) is the total number of parameter in a vector. \(CR\in[0,1]\) is the crossover probability which controls the mutated value. Normally \(CR=0.9\) is an appropriate choice [35]. **Correction:** The parameter value in the newly generated parameter vector \(v_{c}\) may not satisfy the constraints shown in Equations (12)-(16) as its mutation operation is based on the differential information between the parameter vectors. Therefore, it is necessary to correct the value of parameters. Correction of constraints shown in Equations (13)-(15) are performed using the following formula:  
\[v_{c,i}= \begin{cases}v_{c,i};&if\ lb_{i}\leq v_{c,i}\leq ub_{i}\\ \frac{v_{c,i}+F*(up_{i})+lb_{i}}{2F+1};&otherwise\end{cases} ,\ i=1,\ldots,N \tag{21}\]  
To ensure that the \(l\)th belief rule is complete meaning that the summation of degree of beliefs associated with all the consequents in \(l\)th rule is one as shown in Equation (12), further, the following correction is carried out:  
\[\tilde{\beta}_{l,n}=\frac{\beta_{l,n}}{\sum_{i=1}^{N}\beta_{l,n}};\ l=1, \ldots,L;\ n=1,\ldots,N \tag{22}\]where \(\{\beta_{l,n};l=1,\ldots L;\ n=1,\ldots,N\}\in v_{c}\). \(\tilde{\beta}_{l,n}\) is the corrected degree of belief associated with the \(l\)th consequent in \(l\)th belief rule. The donor vector \(v_{c}\) is updated with \(\tilde{\beta}_{l,n}\). **Selection:** The newly generated parameter vector \(v_{c}\) is basically a belief rule base that consists of knowledge representation parameters attribute weights, rule weights, and consequent belief degree that satisfied all the constrains shown in Equations (12)-(16) and can be used to generate inferential output for any input following the steps discussed in Section 3.2. Therefore, the objective function in Equation (11) can be evaluated using the parameter vector \(v_{c}\) to find its fitness \(\zeta(v_{c})\). Similarly, the fitness \(\zeta(p_{c})\) of parameter vector \(p_{c}\) is evaluated. Two fitness values are then compared to select which parameter vector will enter the next generation as follows:  
\[P_{c}(t+1)= \begin{cases}v_{c}&\text{if }\zeta(v_{c})\leq\zeta(p_{c}),\\ p_{c}&\text{otherwise}\end{cases}  \tag{23}\]  
Equation (23) ensures that parameter vector with the minimum objective value is chosen for next generation. The parameter learning algorithm for BRB with DE is shown in Algorithm 1.