Contents

Chess computer in 1990s XGO 1650L chess computer.jpg
Chess computer in 1990s

This is a list of terms used in computer chess.

A–M

algorithm
A precisely defined step-by-step procedure for performing a task. See algorithm .
alpha
In the minimax search algorithm, the minimum value that the side to move can achieve according to the variations that have been evaluated so far.
alpha–beta pruning
An algorithm that reduces the number of nodes searched by the minimax algorithm. This refinement is essential to make it practical to search large game trees such as those in chess. See alpha–beta pruning .
array
A list stored in computer memory whose items can be retrieved quickly by a numerical index.
artificial intelligence
AI
The branch of computer science dealing with the reproduction or mimicking of human-level thought in computers. Game playing was an early area of research in AI. See artificial intelligence .
aspiration window
A refinement to alpha-beta pruning which further speeds the search by considering only a narrow window, generally based on experience. Zero-window search, null-window search, and negascout search are names for the extreme case in which alpha and beta are set to the same value. See aspiration window .
beta
In the minimax search algorithm, the maximum value the side to move can achieve based on the variations that have been evaluated so far.
bit
A binary digit, 0 or 1. The smallest piece of information that can be stored or manipulated by the computer
bit board
An array of 64 bits, each bit representing a square of the chess board. Multiple bit boards are used with each board recording a particular characteristic, such as all of the squares occupied by a particular type of piece or all squares under attack.
branching factor
The number of possibilities that must be considered at each level of the search tree.
brute force
A problem solving approach that relies on fast computer hardware rather than elegant algorithms.
candidate move
A move selected upon initial observation of the position as being worthy of further analysis. The alpha-beta algorithm can be more efficient if the candidate move list is properly ordered so that the best moves are considered first. See candidate move .
An extension to the search algorithm that continues from a terminal node considering only captures that can be made by each side.
cutoff
Elimination of a branch of the search tree without having to search it. This is the pruning action of the alpha-beta algorithm.
evaluation function
The algorithm used to evaluate the favorability of a position. Since most chess positions cannot be assigned a precise value (won, lost, or drawn), this is a heuristic based on factors such as material balance, space advantage, piece mobility, pawn structure, king safety, etc. Most evaluation functions return a numerical value in pawns and fractions of a pawn representing the advantage that white is judged to have in the given position. Zero indicates the position is balanced, and negative values indicate that black is judged to be ahead. See evaluation function .
A search in which all branches of the game tree are explored. Due to the high branching factor of chess, full width search is generally not practical except when few pieces remain on the board so the possible positions are greatly reduced.
game tree
All possible positions that could arise from all legal moves from the given position.
heuristic
A method used to solve a problem that is not guaranteed to be optimal or correct, employed when a method for the exact solution of the problem is unknown or impractical. Heuristics can be used in computer chess to evaluate positions and to guide the search algorithm.
horizon effect
The consequence that it is impractical in most positions for the search algorithm to search all the way to the conclusion of the game. The computer may make a poor move because it is unable to see the consequences even one ply beyond its maximum search depth. The horizon effect was a major problem in the early years of computer chess, but it is less of an issue today as modern chess engines can search many moves deep even in complex positions. See horizon effect .
iterative deepening
A search algorithm that first searches to a depth of N plies, then using results of that search reorders the candidate moves to conduct a search to N + 1 plies. See iterative deepening depth-first search .
killer heuristic
Assumption that a move (the killer move) that caused a search cutoff in another branch of the game tree at the same depth may cause a cutoff in the present position. This can make alpha-beta pruning more effective. See killer heuristic .
minimax algorithm
The basic algorithm used to search game trees. At each level in the game tree, the player to move selects the possibility that maximizes the minimum advantage that will result from any of the opponent's possible replies. See minimax algorithm .
move generator
The module that creates the list of moves to be considered from a particular position. This is usually part of the chess engine software, but some chess computers have performed move generation in hardware.

N–Z

