A chess engine usually analyzes thousands of outcomes before making an efficient move. Since the hardware and programming techniques are getting better year by year, chess engines are becoming more intelligent. Modern engines are more selective and have a better positional understanding.
If you construct a complete tree of all possible moves in a chessboard, you will get a total of 10120 moves. That’s an extremely large number.
To put this into perspective, there have been only 1026 nanoseconds since the Big Bang and estimated 1075 atoms in the entire universe. These numbers are dwarfed by the number of possible moves in chess, making it one of the most complex board games.
There are literally hundreds of ‘rating lists’ that measure the relative strength of chess engines, based on how many moves they make per minute. In addition to ranking chess engines from best to worst, these lists also provide margins of errors on the given ratings.
Among these rating lists, the most famous are CCRL (Computer Chess Rating Lists) and CEGT (Chess Engines Grand Tournament). Keeping both these ratings in mind, we are presenting the most advanced Chess Engines that demonstrate the machine’s domination over humanity.
CCRL Rating: 3229
CEGT Rating: 3094
Hannibal is a Universal Chess Interface (UCI) engine that incorporates ideas from earlier engines, Twisted Logic, and LearningLemming. It uses the alpha-beta technique with many other chess specific heuristics and relies on a selective search method.
Besides incredible endgame knowledge, the engine has a good understanding of material imbalances. It also understands the fortresses and trapped pieces and can sacrifice material for the initiative on king attacks.
Furthermore, Hannibal’s time management is tuned for the Fischer time controls.
CCRL Rating: 3232
CEGT Rating: 3098
Critter is the UCI chess engine available for Windows, Mac, Android, and Linux. You can use it for private purposes only. It was initially written in Delphi but later converted to C++ using Bitboard technology. This was done to enhance its performance on 64-bit processors.
This chess engine features null move pruning, forward pruning, principal variation search, parallel search with up to 8 threads, and blockage detection in the endgames.
16. Suger XPro
CCRL Rating: 3533
SugaR engine is derived from Stockfish and supports up to 128 cores. Like other popular engines such as Stockfish, SugaR is not a complete chess program. It requires compatible GUI, such as XBoard with Arena, PolyGlot, Shredder, Sigma Chess, and Chess Partner.
Since the engine is distributed under the General Public License, you are allowed to modify and sell it.
CCRL Rating: 3506
asmFish is a Stockfish engine port written in x86 assembly language. It uses BMI2 and AVX2 instructions optionally. It is assembled with FASM for Linux and Windows platforms.
asmFish is built with some structural optimization techniques, such as the elimination of piece lists. Critical functions don’t conform to the x86 ABI, concerning the usage of register and calling convention. However, less time-critical functions were ported through GCC assembly output.
Nevertheless, the engine is NUMA (non-uniform memory access) aware and supports parallel search and large pages.
CCRL Rating: 3241
CEGT Rating: 3123
Chiron is the commercial chess engine that supports both Universal Chess Interface and Chess Engine Communication Protocol, as well as several endgame tablebase and bitbase formats.
It applies a parallel search on multiprocessor architectures and implements pawn blockage detection that not only detects blockages in pawn endgame but also identifies other pieces on the board.
The latest version has been tuned deeply, especially in the context of passing pawns and mobility. Several advanced search enhancements have also been introduced, such as Lazy symmetric multiprocessing, forward pruning, and NUMA awareness
CCRL Rating: 3253
CEGT Rating: 3122
Equinox is a symmetric multiprocessing chess engine primarily developed by Giancarlo Delli Colli. It is inspired by popular open-source engines like Stockfish, Crafty, and Ippolit.
Equinox is active in several private engine tournaments, including Italian Open Chess Software Cups and Thoresen Chess Engine Competition.
CCRL Rating: 3261
CEGT Rating: 3183
GullChess is an open-source chess engine that applies magic bitboards to determine sliding piece attacks. It is mostly written in the C++ programming language and contains only one source file.
Gull Engine features generic function templates in recursive search routines, as well as several other functions for move generation (excluding ‘hash move’ and ‘side to move’).
CCRL Rating: 3284
Schooner uses alpha-beta search, late move reductions (LMR), principle search window (PVS), and single hash entry. It supports a subset of Universal Chess Interface to automatically play games without hogging a lot of resources.
Its performance has been improved significantly in recent years: a simpler evaluation inspired by Xiphos, staged move generation, and tons of testing and tuning are responsible for those improvements.
CCRL Rating: 3324
CEGT Rating: 3193
Xiphos is an open-source chess engine written in C and distributed under GNU General Public License. It’s a UCI compliant engine that utilizes bitboards with ERLEF mapping.
Xiphos uses sliding piece attacks, which are evaluated by either PEXT bitboards (for BMI2) or magic bitboards. If you want to try, you can run this engine on Windows, macOS, and Linux.
9. Deep Shredder
CCRL Rating: 3324
CEGT Rating: 3153
Shredder is a commercial chess engine developed in 1993. It has won more than 20 titles, including World Microcomputer Chess Championship (1996, 2000), World Computer Chess Championship (1999, 2003), World Chess Software Championship (2010), and World Computer Speed Chess Championship (5 times).
Deep Shredder is the multiprocessor version of Shredder. It comes with a graphical user interface, developed by Millennium Chess System, which supports Universal Chess Interface and is compatible with other UCI engines available for Mac OS, Windows, and Linux.
WCCC 2011, Booot vs. Alex Morozov
CCRL Rating: 3326
CEGT Rating: 3234
Booot is an open-source chess engine written in Delphi 6. It determines sliding piece attacks with rotated bitboards. It is packed with lazy SMP and a fully redesigned evaluation function.
The engine applies PVS with all basic search enhancements like late move reductions, null move pruning, and internal iterative deepening. The latest version supports multiprocessor architecture and has several assembly variants for 32 and 64 bits.
CCRL Rating: 3337
CEGT Rating: 3209
First published in 2014, Andscacs soon evolved into one of the world’s best chess engines. It uses magic bitboard to speed up the attack calculations. It applies a principal variation search with a transposition table inside an iterative framework.
Andscacs features static exchange evaluation and threaded parallel search. And it tries a hash move in quiescence search.
In order to make the engine more powerful and efficient (or minimize the standard deviation of static evaluation), researchers optimized 200 evaluation features with 750,000 positions.
Read: Google’s AlphaZero AI Masters Chess and Go Within 24 Hours
CCRL Rating: 3347
CEGT Rating: 3211
Fizbo is a Chess Engine Communication Protocol, first released in 2014. It is based on bitboard and uses population count instruction. For now, the engine is compatible with Windows and requires CPU with pop-count instruction.
Besides iterative deepening, Fizbo performs parallel searches based on an enhanced PV splitting algorithm. Furthermore, the transposition table with 8-byte entries is used in the quiescence search.
CCRL Rating: 3386
CEGT Rating: 3290
Ethereal is an open-source engine developed by Andrew Grant. It’s a UCI-compliant chess engine first released in 2016 under the GNU GPL license.
Ethereal is greatly influenced by Stockfish, MadChess, and Crafty. In addition to the conventional alpha-beta framework, it uses various improvements, ranging from reduction and pruning to extension.
CCRL Rating: 3430
CEGT Rating: 3319
Fire is a free chess engine that was used to be open source but later became a closed Windows executable, available for new Intel processors. It was initially known as Firebird and later renamed to Fire due to the trademark naming conflict.
The Fire engine features magic bitboards, Syzygy tablebases, configurable hash, and multiPV. You can configure it with over 70 Universal Chess Interface options, and apply SMP parallel search.
CCRL Rating: 3508
CEGT Rating: 3424
Komodo was derived from an older search engine, Doch, as a major rewrite and a port of Komodo to C++11. Since it relies on evaluation (instead of depth), it has a quite different positional style.
The engine supports up to 64 cores, Syzygy endgame tablebase, and Fischer random chess. Kodomo lets you save the engine’s analysis of a position so you can check it later and resume analysis. You can also control how the engine makes long-term sacrifices of pawn structure for dynamic play.
Komodo has won three-times Top Chess Engine Championship.
CCRL Rating: 3529
CEGT Rating: 3444
Houdini is known for its engine’s positional style, ability to defend strongly, tenacity in hard positions, and escape with a draw.
So far, it has won 3 seasons of Top Chess Engine Championship.
The new version of Houdini comes in 2 variations – Standard and Pro. While the previous version supported up to 8 processor cores only, the Pro version supports up to 128 cores and 128 GB of RAM. It is NUMA aware and can utilize Nailmov endgame table bases.
2. Leela Chess Zero
CCRL Rating: 3463
CEGT Rating: 3467
Inspired by Deepmind’s research about AlphaZero and AlphaGo Zero, Leela Chess Zero relies on a self-taught neural network to make smart moves. The network learns through deep learning techniques by playing against itself millions of times.
Instead of using conventional AlphaBeta search with handcrafted evaluation function, it utilizes a type of Monte Carlo Tree Search (MCTS) known as puct. To achieve its full potential, you need to run the chess engine on CUDA-supported GPU.
CCRL Rating: 3564
CEGT Rating: 3512
Stockfish is an open-source UCI engine available for various desktop and mobile platforms. It is based on another open-source chess engine named Glaurung.
Written in C++, the engine can utilize up to 512 CPU cores. The maximum size of its transposition table is 1 Terabyte. Beside implementing an alpha-beta search, the engine features aggressive pruning and late move reductions.