## Advanced Stochastic Control Systems with Engineering Applications

View this Special IssueResearch Article | Open Access

# Dynamic Neural Network Identification and Decoupling Control Approach for MIMO Time-Varying Nonlinear Systems

**Academic Editor:**Xiaojie Su

#### Abstract

Overcoming the coupling among variables is greatly necessary to obtain accurate, rapid and independent control of the real nonlinear systems. In this paper, the main methodology, on which the method is based, is dynamic neural networks (DNN) and adaptive control with the Lyapunov methodology for the time-varying, coupling, uncertain, and nonlinear system. Under the framework, the DNN is developed to accommodate the identification, and the weights of DNN are iteratively and adaptively updated through the identification errors. Based on the neural network identifier, the adaptive controller of complex system is designed in the latter. To guarantee the precision and generality of decoupling tracking performance, Lyapunov stability theory is applied to prove the error between the reference inputs and the outputs of unknown nonlinear system which is uniformly ultimately bounded (UUB). The simulation results verify that the proposed identification and control strategy can achieve favorable control performance.

#### 1. Introduction

Coupling is a widespread phenomenon existing in nonlinear systems. Due to the existence of the coupling, the variables among systems often suffer impact from each other’s fluctuations. Besides, time-varying and time delay is frequently encountered in many real control systems, and these may be the root of instability in the performance of closed-loop system. If the problems which have attracted many researchers cannot be solved effectively, they would not only delay achieving the steady states, but also realize the goal of independent control at all. Thereby, in order to achieve accurate, rapid, and independent control, it is essential to decouple among these variables and take the related methods. However, how to select the proper methodology according to the characteristics of control object is a thorny question.

In the open pieces of literature, the traditional decoupling ways to a multi-input multioutput (MIMO) system are primarily represented by frequency domain methods such as state variable method, diagonal dominance matrix, characteristic curve method, inverse Nyquist array, and relative gain analysis method [1]. These methods, which are based on rigorous transfer functions or state spaces, play a significant role in decoupling the linear time-invariant systems. Nevertheless, these methods are hard to accomplish dynamic decoupling for uncertain, nonlinear, and time-variant MIMO systems because precise system models are difficult to develop for these systems. Hence, the above traditional decoupling methods are limited to a certain extent.

With the development of decoupling control, many other decoupling approaches, such as adaptive decoupling [2, 3], energy decoupling [4, 5], disturbance decoupling [6, 7], robust decoupling [8, 9], prediction decoupling, intelligent decoupling methods mainly represented by fuzzy decoupling [10], and neural network (NN) decoupling [11], have been proposed and applied in many real control practices. Adaptive decoupling has merits in decoupling a system with uncertain factors and can solve the system’s uncertainty to some extent. However, the algorithm of adaptive controller has a large amount of calculation and is much time consumed [12] so that it is hard to be implemented in the processing of real-time control. Energy decoupling can be applied in linear uncertain systems, but, up to now, the method is also confined to the research stage [13]. Disturbance decoupling [14, 15] tries to perfectly eliminate the external influences on system outputs, but the feasibility of this method has closer relationship with the development of nonlinear system differential geometry theory which is too strict and complex, so some researchers think this approach is very trouble to be widely used in the real control processes. Robust decoupling attempts to design a compensator with both good dynamic performance and strong robustness, but it is tough to deal well with the inner contradiction between the dynamic performance and the optimal decoupling controller parameters of robustness. Intelligent decoupling methods have obvious advantages in decoupling nonlinear systems and have received a lot of interest in decoupling control fields. The representative of intelligent decoupling methods, NN decoupling, has self-learning, adaptive, and fault tolerance abilities and is an universal approximator which has the capability of approximating any nonlinear function to any desired degree of accuracy, making it a useful tool for decoupling control in MIMO nonlinear systems. But NN decoupling commonly requires to be combined with other related algorithms to realize decoupling control [11, 16]. Fuzzy decoupling accomplishes the system decoupling by defuzzification based on the fuzzy rules which are often summarized by practical experiences. For the simple systems, it can be achieved easily, but for more complex MIMO nonlinear systems the accurate multidimensional fuzzy rules are very difficult, even impossible, to be established [17].

