Fact-checked by Grok 2 weeks ago

Shannon number

The Shannon number is an estimate of the game-tree complexity of chess, representing the approximate total number of possible unique sequences of moves in the game, calculated by mathematician in 1950 as roughly $10^{120}. This figure, derived from an average of about 30 legal moves per position across the 80 plies of a typical 40-move game, serves as a conservative lower bound on chess's combinatorial depth. Named after for his pioneering work in applying to games, the number highlights the impracticality of brute-force computation for achieving perfect play, as even a machine processing one variation per would require over $10^{90} years to evaluate the first move alone. It has profoundly influenced development, emphasizing the need for selective search methods, evaluation functions, and heuristics in algorithms like those used in early programs and modern engines. Subsequent analyses have refined estimates, suggesting the actual number may exceed $10^{120} when accounting for longer games and promotions, but 's original calculation remains a foundational for understanding chess's vast strategic possibilities.

Definition and Context

Overview of Game-Tree Complexity

Game-tree complexity refers to the total number of possible distinct sequences of moves, or game paths, that can unfold from the initial to a terminal state in a combinatorial game, encompassing all valid plays regardless of outcome. This measure captures the breadth of decision-making across the entire game duration, often approximated by raising the average —the number of legal moves per —to the power of the typical game length. In contrast, state-space quantifies only the number of unique reachable board positions, ignoring the sequences connecting them; for instance, while state-space counts static configurations, game-tree accounts for the dynamic exploration required in search algorithms like . Chess exemplifies high game-tree due to its extensive branching choices at each turn, where players face dozens of viable moves influenced by interactions, captures, and positional developments, leading to an exponentially growing tree of possibilities over 40–60 moves. This branching arises from the game's rich rules, including promotions, , and , which multiply options without simple repetition, making exhaustive computation infeasible even for modern hardware. Such underscores chess's status as a for , highlighting the challenge of navigating vast decision spaces under adversarial conditions. Efforts to estimate game complexity predated digital computers, with early 20th-century analyses of involving manual enumeration of positions and variations by dedicated players and theorists to grasp strategic depth. These pre-computer studies laid groundwork for later formal metrics by identifying patterns in move choices and game lengths, though limited by human computation. For context, simpler games like illustrate the concept on a manageable scale: with a grid and alternating turns, it yields approximately 255,168 distinct game sequences when accounting for early terminations on wins or draws, a figure dwarfed by chess's estimated scale. The Shannon number serves as a notable lower bound estimate specifically for chess's game-tree .

The Shannon Number Estimate

The Shannon number refers to Claude Shannon's 1950 estimate of at least $10^{120} possible unique chess games, serving as a measure of the minimum game-tree for the game. This figure quantifies the vast expanse of distinct move sequences that can arise under standard chess rules, highlighting the inherent in the game's . Within the broader of game-tree , it underscores why exhaustive computation of all variations remains infeasible for chess. To illustrate its immense scale, $10^{120} surpasses the estimated number of atoms in the , approximately $10^{80}, by 40 orders of magnitude. It also dwarfs the number of seconds elapsed since the , roughly $4 \times 10^{17}. These comparisons emphasize the Shannon number's role in demonstrating chess's complexity beyond the bounds of physical reality, where even the fastest computers could not enumerate all possibilities within the universe's lifetime. As a conservative lower bound, the estimate undercounts the true total by employing a simplified average of about 30 legal moves per turn and restricting analysis to of roughly 40 moves per side, thereby overlooking additional legal moves in complex positions and extensions from repetitions or prolonged play. Named after , it has since become the canonical benchmark for illustrating the intractability of chess for complete computational exploration.

Historical Origins

Claude Shannon's 1950 Paper

Claude Shannon's seminal paper, titled "Programming a Computer for Playing Chess," was first presented at the National IRE Convention in March 1950 and subsequently published in the Philosophical Magazine, Series 7, Volume 41, Issue 314, pages 256–275. Working at Bell Laboratories, where he had pioneered information theory in his 1948 paper "A Mathematical Theory of Communication," Shannon drew on these quantitative methods to explore computational challenges in games, motivated by the era's limited electronic computing resources, such as those of early machines like the ENIAC. The paper's structure begins with an outlining the theoretical and practical motivations for programming computers to play chess, emphasizing its as a test of machine amid early constraints. It proceeds to general considerations on representing chess positions and the game's inherent , followed by a detailed section on developing approximate functions to assess board states based on factors like and piece . Subsequent parts describe strategic approaches, including a "Type A" method for move selection and programming implementations for general-purpose computers, alongside discussions of enhancements like deeper searches in critical lines and variations in playing style. A key contribution was quantifying the computational infeasibility of exhaustive game-tree search for chess on contemporary , marking one of the earliest rigorous analyses of why full of the game's possibilities—estimated at around 10^{120} variations—exceeded practical limits.

