A Historical Review of Forty Years of Research on CMAC
Frank Z. Xing

arXiv:1702.02277v1 [] 8 Feb 2017

School of Computer Science and Engineering
Nanyang Technological University
zxing001@e.ntu.edu.sg

Abstract— The Cerebellar Model Articulation Controller
(CMAC) is an influential brain-inspired computing model in
many relevant fields. Since its inception in the 1970s, the model
has been intensively studied and many variants of the prototype,
such as KCMAC, MCMAC, and LCMAC, have been proposed.
This review article focus on how the CMAC model is gradually
developed and refined to meet the demand of fast, adaptive, and
robust control. Two perspective, CMAC as a neural network
and CMAC as a table look-up technique are presented. Three
aspects of the model: the architecture, learning algorithms and
applications are discussed. In the end, some potential future
research directions on this model are suggested.

I. INTRODUCTION
The Cerebellar Model Articulation Controller (CMAC)
was proposed by J. S. Albus in 1975 [2]. Parallel at this time
in the history, the concept of perceptron [23] had already
been popular, whereas effective learning schemes to tune
perceptrons [24] were not on the stage yet. In 1969, Minsky
and Papert also pointed out the limitations that the exclusive
disjunction logic cannot be solved by the perceptron model
in their book Perceptrons: An Introduction to Computational
Geometry. These facts made it less promising to consider
CMAC as a neural network form. Consequently, although
the name of CMAC appears bio-inspired enough, and the
theory that the cerebellum is analogous to a perceptron has
been proposed earlier [1], CMAC was emphasized to be
understood as a table referring technique that can adaptive
to real-time control system. Nevertheless, the underlying
bioscience mechanism was addressed again in 1979 by Albus
[3], which always gives the CMAC model two different ways
of interpretation.
The structure of CMAC was originally described as two
inter-layer mappings illustrated in Fig. 1. The control functions are represented in the weighted look-up table, rather
than by solution of analytic equations or by analog [2]. If we
use S to denote sensory input vectors, and let A and P stand
for association cells and response output vectors respectively,
both CMAC and multilayer percptrons (MLP) model can be
formalized as:

f :S→A
g:A→P
the final output can be calculated as:
y = ∑ A∗i wi
where the asterisk denotes a link or activation between
certain association cell and the output. The nuance between

Fig. 1.

The primary CMAC structure

MLP and CMAC model is that, for mapping f , MLP model
is fully connected but CMAC restricts the association in a
certain neighboring range. This property of mapping significantly accelerates the learning process of CMAC, which is
considered a main advantage of it comparing to other neural
network models.
It is notable that CMAC may not represent accurately
how the human cerebellum works, even at a most simplified
level. For instance, recent biological evidence from eyelid
conditioning experiments suggests that the cerebellum is
capable of computing exclusive disjunction [34]. However,
CMAC is still an important computational model, because
the restriction on mapping function effectively decreased the
chance of been trapped in a local minimum during learning
process.
Despite the advantage aforementioned, CMAC has the
following disadvantages as well [25]:
• many more weight parameters are needed comparing to
normal MLP model
• local generalization mechanism may cause some training data to be incorrectly interpolated, especially when
data is sparse considering the size of CMAC
• CMAC is a discrete model, analytical derivatives do not
exist
As a response to these problems, modified or high order
CMAC, storage space compressing, and fast convergent
learning algorithms are continuously studied. These discov-

eries will be elaborated in the following sections. Recent
advances in Big Data and computing power seem to have
watered down these problems. But in many physical scenarios, the computing power are still restricted and high speed
responses are required. This serves for the reason to further
study CMAC-like models, though it has been in and out of
fashion for several times.
Although there has been few other pioneer review works
on CMAC, for instance by Mohajeri et al. in 2009 [20], this
article is inventive for its chronological perspective. rather
than emphasizing on detailed techniques. The remainder of
the article is organized as follows: Section II provides the
evolution trajectory of CMAC structure and efficient storage
techniques. Section III discusses the learning algorithms.
Section IV presents various circumstances that CMAC model
has been applied. Section V summarizes the paper, and
instigates discussions about potential improvements that can
be made on CMAC model.