In practice, allowing for a complicated MIMO nonlinear system with uncertainty and strong coupling, the common PID controller with fixed parameters can hardly achieve the desired steady sate at all. At the same time, the physical system is often difficult to obtain accurate and faithful mathematical model so that the conventional control schemes based on precise mathematical model can hardly achieve good performance in the real control process. Motivated by the seminal paper [18], there is a continuously increasing interest in applying neural network to identification and control of nonlinear system. In structure, neural networks can be classified as dynamic and feedforward ones. However, most of practical applications use the feedforward structures [19, 20], which are suitable for the approximation of complex static functions. Nevertheless, the major shortcomings of such structure of neural networks in describing dynamic functions are that the weight updating does not utilize the information on the local date structure and the function approximation is sensitive to the purity of training data. On the other hand, the dynamic neural networks [21–24] incorporate feedback not merely having concise structure but more importantly having adaptive mechanism incorporated to fine tune the approximation accuracy and convergent speed. So dynamic neural network (DNN) is being developed, which is superior to the static neural network such as radial basis function (RBF) and backpropagation (BP) neural network on the dynamic characteristic [25, 26] recent years, and it is now widely applied in the fields of system identification and MIMO nonlinear control.

In this paper, we focus on developing an indirect adaptive NN controller for complex nonlinear systems including strong coupling, unknown or uncertain models, and disturbances simultaneously. The proposed method is the combination of NN-based identifier and adaptive controller, and the controller is designed based on the identified NN model. The main merits of this paper can be summarized as follows.(1)A novel and generalized decoupling control strategy based on indirect adaptive control is presented for nonlinear systems. Firstly, we construct a dynamic neural network (DNN) identifier without coupling to replace the real coupled systems. Then, we design the adaptive controller to deal with the nonlinear systems based on DNN identifier models.(2)According to the Lyapunov methodology, the online weights updating laws of DNN are developed to accommodate the identification and to guarantee that the error between the DNN identifier and the real unknown systems is UUB.(3)According to the Lyapunov methodology, the adaptive control laws are designed to deal with modeling uncertainties, system nonlinearities, and external disturbances and to guarantee stable tracking performance of the real outputs related to the reference inputs.

This paper is structured in the following way. In Section 2, the problem formulation and preliminaries are presented, in which a general nonlinear dynamic system model and its neural network approximator are presented to establish a basis for designing and analyzing the system identification and control. In Section 3, a DNN-based identification algorithm is developed to approximate the nonlinear system. Section 4 proposed the adaptive decoupling control algorithm based on the DNN identifier. In Section 5, the whole procedure for the identification and control is described to provide a step by step guide for potential users. The simulation results demonstrate the effectiveness and generality of the proposed algorithm in Section 6. Finally, in Section 7 the conclusion is summarized.

#### 2. Problem Formulation and Preliminaries

The equation of MIMO continuous-time-varying nonlinear coupling system can be generally described as where is the state vector of nonlinear system, is the bounded control input vector, is the output vector, and is an unknown continuous nonlinear smooth function.

In this study, the following assumptions are imposed.

*Assumption 1.* The whole system can be decomposed as coupling subsystems. The architecture of the multi-input multioutput nonlinear system is shown in Figure 1.

*Assumption 2.* All the states of system are bounded and measurable at every instant. The desired output trajectory and its first derivative are bounded.

In order to analyze the dynamic characteristic of nonlinear system more conveniently, we use the state-space equation to describe system (1) as follows:

By qualitatively analyzing the above model (2), it can be seen that the system is a coupling, time-varying, and uncertain nonlinear system. It is difficult, even impossible, to establish the accurate mathematical model and achieve prefect performance by using traditional decoupling control methods. In this paper, the dynamic neural network will be employed to approximate the continuous nonlinear function , so that

To identify the coupling, uncertain, and nonlinear dynamic system (2), we use dynamic neural network as the identifier and construct the identification structure as shown in Figure 2.

We consider a single-layer, fully interconnected DNN as follows [25, 27]: where is the state variables of DNN, , , is the unknown matrix for the linear part of NN model, is the matrix of synaptic weights for nonlinear system feedback, is the vector of network feedback,represents the neuron activation function, and is the control force vector of adaptive controller, which will be designed subsequently. In this work, the architecture of DNN-based identifier is shown in Figure 3.

