Abstract
With the recent advances in the Machine Learning field, alongside digital circuits becoming more complex each day, machine learning based methods are being used in error-tolerant applications to solve the challenges imposed by large integrated circuits, where the designer can obtain a better overall circuit while relaxing its accuracy requirement. One of these methods is the Cartesian Genetic Programming (CGP), a subclass of Evolutionary Algorithms that uses concepts from biological evolution applied in electronic design automation. CGP-based approaches show advantages in the logic learning and logic optimization processes. However, the main challenge of CGP-based flows is the extensive runtime compared to other logic synthesis strategies. We propose a new strategy to tackle this challenge, called Adaptive Batch Size (ABS) CGP, in which the CGP algorithm incrementally improves the fitness estimation of the candidate solutions by using more terms of the truth table for evaluating them along the evolutionary process. The proposed approach was evaluated in nine exemplars from the IWLS 2020 contest, in which 3 exemplars are from the arithmetic domain, and six are from image recognition domain, specifically three from the CIFAR-10 dataset and three from the MNIST dataset. The results show that ABS presented an accuracy increase of up to 8.19% and decreased the number of candidate solutions evaluations required by up to 84.56%, in which directly affects the runtime of the algorithm. Furthermore, for all circuits, no significant accuracy reduction was observed while a significant reduction in the number of evaluations was achieved.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Source code available in: https://gitlab.com/gudeh/cgpv3.
References
de Abreu, B.A., et al.: Fast logic optimization using decision trees. In: 2021 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 1–5 (2021). https://doi.org/10.1109/ISCAS51556.2021.9401664
Barua, H.B., Mondal, K.C.: Approximate computing: a survey of recent trends—bringing greenness to computing and communication. J. Inst. Eng. (India): Series B 100(6), 619–626 (2019). https://doi.org/10.1007/s40031-019-00418-8
Berndt, A., et al.: Accuracy and size trade-off of a cartesian genetic programming flow for logic optimization. In: Proceedings of the 34th Symposium on Integrated Circuits and Systems Design. SBCCI 2021 (2021). https://doi.org/10.1109/SBCCI53441.2021.9529968
Berndt, A.A.S., et al.: A CGP-based logic flow: optimizing accuracy and size of approximate circuits. J. Integr. Circ. Syst. 17(1), 1–12 (2022). https://doi.org/10.29292/jics.v17i1.546
Brayton, R.K., Hachtel, G.D., Mcmullen, C.T., Sangiovanni-Vincentelli, A.L.: Logic Minimization Algorithms for VLSI Synthesis. Kluwer Int. Ser. Eng. Comput. Sci. 2, 1–194 (1984). https://doi.org/10.1007/978-1-4613-2821-6
Coudert, O., Sasao, T.: Two-level logic minimization. In: Hassoun, S., Sasao, T. (eds.) Logic Synthesis and Verification. SECS, vol. 654, pp. 1–27. Springer, Boston (2002). https://doi.org/10.1007/978-1-4615-0817-5_1
Deng, L.: The MNIST database of handwritten digit images for machine learning research. IEEE Signal Process. Mag. 29(6), 141–142 (2012). https://doi.org/10.1109/MSP.2012.2211477
Doerr, B., Doerr, C.: Optimal parameter choices through self-adjustment: applying the 1/5-th rule in discrete settings. In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, pp. 1335–1342 (2015). https://doi.org/10.1145/2739480.2754684
Goldman, B.W., Punch, W.F.: Analysis of cartesian genetic programming’s evolutionary mechanisms. IEEE Trans. Evol. Comput. 19(3), 359–373 (2014)
Harding, S.: Evolution of image filters on graphics processor units using cartesian genetic programming. In: 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence), pp. 1921–1928. IEEE (2008)
Harding, S., Leitner, J., Schmidhuber, J.: Cartesian genetic programming for image processing. In: Riolo, R., Vladislavleva, E., Ritchie, M., Moore, J. (eds.) Genetic programming theory and practice X. (GEVO), pp. 31–44. Springer, Cham (2013). https://doi.org/10.1007/978-1-4614-6846-2_3
Karnaugh, M.: The map method for synthesis of combinational logic circuits. Trans. Am. Inst. Electr. Eng. Part I: Commun. Electron. 72(5), 593–599 (1953). https://doi.org/10.1109/TCE.1953.6371932
Khan, M.M., Ahmad, A.M., Khan, G.M., Miller, J.F.: Fast learning neural networks using cartesian genetic programming. Neurocomputing 121, 274–289 (2013)
Khan, M.M., Khan, G.M., Miller, J.F.: Evolution of neural networks using cartesian genetic programming. In: IEEE Congress on Evolutionary Computation, pp. 1–8. IEEE (2010)
Krizhevsky, A., Hinton, G., et al.: Learning multiple layers of features from tiny images (2009)
Manazir, A., Raza, K.: Recent developments in cartesian genetic programming and its variants. ACM Comput. Surv. (CSUR) 51(6), 1–29 (2019). https://doi.org/10.1145/3275518
Milano, N., Pagliuca, P., Nolfi, S.: Robustness, evolvability and phenotypic complexity: insights from evolving digital circuits. Evol. Intel. 12(1), 83–95 (2019). https://doi.org/10.1007/s12065-018-00197-z
Miller, J.F.: Cartesian genetic programming: its status and future. Genet. Program Evolvable Mach. 21(1), 129–168 (2019). https://doi.org/10.1007/s10710-019-09360-6
Miyasaka, Y., Zhang, X., Yu, M., Yi, Q., Fujita, M.: Logic synthesis for generalization and learning addition. In: 2021 Design, Automation Test in Europe Conference Exhibition (DATE), pp. 1032–1037 (2021). https://doi.org/10.23919/DATE51398.2021.9474169
Picek, S., Carlet, C., Guilley, S., Miller, J.F., Jakobovic, D.: Evolutionary algorithms for Boolean functions in diverse domains of cryptography. Evol. Comput. 24(4), 667–694 (2016)
Picek, S., Jakobovic, D., Miller, J.F., Batina, L., Cupic, M.: Cryptographic Boolean functions: one output, many design criteria. Appl. Soft Comput. 40, 635–653 (2016)
Quine, W.V.: A way to simplify truth functions. Am. Math. Mon. 62(9), 627–631 (1955). https://doi.org/10.1080/00029890.1955.11988710
Rai, S., et al.: Logic synthesis meets machine learning: trading exactness for generalization. In: 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE (2021). https://doi.org/10.23919/DATE51398.2021.9473972
Riener, H., Haaswijk, W., Mishchenko, A., De Micheli, G., Soeken, M.: On-the-fly and DAG-aware: rewriting Boolean networks with exact synthesis. In: 2019 Design, Automation Test in Europe Conference Exhibition (DATE), pp. 1649–1654 (2019). https://doi.org/10.23919/DATE.2019.8715185
Rudell, R.L., Sangiovanni-Vincentelli, A.: Multiple-valued minimization for PLA optimization. IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 6(5), 727–750 (1987). https://doi.org/10.1109/TCAD.1987.1270318
Scarabottolo, I., et al.: Approximate logic synthesis: a survey. In: Proceedings of the IEEE, pp. 1–19 (2020). https://doi.org/10.1109/JPROC.2020.3014430
Sekanina, L., Harding, S.L., Banzhaf, W., Kowaliw, T.: Image processing and CGP. In: Miller, J. (ed.) Cartesian genetic programming. NCS, pp. 181–215. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-17310-3_6
Suganuma, M., et al.: Evolution of deep convolutional neural networks using cartesian genetic programming. Evol. Comput. 28(1), 141–163 (2020). https://doi.org/10.1162/evco_a_00253
Venkataramani, S., Kozhikkottu, V., Sabne, A., Roy, K., Raghunathan, A.: Logic synthesis of approximate circuits. IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 39, 2503–2515 (2019)
Acknowledgments
This work was financed in part by National Council for Scientific and Technological Development - CNPq and the Propesq/UFSC.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Lima, B.M., Sachetti, N., Berndt, A., Meinhardt, C., Carvalho, J.T. (2023). Adaptive Batch Size CGP: Improving Accuracy and Runtime for CGP Logic Optimization Flow. In: Pappa, G., Giacobini, M., Vasicek, Z. (eds) Genetic Programming. EuroGP 2023. Lecture Notes in Computer Science, vol 13986. Springer, Cham. https://doi.org/10.1007/978-3-031-29573-7_10
Download citation
DOI: https://doi.org/10.1007/978-3-031-29573-7_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-29572-0
Online ISBN: 978-3-031-29573-7
eBook Packages: Computer ScienceComputer Science (R0)