Mikel Landajuela, Brenden Petersen, Claudio Santiago, Ruben Glatt, T Mundhenk, Daniel Faissol
We lifted 12 functions out of this paper's own repositories and ran 11 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| brendenpetersen/deep-symbolic-optimization | canonical | 10 of 10 |
| brendenpetersen/deep-symbolic-regression | canonical | 1 of 2 |
| Function | Status | Where it lives |
|---|---|---|
| ancestors | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/subroutines.py code served (permissive licence) · get_code("3eea232ae123a570") |
| build_tree | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/program.py code served (permissive licence) · get_code("badc643b83f2a81c") |
| expneg | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/functions.py code served (permissive licence) · get_code("8822871a45f951ca") |
| get_samples | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/memory.py code served (permissive licence) · get_code("fa4716b703136678") |
| jit_parents_siblings_at_once | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/subroutines.py code served (permissive licence) · get_code("06f868b7d6d08367") |
| load_batch | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/memory.py code served (permissive licence) · get_code("b7cae67defd7ffaf") |
| logabs | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/functions.py code served (permissive licence) · get_code("6b8d1788316b1a60") |
| make_const_optimizer | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/const.py code served (permissive licence) · get_code("5faf005c8eea017e") |
| make_regression_metric | Ran | brendenpetersen/deep-symbolic-regression/dso/dso/task/regression/regression.py code served (permissive licence) · get_code("e9e4cb651442fe28") |
| n3 | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/functions.py code served (permissive licence) · get_code("903f4dea3d222a10") |
| parents_siblings | Ran | brendenpetersen/deep-symbolic-optimization/dso/dso/subroutines.py code served (permissive licence) · get_code("d5ec98854f5f221a") |
| recursive_inversion | Not yet run | brendenpetersen/deep-symbolic-regression/dso/dso/task/regression/polyfit.py code served (permissive licence) · get_code("cad59c464d3b59e1") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
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 solving the problem include neural-guided search (e.g. using reinforcement learning) and genetic programming. In this work, we introduce a hybrid neural-guided/genetic programming approach to symbolic regression and other combinatorial optimization problems. We propose a neural-guided component used to seed the starting population of a random restart genetic programming component, gradually learning better starting populations. On a number of common benchmark tasks to recover underlying expressions from a dataset, our method recovers 65% more expressions than a recently published top-performing model using the same experimental setup. We demonstrate that running many genetic programming generations without interdependence on the neural-guided component performs better for symbolic regression than alternative formulations where the two are more strongly coupled. Finally, we introduce a new set of 22 symbolic regression benchmark problems with increased difficulty over existing benchmarks. Source code is provided at www.github.com/brendenpetersen/deep-symbolic-optimization.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2111.00053")
get_code_for_paper("2111.00053")
have("2111.00053")
Connect an agent — have() is free.