Initial Reception and Influence

Upon its publication in , Claude 's paper "Programming a Computer for Playing Chess" was immediately recognized as the foundational of , establishing the theoretical framework for automated game playing despite the era's severe limitations that prevented full-scale implementation. Pioneers in computing, including , who had independently explored similar concepts in his contemporaneous work on digital computers and games, viewed 's contributions as a seminal step toward realizing machine intelligence in complex domains like chess. The paper's emphasis on the enormous game-tree —later quantified by the Shannon number—underscored the practical challenges, influencing early experimenters to adopt simplified approaches due to computational constraints. Shannon's work directly inspired the development of the first operational chess programs, notably the program of 1956, created by a team including Paul Stein and Mark Wells on the computer, which implemented a restricted variant of chess on a 6x6 board using principles from Shannon's analysis. This program marked the transition from theory to practice, demonstrating feasible search strategies amid hardware limits. More broadly, the paper ignited the field of computer game playing by formalizing the algorithm as a core decision-making process, where the machine evaluates positions by assuming optimal play from both sides, thereby laying the groundwork for subsequent optimizations like alpha-beta pruning introduced in the mid-1950s. By the late and into the , Shannon's complexity estimate informed pivotal debates on the boundaries of , particularly in the work of Herbert and Allen Newell, whose "Chess-Playing Programs and the Problem of Complexity" cited Shannon's analysis as a key reference in tracing the evolution of chess programs and highlighting the inherent challenges of scaling to handle vast combinatorial spaces. This collaboration between Newell, J.C. Shaw, and positioned chess as a rigorous for methodologies, emphasizing how Shannon's insights revealed the tension between theoretical possibility and practical . Throughout the , the Shannon number served as an enduring benchmark for measuring progress, symbolizing the formidable scale of chess's decision space and motivating generations of researchers to push computational boundaries in pursuit of human-level performance. Its relevance persisted in academic and discussions, framing chess not merely as a game but as a for broader challenges in design.

Original Calculation

Branching Factor Methodology

Claude Shannon's for estimating the game-tree complexity of chess centered on a simplified model that approximates the total number of possible move sequences as b^d, where b represents the average —the typical number of legal moves available from a given position—and d denotes the game's length in plies (half-moves). This approach models the chess search space as a , with each branching into subsequent positions, providing a foundational measure of computational demands for exhaustive analysis. By focusing on average values rather than position-specific variations, the method yields a practical upper-level estimate of the exploration required for perfect play. Shannon derived the branching factor b \approx 30 from empirical observations of master-level games, particularly drawing on data from Adriaan de Groot's studies of chess perception, which indicated that typical mid-game positions offer around 30 legal moves. This figure accounts for standard legal actions under chess rules, including pawn and piece advances, captures, and promotions, while remaining fairly consistent across most of the game until the endgame phase where fewer options emerge due to piece scarcity. In simplified analytical models, this average helps abstract the dynamic nature of move generation without delving into tactical subsets like immediate captures or checks, emphasizing overall positional mobility instead. For game length, Shannon assumed an average of 40 moves per player, equating to 80 plies in total, based on observations of competitive play leading to or . This fixed-depth assumption facilitates the core formula $30^{80}, which he approximated as $10^{120} by noting that a pair of moves (one by , one by ) offers about $10^3 possibilities, and 40 such pairs yield (10^3)^{40} = 10^{120}. The resulting estimate underscores the infeasibility of brute-force computation even with early technology. A key simplification in this methodology involves disregarding position repetitions, such as those triggering draws under the rule, and overlooking sequences that could lead to illegal states in exhaustive enumeration, thereby deriving a conservative lower bound on the total number of viable games. This prioritizes conceptual over precise legality enforcement, avoiding the need for full while highlighting the inherent vastness of the problem space.

Key Assumptions and Formulas

In Claude Shannon's seminal analysis, the total number of possible chess games is estimated by modeling the game tree as a uniform branching structure, yielding approximately $30^{80} distinct sequences from the starting position, which equates to about $10^{120}. This formulation assumes an average game length of 40 full moves (or 80 plies, counting each player's turn separately) and treats the game as terminating after this fixed depth without early endings. Key assumptions underpinning this estimate include an average of 30 legal moves available per position throughout the game, a figure derived from observational data on typical chess positions while simplifying the varying complexity across the board. Pawn promotions are not fully accounted for in their potential to increase branching (as each promotion can lead to multiple piece choices), and the model excludes draws, checks, repetitions, or other rules that could truncate paths or reduce variability, thereby focusing solely on legal move sequences to or exhaustion. These simplifications prioritize computational tractability over exhaustive rule adherence. The approximation reveals the scale: since $30 \times 30 \approx 10^3 possibilities per full move and there are 40 full moves, the total is (10^3)^{40} = 10^{120}. This uniform branching assumption overlooks tactical motifs, restrictions, and position-specific reductions in mobility, which would actually diminish the effective average in practice, reinforcing the figure as a conservative lower bound on the true game-tree complexity.

Modern Refinements

Upper Bound Improvements

Following Claude Shannon's original lower bound estimate of $10^{120} for chess game-tree complexity, subsequent analyses have sought to refine upper limits by addressing potential overestimations in branching factors and game lengths, while incorporating more precise enumerations of legal moves. However, tight upper bounds remain challenging, with practical estimates often relying on state-space constraints and maximum sequence lengths yielding figures far exceeding $10^{123}, such as over $10^{2000} for exhaustive maximum-depth trees. Key work on state-space complexity, which indirectly informs game-tree upper bounds, includes Victor Allis's 1994 assessment capping reachable positions at approximately $5 \times 10^{52}, including considerations for minor piece promotions. This serves as an input for upper bounding by multiplying by maximum depth, such as the longest possible game of around 5,949 moves (or 11,898 plies) under traditional rules. Allis's analysis incorporated full legal move enumeration, accounting for complexities such as promotions (up to eight per ) and captures, but emphasized that game-tree uppers are loose due to . Further advancements in position enumeration have tightened state-space estimates. In a 2021 analysis, John Tromp estimated the total number of legal chess positions at approximately $4.82 \times 10^{44}, achieved through exhaustive computational ranking of positions under rules, including rights, possibilities, and half-move clocks. This updated figure, lower than Allis's upper, underpins more precise game-tree upper bounds when combined with maximum depth multipliers, though practical uppers often exceed $10^{200} while avoiding implausible extensions.

Lower Bound Enhancements

Subsequent analyses have enhanced the lower bound of the by more accurately accounting for legal move variations, particularly through refined estimates of the that incorporate captures, , and promotions more comprehensively than Shannon's original conservative figure of 30. These elements increase the average number of options per , as captures can open new lines, force specific responses, and promotions add branching in scenarios. In 1994, Victor Allis adjusted the to 35 based on empirical observations from position analyses, raising the lower bound estimate to approximately $10^{123} for games of average length (80 plies). This refinement reflects a higher effective in midgame positions, where tactical motifs like captures and contribute to greater variability than initially assumed. Modern computational efforts in the 2020s, including exhaustive endgame tablebases such as the 7-piece bases containing over 1 unique positions, have verified the scale of the original $10^{120} lower bound while suggesting increments toward $10^{122} or higher when full tactical sequences are modeled in partial game-tree explorations. These tablebases demonstrate the immense in terminal positions alone, underscoring that the total game paths must exceed conservative estimates to reach such endpoints. Monte Carlo simulations, which generate random legal game sequences from starting positions, provide another method to validate and elevate the base lower bound by estimating the distribution of game lengths and move choices, confirming branching factors around 35-40 in practice and thus supporting enhanced totals beyond $10^{120}. A 2015 analysis of pre-promotion positions (games without pawn promotions) yields an upper bound of roughly $10^{40} for reachable board states in this subset, implying that even restricted game trees contribute significantly to the overall complexity, with scaling factors from promotions pushing the full lower bound higher.

Current Accurate Estimates

Contemporary estimates for the , representing the game-tree of chess, place lower bounds between $10^{120} (Shannon) and $10^{123} (Allis), with integrated computational models suggesting mid-range values around $10^{121} to $10^{122}. Upper bounds are significantly higher, potentially exceeding $10^{2000} based on maximum possible sequences. These refined figures draw from 21st-century advancements, including AI-driven simulations such as those conducted with , which probe extensive branches of the game tree to reveal the scale of possible variations, and exhaustive enumerations of legal positions, notably John Tromp's 2021 calculation of approximately $4.82 \times 10^{44} reachable positions that underpin estimates of game paths. Recent analyses up to affirm the stability of these bounds, with no substantial revisions since then. This game-tree magnitude starkly contrasts with the state-space complexity of approximately $4.82 \times 10^{44} positions, underscoring how repetitions and cycles in move sequences exponentially amplify the total number of possible games beyond mere positional counts.

Implications and Extensions

Sensible Versus Total Games