opening book
A database of moves to be played in the chess opening from the beginning of the game. These moves can be selected directly from computer storage and so they do not require search.
ply
A move by either white or black, hence a half move. A full move is two ply. See ply .
principal variation
The best or correct line of play; the variation most advantageous to the current player assuming each player chooses the best moves.
pruning
Elimination of branches in the game tree without searching them.
A designation for moves which are legal based on every criteria except for exposure to check. Hardware move generators, such as that of Belle, produce pseudo-legal moves. These must be tested to ensure they do not place the moving side in check. [1]
An extension to the search algorithm that will continue to search a branch past what would normally have been the deepest part of the search (the terminal node) until a quiescent position is reached where no captures are possible and neither king is in check. This technique can be used to minimize the danger of the horizon effect.
refutation
A move that demonstrates that the previous move under consideration would be bad.
search depth
The number of plies to which the game tree is searched.
A search in which only some possibilities are examined at each level of the game tree; contrast with full-width search.
Shannon number
An estimated lower bound on the game-tree complexity of chess. In 1950 Claude Shannon estimated that there are approximately 10120 variations from the starting position in chess.
terminal node
terminal position
The deepest part of the search on a particular branch of the game tree. The evaluation function is applied to terminal nodes to assign a value to that branch.
transposition table
A record of positions and their evaluations as found in an earlier part of the search. A transposition table saves computation by allowing the value of a position to be looked up when it is reached again by a different order of moves rather than requiring that it be calculated again. See transposition table .
type-A strategy
Brute force, full-width search considering all possible legal moves at each level of the search tree. Coined by Claude Shannon in 1949. Contrast with type-B strategy.
type-B strategy
Selective search, considering certain lines more deeply than others. Coined by Claude Shannon in 1949. Contrast with type-A strategy.
variation
A particular sequence of moves, often used to describe future possibilities in a game rather than the moves that were played to reach the current position. See variation .
window
The difference between alpha and beta in the alpha-beta search algorithm. As the search progresses the window becomes smaller. In an aspiration search, the window is set to a narrow value. The most extreme case, zero-window search, is also called null-window search or scout search.

Related Research Articles

Minmax is a decision rule used in artificial intelligence, decision theory, game theory, statistics, and philosophy for minimizing the possible loss for a worst case scenario. When dealing with gains, it is referred to as "maximin" – to maximize the minimum gain. Originally formulated for several-player zero-sum game theory, covering both the cases where players take alternate moves and those where they make simultaneous moves, it has also been extended to more complex games and to general decision-making in the presence of uncertainty.

<span class="mw-page-title-main">Computer chess</span> Computer hardware and software capable of playing chess

Computer chess includes both hardware and software capable of playing chess. Computer chess provides opportunities for players to practice even in the absence of human opponents, and also provides opportunities for analysis, entertainment and training. Computer chess applications that play at the level of a chess master or higher are available on hardware from supercomputers to smart phones. Standalone chess-playing machines are also available. Stockfish, GNU Chess, Fruit, and other free open source applications are available for various platforms.

Alpha–beta pruning is a search algorithm that seeks to decrease the number of nodes that are evaluated by the minimax algorithm in its search tree. It is an adversarial search algorithm used commonly for machine playing of two-player combinatorial games. It stops evaluating a move when at least one possibility has been found that proves the move to be worse than a previously examined move. Such moves need not be evaluated further. When applied to a standard minimax tree, it returns the same move as minimax would, but prunes away branches that cannot possibly influence the final decision.

In competitive two-player games, the killer heuristic is a move-ordering method based on the observation that a strong move or small set of such moves in a particular position may be equally strong in similar positions at the same move (ply) in the game tree. Retaining such moves obviates the effort of rediscovering them in sibling nodes.

In computer chess programs, the null-move heuristic is a heuristic technique used to enhance the speed of the alpha–beta pruning algorithm.

In computer science and artificial intelligence, combinatorial search studies search algorithms for solving instances of problems that are believed to be hard in general, by efficiently exploring the usually large solution space of these instances. Combinatorial search algorithms achieve this efficiency by reducing the effective size of the search space or employing heuristics. Some algorithms are guaranteed to find the optimal solution, while others may only return the best solution found in the part of the state space that was explored.

A transposition table is a cache of previously seen positions, and associated evaluations, in a game tree generated by a computer game playing program. If a position recurs via a different sequence of moves, the value of the position is retrieved from the table, avoiding re-searching the game tree below that position. Transposition tables are primarily useful in perfect-information games. The usage of transposition tables is essentially memoization applied to the tree search and is a form of dynamic programming.

The horizon effect, also known as the horizon problem, is a problem in artificial intelligence whereby, in many games, the number of possible states or positions is immense and computers can only feasibly search a small portion of them, typically a few plies down the game tree. Thus, for a computer searching only five plies, there is a possibility that it will make a detrimental move, but the effect is not visible because the computer does not search to the depth of the error.

In the context of Combinatorial game theory, which typically studies sequential games with perfect information, a game tree is a graph representing all possible game states within such a game. Such games include well-known ones such as chess, checkers, Go, and tic-tac-toe. This can be used to measure the complexity of a game, as it represents all the possible ways a game can pan out. Due to the large game trees of complex games such as chess, algorithms that are designed to play this class of games will use partial game trees, which makes computation feasible on modern computers. Various methods exist to solve game trees. If a complete game tree can be generated, a deterministic algorithm, such as backward induction or retrograde analysis can be used. Randomized algorithms and minimax algorithms such as MCTS can be used in cases where a complete game tree is not feasible.

The expectiminimax algorithm is a variation of the minimax algorithm, for use in artificial intelligence systems that play two-player zero-sum games, such as backgammon, in which the outcome depends on a combination of the player's skill and chance elements such as dice rolls. In addition to "min" and "max" nodes of the traditional minimax tree, this variant has "chance" nodes, which take the expected value of a random event occurring. In game theory terms, an expectiminimax tree is the game tree of an extensive-form game of perfect, but incomplete information.

Negamax search is a variant form of minimax search that relies on the zero-sum property of a two-player game.

Principal variation search is a negamax algorithm that can be faster than alpha–beta pruning. Like alpha–beta pruning, NegaScout is a directional search algorithm for computing the minimax value of a node in a tree. It dominates alpha–beta pruning in the sense that it will never examine a node that can be pruned by alpha–beta; however, it relies on accurate node ordering to capitalize on this advantage.

MTD(f) is an alpha-beta game tree search algorithm modified to use ‘zero-window’ initial search bounds, and memory (usually a transposition table) to reuse intermediate search results. MTD(f) is a shortened form of MTD(n,f) which stands for Memory-enhanced Test Driver with node ‘n’ and value ‘f’. The efficacy of this paradigm depends on a good initial guess, and the supposition that the final minimax value lies in a narrow window around the guess (which becomes an upper/lower bound for the search from root). The memory structure is used to save an initial guess determined elsewhere.

In game theory, a null move or pass is a decision by a player to not make a move when it is that player's turn to move. Even though null moves are against the rules of many games, they are often useful to consider when analyzing these games. Examples of this include the analysis of zugzwang, and the null-move heuristic in game tree analysis.

<span class="mw-page-title-main">Quiescence search</span> Algorithm used in game-playing computer programs

Quiescence search is an algorithm typically used to extend search at unstable nodes in minimax game trees in game-playing computer programs. It is an extension of the evaluation function to defer evaluation until the position is stable enough to be evaluated statically, that is, without considering the history of the position or future moves from the position. It mitigates the effect of the horizon problem faced by AI engines for various games like chess and Go.

<span class="mw-page-title-main">Alexander Brudno</span> Russian computer scientist (1918–2009)

Alexander L'vovich Brudno was a Russian computer scientist, best known for fully describing the alpha-beta pruning algorithm. From 1991 until his death he lived in Israel.

SSS* is a search algorithm, introduced by George Stockman in 1979, that conducts a state space search traversing a game tree in a best-first fashion similar to that of the A* search algorithm.

A variation can refer to a specific sequence of successive moves in a turn-based game, often used to specify a hypothetical future state of a game that is being played. Although the term is most commonly used in the context of Chess analysis, it has been applied to other games. It also is a useful term used when describing computer tree-search algorithms for playing games such as Go or Chess.

<span class="mw-page-title-main">Computer Othello</span> Abstract strategy game

Computer Othello refers to computer architecture encompassing computer hardware and computer software capable of playing the game of Othello. It is also known as Reversi for Microsoft Windows and Classic Mac OS.

In computer science, Monte Carlo tree search (MCTS) is a heuristic search algorithm for some kinds of decision processes, most notably those employed in software that plays board games. In that context MCTS is used to solve the game tree.

References

  1. Frey 1983 p. 203.