Skip to content

Add Bayesian optimization with resumable TPE tuning - #4

Merged
KnightStackSys merged 1 commit into
mainfrom
feature/bayesian-tpe-optimization-20261113
Nov 13, 2026
Merged

KnightStackSys merged 1 commit into
mainfrom
feature/bayesian-tpe-optimization-20261113

Conversation

@KnightStackSys

Copy link
Copy Markdown
Owner

Summary

  • Add dependency-free discrete Tree-structured Parzen Estimator (TPE) Bayesian optimizer for integer UCI spin parameters.
  • Use a random startup phase followed by smoothed good/bad density models, selecting candidates via a log likelihood ratio and avoiding duplicates.
  • Evaluate each candidate through paired engine matches against fixed baseline options, using existing IronPhoenix or SpellWarden match runners.
  • Record W/D/L, smoothed objective, parameter vector, and deterministic RNG state; save atomically and reject incompatible resume configs.
  • Add tunex -c configs/bayesian.example.json bayesian [--iterations N], documentation, and tests.

Verification

Awaiting GitHub CI. No claim of measured Elo gains; validate selected settings with independent SPRT.

Notes

No Optuna or additional dependencies; TPE is a Bayesian optimization method rather than a Gaussian-process implementation. Boolean tuning remains a separate A/B test.

Implement a dependency-free discrete Tree-structured Parzen Estimator that proposes integer UCI tuning vectors using good/bad outcome densities and a smoothed l/g acquisition objective. Evaluate paired matches against a fixed baseline, track trial WDL and objectives, persist reproducible resume state, reject mismatched configurations, and expose a bayesian CLI with sample config and regression tests.
@KnightStackSys
KnightStackSys merged commit ef10c7f into main Nov 13, 2026
4 checks passed
@KnightStackSys
KnightStackSys deleted the feature/bayesian-tpe-optimization-20261113 branch November 13, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant