# Self-Evolving Fuzzy Controller Composed of Univariate Fuzzy Control Rules
## 2 Fuzzy Logic Controller  
This section briefly presents the main concepts of fuzzy logic control and the control structure to be evolved by the proposed method in Section 3. Fuzzy logic controllers (FLCs) have become an important research area in fuzzy systems [3], being widely applied in the control of complex industrial processes where the control knowledge of human expert operators is available through a set of IF-THEN control rules. A fuzzy control rule describing a simplistic control action to control \(NO_{x}\) emissions in the cement industry is presented in the following example:  
\[\textbf{IF}\text{ the }NO_{x}\text{ is }\textit{high},\textbf{THEN}\text{ inject }\textit{more ammonia}, \tag{1}\]  
where \(NO_{x}\) and \(\textit{ammonia}\) (variation) are the input and output linguistic variables being, respectively, defined by the linguistic terms associated with the fuzzy sets _high_ and _more_. The FLC, which will be evolved by the proposed method in this paper, is composed of a set of univariate fuzzy control rules, allowing improving the controller interpretability ability, since the influence of each input variable on the overall behavior of the controller will be more easily interpretable. In this way, the fuzzy control rules for each input variable are given by [31]:\[R_{j}^{1}: \quad\text{IF}\ x_{j}(k)\ \text{is}\ A_{j}^{1}\ \text{THEN}\ u_{j}^{1}(k)=\theta_{j}^{1}, \tag{2}\] \[\vdots\] \[R_{j}^{N_{j}}: \quad\text{IF}\ x_{j}(k)\ \text{is}\ A_{j}^{N_{j}}\ \text{THEN}\ u_{j}^{N_{j}}(k)=\theta_{j}^{N_{j}},\] \[j=1,\ldots,n,\] \[i_{j}=1,\ldots,N_{j},\]  
where \(x_{j}\) is the input variable \(j\) (\(j=1,\ldots,n\)), \(R_{j}^{i_{j}}\) is the \(i_{j}\)-th fuzzy control rule of \(x_{j}\), \(N_{j}\) is the number of rules for \(x_{j}\), \(\theta_{j}^{i_{j}}\) is the consequent parameter, and \(A_{j}^{i_{j}}\) are linguistic terms characterized by a complementary fuzzy membership function [32]. Using the following fuzzy system configuration: the singleton as the fuzzifier, the center-average as the defuzzifier, and the product inference engine, the FLC is given by [31]:  
\[u(\mathbf{x}(k))=\frac{\sum_{i_{1}=1}^{N_{1}}\mu_{A_{1}^{i_{1}}}(x_{1}(k)) \theta_{1}^{i_{1}}+\ldots+\sum_{i_{n}=1}^{N_{n}}\mu_{A_{n}^{i_{n}}}(x_{n}(k)) \theta_{n}^{i_{n}}}{\sum_{i_{1}=1}^{N_{1}}\mu_{A_{1}^{i_{1}}}(x_{1}(k))+\ldots +\sum_{i_{n}=1}^{N_{n}}\mu_{A_{n}^{i_{n}}}(x_{n}(k))},\]  
where, defining \(A^{1},\ldots,A^{i},\ldots,A^{N}=A_{1}^{1},\ldots,A_{1}^{N_{1}},\ldots,A_{j}^{ 1},\ldots,A_{j}^{N_{j}},\ldots,A_{n}^{1},\ldots,A_{n}^{N_{n}}\),  
\[\sum_{i=1}^{N}\mu_{A^{i}}(\mathbf{x}(k)) =\sum_{i_{1}=1}^{N_{1}}\mu_{A_{1}^{i_{1}}}(x_{1}(k))+\ldots+\sum_ {i_{n}=1}^{N_{n}}\mu_{A_{n}^{i_{n}}}(x_{n}(k)),\] \[\omega_{j}^{i_{j}}[\mathbf{x}(k)] =\frac{\mu_{A_{j}^{i_{j}}}(x_{j}(k))}{\sum_{i=1}^{N}\mu_{A^{i}}( \mathbf{x}(k))}, \tag{3}\] \[\boldsymbol{\psi}_{j}(\mathbf{x}(k)) =\left[\omega_{j}^{1}[\mathbf{x}(k)],\ldots,\omega_{j}^{N_{j}}[ \mathbf{x}(k)]\right],\] (4) \[R_{j}^{1}: \quad\text{IF}\ x_{j}(k)\ \text{is}\ A_{j}^{1}\ \text{THEN}\ u_{j}^{1}(k)=\theta_{j}^{1}, \tag{2}\]0 (5) \[R_{j}^{1}: \quad\text{IF}\ x_{j}(k)\ \text{is}\ A_{j}^{1}\ \text{THEN}\ u_{j}^{1}(k)=\theta_{j}^{1}, \tag{2}\]1  
then the FLC (3) is given by:  
\[R_{j}^{1}: \quad\text{IF}\ x_{j}(k)\ \text{is}\ A_{j}^{1}\ \text{THEN}\ u_{j}^{1}(k)=\theta_{j}^{1}, \tag{2}\]2 \[R_{j}^{1}: \quad\text{IF}\ x_{j}(k)\ \text{is}\ A_{j}^{1}\ \text{THEN}\ u_{j}^{1}(k)=\theta_{j}^{1}, \tag{2}\]3  
\(\boldsymbol{\psi}_{j}^{T}(\mathbf{x}(k))\) (4) in (7) can be seen as a weight of fuzzy control rules of input variable \(j\) on the overall controller. By Equation (7), the influence of each input variable on the overall FLC's behavior can be analyzed, taking into account the fuzzy control rules; structure, making the FLC more interpretable.