dormant

Tabula Zero

An AlphaZero-style chess engine built entirely from scratch in C++ — no ML or chess libraries — that learns to play through self-play.

Tabula rasa — a blank slate. The engine begins knowing only the rules of chess and learns the rest by playing itself. The name combines that idea with AlphaZero, whose method is rebuilt here by hand.

Everything is implemented from scratch in C++20: the tensor algebra, automatic differentiation, the neural network, Monte Carlo Tree Search, and the self-play reinforcement learning loop. No machine-learning frameworks, no chess libraries. The point is understanding, not speed.

Milestones M0 through M8 are complete. The move generator passes all standard perft positions, gradients are numerically verified, the network can memorize positions, MCTS finds forced mates with a naive evaluator, and the self-play training loop produces improving networks. A UCI interface lets it play in any standard chess GUI.

It is not yet strong — a training generation takes roughly 45 minutes on two cores — but the whole machine works and is honestly measured. The only remaining milestone is M9, which concerns performance.

Bodies