#### Abstract

Fuzzy Counter Propagation Neural Network (FCPN) controller design is developed, for a class of nonlinear dynamical systems. In this process, the weight connecting between the instar and outstar, that is, input-hidden and hidden-output layer, respectively, is adjusted by using Fuzzy Competitive Learning (FCL). FCL paradigm adopts the principle of learning, which is used to calculate Best Matched Node (BMN) which is proposed. This strategy offers a robust control of nonlinear dynamical systems. FCPN is compared with the existing network like Dynamic Network (DN) and Back Propagation Network (BPN) on the basis of Mean Absolute Error (MAE), Mean Square Error (MSE), Best Fit Rate (BFR), and so forth. It envisages that the proposed FCPN gives better results than DN and BPN. The effectiveness of the proposed FCPN algorithms is demonstrated through simulations of four nonlinear dynamical systems and multiple input and single output (MISO) and a single input and single output (SISO) gas furnace Box-Jenkins time series data.

#### 1. Introduction

With the rapid advance of computers, the digitization has swept in all fields of science and technology with special emphasize on modeling and identification. Most of the physical processes are continuous in nature but they are generally modeled using discrete time with the use of derivative and integral as they are easily realizable. Taking these advantages, an enormous research has been focused on discrete time methods and many techniques based on linear and nonlinear discrete systems have been developed [1, 2]. Neural network has been widely used for nonlinear dynamical systems [3–5]. Various control systems like back stepping control [6, 7], sliding mode control [8, 9], and control using soft computing [10] are continuous source of interest. The nonlinear dynamical system is a generic problem which finds its application in every field of engineering. The technique based on soft computing, fuzzy logic, and neural network has also found its application in modeling of systems in various application domains. Feedforward Neural Network (FNN) is one of the most commonly used networks for this purpose; FNN with Back Propagation algorithm is another powerful network. Neural network is most popular approach due to its capability of modeling most of the nonlinear functions approximately to any arbitrary degree of accuracy [11]. Most of the systems are designed using feedforward network with gradient descent learning but the gradient descent method encounters the problem of slow convergence. This problem of convergence can be overcome by use of some Cauchy-Newton [12] Quasi-Newtonian method and Levenberg-Marquardt algorithms [13].

Optimal controllers for hybrid dynamical systems (HDS) developed using Hamilton-Jacobi-Bellman (HJB) solution method [14, 15]. Novel Lyapunov-Krasovskii functional (LKF) with triple integral time constructed for exponential synchronization of complex dynamical networks will control packet loss and additive time varying delay [16]. Control of discrete time varying system using dynamical model is difficult. To overcome this condition, new neural network approximation structure was developed to solve optimal tracking problem of nonlinear discrete time varying time system using reinforcement learning (RL) method [17]. To enhance the performance of nonlinear multivariable system, fuzzy optimal controller based Takagi-Sugeno model was developed which was used to minimize a quadratic performance index [18]. An ultimate stable training algorithm inspired by adaptive observer for black box identification of nonlinear discrete systems developed using state space recurrent neural network. The algorithm developed was using only input and output measurement in discrete time [19]. Indirect adaptive controller that uses neural network was presented for the identification and control of experimental pilot distillation column. This system is multivariable with unknown dynamics and the neural network was trained using Levenberg-Marquardt algorithm [20]. Adaptive finite time stabilization of a class of switched nonlinear systems was investigated with unknown nonlinear terms using neural network. The finite law and adaptive law were constructed using radial basis function neural network (RBFNN) to approximate the unknown packaged function. Stability analysis of RBFNN was observed to evaluate the states of the closed loop systems [21]. An adaptive fuzzy output tracking control approach was proposed in [22] for single input single output (SISO) system which is uncertain and nonlinear under arbitrary switching. An iterative learning control scheme was proposed for a class of nonlinear dynamic systems which includes holonomic systems as its subsets with linear feedback mechanism and feedforward learning strategies [23].

