CUDA-based Analytic Programming by Means of SOMA Algorithm

Analytic programming is one of methods of symbolic regression that is composing simple elements into more complex units. This process can be used e.g. for approximation of measured data with suitable mathematical formula. To find the most suitable mathematical formula, it is necessary to use an evolutionary algorithm. The constructed formulas can consist of mathematical operators, functions, variables and constants. Since values of these constants are not known at the time of construction of the formula, it is necessary to estimate the values by means of another evolutionary algorithm. Unfortunately, due to this estimation, the whole process becomes too slow. Therefore, this algorithm is implemented in one of the most widespread programming architecture NVIDIA CUDA and the results in terms of execution time are compared.

[1]  Louis G. Birta,et al.  Modelling and Simulation , 2013, Simulation Foundations, Methods and Applications.

[2]  Godfrey C. Onwubolu,et al.  New optimization techniques in engineering , 2004, Studies in Fuzziness and Soft Computing.

[3]  Michael O'Neill,et al.  Grammatical Evolution: Evolving Programs for an Arbitrary Language , 1998, EuroGP.

[4]  Ivan Zelinka,et al.  Optimization of Quadratic Assignment Problem Using Self Organising Migrating Algorithm , 2009, Comput. Informatics.

[5]  Ivan Zelinka,et al.  Neural network synthesis by means of analytic programming-preliminary results , 2005 .

[6]  Rainer Storn,et al.  Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces , 1997, J. Glob. Optim..

[7]  John R. Koza,et al.  Genetic programming 2 - automatic discovery of reusable programs , 1994, Complex Adaptive Systems.

[8]  Jirí Jaros,et al.  Parallel Genetic Algorithm on the CUDA Architecture , 2010, EvoApplications.

[9]  John R. Koza,et al.  Genetic Programming II , 1992 .

[10]  Conor Ryan,et al.  Survey Of Evolutionary Automatic Programming , 2003 .

[11]  I ScottKirkpatrick Optimization by Simulated Annealing: Quantitative Studies , 1984 .

[12]  John R. Koza,et al.  Genetic Programming III: Darwinian Invention & Problem Solving , 1999 .

[13]  Fabio Daolio,et al.  Evaluation of parallel particle swarm optimization algorithms within the CUDA™ architecture , 2011, Inf. Sci..

[14]  Scott Kirkpatrick,et al.  Optimization by simulated annealing: Quantitative studies , 1984 .

[15]  Una-May O'Reilly,et al.  Genetic Programming II: Automatic Discovery of Reusable Programs. , 1994, Artificial Life.

[16]  Michael O'Neill,et al.  Grammatical evolution - evolutionary automatic programming in an arbitrary language , 2003, Genetic programming.

[17]  Godfrey A. Walters,et al.  Symbolic and numerical regression: experiments and applications , 2003, Inf. Sci..

[18]  Roman Senkerik,et al.  CUDA Based Enhanced Differential Evolution: A Computational Analysis , 2012, ECMS.

[19]  Технология Springer Science+Business Media , 2013 .

[20]  John R. Koza,et al.  Genetic Programming III - Darwinian Invention and Problem Solving , 1999, Evolutionary Computation.

[21]  Michael O'Neill,et al.  Acceleration of grammatical evolution using graphics processing units: computational intelligence on consumer games and graphics hardware , 2011, GECCO.

[22]  D. Davendra,et al.  Flow Shop Scheduling Using Self Organising Migrating Algorithm , 2008 .