ABSTRACT
Most implementations of Cartesian genetic programming (CGP) which can be found in the literature are sequential. However, solving complex design problems by means of genetic programming requires parallel implementations of search methods and fitness functions. This paper deals with the design of highly optimized implementations of CGP and their detailed evaluation in the task of evolutionary circuit design. Several sequential implementations of CGP have been analyzed and the effect of various additional optimizations has been investigated. Furthermore, the parallelism at the instruction, data, thread and process level has been applied in order to take advantage of modern processor architectures and computer clusters. Combinational adders and multipliers have been chosen to give a performance comparison with state of the art methods.
- T. Aoki, N. Homma, and T. Higuchi. Evolutionary synthesis of arithmetic circuit structures. Artif. Intell. Rev., 20(3-4):199--232, Dec. 2003. Google ScholarDigital Library
- E. Cantu-Paz. Efficient and Accurate Parallel Genetic Algorithms. Kluwer Academic Publishers, Norwell, MA, USA, 2000. Google ScholarDigital Library
- J. Clegg, J. A. Walker, and J. F. Miller. A new crossover technique for cartesian genetic programming. In GECCO '07: Proceedings of the 9th annual conference on Genetic and evolutionary computation, volume 2, pages 1580--1587, London, 7-11 July 2007. ACM Press. Google ScholarDigital Library
- A. Fox. Instruction tables: Lists of instruction latencies, throughputs and micro-operation breakdowns for intel, amd and via cpus. http://agner.org/optimize/instruction_tables.pdf, 2013.Google Scholar
- B. W. Goldman and W. F. Punch. Reducing wasted evaluations in cartesian genetic programming. In Proceedings of the 16th European Conference on Genetic Programming, EuroGP'13, pages 61--72, Berlin, Heidelberg, 2013. Springer-Verlag. Google ScholarDigital Library
- S. Harding and W. Banzhaf. Implementing cartesian genetic programming classifiers on graphics processing units using gpu.net. In 13th Annual Genetic and Evolutionary Computation Conference, GECCO 2011, Companion Material Proceedings, Dublin, Ireland, July 12-16, 2011, pages 463--470. ACM, 2011. Google ScholarDigital Library
- S. Harding, J. F. Miller, and W. Banzhaf. Self modifying cartesian genetic programming: Parity. In 2009 IEEE Congress on Evolutionary Computation, pages 285--292. IEEE Press, 2009. Google ScholarDigital Library
- J. Hennessy and D. Patterson. Computer Architecture: A Quantitative Approach. The Morgan Kaufmann Series in Computer Architecture and Design. Elsevier Science, 2011. Google ScholarDigital Library
- R. Hrbacek and M. Sikulova. Coevolutionary cartesian genetic programming in fpga. In Advances in Artificial Life, ECAL 2013, Proceedings of the Twelfth European Conference on the Synthesis and Simulation of Living Systems, pages 431--438. MIT Press, 2013.Google Scholar
- J. R. Koza, M. A. Keane, M. J. Streeter, W. Mydlowec, J. Yu, and G. Lanza. Genetic Programming IV: Routine Human-Competitive Machine Intelligence. Kluwer Academic Publishers, 2003. Google ScholarDigital Library
- J. Miller and S. Smith. Redundancy and computational efficiency in cartesian genetic programming. Evolutionary Computation, IEEE Transactions on, 10(2):167--174, 2006. Google ScholarDigital Library
- J. Miller and P. Thomson. Cartesian genetic programming. In Genetic Programming, volume 1802 of Lecture Notes in Computer Science, pages 121--132. Springer Berlin Heidelberg, 2000. Google ScholarDigital Library
- J. F. Miller, editor. Cartesian Genetic Programming. Natural Computing Series. Springer Verlag, 2011.Google Scholar
- R. Poli and J. Page. Solving high-order boolean parity problems with smooth uniform crossover, sub-machine code gp and demes. Genetic Programming and Evolvable Machines, 1(1-2):37--56, Apr. 2000. Google ScholarDigital Library
- R. Seyfarth. Introduction to 64 Bit Intel Assembly Language Programming for Linux. CreateSpace Independent Publishing Platform, 2012.Google Scholar
- A. P. Shanthi and R. Parthasarathi. Practical and scalable evolution of digital circuits. Appl. Soft Comput., 9(2):618--624, Mar. 2009. Google ScholarDigital Library
- D. Sherry, K. Veeramachaneni, J. McDermott, and U.-M. O'Reilly. Flex-gp: Genetic programming on the cloud. In Applications of Evolutionary Computation - EvoApplications 2012, volume 7248 of LNCS, pages 477--486. Springer, 2012. Google ScholarDigital Library
- E. Stomeo, T. Kalganova, and C. Lambert. Generalized disjunction decomposition for evolvable hardware. Trans. Sys. Man Cyber. Part B, 36(5):1024--1043, Oct. 2006. Google ScholarDigital Library
- M. Tomassini. Spatially Structured Evolutionary Algorithms: Artificial Evolution in Space and Time (Natural Computing Series). Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2005. Google ScholarDigital Library
- Z. Vasicek and L. Sekanina. Hardware accelerator of cartesian genetic programming with multiple fitness units. Computing and Informatics, 29(6):1359--1371, 2010.Google Scholar
- Z. Vasicek and L. Sekanina. Formal verification of candidate solutions for post-synthesis evolutionary optimization in evolvable hardware. Genetic Programming and Evolvable Machines, 12(3):305--327, 2011. Google ScholarDigital Library
- Z. Vasicek and K. Slany. Efficient phenotype evaluation in cartesian genetic programming. In Proc. of the 15th European Conference on Genetic Programming, LNCS 7244, pages 266--278. Springer Verlag, 2012. Google ScholarDigital Library
- V. K. Vassilev, D. Job, and J. F. Miller. Towards the automatic design of more efficient digital circuits. Evolvable Hardware, NASA/DoD Conference on, 0:151, 2000. Google ScholarDigital Library
- T. Yu and J. Miller. Finding needles in haystacks is not hard with neutrality. In Genetic Programming, volume 2278 of Lecture Notes in Computer Science, pages 13--25. Springer Berlin Heidelberg, 2002. Google ScholarDigital Library
Index Terms
- Towards highly optimized cartesian genetic programming: from sequential via SIMD and thread to massive parallel implementation
Recommendations
Recent Developments in Cartesian Genetic Programming and its Variants
Cartesian Genetic Programming (CGP) is a variant of Genetic Programming with several advantages. During the last one and a half decades, CGP has been further extended to several other forms with lots of promising advantages and applications. This ...
A new crossover technique for Cartesian genetic programming
GECCO '07: Proceedings of the 9th annual conference on Genetic and evolutionary computationGenetic Programming was first introduced by Koza using tree representation together with a crossover technique in which random sub-branches of the parents' trees are swapped to create the offspring. Later Miller and Thomson introduced Cartesian Genetic ...
Solving real-valued optimisation problems using cartesian genetic programming
GECCO '07: Proceedings of the 9th annual conference on Genetic and evolutionary computationClassical Evolutionary Programming (CEP) and Fast Evolutionary Programming (FEP) have been applied to real-valued function optimisation. Both of these techniques directly evolve the real-values that are the arguments of the real-valued function. In this ...
Comments