metadata
license: apache-2.0
tags:
- reinforcement-learning
- self-play
- monte-carlo-tree-search
- policy-value-network
- gradio
MicroZero
MicroZero is a tiny AlphaZero-style Tic-Tac-Toe agent. A shared neural trunk predicts both move priors and position value. Monte Carlo Tree Search converts those estimates into stronger self-play targets, while terminal outcomes supervise value learning.
The training loop uses:
- neural-guided PUCT search;
- root Dirichlet exploration;
- policy targets from MCTS visit counts;
- terminal win/draw/loss value targets;
- all eight square-board symmetries;
- a bounded replay buffer.
Evaluation alternates playing first and second against random and exact minimax opponents.
Verified results
- 7,626 trainable parameters;
- 980 neural-MCTS self-play games;
- 24,000-example bounded replay buffer after symmetry augmentation;
- 384 wins, 16 draws, and zero losses over 400 games against random play;
- 200 draws and zero losses over 200 games against exact minimax.
The exact opponent is used only for final evaluation, not as a source of training
targets. Full metrics and the per-iteration learning history are stored in
artifacts/microzero/evaluation.json.
Reproduce
uv run python projects/microzero/train.py