Minimax

An algorithm that chooses a move while assuming both sides will always make their best available decisions.

This page is temporarily shown in English. Complete localization will be added in a later stage.

Explanation

Minimax represents a game as a tree of possibilities. Each branch is a move, and each level alternates between one side and the other. A chess engine, meaning a program that analyzes positions and selects moves, considers its choices and then the opponent's strongest replies. Its central assumption is cautious: it never relies on the opponent making a mistake.

At levels where the engine moves, the algorithm keeps the most favorable result. At the opponent's levels, it keeps the least favorable result for the engine, because the opponent is assumed to resist as well as possible. Those values are then carried backward from future positions to the current one. The starting moves can therefore be compared by what each can guarantee against best defense.

A practical search can rarely examine the whole game. At its depth limit it uses an , a formula that estimates which side is better. A depth-limited minimax choice is therefore not an absolute proof: it depends on how far the search went and how accurate that estimate was. It can also suffer from the , where an important consequence lies just beyond the cutoff.

Engines make this framework efficient with techniques such as , which examines promising choices first so irrelevant branches can be rejected sooner. Other systems, including , distribute their effort differently while pursuing the same practical goal: identifying the move that deserves the most confidence.

Usage and context

Minimax is the basic decision framework behind many traditional searches used by a chess .

Common confusions

Minimax and evaluation function

Minimax organizes the comparison between both sides' decisions. An evaluation function only assigns an estimate to a position.

View term

Sources

  1. 1.Minimax, Chess Programming Wiki

Related terms

© 2026 MindZug