Fig. 3.
Albus’ model [1] of cerebellum resembles a forward feed
perceptron. It assumes climbing fiber activity would cause parallel fiber
synapses to be weakened. S stands for stellate b cells, B stands for basket
cells

II. ARCHITECTURE
A. Basic Architectures
Before the CMAC was proposed in the 1970s, the anatomy
and physiology of cerebellum has been studied for a long
time. It is widely agreed that many different type of nerve
cells are involved in cerebellar functioning. Fig. 2 shows the
computational model proposed by Mauk and Donegan [18].
A more simple and implementable model proposed by Albus
[3] is exhibited in Fig. 3.

If we use A to represent the actual memory (Association
Cells), M is the conceptual memory to encode S. Then the
conceptual mapping f is more sparse and constrained within
a certain range, but mapping g could be random.

 f :S→M
g:M→A

h:A→P
When it comes to implementation, the connectivism perspective to recognize CMAC as a neural network and the
table referring perspective are equivalent. Fig. 5 illustrates
the difference at a conceptual level [25]. To the upper part is
a two input one output neural network structure, to the lower
part is a two input one output table look-up structure.
An intuitive observation from both Fig. 4 and Fig. 5
is that the number of weights will increase exponentially
with the number of input variables. This problem brings out
two challenges: 1) The storage of weights become space
consuming; 2) The training process becomes difficult to
converge and waiting time before termination will lengthen.

Fig. 2. Mauk’s model assumes complex interaction between different type
of cells: open arrow stands for plastic synapses; filled circle arrow stands
for inhibitory synapses; hollow square arrow stands for excitatory synapses.

Based on the computational model of cerebellum (Fig. 3),
the primary CMAC structure as shown in Fig. 1 is conceived.
While it is obvious that high dimensional proximity of
association rules cannot be captured in this primary form,
because the nodes are arranged into one dimensional array.
A simple solution to this problem is to introduce some
nonlinearity to the first mapping. As a result, another layer
called “conceptual memory” was soon added to the CMAC
structure, which involves one additional mapping to the
primary structure. The function of conceptual memory is
illustrated in Fig. 4.

Fig. 4.

CMAC with conceptual memory

B. Modified Architectures
Since simply increasing the CMAC size gives diminishing
returns, two directions of modification are undertaken to push
forward the research on CMAC. The first consideration is
to combine multiple low dimensional CMACs. The second
consideration is to introduce other properties, for example
spline neurons, fuzzy coding or cooperative PID controller.
Cascade CMAC architecture was firstly proposed in 1997
for the purpose of printer calibration [10] (Fig. 6). Input
variables are sequentially added to keep each of the CMAC
component two dimensional.

Fig. 6.

Fig. 5.

A conceptual level comparison of two different perspectives

A previously used technique to solve the first challenge is
called tile coding, which latter was developed to an adaptive
version as well [36]. The advantage of tile coding is that
we can strictly control the number of features through tile
split. Another commonly employed trick is called hashing.
This technique is applied to CMAC in the 1990s, and
maps a large virtual space A to a smaller physical address
A0 . Many common hashing function fh can be used, for
instance from MD5 or DES, which are fundamental methods
in cryptography. However, how to reduce the collision for
specific problems according to the data property is still
considered an art.

Cascade CMAC architecture

Another method to combine multiple CMACs can be realized by voting technique. If we regard the Cascade CMAC
model as a fusion of input information at a feature level, then
the voting CMACs can be reckoned as a fusion at decision
level. Each small CMAC just accept a subset of the whole
input space. In this case an important antecedent is that input
data is well partitioned. The reason to this requirement is that
voting lift can only be achieved by heterogeneous expert
networks. Taken this into account, some prior knowledge
of input data or unsupervised clustering techniques can be
applied in this stage.
If we make more efforts for dimension reduction, multiple
levels of voting can be used. Then the architecture can
be reckoned as a Hierarchical CMAC (H-CMAC), which
is described by Tham [32] in 1996. H-CMAC has several
advantages, such as less storage space and fast adaptation
for learning non-linear functions. In Fig. 7, a two level HCMAC is illustrated. It is noticeable that each conventional
CMAC components in different layers plays different role.
The gating network works at a higher level.