In this proposed work we have used instar-outstar structure based CPN with Fuzzy Competitive Learning (FCL). We have designed Fuzzy Counter Propagation Network design to control some nonlinear dynamical systems. In the FCPN, CPN model is trained by FCL algorithms. The FCL learning is used for adjusting weights and update of Best Matched Node (BMN) in discrete time nonlinear dynamical system.

The main contributions of this research are as follows:(1)This paper contributes the approximation for a class of nonlinear dynamical systems using Fuzzy Competitive Learning Based Counter Propagation Network (FCPN).(2)FCPN is employed to optimize the Mean Absolute Error, Mean Square Error, Best Fit Rate, and so forth.(3)Performance criteria of proposed FCPN for nonlinear dynamical systems are effectively improved by compensating reference signal and controller signal.The paper is organized as follows. In Section 2, problem formulations for a class of nonlinear dynamical systems are given. Section 3 contains description of Feedforward Neural Network (FNN) with Back Propagation Network, Dynamic Network, and Fuzzy Learning Based Counter Propagation Network. Dynamical learning for CPN and optimal learning of dynamical system are presented in Section 4. The simulation results and comparison of different nonlinear dynamical models are presented in Section 5. Section 6 gives conclusion of the study.

#### 2. Problem Formulation

Let us consider four models of discrete time nonlinear dynamical systems [24] for single input single output (SISO) and multiple input and single output (MISO) system considered in this paper and they are described by difference equations (1)–(4) and Box-Jenkins time series data [10]. Let and be the nonlinear continuous differentiable function of Model I–Model IV approximated by FCPN to the desired degree of accuracy. Once the system has been parameterized, the performance evaluation has been carried out by FCPN for (1) to (4).

Model I:

Model II:

Model III:

Model IV:where [] represent the input-output pair of the system at time and their order is represented by . FCL is used to learn the system defined for (1) to (4) and the performance of the FCPN can be measured by error function given in where is the input, is the system output, is neural network output, and (5) can be written for neural controller aswhere is neural controller output and (6) is known as minimized error function and is total number of input patterns.

#### 3. Back Propagation Network (BPN)

A neural network is one of the most popular intelligent systems which has capability to approximate calculated and target value at an arbitrary degree of accuracy. BPN is one of the most commonly used networks for this purpose. The BPN consists of input layer, hidden layer, and output layer and possesses weighted interconnections. The BPN is based on supervised learning. This method is used where error is propagated back to the hidden layer. The aim of this neural network is to train the net to achieve a balance between the net’s ability to respond (memorization) and its ability to give reasonable response to the input that is similar but not identical to the one that is used in training (generalization). For a given set of training input-output pairs, this network provides a procedure for changing weights to classify the given input patterns correctly. The weight update algorithm is based on gradient descent method [25]. The network architecture is shown in Figure 1.

##### 3.1. Dynamic Network

Neural network can be classified into two categories: (i) Static and (ii) Dynamic. In Static Neural Network, output can be calculated directly from input through feedforward network. But in Dynamic Network output depends on current or previous inputs, outputs, or states of network. Where the current output is function of current input and previous output, it is known as recurrent (feedback) network. Training process of Static and Dynamic Network can be differentiated by use of gradient or Jacobian which is computed. Dynamic Network contains delays and operates on a sequence of inputs. Dynamic Networks can have purely feedforward connections or they can have some recurrent connections. They can be trained using Dynamic Back Propagation Network [26].

The general equation of the net input for th layer is given by where is the th input vector at time , is the input weight between th and th layer, is the layer weight between th and th layer, and is the bias vector for layer . is the set of all delays in the Tapped Delay Line (TDL) between th and th layer and is the set of all delays in the TDL between input and th layer, is the set of indices of input vectors that connect to layer , and is the set of indices of layers that connect to layer . The output of th layer at time is computed asNetwork has a TDL on the input with and its output is represented asOne simple architecture with delay for feedforward Dynamic Network is shown in Figure 2 known as Dynamic Adaptive Linear Neuron.

##### 3.2. Counter Propagation Network (CPN)

