Home

Deuterium is a uci engine that is based on TSCP or Tom's Simple Chess Program by Tom Kerrigan. It was first launched in 2003 with a total of 34 releases since then. Deuterium uses an array of 64 squares supported with piece-list for board representation. Starting v12.01.30.1070, it uses bitboard on some parts of move generations and evaluations. It uses a fail-soft negascout alpha-beta search algorithm enhanced by iterative deepening, transposition tables, and aspiration windows.
 
Some basic search reduction techniques like null move and futility pruning, move history/statistics pruning, and late move reduction are also implemented. Search extensions include check evasion, recapture, pawn push to 7th ranks, pawn and minor piece ending extensions.
 
At horizon depths, it calls quiescent search, generating capture, promote moves and non-capture check moves. It also utilizes hash table informations for pruning and move ordering. Moves with losing SEE (static exchange evaluation) are skipped except where the pieces are low. Futility pruning is also used on this search. 
 
Move ordering is by pv moves, transposition table moves, non-capture mate killers, queen promotions, win captures by SEE, equal captures, non-capture killers, counter moves, loss-capture, non-queen promotions and by good move history counters.
 
Evaluation includes piece square tables for all pieces, pawn structures, passers, piece mobilities, some especial evaluations according to different pieces, piece attack combinations, a couple of basic king safety schemes and king-pawn activity in endings.
 
Opening book is now changed to use polyglot format.
 
Deuterium can use endgame bitbases (EGBB) for a perfect endgame play, when total pieces remaining on the board is 6 and below.
 
Check the readme file for a full documentation details of Deuterium development.