FunSearch
An LLM writes small programs that build a solution, an evaluator scores them, and the best programs go back into the prompt.
The loop
- Proposes
Python functions (inside a fixed skeleton) that construct cap sets or pack bins
- Judged by
An automated evaluator that runs each program and scores its output
- Steers
Best programs are shown in later prompts; islands of programs are periodically reseeded
Headline result
On the cap set problem, FunSearch found a cap set of size 512 in 8 dimensions (the previous best known was 496) and raised the lower bound on the asymptotic cap set capacity to 2.2202 (previous best 2.2180). On online bin packing it evolved heuristics that beat first fit and best fit on the OR-Library sets OR1-OR4 and on Weibull instances.
What this does not prove
Results are for two problem families with a cheap, graded score. The paper notes that the method needs such a score and that sampling is costly. The public repo is a reference implementation only: it has no LLM, no sandbox and no distributed system.
How it generalizes the harness
The evolutionary search and evaluator do the solving, over a population of programs, and the winning program is a standalone artifact that runs without the model.
Classification
| What it proposes | Program |
|---|---|
| Generative model | Pretrained LLM, frozen (Codey, a PaLM 2 based code model, used without fine-tuning) |
| Algorithmic authority | Program evaluator in a sandbox |
| Feedback | Score |
| What gets updated | Prompt context and population of candidates |
| When it runs | At inference time |
| Validity | Empirical (measured) |
| Evidence | Experiments reported |
| Lineage | Original system |