FunBO

Extends FunSearch to discover novel Bayesian Optimization acquisition functions in Python code, evaluated across black-box optimization suites.

Read the paper

The loop

  1. Proposes

    An LLM mutates Python acquisition functions mapping Gaussian Process posterior mean and variance to utility scores.

  2. Judged by

    A Bayesian Optimization benchmark harness runs full GP optimization loops with each candidate acquisition function on synthetic and hyperparameter tasks.

  3. Steers

    An island-model evolutionary database ranks acquisition functions by average simple regret and seeds the next prompt.

Headline result

Discovered acquisition functions that outperform Expected Improvement (EI) and Upper Confidence Bound (UCB) on unseen black-box optimization and HPO benchmarks.

What this does not prove

Evaluating each candidate acquisition function requires running multiple full Bayesian Optimization trajectories during the offline search.

How it generalizes the harness

An evolutionary island algorithm calls the LLM offline to discover closed-form Python acquisition functions that subsequently run inside standard BO solvers.

Classification

Classification of FunBO
What it proposesHeuristic
Generative modelCode-generating LLM inside an island evolutionary loop
Algorithmic authorityGaussian Process Bayesian Optimization benchmark evaluator
FeedbackScore
What gets updatedPopulation of candidates
When it runsOffline, at design time
ValidityEmpirical (measured)
EvidenceExperiments reported
LineageDerivative