A one followed by 120 zeros. That is the famous estimate for the number of possible games of chess — the Shannon number, roughly . For comparison, the observable universe contains only about atoms. The estimate comes from Claude Shannon's 1950 paper Programming a Computer for Playing Chess [1] — the founding paper of computer chess, written before any computer could actually play. In this paper we will recreate Shannon's back-of-the-envelope calculation for ourselves. All we need is one idea: repeated branching means repeated multiplication, which means powers.
Shannon was not trying to count games for fun. He wanted to show that the "obvious" strategy — make a computer examine every possible continuation and pick the best one — was hopeless, so a chess computer would need something cleverer (what we now call evaluation and search heuristics). To make that case, he only needed the number's rough size, which is why the whole derivation fits in three lines.
Multiplying thirty moves at a time
The key observation is that chess is a branching tree. From any position you can play several moves; from each resulting position your opponent can play several replies; and so on. Every extra move multiplies the number of possible games.
-
In a typical middle-game position, a player has about legal moves to choose from.
-
Consider one full move-pair — White moves, then Black replies. That gives about continuations per move-pair.
-
A typical game lasts around move-pairs. Stacking rounds of thousand-fold branching gives:
Being honest about the rounding: if we keep instead of promoting it to , we get . Shannon knew this — his figure was always an order-of-magnitude estimate, and whether the true value is or changes nothing about the conclusion.
Bigger than the universe can count
The standard astronomical estimate is that the observable universe contains about atoms — physicists have been making estimates of this size since Arthur Eddington in the 1930s [2]. Dividing:
For every atom in the observable universe, there are ten thousand trillion trillion trillion chess games. Let us push the thought experiment to breaking point. Turn every atom into a computer, let each one check a trillion () games per second, and run them since the Big Bang ( seconds — see our derivation of the age of the universe):
That is still short by a factor of about — twenty billion times too few. Even the number of ways to shuffle a deck of cards, an already-absurd , is a rounding error next to the Shannon number.
Games are not positions
Chess offers roughly possible games — a number we recreated with one multiplication repeated times. Two honest caveats. First, this counts sensible games of typical length; deliberately long legal games push the count far higher, so is a lower-bound flavour of estimate. Second, games are not positions: many different games reach the same position, and Shannon himself estimated only around distinct positions [1], with modern computations placing the number of legal positions near [3]. That smaller number is the one that matters for "solving" chess — and it is still so large that, seventy-five years after Shannon's paper, chess remains unsolved. His point stands: no computer will ever brute-force chess. It has to be clever instead.
References:
[1] Claude E. Shannon, "Programming a Computer for Playing Chess", Philosophical Magazine, Ser. 7, Vol. 41, No. 314 (1950).
[2] Arthur S. Eddington, The Philosophy of Physical Science (Cambridge University Press, 1939).
[3] John Tromp, "Chess Position Ranking", github.com/tromp/ChessPositionRanking
Note: The Shannon number estimates games of typical length between reasonable players; it is an order-of-magnitude argument, not an exact count.