It is multilayer feedforward network based on the combination of the input, competitive, and output layers. Model of CPN is instar-outstar. It is three-layer neural network that performs input-output data mapping, that is, producing output in the response to an input vector on the basis of Fuzzy Competitive Learning. In CPN the connection between input layer and competitive layer is instar structure and connection between competitive and output layer is outstar structure. Counter Propagation Network involves two-stage training process. In first stage input vector is clustered on the basis of Euclidean distance and the performance of network is improved using linear topology. Using Euclidean distance between input and weight vector, we evaluated BMN. In phase II, the desired response is obtained by adapting the weights from competitive layer to output layer [27]. Let and be input and desired vector, respectively, let be weight of input layer and competitive layer, where and , and let be the weight between competitive layer and output layer, where . Euclidean distance between input vector and weight vector isThe architecture of CPN is shown in Figure 3.

##### 3.3. Fuzzy Competitive Learning (FCL)

FCL is used for adjusting instar-outstar weights and update of BMN for discrete time nonlinear dynamical systems. Learning of CPN is divided into two phases: Fuzzy Competitive Learning phase (unsupervised) and Grossberg Learning phase (supervised) [28–31]. CPN is efficient network for mapping the input vector of size placed in clusters of size . Like traditional self-organizing map, the weight vector for every node is considered as a sample vector to the input pattern. The process is to determine which weight vector (say ) is more similar to the input pattern chosen as BMN. First phase is based on closeness between weight vector and input vector and second phase is weight update between competitive and output layer for desired response.

Let be weight of input node to neuron and let be the weight between competitive node and neuron . We propose a new learning rate calculation method for use of weight update: where denotes the index of BMN and is known as Fuzzy Competitive Learning rate.

Fuzzy Competitive Learning phase is described as follows.

###### 3.3.1. Training Algorithm of FCL

*Phase I (for determination of BMN)*. There are steps for training of CPN as follows.

*Step 1. *Initialize instar-outstar weights.

*Step 2. *Perform Steps 3–8 until stopping criteria for Phase I training fail. The stopping condition may be fixed number of epochs or learning rate has reduced to negligible value.

*Step 3. *Perform Steps 4–6 for all input training vector .

*Step 4. *Set the -input layer activation to vector .

*Step 5. *Compute the Best Matched Node (BMN) () using Euclidean distance; find the node whose distance from the input pattern is minimum. Euclidean distance is calculated as follows:Minimum net input:

*Step 6. *Calculate Fuzzy Competitive Learning (14) rate for weight update using BMN.

*Step 7. *We update weight for unit : where and is neighborhood function around BMN. Consider

*Step 8. *Test the stopping criteria.

*Phase II (to obtain desired response)*

*Step 1. *Set activation function to input and output layer, respectively.

*Step 2. *Update the BMN () (Step 5 from Phase I). Also update the weights into unit as

*Step 3. *Update the weights from node to the output unit as

*Step 4. *Learning rate is calculated as

*Step 5. *Decrease the rate of learning , where is small positive number.

*Step 6. *Test the stopping condition for Phase II (i.e., fixed number of epochs or its learning rate has reduced to negligible value).

###### 3.3.2. Testing Phase (to Test FCPN)

*Step 1. *Set the initial weights, that is, the weights obtained during training.

*Step 2. *Apply FCPN to the input vector .

*Step 3. *Find unit that is closest to vector .

*Step 4. *Set activations of output units.

*Step 5. *Apply activation function at , where .

#### 4. Dynamical Learning for CPN

Learning stabilities are fundamental issues for CPN; however there are few studies on the learning issue of FNN. BPN for learning is not always successful because of its sensitivity to learning parameters. Optimal learning rate always changes during the training process. Dynamical learning of CPN is carried out using Lemmas 1, 2, and 3.

*Assumption*. Let us assume is a sigmoid function if it is bounded continuous and increasing function. Since input to the neural network in this model is bounded, we consider Lemmas 1 and 2 given below.

Lemma 1. *Let be a sigmoid function and let be a compact set in , and on is a continuous function and, for arbitrary , integer and real constants , , and , , , such that **satisfies**Using Lemma 1, dynamical learning for a three-layer CPN can be formulated where the hidden layer transfer functions are and transfer function at output layer is linear.*

