Abstract
Program synthesis constitutes a category of problems where the objective is to automatically produce computer programs that meet specified criteria. Among Genetic Programming algorithms, Cartesian Genetic Programming has been successfully used for a variety of function synthesis problems, such as circuit design, pattern analysis, and game playing. These problems are designed to work only on a single data type, for example, boolean values or entire images. Cartesian Genetic Programming cannot directly be applied to problems with multiple data types, which poses a great limitation, as more realistic programs should be able to deal with different data types. Mixed-Type Cartesian Genetic Programming is the only current extension of Cartesian Genetic Programming which allows for processing different data types. In this work, we present and study Multimodal Adaptive Graph Evolution, a multi-chromosome generalization of Cartesian Genetic Programming that groups functions by return type and constrains graph mutation based on node’s type coherence. We compare Multimodal Adaptive Graph Evolution to Mixed-Type Cartesian Genetic Programming on the Program Synthesis Benchmark Suite, showing that the representation and mutation constraints of Multimodal Adaptive Graph Evolution aid in the search of multimodal functions. Using Search Trajectory Networks, we find that Multimodal Adaptive Graph Evolution converges faster to a local or global minimum compared to Mixed-Type Cartesian Genetic Programming and explores the solution space more effectively by creating candidate solutions with lower semantic redundancy.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Bezanson, J., Edelman, A., Karpinski, S., Shah, V.: Julia: A Fresh Approach to Numerical Computing (2015)
Brameier, M., Banzhaf, W., Banzhaf, W.: Linear Genetic Programming, vol. 1. Springer (2007)
Cava, W.G.L., et al.: Contemporary symbolic regression methods and their relative performance. arXiv preprint arXiv:2107.14351 (2021)
Cortacero, K., et al.: Evolutionary design of explainable algorithms for biomedical image segmentation. Nat. Commun. 14(1), 7112 (2023). https://www.nature.com/articles/s41467-023-42664-x. Number: 1 Publisher: Nature Publishing Group
Gulwani, S., Polozov, O., Singh, R.: Program synthesis. Found. Trends® Program. Lang. 4(1–2), 1–119 (2017). Publisher: Now Publishers, Inc.
Harding, S., Graziano, V., Leitner, J., Schmidhuber, J.: MT-CGP: mixed type cartesian genetic programming. In: Proceedings of the 14th annual conference on Genetic and evolutionary computation (GECCO 2012), pp. 751–758. Association for Computing Machinery, New York (2012)
Harding, S., Leitner, J., Schmidhuber, J.: Cartesian genetic programming for image processing. In: Riolo, R., Vladislavleva, E., Ritchie, M.D., Moore, J.H. (eds.) Genetic Programming Theory and Practice X. Genetic and Evolutionary Computation, Springer, New York (2013). https://doi.org/10.1007/978-1-4614-6846-2_3
Helmuth, T., Kelly, P.: Psb2: the second program synthesis benchmark suite. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2021), pp. 785–794. Association for Computing Machinery, New York (2021)
Helmuth, T., Spector, L.: General program synthesis benchmark suite. In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation (GECCO 2015), pp. 1039–1046. Association for Computing Machinery, New York (2015)
Hu, T., Ochoa, G., Banzhaf, W.: Phenotype search trajectory networks for linear genetic programming. In: Pappa, G., Giacobini, M., Vasicek, Z. (eds.) Genetic Programming, pp. 52–67. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-29573-7_4
Koza, J.R.: Genetic programming as a means for programming computers by natural selection. Stat. Comput. 4(2), 87–112 (1994)
Kuepper, J., et al.: Cryptopt: verified compilation with randomized program search for cryptographic primitives. Proc. ACM Program. Lang. 7(PLDI), 1268–1292 (2023)
La Cava, W., Spector, L., Danai, K.: Epsilon-lexicase selection for regression. In: Proceedings of the Genetic and Evolutionary Computation Conference 2016 (GECCO 2016), pp. 741–748. Association for Computing Machinery, New York (2016). https://doi.org/10.1145/2908812.2908898
Lavinas, Y.C., Aranha, C., Ochoa, G.: Search trajectories networks of multiobjective evolutionary algorithms. In: Applications of Evolutionary Computation, EvoApplications. LNCS, vol. 13224, pp. 223–238. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-02462-7_15
Macret, M., Pasquier, P.: Automatic design of sound synthesizers as pure data patches using coevolutionary mixed-typed cartesian genetic programming. In: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation (GECCO 2014), pp. 309–316. Association for Computing Machinery, New York (2014)
Miller, J.F., Thomson, P.: Cartesian genetic programming. In: Poli, R., Banzhaf, W., Langdon, W.B., Miller, J., Nordin, P., Fogarty, T.C. (eds.) EuroGP 2000. LNCS, vol. 1802, pp. 121–132. Springer, Heidelberg (2000). https://doi.org/10.1007/978-3-540-46239-2_9
Miller, J.F.: Cartesian genetic programming: its status and future. Genet. Program Evolvab. Mach. 21(1), 129–168 (2020)
Nadizar, G., Medvet, E., Wilson, D.G.: Naturally interpretable control policies via graph-based genetic programming. In: Giacobini, M., Xue, B., Manzoni, L. (eds.) EuroGP 2024, EvoStar 2024, pp. 73–89. Springer, Cham (2024). https://doi.org/10.1007/978-3-031-56957-9_5
Ochoa, G., Malan, K.M., Blum, C.: Search tajectory networks of population-based algorithms in continuous spaces. In: Castillo, P.A., Jiménez Laredo, J.L., Fernández de Vega, F. (eds.) Applications of Evolutionary Computation, pp. 70–85. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-43722-0_5
Ochoa, G., Malan, K.M., Blum, C.: Search trajectory networks: a tool for analysing and visualising the behaviour of metaheuristics. Appl. Soft Comput. 109(C) (2021). https://doi.org/10.1016/j.asoc.2021.107492
Orzechowski, P., La Cava, W., Moore, J.H.: Where are we now? a large benchmark study of recent symbolic regression methods. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2018), pp. 1183–1190. Association for Computing Machinery, New York (2018)
Sobania, D., Schweim, D., Rothlauf, F.: A comprehensive survey on program synthesis with evolutionary algorithms. IEEE Trans. Evolution. Comput. 27(1), 82–97 (2023). Conference Name: IEEE Transactions on Evolutionary Computation
Spector, L., Klein, J., Keijzer, M.: The push3 execution stack and the evolution of control. In: Proceedings of the 7th Annual Conference on Genetic and Evolutionary Computation (GECCO 2005), pp. 1689–1696. Association for Computing Machinery, New York (2005)
Spector, L., Robinson, A.: Genetic programming and autoconstructive evolution with the push programming language. Genet. Program Evolvab. Mach. 3(1), 7–40 (2002)
De la Torre, C., Cortacero, K., Wilson, D.G., Cussat-Blanc, S.: Multimodal adaptive graph evolution. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion (GECCO 2024), pp. To Appear. Association for Computing Machinery, New York (2024). https://doi.org/10.1145/3638530.3654202
Whigham, P.A., et al.: Grammatically-based genetic programming. In: Proceedings of the Workshop on Genetic Programming: From Theory to Real-World Applications, vol. 16, pp. 33–41. Citeseer (1995)
Wilson, D.G., Cussat-Blanc, S., Luga, H., Miller, J.F.: Evolving simple programs for playing Atari games. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2018). Association for Computing Machinery, New York (2018)
Acknowledgments
This project used compute resources from the CALMIP project P21049. This work is supported by the AI Interdisciplinary Institute ANITI, funded by the French program “Investing for the Future - PIA3” under Grant agreement no. ANR-19-PI3A-0004.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Ethics declarations
Disclosure of Interests
The authors have no competing interests to declare that are relevant to the content of this article.
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
De La Torre, C., Lavinas, Y., Cortacero, K., Luga, H., Wilson, D.G., Cussat-Blanc, S. (2024). Multimodal Adaptive Graph Evolution for Program Synthesis. In: Affenzeller, M., et al. Parallel Problem Solving from Nature – PPSN XVIII. PPSN 2024. Lecture Notes in Computer Science, vol 15148. Springer, Cham. https://doi.org/10.1007/978-3-031-70055-2_19
Download citation
DOI: https://doi.org/10.1007/978-3-031-70055-2_19
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-70054-5
Online ISBN: 978-3-031-70055-2
eBook Packages: Computer ScienceComputer Science (R0)