DARWIN: an evolutionary program for nonlinear modeling of chaotic time series. A. Alvarez, A. Orfila, J. Tintore.

PROGRAM SUMMARY
Title of program: DARWIN
Catalogue identifier: ADOA
Ref. in CPC: 136(2001)334
Distribution format: tar gzip file
Operating system: Unix/MS-DOS/Windows98
High speed store required: 500K words
Number of bits in a word: 32
Number of lines in distributed program, including test data, etc: 1039
Keywords: General purpose, Fitting, Other numerical methods, Extracting dynamical models from data, Chaotic time series forecasting, Evolutionary programming.
Programming language used: Fortran
Computer: PC-Pentium 333 MHz , Alpha XP-1000 .

Nature of problem:
To estimate the dynamical model that creates an observed deterministic time series. To achieve short-term forecasts of chaotic systems.

Method of solution:
An evolutionary code is programmed to approximate the equation, in symbolic form, that best describes the behaviour of the time series. An initial population of randomly generated equations:
x(t) = P(x(t-tau) ... x(t-mtau)),
being {x(ti)}, ti = 1 ... N the elements of the time series, m and tau parameters and P(.) a nonlinear function, is firstly considered. An evolution process is carried out by selecting from the initial population those equations (individuals) that best fit the data. Then the strongest strings, those with best fitting, choose a mate for reproduction while the weaker strings disappear. The new population is then subjected to mutation processes. The evolutionary steps are repeated with the new generation. The process ends when a fixed number of generations is carried out. The code can also model multivariate time series.

Restrictions:
Nonlinear solutions P(.) are built considering an operator set constituted by the four arithmetic operators, addition, subtraction, multiplication, or division. The final symbolic form is not simplified.

Typical running time:
1000 generations in 10 seconds (Alpha XP-1000)

Unusual features:
DARWIN is an efficient evolutionary algorithm to model chaotic time series entirely programmed in Fortran 77. The algorithm provides a symbolic expression of the form x(t) = P(x(t-tau) ... x(t-mtau)) of the estimated dynamical model. The program is highly portable across different computer systems.

References:

 [1] A. Alvarez et al., Forecasting the SST space-time variability of the
     Alboran Sea with genetic algorithms.  Geophys. Res. Lett.,          
     27 (2000) 2709-2712.                                                
 [2] C. Bamford, P. Curran, Data structures, Files and Databases,        
     MacMillan Education, London, 1991.                                  
 [3] J.R. Koza, Genetic programming, MIT Press, Cambridge, 1992.         
 [4] C. Lopez, A. Alvarez, E. Hernandez-Garcia, Forecasting confined     
     spatiotemporal chaos with genetic algorithms.  Phys. Rev. Lett.,    
     85 (2000) 2300-2303.                                                
 [5] G.G. Szpiro, Forecasting chaotic time series with genetic           
     algorithms, Phys. Rev. E 55 (1997) 2557-2568.