Learning Semantics-aware Search Operators for Genetic Programming
Fitness landscapes in test-based program synthesis are known to be extremely rugged, with even minimal modifications of programs often leading to fundamental changes in their behavior and, consequently, fitness values. Relying on fitness as the only guidance in iterative search algorithms like genetic programming is thus unnecessarily limiting, especially when combined with purely syntactic search operators that are agnostic about their impact on program behavior. In this study, we propose a semantics-aware search operator that steers the search towards candidate programs that are valuable not only actually (high fitness) but also only potentially, i.e. are likely to be turned into high-quality solutions even if their current fitness is low. The key component of the method is a graph neural network that learns to model the interactions between program instructions and processed data, and produces a saliency map over graph nodes that represents possible search decisions. When applied to a suite of symbolic regression benchmarks, the proposed method outperforms conventional tree-based genetic programming and the ablated variant of the method.
Code (0)
등록된 구현이 없습니다.
Tasks
Graph Neural NetworkProgram SynthesisSymbolic RegressionMethods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
Fitness Landscape Analysis of Dimensionally-Aware Genetic Programming Featuring Feynman Equations
Genetic programming is an often-used technique for symbolic regression: finding symbolic expressions that match data from an unknown function. To make the symbolic regression more efficient, one can also use dimensionall…
regressionSymbolic RegressionInterval Arithmetic and Interval-Aware Operators for Genetic Programming
Symbolic regression via genetic programming is a flexible approach to machine learning that does not require up-front specification of model structure. However, traditional approaches to symbolic regression require the u…
regressionSymbolic RegressionSemantically-Oriented Mutation Operator in Cartesian Genetic Programming for Evolutionary Circuit Design
Despite many successful applications, Cartesian Genetic Programming (CGP) suffers from limited scalability, especially when used for evolutionary circuit design. Considering the multiplier design problem, for example, th…
CPUOn the Success Rate of Crossover Operators for Genetic Programming with Offspring Selection
Genetic programming is a powerful heuristic search technique that is used for a number of real world applications to solve among others regression, classification, and time-series forecasting problems. A lot of progress …
Heuristic SearchTime SeriesTime Series AnalysisTime Series ForecastingPositional Cartesian Genetic Programming
Cartesian Genetic Programming (CGP) has many modifications across a variety of implementations, such as recursive connections and node weights. Alternative genetic operators have also been proposed for CGP, but have not …
Form