While the total number of possible chess games, as estimated by the Shannon number, reaches an astronomical 10^{120}, this figure includes countless illogical sequences, such as repeated blunders or perpetual loops that violate practical play. In contrast, "sensible" games constitute a vastly smaller , defined as move sequences adhering to reasonable strategies that avoid gross errors, unnecessary repetitions, and inefficient paths. These are estimated to number between 10^{40} and 10^{50}, reflecting a more realistic scope for strategic exploration in chess. A key theoretical foundation for understanding sensible games lies in Zermelo's theorem, which asserts that in finite, two-player games of like chess, at least one player possesses a to a win or a along certain paths, assuming optimal play from both sides. In actual grandmaster play, however, games average around 40 moves (or 80 plies), with players employing tactical to focus on viable lines rather than exhaustive . This selective approach mirrors the constraints of sensible games, emphasizing depth in promising variations over breadth. (Note: provides statistical data on game lengths.) Shannon himself highlighted sensible games as numbering approximately 10^{40}, a scale that, while immense, becomes manageable through selective search techniques in modern chess engines such as , which prioritize high-value moves via alpha-beta pruning and functions. Factors further constraining sensible games include chess rules that promote termination, such as the rule, which halts games repeating the same position three times, and mechanisms for early endings like or , often occurring well before the 50-move limit without captures or pawn moves. These elements ensure that realistic play converges far short of the theoretical maximum length.

Comparisons to Other Board Games

The Shannon number, estimated at approximately $10^{120} possible games for chess, serves as a for comparing the of other board games, particularly in terms of game-tree —the total number of distinct possible game sequences. Among strategic board games, Go exhibits vastly greater , with an estimated game-tree of around $10^{170}, owing to its 19×19 board featuring 361 intersection points and rules that emphasize minimal captures, allowing for an immense of over 200 moves per turn early in the game. This scale dwarfs chess, making exhaustive computation infeasible even with modern hardware. In contrast, (checkers) has a much smaller game-tree complexity, estimated between $10^{20} and $10^{31}, which enabled its complete solution in 2007 through , proving that perfect play by both sides results in a . This solvability highlights ' relatively modest depth compared to chess, with a lower average of about 2.8 and shorter average game length of around 70 ply. Other variants of chess, such as Japanese and Chinese xiangqi, surpass chess in due to expanded rulesets. 's game-tree size is estimated at $10^{226}, driven by its larger 9×9 board and the unique drop rule allowing captured pieces to be reintroduced, which exponentially increases mid- and possibilities. Similarly, xiangqi's reaches about $10^{150}, stemming from its 9×10 board, higher of roughly 38, and rules like the river barrier that promote aggressive play without piece promotion.
GameEstimated Game-Tree SizeKey Factors Contributing to Complexity
Chess$10^{120}8×8 board, 35 average branching factor, 80 ply length
Go$10^{170}19×19 board, 250+ branching factor, minimal captures
Checkers$10^{20}$10^{31}8×8 board, low branching factor (~2.8), solvable
Shogi$10^{226}9×9 board, piece drops, extended endgames
Xiangqi$10^{150}9×10 board, river rules, no
Chess's rules strike a distinctive balance, rendering it computationally intensive—far beyond simpler games like , with its game-tree size of approximately $10^{13}, which was solved in 1988—yet accessible for human intuition and mastery through strategic depth without overwhelming positional explosion. This equilibrium contributes to chess's enduring appeal in both recreational and competitive contexts.

