LLM-SR: Scientific Equation Discovery via Programming with Large Language Models
<|reference_start|>LLM-SR: Scientific Equation Discovery via Programming with Large Language Models: Mathematical equations have been unreasonably effective in describing complex natural phenomena across various scientific disciplines. However, discovering such insightful equations from data presents significant challenges due to the necessity of navigating extremely high-dimensional combinatorial and nonlinear hypothesis spaces. Traditional methods of equation discovery, commonly known as symbolic regression, largely focus on extracting equations from data alone, often neglecting the rich domain-specific prior knowledge that scientists typically depend on. To bridge this gap, we introduce LLM-SR, a novel approach that leverages the extensive scientific knowledge and robust code generation capabilities of Large Language Models (LLMs) to discover scientific equations from data in an efficient manner. Specifically, LLM-SR treats equations as programs with mathematical operators and combines LLMs' scientific priors with evolutionary search over equation programs. The LLM iteratively proposes new equation skeleton hypotheses, drawing from its physical understanding, which are then optimized against data to estimate skeleton parameters. We demonstrate LLM-SR's effectiveness across three diverse scientific domains, where it discovers physically accurate equations that provide significantly better fits to in-domain and out-of-domain data compared to the well-established symbolic regression baselines. Incorporating scientific prior knowledge also enables LLM-SR to search the equation space more efficiently than baselines. Code is available at: https://github.com/deep-symbolic-mathematics/LLM-SR<|reference_end|>
@article{shojaee2024llm-sr:,
    title={LLM-SR: Scientific Equation Discovery via Programming with Large
  Language Models},
    author={Parshin Shojaee, Kazem Meidani, Shashank Gupta, Amir Barati Farimani,
  Chandan K Reddy},
    journal={arXiv preprint arXiv:2404.18400},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.18400},
    primaryClass={cs.LG cs.AI cs.CL cs.NE}
}