Affiliation:
1. Faculty of Electrical Engineering, University of Ljubljana, Tržaška 25, 1000 Ljubljana, Slovenia
Abstract
Genetic programming (GP) has a long-standing tradition in the evolution of computer programs, predominantly utilizing tree and linear paradigms, each with distinct advantages and limitations. Despite the rapid growth of the GP field, there have been disproportionately few attempts to evolve ’real’ Turing-like imperative programs (as contrasted with functional programming) from the ground up. Existing research focuses mainly on specific special cases where the structure of the solution is partly known. This paper explores the potential of integrating tree and linear GP paradigms to develop an encoding scheme that universally supports genetic operators without constraints and consistently generates syntactically correct Python programs from scratch. By blending the symmetrical structure of tree-based representations with the inherent asymmetry of linear sequences, we created a versatile environment for program evolution. Our approach was rigorously tested on 35 problems characterized by varying Halstead complexity metrics, to delineate the approach’s boundaries. While expected brute-force program solutions were observed, our method yielded more sophisticated strategies, such as optimizing a program by restricting the division trials to the values up to the square root of the number when counting its proper divisors. Despite the recent groundbreaking advancements in large language models, we assert that the GP field warrants continued research. GP embodies a fundamentally different computational paradigm, crucial for advancing our understanding of natural evolutionary processes.
Funder
Slovenian Research And Innovation Agency
Reference37 articles.
1. Koza, J.R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press.
2. Yampolskiy, R.V. (2018). Why We Do Not Evolve Software? Analysis of Evolutionary Algorithms. Evol. Bioinform., 14.
3. Mathematical discoveries from program search with large language models;Barekatain;Nature,2023
4. Woodward, J., and Bai, R. (2009, January 12–14). Why evolution is not a good paradigm for program induction: A critique of genetic programming. Proceedings of the first ACM/SIGEVO Summit on Genetic and Evolutionary Computation, Shanghai, China.
5. Teller, A. (1994, January 27–29). Turing completeness in the language of genetic programming with indexed memory. Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence, Orlando, FL, USA.