Abstract-Research on semantics in Genetic Programming(GP) has increased over the last number of years. Results in this area clearly indicate that its use in GP considerably increases performance. Many of these semantic-based approaches rely on a trial-and-error method that attempts to find offspring that are semantically different from their parents over a number of trials using the crossover operator (crossover-semantics based -CSB). This, in consequence, has a major drawback: these methods could evaluate thousands of nodes, resulting in paying a high computational cost, while attempting to improve performance by promoting semantic diversity. In this work, we propose a simple and computationally inexpensive method, named semantics in selection, that eliminates the computational cost observed in CSB approaches. We tested this approach in 14 GP problems, including continuous-and discrete-valued fitness functions, and compared it against a traditional GP and a CSB approach. Our results are equivalent, and in some cases, superior than those found by the CSB approach, without the necessity of using a "brute force" mechanism.
The primary aim of automated performance improvement is to reduce the running time of programs while maintaining (or improving on) functionality. In this paper, Genetic Programming is used to find performance improvements in regular expressions for an array of target programs, representing the first application of automated software improvement for run-time performance in the Regular Expression language. This particular problem is interesting as there may be many possible alternative regular expressions which perform the same task while exhibiting subtle differences in performance. A benchmark suite of candidate regular expressions is proposed for improvement. We show that the application of Genetic Programming techniques can result in performance improvements in all cases.As we start evolution from a known good regular expression, diversity is critical in escaping the local optima of the seed expression. In order to understand diversity during evolution we compare an initial population consisting of only seed programs with a population initialised using a combination of a single seed individual with individuals generated using PI Grow and Ramped-half-and-half initialisation mechanisms. * Brendan Cody-Kenny, Michael Fenton, and Michael O'Neill are with the Natural Computing Research and Applications Group (NCRA) in University College Dublin, Ireland. Email: Brendan.Cody-Kenny@ucd.ie, MichaelFenton1@gmail.com, M.ONeill@ucd.ie. † Adrian Ronayne, Eoghan Considine and Thomas McGuire, are with the Fidelity Center for Applied Technology (FCAT) in Fidelity Investments, Ireland.Program execution time can be difficult to measure and reason about for a number of reasons [33]. Reading through program source code can only partially indicate expected
We present locoGP, a Genetic Programming (GP) system written in Java for evolving Java source code. locoGP was designed to improve the performance of programs as measured in the number of operations executed. Variable test cases are used to maintain functional correctness during evolution. The operation of locoGP is demonstrated on a number of typically constructed "off-the-shelf" hand-written implementations of sort and prefix-code programs. locoGP was able to find improvement opportunities in all test problems.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.