Literature [25] introduced a hardware implementation
which uses selected binary bits of indexes as the hashing
code. Whereas other research, e. g. [35], claims that due
to the learning rate diminishing and slower convergence,
hashing is not effective for enhancing the capability of
approximation by CMAC. Therefore, many other attempts
have been made, such as neighbor sequential, CMAC with
general basis functions, and adaptive coding [7], which is
a similar idea to hashing in the sense of weight space
compression.
Fig. 7.

Hierarchical CMAC architecture, adapted from [32]

These architectures can be employed at the same time with
more fundamental modifications for the second consideration. In 1992, Lane et al. [11] descried high order CMAC
as CMAC with binary neuron output replaced by spline
functions. This modification brings about more parameters
of splines, but makes the output derivable, which sometimes
gives a better performance because the learning phase goes
deeper. Sharing the idea to allow more meticulous transfer
function, a similar modification can be made by introducing
linguistic rules and fuzzy logic.
Linguistic CMAC (LCMAC) was proposed by He and
Lawry based on label semantics, rather than mapping functions in 2009. A cascade of LCMAC series was further
developed in 2015 [8]. Borrowing the terminology of “focal element” from evidence theory, the properties used to
activate it is represented as membership function (usually
trapezoidal) of several attributes. Therefore, for each input
tuple, the excited neurons form a hypercube in the matrix
of all the weights as memory. The responsive output can be
distributionally depicted as:
N

P(a|x) =

∏ mxd (Fdi )

d=1

where P is the probability of some memory unit a been
activated given the input vector x. F denotes focal element.
di is the index of linguistic attributes. m is the hidden weights
for F called “mass assignment”.
Fuzzy CMAC (FCMAC) is yet another form of fuzzy
coding. The intuition to use fuzzy representation is similar
to using spline function. For most well defined problems,
the nature of CMAC approximation is using multiple steps
to emulate a smooth surface. Proper selection of fuzzy
membership function would obviously relief the pressure
of weight storage and training. From my understanding,
FCMAC is an inverse structure of many established NeuroFuzzy Inference Systems. Usually, two extra fuzzy/defuzzy
layers are added next to the association layer, the consequents
can be Mamdani type, TSK type, weights, or a hybrid of
them, e. g. Parametric-FCMAC (PFCMAC) [21]. More advanced FCMAC models, maybe inspired by spline methods,
use interpolation to solve the discrete inference problem. In
2015, Zhou and Quek proposed FIE-FCMAC [39], which
adds fuzzy interpolation and extrapolation to a rigid CMAC
structure.
Recently, CMAC applications to more specific scenarios are studied. For example, for control of time-varying
nonlinear system, a combination of Radial Basis Function
network and the local learning feature of CMAC is proposed
(RBFCMAC). It is reported that using RBFs can prevent
parameter drift and accelerate synchronization speed to the
changing system [17]. For this type of combination, beside
RBF, Wavelet Neural Network (WNN), fuzzy rule neuron
and recurrent mechanism [15] or a mingle of them can also
be employed with CMAC model simultaneously. Previous
works, such as [38], have provided evidence that these
features are effective for modeling complicated dynamic
systems.

In a broader scenario, CMAC can be applied with other
control systems as well (Fig. 8). Traditionally, the role of
CMAC at the primary stage is to assist the output of a main
controller. As the training proceed, error between CMAC
and the actual model decays. CMAC takes charge of the
main controller. Back-forward signal acceptor or conjugated
CMACs are often used to accelerate this process [13]. More
precisely, this arrangement is a change of information flow
but not a change of architecture.

Fig. 8.

A combined control system of CMAC and PID

Similarly, CMAC structures that modifies the storage optimizing methods, for example quantization [16] and multiresolution [19], will only result in architectural difference
from a hardware implementation sense. According to my
personal understanding, they are the same thing regarding the
conceptual structure, though these techniques are of sufficient
interests to be discussed in Section III.
III. LEARNING ALGORITHM
The original form of learning proposed Albus is based
on backward propagation of errors. The fast convergence of
this algorithm is proved mathematically by succeeding researches. Specifically, the convergence rate is only governed
by the size of receptive fields for association cells [37]. Some
study [25] suggests that it would be useful to distinguish
between target training and error training, despite they share
the same mathematical form. In the weights updating rule,
wi (k + 1) = wi (k) + α

