← LEFT BRAIN DOMINANT

Chess Is Solved-ish, and That's Fine

Jun 18, 2023 · 5 MIN READ
See also, the right brain on this: The Board Is Staring Back

Seven-piece tablebases are complete. The rest is search depth. That's roughly the state of the art, and it has been for a while, and the interesting thing is how little it has changed what chess is for the people who play it.

What "solved" means

There are three levels, and people mix them up constantly.

Ultra-weakly solved: you know the outcome of the game from the starting position with perfect play, but not how to achieve it. Hex is like this, by a strategy-stealing argument that proves the first player wins without saying how.

Weakly solved: you know the outcome and have a strategy that achieves it from the start. Checkers was weakly solved in 2007 by Jonathan Schaeffer's group after eighteen years of computation. It is a draw. Every perfect game of checkers ends in a draw, and there's a program that will never lose one.

Strongly solved: you know the outcome and the perfect move from every legal position, not just the ones reachable from the start. Tic-tac-toe. Connect Four. Nothing much bigger.

Chess is none of these. Not even ultra-weakly. Nobody knows whether the starting position is a win for white, a draw, or (nobody believes this) a win for black. The consensus is draw, with a great deal of confidence and zero proof.

The tablebases

What has been strongly solved is the end.

A tablebase is a database of every position with a given number of pieces, with the outcome and the distance to mate for each one, computed by retrograde analysis: start from every checkmate position, work backward one move at a time, and label everything. It's brute force with clever indexing, and it's exact.

Three-piece tablebases are trivial. Four and five were done in the eighties and nineties. Six-piece was completed in 2005. The seven-piece tablebase was finished on the Lomonosov supercomputer in Moscow in 2012 and takes about 140 terabytes. The compressed Syzygy version, which stores only win/draw/loss and a separate distance metric, is a more manageable 17 terabytes and is what engines actually use.

The seven-piece tables contain a position that requires 549 moves to win with best play, ignoring the fifty-move rule. Five hundred and forty-nine. No human could find that line, or understand it, or explain why any individual move in it is necessary. It is correct in a way that has nothing to do with chess as a human activity.

Eight-piece tablebases are in progress and will need something on the order of petabytes. Thirty-two pieces, the starting position, will need more atoms than are available.

The number

Claude Shannon, in the same 1950 paper that founded computer chess, estimated the number of possible games at about 10^120. This is the Shannon number and it gets quoted a lot, usually next to the number of atoms in the observable universe, which is around 10^80.

The number of legal positions is much smaller, somewhere around 10^44 by the best current estimates, and that's the number that would matter for strong solving. Still absurd. A tablebase for the full game isn't waiting on faster computers. It's waiting on a bigger universe.

So "the rest is search depth" is true but the search never bottoms out. Engines search as deep as they can, evaluate the leaf positions with a heuristic, and pick the move that leads to the best leaf. The tablebases sit at the bottom of the search and catch it when it gets within seven pieces. Everything above that's estimate.

The estimate got very good

The estimate is what changed. Deep Blue beat Kasparov in 1997 with a hand-tuned evaluation function and a lot of custom hardware. Stockfish spent the next two decades refining the same idea, a fast search over a heuristic that humans wrote, and by the mid-2010s it was rated around 3400, several hundred points above any human who has ever lived.

Then in 2017 DeepMind's AlphaZero learned chess from the rules alone in a few hours, by playing itself, and beat the Stockfish of the day in a match. What it had that Stockfish did not was an evaluation function that nobody wrote: a neural network that had discovered, from experience, what a good position looks like. It searched far fewer positions per second and won anyway, because its estimates were better.

Stockfish's response, in 2020, was to graft a small neural network onto its own evaluation, a technique called NNUE that was borrowed from computer shogi. Rating jumped about a hundred points overnight. Current engines are somewhere around 3600 and still climbing, slowly. The ceiling, presumably, is the rating a perfect player would have, and nobody knows what that is, except that against another perfect player it draws every game.

Draw death

Which is the thing people worry about. At the top of engine chess, the draw rate is already very high. In top human chess it has been rising for decades. If the game is a draw with best play, and the best players are getting closer to best play, then the game converges on draws, and a game that always draws isn't a game.

I think this is overstated. The rate of decisive games at the elite human level is still around a third. The reason isn't that the humans are far from perfect. It's that a human at 2800 plays a human at 2800, and the errors they make are correlated with the errors they can each exploit. What decides a chess game between humans isn't the truth of the position. It is who runs out of understanding first. And humans aren't approaching the truth fast enough for that to stop mattering in anyone's lifetime.

The engine, meanwhile, doesn't know it's winning. It has a number and the number went up. An evaluation is a scalar. That's all it ever was. The engine has no concept of a plan, a threat, a sacrifice, an ugly move. It has a search tree and a leaf value. Everything humans experience as the content of the game is a story we tell about a number.

Why it is fine

So here's why I think it's fine, and more than fine.

Chess was never interesting because its outcome was unknown. Nobody plays chess to find out whether the starting position is a draw. Chess is interesting because it's a bounded arena where two minds attempt to understand something faster than each other, and the attempt is visible, move by move, on a board. The existence of a perfect answer doesn't affect that any more than the existence of a perfect hundred-meter time affects whether a footrace is worth watching.

What the engines did was give the game an oracle. You can now play a move and, afterward, be told how wrong it was and why. That isn't the death of chess. It is a coach who has never been wrong and never gets tired. Players born after 2000 are better than anyone before them, by a wide margin, because they have had that coach since childhood. The game got harder and the humans got better and the ceiling is still nowhere in sight.

The 549-move mate is still down there in the tablebase, waiting. It has been correct since before anyone computed it. It does not care whether anyone plays it. That's what I find calming about the whole thing: the truth of chess exists, it's enormous, it's indifferent, and it leaves plenty of room to be a person in front of a board, trying.