Let all the vectors be column vectors and superscript refers to specific output vectors component.

Let , , , be the input, hidden, output, and desired vector, respectively, where , , and denote the number of input, hidden, and output layer neurons. Let and represent the input-hidden and hidden-output layer weight matrix, respectively. The objectives of the network training minimize error function , where is

##### 4.1. Optimal Learning of Dynamical System

Consider a three-layer CPN; the network error matrix is defined by the error between differences of desired and FCPN output at any iteration and given asThe objective of the network for minimization of error given in (24) is defined as follows:where represent the trace of matrix. Using gradient descent method updated weight is given byorUsing (23)–(26), we haveTo obtain minimum error for multi-layer FNN in above equation (28) after simplification, we haveFor simplification, omit subscript , we have; that is, wherewhere where , , and .

Lemma 2. *For solution of general real cubic equation, one uses the following lemma:**where is discriminant of .**Then we have the following:*(1)*If , has one real root.*(2)*If , has three real roots:(a) ; has three different real roots,(b), ; has one single root and one multiple root,(c), ; has one root of three multiplicities.*

Lemma 3. *For given polynomial given (31) if optimum , where is real root of, the optimum () is the optimal learning rate and this learning process is stable.*

*Proof. *To find stable learning range of , consider that Lyapunov function isand then dynamical system is guaranteed to be stable if ; that is, (29), where is learning rate, since in the training process input matrix remains the same during the whole training process. To find the range of , which satisfy . Since , where has at least one real root (Lemma 2) and one of them must give optimum . Obviously minimum value of gives the largest reduction in at each step of learning process. Equation (31) shows that has two or four real roots, one including (Lemma 2), such that minimum value of shows largest reduction in error at two successive times and minimum value is obtained by differentiating (31) with respect to we have from (32): where , , and .

Solving gives which minimizes error in (5).

#### 5. Simulation Results

To demonstrate the effectiveness and merit of proposed FCPN, simulation results are presented and discussed. Four different nonlinear dynamical systems and one general benchmark problem known as Box-Jenkins model with time series data are considered.

##### 5.1. Performance Criteria

For accessing the performance criteria of FCPN and comparing with Dynamic and Back Propagation Network, we have evaluated various errors as given below. In case of four dynamical models, it is recommended to access criterion such as subset of the following.

Given pair of data points , where is output of system and is output of controller, the Maximum Absolute Error (MAE) isthe Sum of Squared Errors (SSE) isthe Mean Squared Error (MSE) isand/or the Root Mean Squared Error (RMSE) isThe measure Variance Accounting Factor (VAF) isA related measure is the Normalized Mean Squared Error (NMSE):and the Best Fit Rate (BFR) is

*Example 1. *The nonlinear dynamical system [24] is governed by the following difference equation:The nonlinear function in the system in this case is , where and are uniformly distributed in . The objective of Example 1 is to control the system to track reference output given as 250 sample data points. The model has two inputs and and single output and the system identification was initially performed with the system input being uniformly distributed over . The FCPN controller uses two inputs and to produce output . FCPN model governed by the difference equation was used. Figures 4(a) and 4(b) show the error and outputs of the dynamical system and the FCPN. As can be seen from the figure, the identification error is small even when the input is changed to a sum of two sinusoids at .

**(a)**

**(b)**

Table 1 includes various calculated errors of different NN models for Example 1. It can be seen from the table that various errors calculated for FCPN are minimum as compared to the DN and BPN.

*Example 2. *The nonlinear dynamical system [24] is governed by the following difference equation:whereThe objective of (44) is to control the system to track reference output given 100 sample data points. The model has two inputs and and single output and the system identification was initially performed with the system input being uniformly distributed over . Training and testing samples contain 100 sample data points. The FCPN controller uses two inputs and to output . FCPN network discussed earlier is used to identify the system from input-output data and is described by the equationFor FCPN, the identification process involves the adjustment of the weights of using FCL. FCPN identifier needs some prior information concerning the input-output behavior of the system before identification can be undertaken. FCL is used to adjust the weights of the neural network so that the error is minimized as shown in Figure 5(a). The behavior of the FCPN model for (16) is shown in Figure 5(b). The input was assumed to be a random signal uniformly distributed in the interval . The weights in the neural network were adjusted.

