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 about 1075atoms 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.
24. Hannibal
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.
23. Critter
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.
22. 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.
21. asmFish
CCRL Rating:3506
asmFish is a Stockfish engine port written in x86 assembly language. It usesBMI2 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.
20. Chiron
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 asLazy symmetric multiprocessing, forward pruning, and NUMA awareness
19. Equinox
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 the Italian Open Chess Software Cups and Thoresen Chess Engine Competition.
18. GullChess
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’).
17. Schooner
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.
16. Xiphos
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.
15. 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.
14. Booot
WCCC 2011,Boootvs.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.
13. Andscacs
CCRL Rating: 3337
CEGT Rating: 3209
First published in 2014,Andscacs soon evolved into one of the world’s best chess engines. It uses a magicbitboardto speed up the attack calculations. It applies a principal variation searchwith a transposition tableinside 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
12. Ethereal
CCRL Rating: 3437
CEGT Rating:3315
Ethereal is greatly influenced by numerous chess engine projects like Stockfish, Crafty, MadChess, TSCP, and Fruit. It’s a UCI-compliant chess engine based on the alpha-betta framework.
The commercial version of the Ethereal features two NNUEs for evaluation — one for the standard chess and the secondary network trained exclusively for Chess960. The NNUE implementation based on Stockfish NNUE shows how developers can enhance the playing strength of their engines without much effort.
11. Koivisto
CCRL Rating: 3441
CEGT Rating:3330
Written in C++, Koivisto is a strong chess engine that features lazy SMP, iterative deepening, and principal variation search. It’s not a complete program and requires a UCI-compatible graphical user interface.
The bitboard engine offers automated evaluation tuning by logistic regression, either using stochastic gradient descent or an adaptive gradient algorithm. You can find binaries for Windows and Linux on GitHub.
10. Fizbo
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 a CPU with pop-count instructions.
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.
9. Ethereal
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.
8. Fire
CCRL Rating: 3430
CEGT Rating: 3319
Fire is a free chess engine that was used to be open source but later became a closedWindows executable, available for new Intel processors. It was initially known as Firebird and later renamed Fire due to the trademarknamingconflict.
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.
7. Revenge
CCRL Rating: 3449
CEGT Rating: 3427
Revenge chess engine has been under development since 2013 with the name of Pedone. Available for Windows and Linux, its console program needs a GUI to work.
The new and bigger neural network makes this chess engine stronger in all phases of the game, especially in the endgame. It has higher depth for history pruning, improved history move ordering, enhanced reduction formula, and advanced speed optimization in search
6. Slow Chess
CCRL Rating: 3458
CEGT Rating: 3433
Slow Chess is a WinBoard and UCI-compliant chess engine written in C++ and inline assembly. Unlike most engines, it has its own graphical user interface.
It comes with an Analyze mode to suggest the best move for any position, or moves in multi-variation move. You can copy-paste text transcripts, positions, redo move buttons, set time-limit option, and adjust the difficulty level by the number of ply or number of nodes.
5. Komodo
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.
4. Berserk
CCRL Rating: 3463
CEGT Rating: 3453
Bersek is a UCI-compliant open-source chess engine written in the C programming language. It supports two board representations: Bitboards and Magic Bitboards.
The latest version brings significant improvements in search, time management, and evaluation.It has its own network architecture, which features NNUE evaluation, reverse futility pruning, delta pruning, quiescence search, and singular Extensions.
3. Fat Fritz 2
CCRL Rating: 3559
CEGT Rating: 3518
Released in 2021, Fat Fritz 2 is based on NNUE technology and Stockfish 12 with a double-sized network. Unlike its predecessor, it efficiently runs on a CPU and doesn’t require any expensive graphic cards for game playing.
Fat Fritz 2 combines the best of both worlds — a large new neural network trained by Albert Silver with the original Fat Fritz, while learning from the precision of Stockfish’s alpha-beta search.
2. Houdini
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 the 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 utilizeNailmov endgame table bases.
Read: 15 Advanced Artificial Intelligence Projects
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.
1. Stockfish
CCRL Rating: 3564
CEGT Rating: 3623
Stockfish is an open-source UCI engine available for various desktop and mobile platforms. It is based on another open-source chess engine namedGlaurung.
Written in C++, the engine can utilize up to 512 CPU cores. The maximum size of its transposition table is 1 Terabyte. Besides implementing an alpha-beta search, the engine features aggressive pruning and late move reductions.
Note: Since CCRL and CEGT rating lists change continuously, the ranking can differ from time to time.
Read: 8 Best Artificial Intelligence Programming Languages
Frequently Asked Questions
When was chess invented?
The early form of chess, called chaturaṅga, was originated in India in the 7th century CE. From there, it spread to Persia and southern Europe. The game later evolved roughly into its current form by 1500 CE.
Who wrote the first chess-playing program for computers?
In 1948, Alan Turing and David Champernowne developed the first chess program named Turochamp. It could play an entire chess game against a human player by computing all moves and all potential opponent’s moves in response. However, its algorithm was too complicated to be executed by the early machines of the time.
In 1957, Alex Bernstein wrote a chess program for the IBM 704. It was the first full-fledged chess program to be run on a computer. The program did a 4-ply search in 8 minutes.
Read:20 Greatest Computer Programmers Of All Time
Are chess computers unbeatable?
In 1996, Deep Blue became the first computer to beat a human in a formal chess game. This unique purpose-built IBM supercomputer beat the Russian chess grandmaster Garry Kasparov in the first game of a six-game match.
That was more than two decades ago. Today’s computers are so powerful that they are practically unbeatable. Even a high-end general-purpose computer, running on a well-optimized algorithm, can analyze millions of possible moves and compare them against each other within seconds. No human mind can compete with such analytical powers.
Read:12 Fastest Supercomputers In The World
What is AlphaZero?
Developed by AI research company Deepmind, AlphaZero is a computer program designed to master the games of shogi, go, and chess. It uses neural networks to evaluate a specific number of positions, which eliminates the need to look over millions of positions per second (like other chess engine does).
More specifically, AlphaZero analyzes 80,000 positions per second in chess compared to 70 million for Stockfish. In 2017, AlphaZero defeated the then world’s strongest chess engine, Stockfish, in a one-sided 100-game match. The results were published in ScienceJournel.
Although AlphaZero isn’t available on any public platform. it has inspired many developers to create open-source network chess projects. AllieStein and Leela Chess Zero, for example, try to mimic AlphaZero’s learning method.