*Remark 1. *The real system is a coupling, time-varying, and uncertain nonlinear system. Since neural network is a universal approximator which is capable of approximating any nonlinear function to any desired degree of accuracy, we can use DNN model without coupling to replace the real coupled system. This idea motivates a novel and generalized decoupling control strategy based on indirect adaptive control as described in what follows. Using this basic idea, the specific design for DNN-based identifier can be developed in the next section.

#### 3. System Identification Based on Neural Networks

The nonlinear system (2) can be approximated by the following continuous dynamic neural networks: where and are ideal nominal constant matrices and the state and output variables are physically bounded.

In the process of approximating the time-varying, coupling, nonlinear system, DNN model (4) can be rewritten as follows: where the activation function is specified as a monotonically increased function and bounded with for any and , , such as .

The identification errors are defined as

From (5) and (6), we can obtain the error dynamics equation as follows: where , and .

*Remark 2. *In model (6), we use a DNN model without coupling to approximate the real coupled system (2). If we could develop effective weights updating laws of DNN model (6) to make the error (8) become zero or uniformly ultimately bounded, it is indicated that the DNN-based identifier without coupling has the ability of approximating the coupled, nonlinear systems, namely, instead of the real systems. Using this idea, the objective of decoupling among the subsystems would be realized.

Lemma 3. *If is a positive define symmetric matrix and is a vector arbitrarily, then there exist positive constants and such that
**
where denotes the minimum and maximum eigenvalues of , respectively.*

Lemma 4. *If , , and are any real matrix, there is the following property:
*

Theorem 5. *Considering the identification model (6), the identification error (8) will be uniformly ultimately bounded (UUB) if the weights updating laws are as follows:
**
where is a free positive define symmetric constant matrix picked arbitrarily which is related to the approximation precision and is a design parameter introduced to ensure the boundedness of(the termorin (12) is to make suitable corrections to prevent parameter drift).*

*Proof. *Consider a Lyapunov function candidate as

The time derivative of is given by

Now applying the error dynamics equation (9) leads to

According to the properties (7) of the active function,

In the view of Lemma 4, (16) can be rewritten as

Then, substituting (17) into (15) yields the following:

Namely,
where is a positive real number which is picked arbitrarily.

As contain the ideal weight matrices, we will cancel them in the following step:

The time derivative of is given by

Using the updating laws (12) and Lemma 4 yields

At the same time, it is clear that

Substituting (23) into (22), we can obtain that

In the view of Lemma 3, we can obtain the following property:

Using the characteristics of the positive define matrices (25), (24) can be rewritten as
where ,

We choose the following Lyapunov function , and its time derivative is
where

Maketo specify as follows:

Therefore we arrive at
and it can be concluded that

We assume that; then

As, then

According to the Boundedness Theorem [5], we can get the error using dynamic neural network to approximate the nonlinear system which is uniformly ultimately bounded (UUB) and converges to a set containing origin with a rate at least as fast as .

#### 4. Adaptive Decoupling Control Based on System Identification

In this section, the aim of controller design is to drive outputs of system properly following a prespecified trajectory. In addition, model errors of DNN-based identifier and external disturbances should be considered. The architecture of indirect adaptive control for the time-varying, coupling, and nonlinear system is shown in Figure 4, which combines the dynamic neural network and the adaptive controller.

In Figure 4, represents the real outputs, and is the identification outputs of dynamic neural network. According to the errors , the identification model of dynamic neural network is used to approximate the unknown nonlinear system. is the reference inputs, is the errors between the given value and real output in every instant, and is the manipulated variables.

In Section 3, we know that the nonlinear system can be modeled by DNN-based identifier with the weights updating laws (12). In this section, we should consider model errors and external disturbances. If the nonlinear system can be represented as follows: whereis the lump model errors and external disturbances, which is assumed to be bounded and, is an unknown constant.

The desired reference inputs are defined as follows:

The states errors are defined as follows:

So we can obtain the errors dynamics equation as follows:

Then, we design the control action as follows: where is a compensation action for the nonlinearity and is dedicated to deal with the model errors and external disturbances.

*Remark 6. *If model errors and external disturbances are zero or negligible, can be chosen to be zero and will drive the error dynamics to converge to the origin. From the control point of view, the system stability will not be affected. However, even if the DNN-based identifier has superb learning ability to represent the dynamic process of nonlinear system, model errors and environment disturbances are sometimes inevitable or even may affect the system stability. So the following controller design will consider this factor and will be suitable for general situations.