**(a)**

**(b)**

Table 2 includes various calculated errors of different NN models for Example 2. It can be seen from the table that various errors calculated for FCPN are minimum as compared to the DN and BPN.

*Example 3. *The nonlinear dynamical system [23] is governed by the following difference equation: which corresponds to and . FCPN network equation (47) is used to identify the system from input-output data. Weights in the neural networks were adjusted for every instant of discrete time steps.

The objective of (47) is to control the system to track reference output given 100 sample data points. The model has two inputs and and single output and the system identification was initially performed with the system input being uniformly distributed over . Training and testing samples contain 250 sample data points. The FCPN controller uses two inputs and to output . The input data is generated using uniform distribution in interval . The function obtained by FCPN is used to adjust the weights of the neural network so that the error is minimized as shown in Figure 6(a). In Figure 6(b), the desired outputs of the system as well as the FCPN model are shown and are seen to be indistinguishable.

**(a)**

**(b)**

Table 3 includes various calculated errors of different NN models for Example 3. It can be seen from the table that various errors calculated for FCPN are minimum as compared to the DN and BPN.

*Example 4. *The nonlinear dynamical system [24] is governed by the difference equation (48). Generalized form of this equation is Model IV. In this example, the system is assumed to be of the formwhere the unknown function has the formIn the identification model, which is approximated by FCPN, Figure 7(b) shows the output of the system and the model when the identification procedure carried random input signal uniformly distributed in the interval . The performance of the model is studied and the error is minimized as shown in Figure 7(a). In Figure 7(b), the outputs of the system as well as output of FCPN model are shown. Input to the system and the identified model is given by for and for .

**(a)**

**(b)**

Table 4 includes various calculated errors of different NN models for Example 4. It can be seen from the table that various errors calculated for FCPN are minimum as compared to the DN and BPN.

*Example 5. *In this example we have used Box-Jenkins time series [32], of 296 pairs of data measured from a gas furnace system with single input being gas flow rate and single output being CO_{2} concentration in outlet gas. Training samples and testing samples contained 196 and 100 data points, respectively. The FCPN uses the two inputs, the current state and the desired state , to produce an output which is [33].

Figure 8(a) shows the mean squared control errors of FCPN methods. Figure 8(b) shows the performance of the controller with FCPN algorithm. Result shows that FCPN algorithm enable us to appropriate the approximation using fuzzy learning as given in equation (11) of Box Jenkins time series data, based on calculation of BMN.

**(a)**

**(b)**

Table 5 shows BFR (%) various NN models for all Examples 1–5, respectively. It can be observed from Table 5 that the Best Fit Rate found for FCPN is maximum as compared to DN and BPN which shows better performance of the FCPN network for nonlinear system.

#### 6. Conclusions

FCPN is a neural network control method which was developed and presented. It is based on the concept of combining FCL algorithm and CPN. The key ideas explored are the use of the FCL algorithm for training the weights of the instar-outstar. The performances of the FCPN controller based training are tested using four nonlinear dynamical systems and on time series (Box-Jenkins) data and compared with the Dynamic Network and standard Back Propagation algorithm. The comparative performances of the FCPN algorithm and Dynamic Network, such as the number of iterations and performance functions like MAE, MSE, SSE, NMSE, BFR, and so forth, of FCPN and Dynamic Network error are summarized in Tables 1–4. It can be seen that the FCPN algorithm gives minimum errors as compared to the Dynamic Network and standard Back Propagation Network for all four models of nonlinear dynamical systems and Box-Jenkins time series data. Results obtained from FCPN were compared for various errors and it is clearly shown that FCPN works much better for the control of nonlinear dynamical systems.

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

#### Acknowledgment

The authors gratefully acknowledged the financial assistance provided by the All India Council of Technical Education (AICTE) in the form of Research Promotion Scheme (RPS) project in 2012.