Error
xi
count(A∗ )

k is the epoch times, α ∈ [0, 1] is the learning rate, xi is a state
indicator of activation. The learning process is theoretically
faster with a larger α, while overshooting may occur. If the
difference between output and the desired value ∆y = y − ŷ
can well define the error, target training and error training
will be equivalent. In certain cases,
1
(y − ŷ)2
2c
is a popular cost function as well.
Based on the original learning algorithm, many developments are further derived. Most of them can be categorized
into two directions of improvement. The first relies on extra
supervisory signals or value assignment mechanism based
on statistics. The second endeavors to optimize the use of
memory. From a more practical sense, the dichotomy can
be understood as learning to adjust value of weights, and
learning to adjust number or size of weights.
Error =

A. Adjusting value of weights
Facing the trade off between speed of convergence and
learning stability, it is intuitive to consider using a relatively
large α at the beginning, and slow down the weight adjustment near the optimum point. This improvement is called
adaptive learning rate [14]. It can be achieved by using
two CMAC components, one as main controller, another
as supervisory controller or compensated controller. Another
way to achieve this adaption is by imposing a resistant term
to the weight updating rule:
wi (k + 1) = wi (k) +

α0 Error
xi
cαi count(A∗ )

In the above rule, α0 and c are constants, αi denotes the
average activation times of the memory units that have been
activated by training sample i.
For both fixed learning rate and adaptive learning rate,
weights adjustment start from a randomized set of parameters. Experiments suggest that for sparse data, even if the
training samples are within the local generalization range,
perfect linear interpolation may not be achieved [25]. As a
result, the approximation may appears to have many small
zigzag patterns. Therefore, the weight smoothing technique
is proposed. After each iteration, the weights are globally
adjusted according to:
∗

wi (A∗j ) = (1 − δ ) wi (A∗j ) +

count(A )
δ
∑ wi (A∗k )
∗
count(A ) k=1

variables x = {x1 , x2 , ..., xn }, the output can directly be the
weight of the winning neuron. The weights updating rule can
be formalized according to Hebbian theory:
wx (k + 1) = wx (k) + α (y(k) − wx (k))
Note that the index of x can be time dependent.
A modified version of the aforementioned rule involves
not only inputs, but also errors as feedback:
wx ,ee (k + 1) = wx ,ee (k) + α (y(k) − wx ,ee (k))
Using this learning mechanism, the SOFM-like CMAC is
named MCMAC. In 2000, Ang and Quek [5] proposed
learning with momentum, neighborhood, and averaged fuzzy
output for both CMAC and MCMAC. For CMAC and
MCMAC with momentum, the weights updating rules can
be written as:

∆w j (k + 1) = α ∆w j (k) + η δ j (k)y j (k)
∆wx ,ee (k + 1) = α ∆wx ,ee (k) + λ (1 − α)[y(k) − wx ,ee (k)]
where the first term represents a momentum, the second term
is a back propagation term with learning rate η and local
gradient δ j . j is the index for activated weights.
Therefore, given a sequential learning process, the aggregational weights adjustment can be derived from the above
rules:
k

∆w j (k + 1) = η

i=1

k

where δ is the proportional coefficient measuring the share
of the weight with index j that needs to be replaced by the
average of all activated weights A∗ .
While the weight smoothing technique tries to affect as
much memory as possible in one iteration, repeated activation of the same units may not be a good thing. In 2003,
research [26] pointed out that equally assign the error to
each weight is not a meticulous method. During the learning
process, if an associative memory is activated many times,
which means many relevant samples are already learned, the
weight should be more close to the desired value. In other
words, the weight value is more “credible”. In this situation,
less error should be assigned to it so that other memory units
can learn faster. This rule is called learning based on credit
assignment:
wi (k + 1) = wi (k) +

α f (i)−1
g

∑ f (i)−1

g

(y − ∑ wi (k)) xi
i=1

i=1

