Computer chess is the study and practice of using computer programs to play, analyze, and advance the game of chess. It sits at the intersection of artificial intelligence, software engineering, and chess theory. The field’s central questions concern how to represent chess knowledge in a machine, how to search the vast tree of possible moves efficiently, and how to evaluate positions accurately enough to make strong decisions. Over time, computer chess has shifted from an academic proving ground for artificial intelligence into a mature engineering discipline whose products are used by virtually every serious chess player.
Chess is a finite, deterministic game of perfect information: both players see the entire board, and no randomness is involved. In principle, the game could be solved by examining every possible sequence of moves. In practice, this is impossible. The number of legal positions is estimated to be on the order of 10⁴³, and the number of possible games is vastly larger. No computer, now or in the foreseeable future, can search this space exhaustively. Computer chess therefore requires intelligent pruning and approximation.
The core challenge is to decide, from a given position, which move is best. A program must generate legal moves, look ahead through possible replies, and evaluate the resulting positions. Because full lookahead is impossible, every program relies on two complementary components: a search algorithm that explores a limited portion of the game tree, and an evaluation function that estimates the value of positions that are not searched to the end. The art of computer chess lies in balancing these two: deeper search reveals tactical sequences, while a good evaluation function captures strategic understanding that search alone cannot reach.
The idea of a chess-playing machine predates electronic computers. In the late eighteenth century, the mechanical Turk was a famous hoax—a hidden human operator controlled the "automaton." In the early twentieth century, the Spanish engineer Leonardo Torres Quevedo built a simple electromechanical device that could play a restricted endgame, the king and rook versus king. These were precursors in spirit, but they did not constitute computer chess as the field is understood today, because they did not involve general-purpose computation or the algorithmic representation of chess knowledge.
The modern field began with the advent of programmable computers. In the late 1940s and early 1950s, several pioneers independently recognized that chess could serve as a testbed for machine intelligence. Claude Shannon, in a 1950 paper, laid out the fundamental architecture that most chess programs still follow: a search tree, a minimax evaluation, and a heuristic evaluation function. He also identified the two basic search strategies—searching every line to a fixed depth, versus searching only promising lines more deeply—that would later be known as brute-force and selective search. Around the same time, Alan Turing wrote a chess program in pseudocode that he never fully implemented on a machine; he tested it by hand, simulating the program’s decisions on paper.
These early efforts were severely limited by hardware. The first programs that actually played legal chess ran on machines with tiny memories and slow processors. They could search only a few moves ahead and evaluated positions using crude material counts plus a few positional terms. Their playing strength was far below that of a strong human amateur. Yet they established the central research agenda: how to make a machine choose good moves with limited computational resources.
For the first two decades, most researchers assumed that a successful chess program would need to imitate human thought: recognize patterns, form plans, and selectively examine only the most relevant moves. This approach, often called selective search, proved extremely difficult. Human chess intuition is hard to codify, and programs that tried to prune the search tree aggressively often missed critical tactical shots.
The decisive shift came in the 1970s, when a different philosophy took hold. Instead of trying to be clever, a program could simply search all legal moves to a uniform depth, using a fast evaluation function and a powerful pruning technique called alpha-beta pruning. Alpha-beta pruning eliminates large portions of the search tree that cannot affect the final decision, without changing the result. With this method, a program that searches every move to the same depth—the so-called brute-force approach—could search much deeper than any selective program of comparable speed.
The brute-force approach was championed by a group of programmers, most notably Ken Thompson and Joe Condon at Bell Labs, who built dedicated chess hardware, and by the authors of the program Cray Blitz, which ran on supercomputers. The turning point came in the late 1980s and early 1990s, when brute-force programs began to defeat strong human grandmasters in tournament conditions. The most famous milestone was the 1997 match in which IBM’s Deep Blue, a specialized supercomputer running a brute-force search with a heavily tuned evaluation function, defeated world champion Garry Kasparov. Deep Blue searched roughly 200 million positions per second and reached depths of ten to twenty moves in complex positions.
The brute-force paradigm’s success was a surprise to many in the artificial intelligence community. It showed that raw computational power, combined with a simple but sound search algorithm, could outperform sophisticated human-like reasoning in a domain as complex as chess. This result did not mean that evaluation was unimportant—Deep Blue’s evaluation function encoded decades of chess knowledge—but it did mean that search depth was the dominant factor in playing strength.
While search determines how far a program looks, the evaluation function determines what it sees when it stops. A typical evaluation function is a weighted sum of many terms: material (the value of pieces), piece-square tables (bonuses for pieces on good squares), pawn structure, king safety, mobility, and control of key files and diagonals. The weights of these terms are tuned either by hand, by automated optimization against a database of grandmaster games, or by self-play.
The evaluation function is the repository of chess knowledge in a brute-force program. It is necessarily approximate. It cannot capture all the nuances of a position, so it is designed to be "quiet"—that is, to avoid evaluating positions where a tactical sequence is still in progress. To achieve this, programs extend their search in lines involving checks, captures, and promotions, so that the evaluation is applied only to positions that are relatively stable. This technique, called quiescence search, is essential for avoiding catastrophic misevaluations.
The relationship between search and evaluation is complementary. A deeper search can compensate for a crude evaluation by seeing further ahead, while a better evaluation can compensate for a shallower search by judging the final positions more accurately. In the modern era, when search depths are already very high, improvements in evaluation have become increasingly important.
A fundamental change occurred in the 2010s with the application of deep neural networks to chess. Instead of hand-crafting an evaluation function, a program can learn one from data. The first major success was Giraffe, a 2015 program that used a neural network trained on a database of chess positions. But the decisive breakthrough came in 2017 with AlphaZero, developed by DeepMind.
AlphaZero introduced a radically different architecture. It used a deep neural network to guide both search and evaluation: the network predicted the probability of winning from a position and the probability of each legal move being best. The program combined this network with a search algorithm called Monte Carlo tree search (MCTS), which builds a search tree by sampling promising lines rather than exhaustively exploring all moves. Crucially, AlphaZero was trained entirely by self-play, starting from random weights and playing millions of games against itself, with no human chess knowledge beyond the rules. It learned its own evaluation of positions and its own move preferences.
AlphaZero’s results were striking. After only a few hours of self-play training, it defeated Stockfish, the strongest traditional brute-force program at the time, in a match with no losses. This result demonstrated that a neural network trained by self-play could discover chess concepts—such as piece activity, pawn structure, and king safety—without being told them. It also played in a style that observers described as more human-like and strategic than the tactical grind of brute-force programs.
The success of AlphaZero did not make the brute-force approach obsolete. Rather, it opened a new paradigm. Modern top-level chess programs, such as Stockfish (in its later versions) and Leela Chess Zero (an open-source reimplementation of the AlphaZero approach), now use neural networks in various ways. Stockfish, for example, adopted a neural network for its evaluation function while retaining its traditional alpha-beta search. Leela Chess Zero, by contrast, follows the AlphaZero architecture closely, using MCTS and a network trained by distributed self-play across thousands of volunteer computers.
The field is currently organized around two broad approaches, which coexist and increasingly borrow from each other.
The first is the classical search-based paradigm, descended from the brute-force tradition. Its programs use alpha-beta search, quiescence search, and a hand-tuned or machine-learned evaluation function. The evaluation function may be a linear combination of features or a neural network, but the search is the heart of the program. This approach is characterized by deep, exhaustive search of the game tree, with pruning techniques that are mathematically guaranteed not to miss the best move. Its strengths are reliability, transparency (the search can be inspected and debugged), and excellent performance in tactical positions. Its main limitation is that the evaluation function, however good, is a static approximation; it cannot fully capture long-term strategic plans.
The second is the neural self-play paradigm, descended from AlphaZero. Its programs use a deep neural network to guide a Monte Carlo tree search. The network is trained by self-play, so the program learns its own evaluation and move preferences. This approach is characterized by selective, probabilistic search that focuses on the most promising lines, and by an evaluation that is learned rather than designed. Its strengths are flexibility (it can adapt to any position without hand-crafted rules) and a more holistic, strategic style of play. Its limitations include the opacity of the neural network (it is hard to understand why the program makes a particular move) and the enormous computational cost of training.
These two paradigms are not mutually exclusive. Modern Stockfish, for instance, uses a neural network for evaluation but a classical search for decision-making. Some researchers have experimented with using neural networks to guide alpha-beta search, or with training networks to improve the move-ordering heuristics that make alpha-beta pruning efficient. The distinction between the paradigms is real but porous.
A separate but crucial component of modern computer chess is the endgame tablebase. A tablebase is a precomputed database that contains the exact game-theoretic value of every position with a small number of pieces on the board. For example, a seven-piece tablebase gives the correct outcome (win, loss, or draw) and the number of moves to the forced result for every position with seven or fewer pieces. Tablebases are constructed by retrograde analysis: starting from all possible terminal positions and working backward, assigning a value to each position based on the values of its successors.
Tablebases are not a search method or an evaluation function; they are a form of perfect knowledge. When a program reaches a position covered by a tablebase, it can play perfectly, without any search or evaluation. This is invaluable in endgames, where a position may require fifty or more moves to win and where a human or a search-based program might easily go astray. Tablebases also reveal surprising results, such as positions that are winning but require a precise sequence of moves that no human would find naturally.
The existence of tablebases has a subtle effect on the field. They set an absolute standard for endgame play, and they are used both by classical programs (which query them during search) and by neural programs (which can use them as a training target or as a fallback). They do not, however, solve the game of chess, because the number of pieces in a full game is far too large for a tablebase.
Computer chess has profoundly changed the human game. Since the late 1990s, programs have been far stronger than any human player. The best programs today play at a level that is effectively perfect in practical terms; they rarely make mistakes, and their games are studied by humans as a source of chess knowledge.
This has led to several developments. Engine analysis—using a chess program to evaluate positions and suggest moves—is now standard practice for professional players preparing for games and for amateurs studying the game. Online chess platforms offer engine analysis to all users, and many players use it to check their own games. The result is that opening theory has advanced enormously, as players use engines to find new ideas and refute old ones. Some grandmasters have expressed concern that this has made the game more mechanical, while others argue that it has deepened human understanding.
Computer chess has also created the phenomenon of engine-vs-engine competition. Programs play against each other in automated tournaments, and the results are used to improve the programs themselves. These matches are not merely tests of strength; they are the primary method for tuning evaluation functions, testing new search ideas, and validating neural network training. The strongest programs are developed through continuous self-play and competition, with human programmers acting as coaches rather than players.
The present state of computer chess is one of high maturity. The strongest programs, whether classical or neural, play at a level far beyond any human. The gap between the top programs and the rest is small, and the field is characterized by incremental improvements rather than fundamental breakthroughs. The main centers of activity are open-source projects (Stockfish, Leela Chess Zero), commercial engines (Komodo, Houdini, and others), and the research laboratories of large technology companies.
Several open questions remain. One is the question of efficiency: how to achieve the same playing strength with less computational power. This matters for practical applications, such as running a strong engine on a mobile phone. Another is the question of explainability: why does a neural network make a particular move, and can its decisions be made transparent to humans? This is part of a broader concern in artificial intelligence about the interpretability of learned models. A third question is whether chess can be solved—that is, whether the game-theoretic value of the initial position (win for White, win for Black, or draw) can ever be determined. Current knowledge suggests that this is computationally infeasible, but no proof rules it out.
Computer chess also continues to serve as a benchmark for artificial intelligence research. The success of AlphaZero inspired similar self-play approaches in other games, such as Go and shogi, and the techniques developed for chess have been adapted to other domains. At the same time, the field has largely moved out of the academic spotlight; it is now an engineering discipline with a vibrant community of hobbyists and professionals, rather than a frontier of fundamental science.
For the educated newcomer, the essential map is this: computer chess is the art of making a machine choose good moves under severe computational limits. It has two major traditions—the classical search-based tradition, which relies on deep exhaustive search and hand-crafted or learned evaluation, and the neural self-play tradition, which relies on learned networks and probabilistic search. These traditions have converged in practice, and both are supplemented by endgame tablebases that provide perfect knowledge in small positions. The field’s history is a story of how raw computation, clever algorithms, and machine learning have each contributed to a capability that now exceeds the best human play, and how that capability has transformed the human game it studies.