## 3 Adaptive TSK Fuzzy Self-Organizing Recurrent Cerebellar Model Articulation Controller Design
### Design of TSK Fuzzy Self-Organizing Recurrent Cerebellar Model Articulation Controller  
When CMAC is applied, the number of layers for association memory is fixed. Depending on the input state, the association memory value is 1 when being triggered; when not being triggered, it will be 0. However, such a binary relationship will lower the network resolution and cause the problem of control outputs that are not smooth. This study proposes a self-organizing recurrent cerebellar model articulation controller; the architecture is shown in Figure 3. With the working principle similar to that of a traditional CMAC, the association memory layer is implanted with Gaussian functions to cover the entire input space. Unlike the traditional rectangular function, the Gaussian function possesses the characteristics of being differentiable at any position; therefore, not only can the controller perform function learning but also the resulting outputs can have differential properties. Moreover, similar self-organizing recurrent artificial neural network architecture and adaptive rules are adopted so that the CMAC that is originally static with a fixed number of association memory layers possesses dynamic memory ability and the number of association memory layers can be changed along with the layer decision-making mechanism. As shown in Figure 3, the proposed architecture contains an input space \(\mathbf{S}\), an association memory space \(\mathbf{A}\), a receptive-field space \(\mathbf{B}\), a function coupling output space \(\mathbf{F}\), real memory space \(\mathbf{Z}\), and output space \(\mathbf{Y}\). The layer decision-making mechanism of association memory is shown in Figure 4.  
The vector of input signals is as shown in Equation (7). It will first be subjected to quantification before entering the TSK fuzzy self-organizing recurrent cerebellar model articulation controller, which takes the range \([-1,1]\) as the input. \[\mathbf{S}=\left[ \begin{array}{cccc}s_{1}&s_{2}&\ldots&s_{n}\end{array}  \right]^{T}\in\Re^{n}. \tag{7}\]  
Elements in each input variable vector will be added to the product of the previous association memory output and the recurrent weight, called the recurrent input vector \(\mathbf{x}\), as shown in Equations (8) and (9). \[\mathbf{X}=\left[ \begin{array}{cccc}x_{1}&x_{2}&\ldots&x_{p}\end{array}  \right]^{T}\in\Re^{n}, \tag{8}\]  
\[x_{j}(k)=s_{i}(k)\ +r_{j}a_{j}(k-1),\text{ for }j=1,\ 2,\ \cdots,p, \tag{9}\]  
Figure 4: Layer decision-making mechanism. Figure 3: Takagi–Sugeno–Kang (TSK) fuzzy self-organizing cerebellar model articulation controller architecture. where \(n\) is the individual number of input states; \(p\) is the number of layers in the association memory space; \(k\) is the \(k\)-th sampling time; and \(r_{j}\) is the recurrent weight value. Each variable will correspond to a set of association memories. The pre-set number of layers in the association memory is one layer, and each layer is implanted with one Gaussian function. When the input variable is mapped to each Gaussian function, different degrees of membership \(\alpha_{j}\) will be generated, as shown in Equation (10). \[a_{j}=\exp\left[\frac{-(x_{j}-m_{j})^{2}}{v_{j}^{2}}\right]\,,\,\text{for}\,j=1,\,2,\,\cdots,\,p, \tag{10}\]  
where \(x_{j}\) is the recurrent input; \(m_{j}\) is the midpoint of the Gaussian function; and \(v_{j}\) is the standard deviation of the Gaussian function. The membership level \(\alpha_{j}\) generated from the association memory layer is individually and correspondingly multiplied and mapped into the receptive field vector \(\mathbf{b}\), and the definition of the receptive field vector is shown in Equation (11). \[b_{j}\ =a_{j}=\exp\,\left[\frac{-(x_{j}-m_{j})^{2}}{v_{j}^{2}}\right]\,,\, \text{for}\,j=1,\,2,\,\cdots,\,p. \tag{11}\]  
This is expressed in a vector as  
\[\mathbf{b(x,m,v,r)=[b_{1},\,b_{2},\,\ldots,\,b_{p}]^{T}}, \tag{12}\]  
where \(v=[v_{1},\,v_{2},\,\ldots,\,v_{p}]^{T}\), \(m=[m_{1},\,m_{2},\,\ldots,\,m_{p}]^{T}\), and \(r=[r_{1},\,r_{2},\,\ldots,\,r_{p}]^{T}\).