Skip to main content
Log in

Semantically-oriented mutation operator in cartesian genetic programming for evolutionary circuit design

  • Published:
Genetic Programming and Evolvable Machines Aims and scope Submit manuscript

Abstract

Cartesian genetic programming (CGP) represents the most efficient method for the evolution of digital circuits. Despite many successful applications, however, CGP suffers from limited scalability, especially when used for evolutionary circuit design, i.e. design of circuits from a randomly initialized population. Considering the multiplier design problem, for example, the 5\(\times\)5-bit multiplier represents the most complex circuit designed by the evolution from scratch. The efficiency of CGP highly depends on the performance of the point mutation operator, however, this operator is purely stochastic. This contrasts with the recent developments in genetic programming (GP), where advanced informed approaches such as semantic-aware operators are incorporated to improve the search space exploration capability of GP. In this paper, we propose a semantically-oriented mutation operator (\(\mathrm {SOMO}^k\)) suitable for the evolutionary design of combinational circuits. In contrast to standard point mutation modifying the values of the mutated genes randomly, the proposed operator uses semantics to determine the best value for each mutated gene. Compared to the common CGP and its variants, the proposed method converges on common Boolean benchmarks substantially faster while keeping the phenotype size relatively small. The successfully evolved instances presented in this paper include 10-bit parity, 10 + 10-bit adder and 5\(\times\)5-bit multiplier. The most complex circuits were evolved in less than one hour with a single-thread implementation running on a common CPU.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. L. Beadle, C.G. Johnson, Semantically driven mutation in genetic programming, in 2009 IEEE Congress on Evolutionary Computation, pp. 1336–1342 (2009). https://doi.org/10.1109/CEC.2009.4983099

  2. M. Castelli, S. Silva, L. Vanneschi, A c++ framework for geometric semantic genetic programming. Genet. Program Evolvable Mach. 16(1), 73–81 (2015). https://doi.org/10.1007/s10710-014-9218-0

    Article  Google Scholar 

  3. J. Clegg, J.A. Walker, J.F. Miller, A new crossover technique for cartesian genetic programming, in Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, GECCO ’07 (Association for Computing Machinery, New York, NY, USA, 2007) pp. 1580–1587. https://doi.org/10.1145/1276958.1277276

  4. C.C.A. Coello, A.D. Christiansen, A.H. Aguirre, Automated design of combinational logic circuits by genetic algorithms, in Artificial Neural Nets and Genetic Algorithms: Proceedings of the International Conference in Norwich, U.K., 1997 (Springer Vienna, Vienna, 1998) pp. 333–336. https://doi.org/10.1007/978-3-7091-6492-1_73

  5. J.E. da Silva, H.S. Bernardino, Cartesian genetic programming with crossover for designing combinational logic circuits, in 2018 7th Brazilian Conference on Intelligent Systems (BRACIS), pp. 145–150 (2018). https://doi.org/10.1109/BRACIS.2018.00033

  6. R. Ffrancon, M. Schoenauer, Memetic semantic genetic programming, in Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO ’15 (Association for Computing Machinery, New York, NY, USA, 2015) pp. 1023–1030. https://doi.org/10.1145/2739480.2754697

  7. B. Goldman, W. Punch, Reducing wasted evaluations in cartesian genetic programming. Lecture Notes in Computer Science 7831 LNCS, pp. 61–72 (2013). https://doi.org/10.1007/978-3-642-37207-0_6

  8. B.W. Goldman, W.F. Punch, Length bias and search limitations in cartesian genetic programming. In Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation, pp. 933–940 (2013)

  9. B.W. Goldman, W.F. Punch, Analysis of cartesian genetic programming’s evolutionary mechanisms. IEEE Trans. Evolut. Comput. 19(3), 359–373 (2015). https://doi.org/10.1109/TEVC.2014.2324539

    Article  Google Scholar 

  10. S. Harding, J.F. Miller, Cartesian genetic programming on the GPU, in Massively Parallel Evolutionary Computation on GPGPUs (Springer, 2013) pp. 249–266

  11. D. Hodan, V. Mrazek, Z. Vasicek, Semantically-oriented mutation operator in cartesian genetic programming for evolutionary circuit design, in Proceedings of the 2020 Genetic and Evolutionary Computation Conference, GECCO ’20 (Association for Computing Machinery, New York, NY, USA, 2020) pp. 940–948. https://doi.org/10.1145/3377930.3390188

  12. R. Hrbacek, L. Sekanina, L Towards highly optimized cartesian genetic programming: From sequential via simd and thread to massive parallel implementation, in Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation, GECCO ’14 (Association for Computing Machinery, New York, NY, USA, 2014) p. 1015–1022. https://doi.org/10.1145/2576768.2598343

  13. J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection (MIT Press, Cambridge, 1992)

    MATH  Google Scholar 

  14. J.F.B.S. Martins, L.O.V.B. Oliveira, L.F. Miranda, F. Casadei, G.L. Pappa, Solving the exponential growth of symbolic regression trees in geometric semantic genetic programming, in Proceedings of the Genetic and Evolutionary Computation Conference, GECCO ’18 (Association for Computing Machinery, New York, NY, USA, 2018) pp. 1151–1158. https://doi.org/10.1145/3205455.3205593

  15. J. McDermott, D.R. White, S. Luke, L. Manzoni, M. Castelli, L. Vanneschi, W. Jaskowski, K. Krawiec, R. Harper, K. De Jong, U.M. O’Reilly, Genetic programming needs better benchmarks, in Proceedings of the 14th Annual Conference on Genetic and Evolutionary Computation, GECCO ’12 (Association for Computing Machinery, New York, NY, USA, 2012) p. 791–798. https://doi.org/10.1145/2330163.2330273

  16. J. Miller, P. Thomson, Cartesian genetic programming, in Proc. of the 3rd European Conference on Genetic Programming EuroGP2000, LNCS (Springer, 2000) vol. 1802, pp. 121–132

  17. J.F. Miller, Cartesian genetic programming: its status and future. Genet. Program Evolvable Mach. (2019). https://doi.org/10.1007/s10710-019-09360-6

    Article  Google Scholar 

  18. J.F. Miller, D. Job, V.K. Vassilev, Principles in the Evolutionary Design of Digital Circuits - Part II. Genet. Program Evolvable Mach. 1(3), 259–288 (2000)

    Article  Google Scholar 

  19. J.F. Miller, P. Thomson, Cartesian genetic programming, in Genetic Programming (Springer, Berlin, 2000)

  20. J.F. Miller, P. Thomson, T. Fogarty, Designing electronic circuits using evolutionary algorithms, in Arithmetic Circuits: A Case Study (Wiley, 1998) pp. 105–131

  21. A. Moraglio, K. Krawiec, Geometric semantic genetic programming for recursive boolean programs, in Proceedings of the Genetic and Evolutionary Computation Conference, GECCO ’17 (Association for Computing Machinery, New York, NY, USA, 2017) pp. 993–1000. https://doi.org/10.1145/3071178.3071266

  22. A. Moraglio, K. Krawiec, C.G. Johnson, Geometric semantic genetic programming, in Parallel Problem Solving from Nature - PPSN XII. ed. by C.A.C. Coello, V. Cutello, K. Deb, S. Forrest, G. Nicosia, M. Pavone (Springer, Berlin, 2012), pp. 21–31

    Chapter  Google Scholar 

  23. T.P. Pawlak, K. Krawiec, Competent geometric semantic genetic programming for symbolic regression and boolean function synthesis. Evol. Comput. 26(2), 177–212 (2018). https://doi.org/10.1162/evco_a_00205

    Article  Google Scholar 

  24. L. Sekanina, Evolvable Components: From Theory to Hardware Implementations Natural Computing Series. (Springer, Berlin, 2004)

    Book  Google Scholar 

  25. L. Sekanina, Approximate computing: An old job for cartesian genetic programming? chap. 9, in Inspired by Nature: Essays Presented to Julian F. Miller on the Occasion of his 60th Birthday, ed. by S. Stepney, A. Adamatzky. Emergence, Complexity and Computation, vol. 28 (Springer, BErlin, 2017), pp. 195–212. https://doi.org/10.1007/978-3-319-67997-6_9

    Chapter  Google Scholar 

  26. L. Sekanina, Approximate Computing: An Old Job for Cartesian Genetic Programming? (Springer International Publishing, Cham, 2018), pp. 195–212. https://doi.org/10.1007/978-3-319-67997-6_9

    Book  Google Scholar 

  27. J.E.H. da Silva, L.A.M. de Souza, H.S. Bernardino, Cartesian genetic programming with guided and single active mutations for designing combinational logic circuits, in Machine Learning, Optimization, and Data Science. ed. by G. Nicosia, P. Pardalos, R. Umeton, G. Giuffrida, V. Sciacca (Springer International Publishing, Cham, 2019), pp. 396–408

    Chapter  Google Scholar 

  28. K. Slany, L. Sekanina, Fitness landscape analysis and image filter evolution using functional-level CGP, in Proc. of European Conf. on Genetic Programming LNCS (Springer, 2007) vol. 4445, pp. 311–320

  29. Z. Vasicek, Cartesian gp in optimization of combinational circuits with hundreds of inputs and thousands of gates, in EuroGP’15, LCNS 9025 (Springer International Publishing, 2015) pp. 139–150

  30. Z. Vasicek, Bridging the gap between evolvable hardware and industry using cartesian genetic programming, chap, in Inspired by Nature: Essays Presented to Julian F. Miller on the Occasion of his 60th Birthday, Emergence, Complexity and Computation, vol. 28, ed. by S. Stepney, A. Adamatzky (Springer, Berlin, 2017), pp. 39–55. https://doi.org/10.1007/978-3-319-67997-6_2

    Chapter  Google Scholar 

  31. Z. Vasicek, L. Sekanina, How to evolve complex combinational circuits from scratch? in 2014 IEEE International Conference on Evolvable Systems Proceedings (IEEE, 2014) pp. 133–140

  32. Z. Vasicek, K. Slany, Efficient phenotype evaluation in cartesian genetic programming, in Proc. of the 15th European Conference on Genetic Programming, LNCS 7244 (Springer Verlag, 2012) pp. 266–278

  33. V.K. Vassilev, J.F. Miller, The advantages of landscape neutrality in digital circuit evolution, in Evolvable Systems: From Biology to Hardware. ed. by J. Miller, A. Thompson, P. Thomson, T.C. Fogarty (Springer, Berlin Heidelberg, Berlin, Heidelberg, 2000), pp. 252–263

    Chapter  Google Scholar 

  34. M. Virgolin, T. Alderliesten, C. Witteveen, P.A.N. Bosman, Scalable genetic programming by gene-pool optimal mixing and input-space entropy-based building-block learning, in Proceedings of the Genetic and Evolutionary Computation Conference, GECCO ’17 (Association for Computing Machinery, New York, NY, USA, 2017) p. 1041–1048. https://doi.org/10.1145/3071178.3071287

Download references

Funding

This work was supported by Czech Science Foundation project GA 19-10137S. The authors have no financial or proprietary interests in any material discussed in this article.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zdenek Vasicek.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hodan, D., Mrazek, V. & Vasicek, Z. Semantically-oriented mutation operator in cartesian genetic programming for evolutionary circuit design. Genet Program Evolvable Mach 22, 539–572 (2021). https://doi.org/10.1007/s10710-021-09416-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10710-021-09416-6

Keywords

Navigation