Theorem 7. *The states errors (37) between reference model and real output will asymptotically converge to zero, if the adaptive control laws are as follows:
*

*Proof. *Substituting (40) into (38), we can obtain the equation as follows:

Consider the Lyapunov function candidate of controller design as follows:

We can obtain the time derivative of the Lyapunov function candidate (42) as follows:

Then, substituting (41) into (43),
where .

Thus, we have , implying that . From (38), it is readily shown that ; namely,is uniformly continuous. According to, we can obtain. By Barbalat’s lemma, it can be concluded thatandas.

The online computational algorithm for the system identification and controller design will be described in next section.

*Remark 8. *If considering the identification and control as a whole process, we can prove the system stability by defining the final Lyapunov function candidate as. Since the stability of system identification and adaptive control has already been proven in Theorems 5 and 7, respectively, we can make a conclusion that the errors between the real system states and the desired reference inputs are uniformly ultimately bounded (UUB).

#### 5. Algorithm for Implement

In this section, a step by step procedure is listed to implement the identification and control strategy.

*Step 1. *Assign the initial values of gain matrices and in weight updating laws, and the initial values of the estimated parameters.

*Step 2. *Based on the initial states and system inputs , calculate the states of neural network according to (6).

*Step 3. *Calculate the new parameter values ofby weight updating laws (12) and then calculate the state variables once again.

*Step 4. *Choose the suitable control gain and calculate the values of and according to Theorem 7.

*Step 5. *Go to Step 2.

This is the algorithm of online identification and control scheme for the MIMO system with time varying, coupling, and nonlinearity.

#### 6. Simulation Example

In this section, in order to verify the effectiveness of indirect adaptive controller based on DNN, we choose a coupled two-input two-output, time-varying, nonlinear system as the simulation model where and are state variables and and are control inputs. As a coupled system, and can impact every subsystem, respectively.

##### 6.1. Nonlinear System Identification

It is assumed that the structure of two-input two-output system is a black box system. In this experiment, this test was to validate the feasibility of the proposed DNN-based identifier to approximate the unknown, coupled, and nonlinear system.

In this study,. The DNN model was selected as follows: which was structured with single layer, 2 neurons and the activation functions were selected as hyperbolic tangent; namely, . Assigned the initialsandas null matrices,,, and. Then run the online identification procedure and the whole process was run for 50s. The identification results are shown in Figures 5 and 6.

The real system (45) is a coupled nonlinear system, and the DNN model (46) is constructed without coupling. We use the DNN (46) to approximate the real system (45) on the basis of the weights updating laws (12) which is derived by the Lyapunov method. In Figures 5 and 6, and are the state variables of the real system, and are the state variables of the DNN model, and and stand for the errors of state variables between the real system and the DNN model. We can explicitly see that the errors are small enough and the effectiveness of the DNN model according to the relevant algorithm although the DNN model has no coupling features.

##### 6.2. Nonlinear System Control

Although the DNN has the ability to approximate any nonlinear systems, however, the DNN model errors and environment disturbances are inevitable in the real systems. In the control point of view, we should consider these factors which include neural network model errors and uncertain disturbance forces acting on the real nonlinear systems.

The control objective is to make the real outputs of the unknown, coupled, and MIMO nonlinear systems tracking the perspecified inputs; namely, the system statesto follow the prespecified inputs. So a comprehensive control scheme was shown in Section 4, and the controller designed could deal with the compensation of the nonlinearity, the uncertain model errors, and environment disturbances.

In the view of this paper, the real systems can be formulated as whererepresents the lump model errors and disturbances.

In this study, first we simply define, and the reference model inputs are defined as

In fact, the desired inputs and are the piecewise functions of ramp signal, cosine signal, and step signal.

By using the DNN-based identifier to approximate the real systems, the adaptive controller is designed as follows:

Assigned the initialsandas null matrices,,,, and. Then run the proposed controller design procedure and the whole process was run for 30 s. The response curves of trajectory tracking are shown in Figures 7 and 8.