where g is a parameter regarding the degree of local generalization, f (i) records the times memory unit i has been
activated. Further research has proved that the convergence
is guaranteed with learning rate α < 2.
The hardware implementation of CMAC memory enables other interpretations of the associative architecture. If
we recognize it as a self-organizing feature map (SOFM),
competitive learning algorithm can be realized. With input

∑ α k−1 δ j (i)y j (i)

= −η

∂ Error

∑ α k−1 ∂ w j (k)

i=1
∂ Error
∂wj

When the sign of
keeps unchanged, ∆w j is accelerating; while if the sign is reversing, ∆w j will slow down to
stabilize the learning process.
The neighborhood learning rule proposed by Ang and
Quek [5] serves the same purpose as weight smoothing
technique. However, they used the Gaussian function to put
more attention to those neurons surrounding the winning
neuron instead of evenly adjusting each weight regardless
of the distance. Weights updating rule for MCMAC with
momentum and neighborhood in singular form is:
∆wi (k + 1) = α ∆wi (k) + hi j [λ (1 − α)(y(k) − wi (k))]
where
 |r − r |2 
j
i
hi j = exp −
2σ 2
is the distance metric between neuron j and the winning
neuron i.
Beside using additional terms such as momentum and
neighborhood, kernel method can also be applied to CMAC
learning. In 2007, Kernel CMAC (KCMAC) was proposed
[9], [11] to reduce the CMAC dimension which usually
hazard the training speed and convergence. KCMAC treats
the association memory as the feature space of a kernel
machine, thus weights can be determined by solving an

