## 2 Proposed Techniques
### Adaptive Neuro-Fuzzy Inference system  
Fuzzy logic (FL) is a robust system that transforms variables to mathematical language, which is consistent with the ability of human knowledge modeling. While, fuzzy logic tries to model either linear or non-linear systems, it is not possible to be trained by itself in a stochastic condition. Therefore, fuzzy logic systems are dependent on their operation rules, which should be defined by the experts who conclude, using their intuition, the parameters associated with membership functions. To overcome this problem, FL can be combined with artificial neural networks (ANNs), which have a remarkable ability to learn from imprecise data. Hence, combination of ANNs and FL procedures lead a better parameterization, which presents the fuzzy logic inference, known as the adaptive neuro-fuzzy inference system (ANFIS). Indeed, fuzzy logic and ANNs have both substantial benefits and drawbacks, which should be taken into consideration in terms of system modeling. In fuzzy logic language, called 'fuzzily', if-else statements are used to model the system by human knowledge. Although FLs are not capable of capturing measurement values, and use them to either adjust or modify the parameters like the Gaussian membership function variables, ANNs have the capability to be tuned and learnt by experimental data, leading a mathematical model not to be included in the system modeling, which can be possible by input-output mapping. Moreover, it has been demonstrated that the ANFIS is one of the techniques that can be utilized to any type of battery with various operating conditions (e.g., partial discharging, constant charge, and discharge processes) [33]. Two common fuzzy style inferences are Mamdani-style and Sugeno-style, which have been presented by [PERSON] and [PERSON], respectively [3]. To provide a better understanding, an ANFIS structure with two-input one-output is illustrated in Figure 3. The rule base considers two fuzzy 'if-then' rules of [PERSON] and [PERSON]'s type, which are as follows:  
\[rule\;1:\;If\;x\to A_{1}\;and\;y\;\to B_{1},\;then\;Z_{1}=p_{1}x+q_{1}y+r_{1}\]  
\[rule\;2:\;If\;x\to A_{2}\;and\;y\;\to B_{2},\;then\;Z_{2}=p_{2}x+q_{2}y+r_{2}\]  
The basic structure of ANFIS, considering as a fuzzy inference system, is a five-layered feedforward type, ANN, including different purpose-built types of nodes (e.g., non-weighted, adaptive, and non-adaptive connection links). The different layers can be classified into five-layers, which are as follows:  
Figure 3: A general adaptive neural-fuzzy inference system [2]. * 1 This layer is known as fuzzy-fication layer, which fuzzifies the input variables; every \(i\) node consists of a node function, which is \(O_{1,i}=\mu_{A_{i}}(x)\), symbolized by \(A_{i},x,O_{1i}\), where \(A_{i}\) is the linguistic label according to the node function, \(x\) is the input to the node, and \(O_{1,i}\) is the membership function of that, specifying the level for the assumed \(x\). Hence, the membership function ascertains the membership level from the given input values. For a bell-shaped function, three parameters for each node should be defined, for which the maximum and minimum possible value are 1 and 0, respectively; where its generalized function can be mathematically described as follows: \[\mu_{A_{i}}(x)=\frac{1}{1+\left[((x-c_{i})/(a_{i}))^{2}\right]^{b_{i}}}\] (4) where \(\{a_{i},b_{i},c_{i}\}\) are the set parameters, called as premise parameters, \(\mu\) is commonly chosen as bell-shaped or gauss-shaped, \(x\) is the first input variable, and the membership function variables are adjusted by changing the aforementioned parameters whenever the first input variable is fed to the ANFIS. * 2 Is called 'fuzzy and', because in this layer, only 'AND' operators are allowed. This layer is utilized to compute the firing robustness of every rule. It means product operation (see Equation [5]) referred to the weighting factor of the corresponding rule, is used.