What Are All These Things, Anyway? A Quick Overview Of Chess Engines.
By William Murphy from Dublin, Ireland - Where’s Wally World Record (where you there?), CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=37141514

What Are All These Things, Anyway? A Quick Overview Of Chess Engines.


The Computer Chess Championship (CCC) is currently between its ninth and tenth editions. It's worth checking out (I love it!), but it can be disorienting for the first-time viewer if you can't tell one engine from another.

There are engines you probably recognize (Stockfish, Lc0, Houdini, Komodo). There are some that only a correspondence-chess player might know (Ethereal, Fire). But then there are many more that no one but engine-folk have ever heard of. And, as has been noted, their names are... strange. Stoofvlees is Belgian beef stew. Fizbo is a clown. And although Laser is a laser, that doesn't really explain anything.

Never fear! Today's post will be a rundown of the engines you need to know, and what makes each of them lovable.

Stockfish needs no introduction. For years the king of computer chess, the Fish is the strongest CPU-only engine in the world (and it's not even close). It is still being actively developed and is constantly gaining strength. Widely used, universally trusted. If you think "chess engine", you think Stockfish.

Leela Chess Zero (Lc0) is the only engine besides Stockfish to have won any CCC event (CCC7 and CCC8). Closely based on AlphaZero, Leela is a neural-network engine, trained with selfplay, and uses both CPU and GPU. Known for beautiful chess and tragic blunders, Our Queen has a human style that traditional engines cannot mimic. Leela is the strong favorite to win CCC10.

Leelenstein is a derivative of Lc0. It uses the same neural network architecture as Leela, but is trained from a database of high-level games (not by selfplay). Its creator, jjosh, is also constantly modifying Leelenstein's binary with unique updates. Leelenstein shocked the engine community by eliminating Lc0 in the most recent CCC, eventually finishing second to Stockfish.

Allie is beloved by fans, emerging from nowhere to become a Top-5 engine in just a few months. She shares a neural-network architecture with Lc0 and Leelenstein, and therefore can make use of any network either project produces. Her creator, Adam Treat, wrote her with an entirely unique binary, and is as passionate about his engine as anyone.

Houdini is a legend. It has been twenty months since it was last updated (to version 6.03 in November 2017), but it is still the second-strongest CPU engine in the world. Its creator, Robert Houdart, must have infused Houdini with some magic... but we don't know what that is, because Houdini is  a commercial closed-source engine. What I wouldn't give to dig through that code.

Komodo is neck-and-neck with Houdini: They always finish within a point or two of one another. Komodo is a traditional CPU engine; Komodo is also commercial and closed-source. However, Komodo is still being developed (most recently as Komodo 13 in May 2019). Komodo was at one point the strongest engine in the world but is struggling to challenge the Stockfish juggernaut. One wonders if the Komodo team will continue developing it, or move onto another project...

Fire is also a CPU engine, but I must confess I know very little else about it. Chessprogramming wiki lists Norman Schmidt as its author, and no one can deny that it is one of the strongest engines in the world. Fire 7.1 was released in May 2018, so maybe there's hope of it being updated in the future. My strongest impression of Fire is from its flaming-skull logo.

Komodo Monte-Carlo (KMC) is another project by the Komodo team. The "Monte-Carlo" part of its name refers to its search algorithm, which is based on AlphaZero and unique among CPU-only engines. KMC has progressed rapidly to the upper-echelons of computer chess... but this progress is a mystery because its code is proprietary. Probably it shares many features with regular Komodo?

Stoofvlees is the one whose name means beef stew. It's a neural-network engine, written by Gian-Carlo Pascutto (who is also one of the Lc0 people). Stoofvlees is something of an enigma... no one knows how it got its network, or what's in its binary, or how it got so good. We're all a little curious about how far GCP can take Stoof (spoiler: it's probably going to be a long, long way).

Ethereal is another CPU-only engine, written by Andrew Grant (AGE). It made waves in the era immediately before AlphaZero was announced; Ethereal was improving at an incredible pace, especially since it was a one-man operation (not counting Laldon). AGE had a famously bitter rivalry with the Lc0 fandom. Things have calmed somewhat, but Ethereal-Lc0 games are always entertaining.

Xiphos  is a favorite of Serbian engine fans... because its creator (Milos Tatarevic) is Serbian! It's CPU-only, but I don't know much else about Xiphos except that its logo has swords.           .

rofChade is a new and technically interesting project, taking as its name the Dutch word for castling. It uses an extremely simple evaluation function, proving once again that you don't need to be a good chess player to write an engine.

RubiChess was initially never meant to be a strong engine. Its author simply wanted to practice his C++ skills. But here we are, two years later, and Rubi can (more or less) stay on the board with any engine in the world. Rubi's author freely admits to borrowing heavily from other engines, but everyone does that anyway.

Winter finished in last place in CCC9, which was its first CCC tournament. CCC9 might also have been Winter's last tournament- a new project, Winter NN, is supposedly already as strong as its predecessor. The original Winter used traditional machine-learning techniques such as k-means clustering (whatever that means).

Laser is another of those engines I should know more about, but don't. It was apparently written by Jeffry and Michael An. It uses only CPU and is consistently in the middle of the CCC field.

Fizbo has the distinction of being Robert Hess' favorite engine (it's true!). Its logo is a clown. Unfortunately Fizbo is on a hiatus from the CCC, since its performance seriously suffers on Linux. We miss you Fizbo!

Shredder is my personal favorite. An institution in computer chess, Shredder won something called the "World Microcomputer Chess Championship" in 1996 and the "World Chess Software Championship" in 2010. You read that correctly- Shredder's been winning tournaments since before Deep Blue beat Kasparov.

I'll probably expand on this list over time- I'm sure I've forgotten a few engines. But hopefully you got a taste of what computer chess is, and why people care about it.

Thanks for reading, and be sure to leave a comment!