optimization problem. The supervised learning using error
e as slack variables is to achieve:
β n
1 T
w w + ∑ e 2i
w ,ee 2
2 i=1
β
s.t. w T φ (ui ) + e i > 1, i = 1, 2, ..., n
2
where w denotes weights, coefficient β serves as penalty
parameter, φ (·) is the mapping function and K(uu, w ) = φ (uu) ·
w) is the kernel function.
φ (w
The standard procedure to this problem is to solve the
maxima-minima of Lagrangian function. Though other learning method can be employed as well, for instance, using
Bayesian Ying-Yang (BYY) learning as proposed in 2013
by Tian et al [33]. The key idea behind BYY learning
can be represented by harmonizing the joint probability
with different product form of Bayesian components. In this
specific KCMAC case, u and output z are observable, while
w is a hidden variable. The joint distribution can either be
written as ying form or yang form.

w)p(uu|w
w)p(zz|uu, w )
pying (uu, z , w ) = p(w
w|uu, z )
pyang (uu, z , w ) = p(uu)p(zz|uu)p(w
min

Our goal is to maximize H(pying , pyang ),
H(pying , pyang ) =

ZZZ

w
pying ln pyang duu dzz dw

In practice, ∆H is frequently calculated depending on how
the conditional probabilities are estimated and maximum of
H is achieved by searching heuristically.
B. Adjusting number of weights
Adjusting number of weights is chiefly realized by introducing multi-resolution and dynamic quantization techniques. As Section I has explained, CMAC was firstly used
for real time control system. Consequently, the structural
design fits the hardware implementation well. Many CMAC
variants, such as LCMAC and FCMAC, inherit the memory
units division with a lattice-based manner. Inputs are generally built on grids with equal space. This characteristic adds
local constraints to the value of adjacent units.
If we consider this problem from a function approximation
perspective, it is also rather intuitive that local complex shape
needs a larger number of low-order elements to approach.
Naturally, multi-resolution lattice techniques [19] were proposed in the 1990s.
With our prior knowledge, some metrics can be used to
determine the resolution, for example, the variation of output
in certain memory unit areas, which can be formalized as
following:
resolution ∝ v =

1
N

N

∑ |y j − ȳ|

j=1

where N is the number of output samples, v is the variance.
Other attempts use a tree structure to manage the resolution
hierarchically. New high resolution lattice is generated only
if the threshold of variance is exceeded.

The concept of quantization is almost identical to resolution. The nuance may be that the terminology quantization
puts more emphasis on the discretion of continuous signal. Furthermore, increasing resolution will also cause the
number of weights to grow. Quantization deals with a given
memory capacity problem.
To the best of my knowledge, the idea of adaptive quantization was initially proposed in 2006 [16]. The algorithm
used to interpolate points looks on change of slopes, which
is also similar to the variance metric discussed above. The
input space is initialized with uniform quantization. For each
point xi , the slopes are calculated by neighbor points.
ˆ j = f (x j ) − f (xi ) , j = 1, 2, 3...
slope
x j − xi
Here f stands for the mapping function between input vector
and association cells. The change of sign for corresponding
directions indicates finer local structure, or fluctuation in
other words, thus a new critical point is added to split
the interval. The termination condition is that, within all
intervals, the difference of output values should not exceed
an experimental constant C [28]. The adaptive quantization
technique is later developed to the Pseudo Self Evolving
CMAC (PSECMAC) model [30], which further introduced
neighborhood activation mechanism.
IV. APPLICATION
Though CMAC was firstly proposed for manipulator control, during the past decades it has been proved effective
in robotic arm control, fractionator control, piezoelectric
actuator control [22], mechanic system, signal processing,
intelligent driver warning system, fuel injection, canal control
automation, printer color reproduction, ATM cash demand
[31], and many other fields [7]. This can be attributed to
the fast learning and stable performance of CMAC models.
Moreover, engineering-oriented software and toolkit also
help to promote the application of CAMC. In the following
part, CMAC application to two emerging engineering fields
are elaborated.
A. Financial Engineering
The practice side of financial engineering has employed
various instruments to model the price and risk of bond,
stock, option, future and other derivatives. In most cases,
historic data can be partitioned into chunks of selected time
span to enable a supervised learning process. In 2008, Teddy
et al [29] proposed an improved CMAC variant (PSECMAC)
to model the price of currency exchange American call option. Three variables are taken into consideration: difference
between strike price and current price, time of maturity, and
pricing volatility. Thus the pricing function is formulated as:
C0 = f (S0 − X, T, σ30 )
The article reported PSECMAC as the best-performing
model among several CMAC-like systems. It is also reported
that most of the CMAC models produce better result than
using Black-Scholes model in sense of RMSE. Though

for American option, Black-Scholes model is not a good
benchmark because it is sensitive to details of calculation.
This work further constructed an arbitrage system based
on the pricing model. Positions are adjusted according to the
Delta hedging ratio. Experiments suggested the model has a
marginal positive ROI, omitting transaction costs.
B. Adaptive Control
The application of CMAC on commercial devices may
be more advantageous. The pressure to reduce cost and
demand of embedded controller make CMAC-like models a
good choice. Recently, studies have been carried on adaptive
control of disabled wheelchair and seatless unicycle [12].
This type of problems can be formalized as controlling a set
of variables in certain range (e. g. speed and balance angle)
with a set of unknown and varying variables (e. g. friction
to the ground and weight of the rider).
Li et al [12] proposed a TSK type FCMAC to synthesis
the equations of adaptive steering control. The back-stepping
error is associated with the torque τ, which can simultaneously effect on critical moments.

θ̈ = Ā(θ , θ̇ ) + B̄(θ )(τ − µ φ̇ − c sgn(φ̇ ))
φ̈ = C̄(θ , θ̇ ) + D̄(θ )(τ − µ φ̇ − c sgn(φ̇ ))
As the output adapting to the moment parameters, the
balance angle is controlled near zero.
The performance of FCMAC is benchmarked with a
linear-quadratic regulator for differential equations to describe the state of the motor. Simulations suggest that LQR
is not able to converge speed and angle of balance, while
FCMAC provides satisfactory result.

V. DISCUSSIONS
Referring to Section IV, CMAC was proved to be effective
in many classic control problem and has been applied to
emerging engineering problems. However, this model seems
have encountered a bottleneck because of the lack of fundamental breakthrough during the past decade. Nowadays,
issues discussed are mainly focused on trivial modification
on memory structure and learning algorithm. The framework
of error propagation or minimization of loss function is kept
unchanged.
According to my understanding, the limitation of current
CMAC models can be ascribe to its over simplification of
the cerebellum structure. Therefore, the next generation cerebellar model may adopt new discoveries from neuroscience.
For example, the associative memory cells may take different
roles rather than been treated identically. In fact, anatomical
models usually feature several types of elementary cerebellar
processing units. Meanwhile, the theory of Spike Timing
Dependent Plasticity (STDP) suggests that the learning process of firing neurons may be ordered [6]. This feature
can introduce far more complexity to the current learning
algorithm.

R EFERENCES
[1] J. S. Albus, “A Theory of Cerebellar Function,” Mathematical Biosciences, pp. 25-61, 1971.
[2] J. S. Albus, “A New Approach to Manipulator Control: the Cerebellar
Model Articulation Controller (CMAC),” Trans. ASME, Series G.
Journal of Dynamic Systems, Measurement and Control, 97, pp. 220233, 1975.
[3] J. S. Albus, “Mechanisms of Planning and Problem Solving in the
Brain,” Mathematical Biosciences, 45, pp. 247-293, 1979.
[4] P. C. E. An, W.T. Miller, and P.C. Parks, “Design Improvements in
Associative Memories for Cerebellar Model Articulation Controllers,”
in Proceedings of ICANN, pp. 1207-10, 1991.
[5] K. K. Ang and C. Quek, “Improved MCMAC with momentum,
neighborhood, and averaged trapezoidal output,” IEEE Transactions
on Systems. Man and Cybernetics: PartB, 30(3), pp. 491-590, 2013.
[6] N. Caporale and Y. Dan, “Spike TimingDependent Plasticity: A
Hebbian Learning Rule,” Annual Review of Neuroscience, 31(1), pp.
25-46, 2008.
[7] P. Duan and H. Shao, “CMAC Neural Network based Neural Computation and Neuro-control,” Information and Control (in Chinese),
28(3), 1999.
[8] H. He, Z. Zhu, A. Tiwari, and A. Mills, “A Cascade of Linguistic
CMAC Neural Networks for Decision Making,” in International Joint
Conference on Neural Networks (IJCNN), 2015.
[9] G. Horváth and T. Szabó, “Kernel CMAC with improved capability,”
IEEE Transactions on Systems. Man and Cybernetics: PartB, 37(1),
pp. 124–38, 2007.
[10] K.-L. Huang, S.-C. Hsieh, and H.-C. Fu, “Cascade-CMAC neural
network applications on the color scanner to printer calibration,” in
International Conference on Neural Networks, 1997.
[11] S. H. Lane, D. A. Handelman, and J. J. Gelfand, “Theory and
development of higher-order CMAC neural networks,” IEEE Control
Systems, April, pp. 23–30, 1992.
[12] Y.-Y. Li, C.-C. Tsai, F.-C. Tai and H.-S. Yap, “Adaptive steering control
using fuzzy CMAC for electric seatless unicycles,” IEEE International
Conference on Control & Automation, pp. 556–561, 2014.
[13] C. C. Lin and F. C. Chen, “On a new CMAC control scheme, and its
comparisons with the PID controllers,” Proceedings of the American
Control Conference, pp. 769–774, 2001.
[14] C.-M. Lin and Y.-F. Peng, “Adaptive CMAC-based supervisory control
for uncertain nonlinear systems,” IEEE Transactions on Systems, Man,
and Cybernetics, Part B, 34(2), pp. 1248–60, 2004.
[15] C.-M. Lin and H.-Y. Li, “Self-organizing adaptive wavelet CMAC
backstepping control system design for nonlinear chaotic systems,”
Nonlinear Analysis: Real World Applications, 14(1), pp. 206–223,
2013.
[16] H.-C. Lu, M.-F. Yeh, and J.-C. Chang, “CMAC Study with Adaptive
Quantization,” IEEE Intl. Conf. on Systems, Man, and Cybernetics,
Taipei, pp. 2596–2601, 2006.
[17] C. J. B. Macnab, “Using RBFs in a CMAC to prevent parameter drift
in adaptive control,” Neurocomputing, pp. 45–52, 2016.
[18] M. D. Mauk and N. H. Donegan, “A Model of Pavlovian Eyelid
Conditioning Based on The Synaptic Organization of Cerebellum,”
Learn. Mem., 3, pp. 130-158, 1997.
[19] A. Menozzi and M.-Y. Chow, “On the training of a multi-resolution
CMAC neural network,” in Proceedings of the IEEE International
Symposium on Industrial Electronics, 1997.
[20] K. Mohajeri, G. Pishehvar, and M. Seifi, “CMAC neural networks
structures,” in IEEE International Symposium on Computational Intelligence in Robotics and Automation, 2009.
[21] K. Mohajeri, M. Zakizadeh, B. Moaveni, and M. Teshnehlab, “Fuzzy
CMAC structures,” in IEEE International Conference on Fuzzy Systems, 2009.
[22] Y.-F. Peng, R.-J. Wai and C.-M. Lin, “Adaptive CMAC model reference control system for linear piezoelectric ceramic motor,” in IEEE
International Symposium on Computational Intelligence in Robotics
and Automation, 2003.
[23] F. Rosenblatt, “Principles of Neurodynamics: Perceptrons and the
Theory of Brain Mechanisms,” Spartan Books, Washington DC, 1961.
[24] D. E. Rumelhart, G. E. Hinton, and R. J. Williams, “Learning Internal
Representations by Error Propagation,” Nature, 323(9), 1986.
[25] R. L. Smith, “Intelligent Motion Control with an Artificial Cerebellum,” PhD Thesis of The University of Auckland, New Zealand,
Chapter 3, 1998.

[26] S.-F. Su, T. Tao, and T.-H. Hung, “Credit assigned CMAC and its
application to online learning robust controllers,” IEEE Transactions
on Systems, Man, and Cybernetics, Part B (Cybernetics), 33(2), 2003.
[27] R. S. Sutton, “Generalization in Reinforcement Learning: Successful
Examples Using Sparse Coarse Coding,” Advances in Neural Information Processing Systems, pp. 1038–1044, MIT Press, 1996.
[28] S. D. Teddy, E. M.-K. Lai, and C. Quek, “Hierarchically Clustered
Adaptive Quantization CMAC and Its Learning Convergence,” IEEE
TRANSACTIONS ON NEURAL NETWORKS, 18(6), 2007.
[29] S. D. Teddy, C. Quek, and E. M.-K. Lai, “A cerebellar associative
memory approach to option pricing and arbitrage trading,” Neurocomputing, 19(4), 2008.
[30] S. D. Teddy, C. Quek, and E. M.-K. Lai, “PSECMAC: A Novel SelfOrganizing Multiresolution Associative Memory Architecture,” IEEE
Trans. Neural Networks, 19(4), pp. 689–712, 2008.
[31] S. D. Teddy and S. K. Ng, “Forecasting ATM cash demands using
a local learning model of cerebellar associative memory network,”
International Journal of Forecasting, 27(3), pp. 760–776, 2011.
[32] C.-K. Tham, “A hierarchical CMAC architecture for context dependent
function approximation,” in IEEE International Conference on Neural
Networks, 1996.
[33] K. Tian, B. Guo, G. Liu, I. Mitchell, D. Cheng, and W. Zhao,
“KCMAC-BYY: Kernel CMAC using Bayesian YingYang learning,”
Neurocomputing, 101, pp. 24-31, 2013.
[34] H. Voicu, “The Cerebellum: An Incomplete Multilayer Perceptron?,”
Neurocomputing, 72, pp. 592-599, 2008.
[35] Z.-Q. Wang, J. L. Shiano, and M. Ginsberg, “Hash-coding in CMAC
Neural Networks,” in IEEE International Conference on Neural Networks, Washington, pp. 1698-1703, 1996.
[36] S. Whiteson, M. E. Taylor, and P. Stone “Adaptive Tile Coding for
Value Function Approximation,” AI Technical Report AI-TR-07-339,
University of Texas at Austin, 2007.
[37] Y.-F. , “CMAC Learning is Governed by a Single Parameter,” in
IEEE International Conference on Neural Networks, San Francisco,
pp. 1439-43, 1993.
[38] F. Z. Xing, E. Cambria and X. Zou, “Predicting Evolving Chaotic Time
Series with Fuzzy Neural Networks,” in International Joint Conference
on Neural Networks (IJCNN), 2017.
[39] W. J. Zhou, D. L. Maskell and C. Quek, “FIE-FCMAC: A novel
fuzzy cerebellum model articulation controller (FCMAC) using fuzzy
interpolation and extrapolation technique,” in International Joint Conference on Neural Networks (IJCNN), 2015.

