From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Chest

Marriage Chest Repair [1]

Chest, (CHEST, CHEss problem analyST)
a program for solving orthodox chess problems, such as checkmate, stalemate, helpmate, helpstalemate, selfmate and selfstalemate in N [2]. Chest was developed since 1987, written in ANSI C by Heiner Marxen, Holger Pause and Thomas Rakovsky, while Heiner Marxen already started with a mate-in-two solver written in Fortran II in 1973 [3]. Chest does not play chess, but proves shortest solutions or its absence. It was first released in December 1999 as open source [4].




The main tree search function, utilizing a transposition table, is recursive, i.e. for a job of depth N this function does call itself several times with depth N-1, and always performs "iterative deepening", i.e. a job or subjob with a depth of 3 is first computed with a depth of 1, and if that fails, with a depth of 2 and if this also fails, with a depth of 3.

Board Representation

Chest uses a one-dimensional, incremental updated 16x24 mailbox board representation to not only apply vector attacks but also to allow any legal displacement vector between two non-border squares to be added to any legal square without probing memory outside the 16x24 array. Per square, Chest keeps distinct piece type and piece color, and further piece-sets of direct and indirect attacking/defending pieces. The redundancy pays off, since the attack info greatly speeds up the generation of legal moves.


ChestUCI by Franz Huber [6], is an UCI adapter written in Delphi for a slightly modified Chest 3.19 (closed source), to run it from any UCI capable GUI .

See also

Forum Posts


2000 ...

2005 ...

2010 ...

2015 ...

2020 ...

External Links

Chess Program

Readme Long



  1. Re-glueing loose element of solid nut marriage chest (prob. Italy, 19th century), Image by Etan J. Tal, July 19, 2011, Category:Chests, Wikimedia Commons
  2. Chest - Readme Long
  3. Re: Perft(3) from 1978, with a twist! by Heiner Marxen, CCC, December 09, 2011
  4. CHEST 3.19 is available by Heiner Marxen, CCC, December 18, 1999
  5. Description based on Readme Long
  6. Re: ChestUCI Source Code by Franz Huber, CCC, December 15, 2010

Up one level