In Figures 7 and 8, and are the state variables identified by DNN model, and are the reference input signals, and and stand for the errors of trajectory tracking. We can see no matter how the reference input signals change; and are bounded as time goes by when considering the model errors and environment disturbances. At the same time, there is no large magnitude of overshoot in the response curves. It is concluded that the proposed adaptive controller is able to achieve excellent dynamic performance and high antidisturbance capability in trajectory tracking, which agrees with our theoretic prediction.

For the purpose of verifying the generality and effectiveness of the proposed method for more complex nonlinear signal, we choose another reference input signal as follows:

The lump model errors and disturbancesare defined as the square signals

And the other conditions are the same with the above. The response curves of trajectory tracking are shown in Figures 9 and 10.

From Figures 9 and 10, there is explicitly fluctuation in the first 20 s, but the errors are always bounded and become smaller and smaller as time goes on. And the simulation results once again demonstrate the effectiveness of the proposed control scheme, and it can be observed with the excellent performance of the system states following the prespecified inputs.

#### 7. Conclusion

In this paper, we present the DNN identification and adaptive control strategy for the real systems which is of nonlinearity, coupling, and uncertain environment disturbances. According to the Lyapunov methodology, the weights updating laws of DNN-based identifier and the control laws of indirect adaptive controller have been derived to ensure the stability of decoupling control and to achieve favorable tracking performance for the real system. The simulation results have indicated that the success of decoupling and the proper dynamic response of the plant states to follow the desired input trajectories.

#### Conflict of Interests

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

#### Acknowledgments

This work was supported by the Fundamental Research Funds for the Central Universities (no. CDJZR10170007) and the National Key Basic Research and Development Program of China (973 Program) (no. 2012CB215202).

#### References

