## 2 Methodology  
### Adaptive Neuro-Fuzzy Inference System (ANFIS)  
Fuzzy logic (FL) model is an algorithm that has gained popularity in different engineering fields. The advantages of FL are the ability to make a decision, despite the dominant uncertainty and inaccuracy of several field problems. However, this method does not offer preferable results in unforeseen situations [32]. Many extensions of the fuzzy logic model have been developed to overcome this limitation. Additionally, the ANN technique can adapt its abilities of learning and is effective to model a variety of real applications; however, it still has some limitations. When the input data is subject to a high level of uncertainty or ambiguity, ANFIS techniques perform better [44]. ANFIS is a soft computing technique developed by [PERSON] [44] to solve the complicated and nonlinear issues. This technique combines the fuzzy logic model with adaptive neural networks (ANN) learning technique. ANFIS can analyze and simulate the mapping relation between the input and output dataset over a hybrid system to determine the optimal distribution of membership functions. ANFIS normally involves five layers: fuzzification layer, implication layer, normalization layer, defuzzification layer, and summation layer. These layers comprise several nodes that are defined by the node function. Nodes in each layer have the same function. The network output mainly depends on the adaptable parameters in the nodes. The network learning rules update these parameters in order to minimize the error. The ANFIS architecture with two inputs and one output is shown in Figure 1. To clarify the structure of ANFIS, two if-then rules based on a Takagi-Sugeno type fuzzy inference system are considered:  
\[\text{Rule 1: If }x\text{ is A}_{1}\text{ and }y\text{ is B}_{1}\text{, then}f_{1}=p_{1}x+q_{1}y+r_{1} \tag{1}\]  
\[\text{Rule 2: If }x\text{ is A}_{2}\text{ and }y\text{ is B}_{2}\text{, then}f_{2}=p_{2}x+q_{2}y+r_{2} \tag{2}\]  
In the expressed rules, A\({}_{1,2}\) and B\({}_{1,2}\) are fuzzy sets of input premise parameters \(x\) and \(y\); \(p_{1,2}\)\(q_{1,2}\), \(r_{1,2}\) are the consequent parameters and \(f\) is the output of the ANFIS model. The ANFIS structure consists of five different layers (Figure 1) and each layer is briefly described as follows. Layer 1: this layer is called fuzzification layer; every node in this layer creates a membership grade of a linguistic variable and the output of each node is estimated as follows:  
\[Q_{i}^{1}=\mu_{Ai}(x)=\frac{1}{1+\left[\left(\frac{x-y_{i}}{\sigma_{i}}\right) ^{2}\right]^{b_{i}}} \tag{3}\]  
where, \(x\) is the input value of the node \(i\); \(A_{i}\) is the linguistic variable associated with this node; \(\sigma_{i}\), \(\
u_{i}\) and \(b_{i}\) are the function parameters. The parameters in this layer are defined as the premise parameters. Layer 2: this layer is called implication layer; each node in this layer calculates the \"firing strength\" of each rule by multiplying the incoming signals as follows:  
\[Q_{i}^{2}=W_{i}=\mu_{Ai}(x).\mu_{Bi}(y),\;i=1,\;2 \tag{4}\]  
Layer 3: this layer is the normalization layer; each node in this layer calculates the ratio of the \(i^{\text{th}}\) rules firing strength to all rules firing strengths. The outputs of this layer are called normalized firing strengths. \[Q_{i}^{3}=\overline{w}_{i}=\frac{w_{i}}{w_{1}+w_{2}},\;i=1,\;2 \tag{5}\]  
Layer 4: this layer is the defuzzification layer; each node in this layer is the output operators for each rule:  
\[Q_{i}^{4}=\overline{w}_{i}f_{i}=\overline{w}_{i}(p_{i}x+q_{i}y+r_{i}),\;i=1,2 \tag{6}\]  
where \(w_{i}\) is the output of layer 3; \(p_{i}\), \(q_{i}\), and \(r_{i}\) are the consequent parameters that are confirmed in the training process. Figure 1: A basic structure of the adaptive neuro-fuzzy inference system (ANFIS) model.