Model cardwhat this brain can do, what plays here, what was measured
What this brain can do
- Learned the rules from the games it played. How a stone falls and what four in a row is were never given.
- Beats AlphaZero trained with alpha-zero-general's published recipe: 0.945 and 0.990 over 100 paired games at 25 and 100 simulations per move.
- Imagines the boards its moves lead to and searches them eight plies deep; a validator rejects an imagined board that is not the old board plus one stone.
- Keeps learning from the game you play against it. Every move either side makes is written into the records that read it.
- Sees traps coming: keeps the theoretical result in 89.5% of 200 trap positions where minimax at 1,024 nodes keeps 57%.
- Small and fast. 1,200 games, half an hour on one CPU core to train; about 40 ms per move in your browser.
What plays here
The Connect Four brain of cadence-examples, seed 0 of the development run of 16 September 2026, with its search set deeper than it trained at. Two record cortices and a search: the drop records hold where a stone lands in each column, the line records hold which windows of four cells are finished lines and how the games that held each window pattern ended, and negamax with alpha-beta pruning searches the boards the records imagine. The small settled regions of the agent carry the event transaction: sensory and goal neurons drive a workspace of 16, the workspace couples to a dynamics region of 8, the motor neurons read the column off the workspace, and the context neurons carry a trace of the last workspace state. The scan draws every settling step of every phase as it happens, and the synapses flash when an update moves them. The rules were never given: the world emits boards and the brain writes what it observes.
How it was trained
One life of 1,200 games, about half an hour on one CPU core. 200 random games first. Then 800 games against a mixture: 20% a random opponent, 20% an opponent that takes a win and blocks one, 20% frozen snapshots of itself, 20% Pascal Pons' perfect solver playing the perfect column 30% of the time and a random one otherwise, and 20% the solver at 70%. Then 200 games against 20% the one-ply opponent, 40% the solver at 70% and 40% the solver at 100%. The solver is an opponent and nothing else: the brain sees its moves and the outcomes of the games, never its scores. Perfect play alone would make every game a loss and every value zero, which is why the strengths are graded. The training curve is flat after about 200 games: the value table has 81 window patterns and fills early.
Every move either side makes is written into the records that read it: the column readings take the row the stone occupied, the windows of the new board take incomplete, and when the move won, the window through the new stone takes complete. When the game ends, every window pattern the game held takes the outcome of the side that had just moved. The writes touch only the cells the reading lit, so one game is written almost exactly and the games before it stay. The brain on this page keeps learning from the games it plays.
The trained life searched four plies within 1,024 imagined transitions per move. The page plays the same records at eight plies within 32,768 transitions. The search is supplied and the records are what was learned, so the deeper setting changes no learned number. The browser answers in about 40 ms per move on average and within 150 ms at worst on a 2024 laptop.
Results
100 paired games per opponent, the brain opening half of them; win 1, draw 0.5, loss 0. Every move the brain made was scored by the perfect solver. A blunder is a move that turns a won position into a drawn or lost one, or a drawn one into a lost one, counted over the positions that were not already lost.
| opponent | score at 4 plies | blunders at 4 plies | score at 8 plies | blunders at 8 plies |
| random | 0.990 | 25.7% | 1.000 | 13.1% |
| one-ply (takes a win, blocks one) | 0.985 | 19.2% | 1.000 | 10.3% |
| minimax, 1,024 nodes, true rules | 0.875 | 16.7% | 0.955 | 11.8% |
| perfect solver at 50% | 0.880 | 26.5% | 0.965 | 18.2% |
| perfect solver at 70% | 0.725 | 26.8% | 0.890 | 17.0% |
| perfect solver | 0.000 | | | |
| AlphaZero, 25 simulations per move | 0.730 | 16.4% | 0.945 | 22.1% |
| AlphaZero, 100 simulations per move | 0.800 | 17.1% | 0.990 | 16.8% |
Looking ahead: on 200 trap positions whose only sound column is refuted between four and more than ten plies later, drawn from random play and graded by the solver, the brain keeps the theoretical result in 89.5% of them at eight plies and 87.5% at four; minimax at 1,024 nodes keeps it in 57.0%, the one-ply opponent in 50.5%.
For scale: minimax at 1,024 nodes blunders in 40% to 50% of its positions against the same opponents and scores 0.375 and 0.260 against the two AlphaZero settings. The first player wins Connect Four with perfect play, so every imperfect player loses to the perfect solver over a paired schedule.
AlphaZero here is alpha-zero-general's Connect Four, trained by us in PyTorch with the repository's published recipe: 100 self-play games and 25 MCTS simulations per move per iteration, 32 iterations on one A10G, the model of iteration 24 (the 14th accepted network, sha256 a7477699). That model scores 0.738 against the one-ply opponent, 0.688 against minimax at 1,024 nodes and 0.562 against the solver at 70%. In the paired games its openings are sampled from its visit counts for the first three stones so the games differ, and its tree starts fresh each game.
What it cannot do
Beyond the search horizon the brain values a board as the mean of its 69 window values, and that mean separates positions weakly: the seven moves of a typical middle-game position lie within 0.02 of each other. A threat prepared further ahead than the search sees wins against it. A version whose value reading carries the support of each cell and learns from its own search is work in progress.
code · the cadence library · why brains, not transformers · what we found · receipt of the life · bench receipts · training configuration