References

  1. [1]
    [PDF] XXII. Programming a Computer for Playing Chess1
    This paper is concerned with the problem of constructing a computing routine or. "program" for a modern general purpose computer which will enable it to ...
  2. [2]
    XXII. Programming a computer for playing chess
    Original Articles. XXII. Programming a computer for playing chess. Claude E. Shannon Bell Telephone Laboratories, Inc., Murray Hill, N.J.. Pages 256-275 ...
  3. [3]
    On the number of positions in chess without promotion - ResearchGate
    Aug 8, 2025 · We improve Shannon's estimate and show that the number of positions where any number of chessmen may have been captured but no promotion has ...
  4. [4]
    [PDF] Board Games - IMADA
    State-space complexity: number of legal positions reachable from the initial state. Most often, an upper bound that includes illegal positions. Game tree ...
  5. [5]
    Game Complexity I: State-Space & Game-Tree Complexities
    Mar 6, 2019 · State-space complexity is the count of legal positions, while game-tree complexity is the number of distinct plays or paths in a game.
  6. [6]
    [1901.11161] An estimation method for game complexity - arXiv
    Jan 30, 2019 · We looked at a method for estimating the complexity measure of game tree size (the number of legal games). It seems effective for a number of children's games.<|control11|><|separator|>
  7. [7]
    [PDF] Checkers Is Solved RESEARCHARTICLES - CS@Cornell
    Jul 19, 2007 · The development of a strong checkers program began in the 1950s with Arthur. Samuel's pioneering work in machine learning. In 1963, his program ...
  8. [8]
    [PDF] A Chess-Playing Machine - Paradise
    May 16, 2019 · by Claude E. Shannon it was undertaken with a serious purpose in mind. The investigation of the chess playing problem is intended to develop.
  9. [9]
    How Many Atoms Are There in the Universe?
    Jul 30, 2009 · It is estimated that the there are between 10 78 to 10 82 atoms in the known, observable universe. In layman's terms, that works out to between ten quadrillion ...
  10. [10]
    The Universe By Numbers
    The Universe By Numbers ; 432,000,000,000,000,000, 4.32 × 10 · Estimated age (in seconds) of the universe, assuming 13.7 billion years since the Big Bang.
  11. [11]
    How many unique chess positions are possible?
    Oct 25, 2024 · The number 10^120 is a conservative lower-bound estimate. The actual number is likely higher, as Shannon's estimate was based on 40-move games.
  12. [12]
    Shannon Issues the First Technical Paper on Computer Chess
    In March 1950 Claude Shannon Offsite Link of Bell Labs, Murray Hill, New Jersey, published "Programming a Computer for Playing Chess Offsite Link."
  13. [13]
    Programming a Computer for Playing Chess
    This paper is concerned with the problem of constructing a computing routine or "program" for a modern general purpose computer which will enable it to play ...
  14. [14]
  15. [15]
    Claude Shannon - Chessprogramming wiki
    In 1949 Shannon published a groundbreaking paper on computer chess entitled Programming a Computer for Playing Chess . ... Shannon number from Wikipedia ...Missing: original | Show results with:original
  16. [16]
    First Tests | Mastering the Game | Computer History Museum
    Dr. Dietrich Prinz in England wrote the first limited chess program in 1951. The computer was not powerful enough to play a full game but could find the best ...
  17. [17]
    Minimax - Chessprogramming wiki
    Claude Shannon (1950). Programming a Computer for Playing Chess, Philosophical Magazine, Ser.7, Vol. 41, No. 314 - March 1950 · Hermann Weyl (1950). Elementary ...
  18. [18]
    How Claude Shannon Helped Kick-start Machine Learning
    Jan 25, 2022 · In 1950 Shannon published an article in Scientific American and also a research paper describing how to program a computer to play chess. He ...Missing: motivation | Show results with:motivation
  19. [19]
  20. [20]
    [PDF] Searching for Solutions in Games and Artificial Intelligence - Free
    Searching for Solutions in Games and Arti cial Intelligence /. L. Victor Allis ; [ill. by the author]. - [S.l. : s.n.]. (Wageningen : Ponsen & Looijen). - Ill.
  21. [21]
    John's Chess Playground
    We can now confidently say that the number is approximately 4.8 x 10^44. al-Suli's Diamond. One Abu Bakr Muhammad bin Yahya al-Suli composed this ancient ...Missing: 2016 4.82 ×
  22. [22]
    Software suite for ranking chess positions and accurately estimating ...
    so the number of legal chess positions is approximately (4.82 +- 0.03) * 10^44. Related Work. Estimates of the number of legal chess positions date back to ...Missing: John 2016
  23. [23]
    Branching Factor - Chessprogramming wiki
    Average Branching Factor​​ In chess, in average there are about 35-38 moves per position. One additional cycle of growth expands each leaf so far accordantly. ...
  24. [24]
    Chess - Chessprogramming wiki
    In 1950 Claude Shannon gave a conservative lower bound (the Shannon number) of the game-tree complexity of chess of 10^120 (possible games), and 10^43 for the ...
  25. [25]
    Quantifying the complexity and similarity of chess openings using ...
    Apr 1, 2023 · The vast number of different playable games, estimated by C. E. Shannon to be around , is a key factor contributing to the complexity of chess.<|control11|><|separator|>
  26. [26]
    [PDF] What Makes Gameplay Creative?
    It is not widely considered to admit creativity. Conversely, chess is a game with approximately 1040 sensible games1 and has been demonstrated to admit ...
  27. [27]
    [PDF] Zermelo and the Early History of Game Theory
    It is generally agreed that the first formal theorem in the theory of games was proved by E. Zermelo1 in an article on Chess appearing in German in. 1913 ( ...
  28. [28]
    Site-Seeing by Sequencing
    **Summary of Complexity of Checkers from https://www.science.org/doi/10.1126/science.1144479:**