M52: Crazy Fruits combo curriculum — seeded-specials starts + combo-biased exploration - #40
Draft
PieterjanDeClippel wants to merge 1 commit into
Draft
M52: Crazy Fruits combo curriculum — seeded-specials starts + combo-biased exploration#40PieterjanDeClippel wants to merge 1 commit into
PieterjanDeClippel wants to merge 1 commit into
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
DqnOptions.ExploreBiashook, 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.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.--seed-specials/--combo-explore; per-kind created counts in--baselines(new gate instrument).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):
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