Skip to content

M52: Crazy Fruits combo curriculum — seeded-specials starts + combo-biased exploration - #40

Draft
PieterjanDeClippel wants to merge 1 commit into
masterfrom
m52-crazyfruits-combo-curriculum
Draft

M52: Crazy Fruits combo curriculum — seeded-specials starts + combo-biased exploration#40
PieterjanDeClippel wants to merge 1 commit into
masterfrom
m52-crazyfruits-combo-curriculum

Conversation

@PieterjanDeClippel

Copy link
Copy Markdown
Member

Why

Owner question after M51 shipped: has the net ever experienced what a wrapped+wrapped or bomb+bomb combo pays? Investigation answer: the deterministic combo payoff is already in the net's input planes and dense targets — what's missing is state frequency (combo-legal states ≈2.8% of natural play; adjacent bomb+bomb ≈ never) and the realized post-combo refill experience only playing them provides.

Full design + 2-agent verification record: docs/prd/CRAZY_FRUITS_COMBO_CURRICULUM_PRD.md (PLAN M52).

What

  • Combo-biased ε-exploration (primary lever): generic DqnOptions.ExploreBias hook, consulted only inside the ε-branch (null ⇒ zero extra RNG draws ⇒ every other game bitwise-identical). Crazy Fruits wires it so an exploration step with a legal special+special swap takes one with probability q — realized combo experience at zero distribution shift.
  • Seeded-specials training starts: CrazyFruitsEnv.SeedSpecialsProb — with probability p the training board is dealt combo-ready (one adjacent special pair + up to 2 singles) by overwriting plain cells' kinds. Fruit types are kept, so the deal's no-instant-match / has-legal-swap guarantees hold by construction; draws come from the env RNG stream (deterministic); default OFF — the eval env and every gate stay on natural boards. Exists specifically to manufacture adjacent bomb+bomb, which ε-bias can't reach.
  • Adjacent pairs only — a near pair's bring-together swap has a flat γ=0 label (the multi-move setup skill stays with the future search-distillation lever).
  • Lab: --seed-specials / --combo-explore; per-kind created counts in --baselines (new gate instrument).
  • Tests: 67/67 green (4 new: seeded invariants, per-seed determinism, suggestion-hook legality, agent bias redirect).

Training status — 🔄 IN PROGRESS (draft until gates run)

cf10train = full resume of cf9train's training state (Adam moments + 100k natural replay buffer carry over; owner choice: reuse checkpoint + full 400k budget) → 800k absolute steps, p=0.25, q=0.5. Keep-best is armed at the resumed net's own eval, so the deployable net is only overwritten when beaten.

Pre-registered gates (run when training completes):

  1. 500-ep natural-board score NOT CI-separated below cf9train's 5666.4
  2. Probe (1000 eps, natural boards): combo take-rate ≥ 75% (baseline 63%)
  3. Bomb-bucket opportune take ≥ 85% (baseline 80%)
  4. All M50.3 bars stay green (≥+30%/random · gap-share ≥64% · created ≥7.3 / fired ≥5.6)
  5. Per-kind created non-regression vs cf9train, especially bomb-created

Escalation if 2/3 miss: raise q, one run, stop-loss. This PR ships the new checkpoint only if gates pass; the code is complete and independently tested either way.

🤖 Generated with Claude Code

…tion

Owner question: the net has plausibly never experienced wrapped+wrapped or
bomb+bomb combos. Investigation (2-agent design verification): the
deterministic combo payoff is already in the input planes and dense targets;
what's missing is state FREQUENCY (combo-legal ~2.8% of natural play,
adjacent bomb+bomb ~never) and realized post-combo experience.

- CrazyFruitsEnv.SeedSpecialsProb: with prob p the training board is dealt
  combo-ready (adjacent special pair + up to 2 singles) by overwriting plain
  cells' kinds - fruit types unchanged, so the deal's no-instant-match and
  has-legal-swap guarantees hold by construction; env RNG stream keeps runs
  deterministic; default OFF (eval + gates stay on natural boards)
- CrazyFruitsEnv.ComboExploreBias + DqnOptions.ExploreBias: generic
  exploration-bias hook consulted only in the epsilon-branch (null = zero
  extra RNG draws, other games bitwise-identical); with prob q an
  exploration step takes a legal special+special swap - realized combo
  experience at zero distribution shift (the RL review's primary lever)
- adjacent pairs ONLY: a near pair's bring-together swap has a flat gamma=0
  label (teaches nothing) - the setup skill stays with the search lever
- Lab: --seed-specials / --combo-explore; per-kind created counts in
  --baselines (new gate: kind-mix non-regression, esp. bomb-created)
- PRD docs/prd/CRAZY_FRUITS_COMBO_CURRICULUM_PRD.md + PLAN M52; tests 67/67
  green (4 new)
- cf10train launched: full RESUME of cf9train (Adam moments + natural replay
  buffer carry over) -> 800k absolute (400k new), p=0.25, q=0.5

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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