Implement CMA-ES module #102

Open
opened 2026-08-28 22:03:02 +02:00 by SirStone · 0 comments
Owner

Parent

#99

What to build

part-of: #99

Create a standalone CMA-ES optimizer module. Full (not separable) CMA-ES with state object holding mean, covariance matrix, step-size (σ), evolution paths. Interface: init, sample λ candidates, update distribution from ranked results. Auto-sized λ = 4 + floor(3 × ln(n)). No game dependency — pure optimizer.

Acceptance criteria

  • initCma(n) creates a valid CMA state for n dimensions
  • sample() produces λ candidate weight vectors (λ auto-sized)
  • update() accepts ranked candidates and updates the distribution
  • Self-check: optimizing a sphere function converges to the origin within a reasonable generation count
  • Module has no imports from game/bot code — pure math

Blocked by

None — can start immediately.

## Parent #99 ## What to build part-of: #99 Create a standalone CMA-ES optimizer module. Full (not separable) CMA-ES with state object holding mean, covariance matrix, step-size (σ), evolution paths. Interface: init, sample λ candidates, update distribution from ranked results. Auto-sized λ = 4 + floor(3 × ln(n)). No game dependency — pure optimizer. ## Acceptance criteria - [ ] `initCma(n)` creates a valid CMA state for n dimensions - [ ] `sample()` produces λ candidate weight vectors (λ auto-sized) - [ ] `update()` accepts ranked candidates and updates the distribution - [ ] Self-check: optimizing a sphere function converges to the origin within a reasonable generation count - [ ] Module has no imports from game/bot code — pure math ## Blocked by None — can start immediately.
SirStone added the wayfinder:task label 2026-08-28 22:03:02 +02:00
SirStone added the ready-for-agent label 2026-08-28 22:15:06 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SirStone/SirRoboGarage#102