Improving Genetic Programming for Symbolic Regression with Equality Graphs
The search for symbolic regression models with genetic programming (GP) has a tendency of revisiting expressions in their original or equivalent forms. Repeatedly evaluating equivalent expressions is inefficient, as it does not immediately lead to better solutions. However, evolutionary algorithms require diversity and should allow the accumulation of inactive building blocks that can play an important role at a later point. The equality graph is a data structure capable of compactly storing expressions and their equivalent forms allowing an efficient verification of whether an expression has been visited in any of their stored equivalent forms. We exploit the e-graph to adapt the subtree operators to reduce the chances of revisiting expressions. Our adaptation, called eggp, stores every visited expression in the e-graph, allowing us to filter out from the available selection of subtrees all the combinations that would create already visited expressions. Results show that, for small expressions, this approach improves the performance of a simple GP algorithm to compete with PySR and Operon without increasing computational cost. As a highlight, eggp was capable of reliably delivering short and at the same time accurate models for a selected set of benchmarks from SRBench and a set of real-world datasets.
Code (2)
Tasks
Evolutionary AlgorithmsregressionSymbolic RegressionMethods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
The Inefficiency of Genetic Programming for Symbolic Regression -- Extended Version
We analyse the search behaviour of genetic programming for symbolic regression in practically relevant but limited settings, allowing exhaustive enumeration of all solutions. This enables us to quantify the success proba…
regressionSymbolic RegressionSymbolic Regression via Neural-Guided Genetic Programming Population Seeding
Symbolic regression is the process of identifying mathematical expressions that fit observed output from a black-box process. It is a discrete optimization problem generally believed to be NP-hard. Prior approaches to so…
Combinatorial OptimizationregressionSymbolic RegressionSymbolic Regression via Deep Reinforcement Learning Enhanced Genetic Programming Seeding
Symbolic regression is the process of identifying mathematical expressions that fit observed output from a black-box process. It is a discrete optimization problem generally believed to be NP-hard. Prior approaches to so…
Combinatorial OptimizationDeep Reinforcement Learningregressionreinforcement-learning+3Hash-Based Tree Similarity and Simplification in Genetic Programming for Symbolic Regression
We introduce in this paper a runtime-efficient tree hashing algorithm for the identification of isomorphic subtrees, with two important applications in genetic programming for symbolic regression: fast, online calculatio…
DiversityregressionSymbolic RegressionEquality Graph Assisted Symbolic Regression
In Symbolic Regression (SR), Genetic Programming (GP) is a popular search algorithm that delivers state-of-the-art results in term of accuracy. Its success relies on the concept of neutrality, which induces large plateau…