Skip to Main Content
An improved genetic programming (GP) algorithm was developed in order to use a unified way to identify both linear and nonlinear, both time-invariant and time-varying discrete dynamic systems. 'D' operators and discrete time 'n' terminals were used to construct and evolve difference equations. Crossover operations of the improved GP algorithm were different from the conventional GP algorithm. Two levels of crossover operations were defined. A linear time-invariant system, a nonlinear time-invariant system and a time-varying system were identified by the improved GP algorithm, good models of object systems were achieved with accurate and simultaneous identification of both structures and parameters. GP generated obvious mathematical descriptions (difference equations) of object systems after expression editing, showing correct input-output relationships. It can be seen that GP is good at handling different kinds of dynamic system identification problems and is better than other artificial intelligence (AI) algorithms like neural network or fuzzy logic which only model systems as complete black boxes.