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.
Similar content being viewed by others
References
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
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
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
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
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
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
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
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)
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
S. Harding, J.F. Miller, Cartesian genetic programming on the GPU, in Massively Parallel Evolutionary Computation on GPGPUs (Springer, 2013) pp. 249–266
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
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
J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection (MIT Press, Cambridge, 1992)
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
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
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
J.F. Miller, Cartesian genetic programming: its status and future. Genet. Program Evolvable Mach. (2019). https://doi.org/10.1007/s10710-019-09360-6
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)
J.F. Miller, P. Thomson, Cartesian genetic programming, in Genetic Programming (Springer, Berlin, 2000)
J.F. Miller, P. Thomson, T. Fogarty, Designing electronic circuits using evolutionary algorithms, in Arithmetic Circuits: A Case Study (Wiley, 1998) pp. 105–131
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
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
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
L. Sekanina, Evolvable Components: From Theory to Hardware Implementations Natural Computing Series. (Springer, Berlin, 2004)
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
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
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
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
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
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
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
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
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
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
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
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-021-09416-6