This repository hosts trained checkpoints for
YahtzeeRL, a JAX/Flax/RLax self-play
Yahtzee agent using Stochastic MuZero-style MCTS.
The current published checkpoint is a competitive two-player, head-to-head
agent trained on simplified standard Yahtzee scoring: 13 categories plus upper
bonus, without Joker rules or extra Yahtzee bonuses.
Best Checkpoint
The best competitive checkpoint is:
win_loss_margin_32simsrun4/step_011800
This checkpoint should be treated as the default competitive agent. A later
checkpoint, step_012800, regressed in direct greedy-policy comparison.
Download
Install the Hugging Face CLI, then download the checkpoint folder into the
project's expected local checkpoint path:
The checkpoint directory includes the run-level config.json plus Orbax
checkpoint folders such as step_011800/. The YahtzeeRL loader needs both the
step folder and the adjacent config.json.
These results suggest that step_011800 is the best competitive checkpoint
from the observed runs, and that the greedy policy has already absorbed most of
the useful shallow/medium search behavior.
Training Objective
The checkpoint was trained for two-player competitive play with margin-shaped
terminal rewards:
Training uses self-play, replay-buffer minibatches, and policy/value targets
derived from MCTS search.
Intended Use
This checkpoint is intended for:
evaluating a trained Yahtzee RL policy against baselines
playing against the agent locally
reproducing or extending the YahtzeeRL experiments
studying a compact JAX/Flax self-play setup with exact dice chance nodes
Limitations
This is a competitive head-to-head agent, not a pure score-maximizing Yahtzee
solver.
The environment omits Joker rules and extra Yahtzee bonuses.
The agent's average score is around the low 200s in the observed evaluations;
it was not optimized to maximize solo final score.
Later training on the same objective produced regressions, so step_011800
should be preserved as the default checkpoint unless a new run beats it in
direct evaluation.
Future Direction
A separate score-maximizing agent would likely need a different terminal reward,
for example:
tanh((own_score - 200) / 50)
That should be evaluated by greedy mean score over at least 1k games rather than
head-to-head win rate.