FunSearch
In plain wordsA Google DeepMind method that discovered new mathematical constructions by having a language model repeatedly rewrite short computer programs, keeping the versions that scored best.
An evolutionary program synthesisprogram synthesis, n.: Getting a computer to write a program automatically from a description of what the program should do — a logical specification, a few input–output examples or a request in plain language. method from Google DeepMind in which a pretrained language modellarge language model, n.: A computer program trained on enormous amounts of text to predict the words that come next. At vast scale, that simple skill lets it chat, answer questions, translate, summarize and write code. serves as the mutation operator. The user supplies an evaluation function and a program skeleton; FunSearch keeps a database of candidate programs, split into islands to preserve diversity, repeatedly prompts the model with a few high-scoring programs and asks for a better one, runs and scores each new program automatically, and adds successful ones back to the database. Automatic scoring filters out incorrect or hallucinated programs, so reported results can be checked, and since the product is a short program, a person can often read it and see why it works. FunSearch found cap sets in eight dimensions larger than any previously known and heuristics for online bin packing that beat standard ones. Its successor, AlphaEvolveAlphaEvolve, prop. n.: A Google DeepMind system that combines AI language models with an evolution-like search to invent and improve computer programs, finding new results in mathematics and computing. (2025), evolves larger codebases with stronger models.
Origin
Introduced by Bernardino Romera-Paredes, Mohammadamin Barekatain, Alexander Novikov and colleagues at Google DeepMind (last author Alhussein Fawzi) in 'Mathematical discoveries from program search with large language models', published online by Nature on 14 December 2023. The name refers to searching in function space.
Related
- AlphaEvolveAlphaEvolve, prop. n.: A Google DeepMind system that combines AI language models with an evolution-like search to invent and improve computer programs, finding new results in mathematics and computing.
- program synthesisprogram synthesis, n.: Getting a computer to write a program automatically from a description of what the program should do — a logical specification, a few input–output examples or a request in plain language.
- genetic programminggenetic programming, n.: Using simulated evolution to write computer programs: random programs compete at a task, and the best are combined and mutated over many generations until one does the task well.
- evolutionary computationevolutionary computation, n.: Problem-solving by simulated evolution, much as breeders improve crops: keep many candidate answers, let the better ones produce slightly altered offspring, drop the worse, and repeat for many rounds.
- large language modellarge language model, n.: A computer program trained on enormous amounts of text to predict the words that come next. At vast scale, that simple skill lets it chat, answer questions, translate, summarize and write code.
Sources
- Romera-Paredes, B. et al. (2024). Mathematical Discoveries from Program Search with Large Language Models. Nature 625, 468–475.
Mentioned in
evolutionary computationevolutionary computation, n.: Problem-solving by simulated evolution, much as breeders improve crops: keep many candidate answers, let the better ones produce slightly altered offspring, drop the worse, and repeat for many rounds., program synthesisprogram synthesis, n.: Getting a computer to write a program automatically from a description of what the program should do — a logical specification, a few input–output examples or a request in plain language.