- X. Z. Wang, “A Summary of multivariable decoupling methods,”
*Journal of Shenyang Architectural and Civil Engineering*, vol. 16, no. 2, pp. 143–145, 2000. View at: Google Scholar - T. Y. Chai, S. J. Lang, and X. Y. Gu, “A generalized self-tuning feed forward controller and multivariable application,” in
*Processings of 24th IEEE Conference on Decision and Control*, pp. 862–867, 1985. View at: Google Scholar - B. Wittenmark, R. H. Middleton, and G. C. Goodwin, “Adaptive decoupling of multivariable systems,”
*International Journal of Control*, vol. 46, no. 6, pp. 1993–2009, 1987. View at: Publisher Site | Google Scholar | Zentralblatt MATH | MathSciNet - W. J. Mao and J. Chu, “Input-output energy decoupling of linear time-invariant systems,”
*Control Theory & Applications*, vol. 19, no. 1, pp. 146–148, 2002. View at: Google Scholar | Zentralblatt MATH | MathSciNet - X. Z. Dong and Q. L. Zhang, “Input-output energy decoupling of linear singular systems,”
*Journal of Northeastern University*, vol. 25, no. 6, pp. 523–526, 2004. View at: Google Scholar | Zentralblatt MATH | MathSciNet - Z. Gao, “Active disturbance rejection control: a paradigm shift in feedback control system design,” in
*Proceedings of the American Control Conference*, pp. 2399–2405, June 2006. View at: Google Scholar - Q. Zheng, Z. Chen, and Z. Gao, “A practical approach to disturbance decoupling control,”
*Control Engineering Practice*, vol. 17, no. 9, pp. 1016–1025, 2009. View at: Publisher Site | Google Scholar - T. E. Djaferis,
*Robust Decoupling for Systems With Parameters Modeling, Identification and Robust Control*, B V North-Holland, Elsevier Science, 1986. - G. Z. Pang and Z. Y. Chen, “The relation between robust stability and robust diagonal dominance,”
*Acta Atuomatic Sinica*, vol. 18, no. 3, pp. 273–281, 1992. View at: Google Scholar - T. H. Lee, J. H. Nie, and M. W. Lee, “A fuzzy controller with decoupling for multivariable nonlinear servo-mechanisms, with application to real-time control of a passive line-of-sight stabilization system,”
*Mechatronics*, vol. 7, no. 1, pp. 83–104, 1997. View at: Google Scholar - H. Li, “Design of multivariable fuzzy-neural network decoupling controller,”
*Kongzhi yu Juece/Control and Decision*, vol. 21, no. 5, pp. 593–596, 2006. View at: Google Scholar - J. Maldacena, “The large-$N$ limit of superconformal field theories and supergravity,”
*International Journal of Theoretical Physics*, vol. 38, no. 4, pp. 1113–1133, 1999, Quantum gravity in the southern cone (Bariloche, 1998). View at: Publisher Site | Google Scholar | MathSciNet - Y. B. Dai, W. D. Yang, and S. F. Wang, “A summary of multivariable predictive decoupling control methods,”
*Electrical Automation*, vol. 30, no. 6, pp. 1–3, 2008. View at: Google Scholar - R. Pothin, “Disturbance decoupling for a class of nonlinear MIMO systems by static measurement feedback,”
*Systems & Control Letters*, vol. 43, no. 2, pp. 111–116, 2001. View at: Publisher Site | Google Scholar | Zentralblatt MATH | MathSciNet - Q. X. Gong,
*Research on disturbance decoupling and attenuation control for nonlinear systems, [Doctor dissertation of Northeastern University]*, 2008. - L. M. Wu and T. Y. Chai, “A neural network decoupling strategy for a class of nonlinear discrete time systems,”
*Acta Atuomatic Sinica*, vol. 23, no. 2, pp. 207–212, 1997. View at: Google Scholar - X. Su, P. Shi, L. Wu, and Y. D. Song, “Novel control design on discrete-time Takagi-Sugeno fuzzy systems with time-varying delays,”
*IEEE Transactions on Fuzzy Systems*, vol. 20, no. 6, pp. 655–671, 2013. View at: Google Scholar - K. S. Narendra and K. Parthasarathy, “identification and control of dynamical systems using neural networks,”
*IEEE Transactions on Neural Networks*, vol. 1, no. 1, pp. 4–27, 1990. View at: Publisher Site | Google Scholar - M. M. Gupta and D. H. Rao,
*Neuro-Control Systems: Theory and Applications*, IEEE Press, Piscataway, NJ, USA, 1994. - K. Hunt, G. Irwin, and K. Warwick,
*Neural Networks Engineering in Dynamic Control Systems: Advances in Industrial Control*, Springer, New York, NY, USA, 1995. - Y. Kourd, D. Lefebvre, and N. Guersi, “Fault diagnosis based on neural networks and decision trees: application to DAMADICS,”
*International Journal of Innovative Computing, Information and Control*, vol. 9, no. 8, pp. 3185–3196, 2013. View at: Google Scholar - P. L. Liu, “Delay-dependent robust stability analysis for recurrent neural networks with time-varying delay,”
*International Journal of Innovative Computing, Information and Control*, vol. 9, no. 8, pp. 3341–3355, 2013. View at: Google Scholar - S. Sefriti, J. Boumhidi, M. Benyakhlef, and I. Boumhidi, “Adaptive decentralized sliding mode neural network control of a class of nonlinear interconnected systems,”
*International Journal of Innovative Computing, Information and Control*, vol. 9, no. 7, pp. 2941–2947, 2013. View at: Google Scholar - X. Su, Z. Li, Y. Feng, and L. Wu, “New global exponential stability criteria for interval-delayed neural networks,”
*Proceedings of the Institution of Mechanical Engineers I: Journal of Systems and Control Engineering*, vol. 225, no. 1, pp. 125–136, 2011. View at: Publisher Site | Google Scholar - C.-H. Wang, P.-C. Chen, P.-Z. Lin, and T.-T. Lee, “A dynamic neural network model for nonlinear system identification,” in
*Proceedings of the IEEE International Conference on Information Reuse and Integration, IRI 2009*, pp. 440–441, August 2009. View at: Publisher Site | Google Scholar - X.-J. Wu, Q. Huang, and X.-J. Zhu, “Power decoupling control of a solid oxide fuel cell and micro gas turbine hybrid power system,”
*Journal of Power Sources*, vol. 196, no. 3, pp. 1295–1302, 2011. View at: Publisher Site | Google Scholar - Z. J. Fu, W. F. Xie, X. Han, and W. D. Luo, “Nonlinear system identification and control via dynamic multitime scales neural networks,”
*IEEE Transactions on Neural Networks and Learning Systems*, vol. 24, no. 11, pp. 1814–1823, 2013. View at: Publisher Site | Google Scholar

#### Copyright

Copyright © 2014 Zhixi Shen and Kai Zhao. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.