How do computer chess engines from all different platforms and eras compare with one another?

Tournament Results:

Click on each round for information.

Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Final result |

A couple of years ago I started to pit different computers and different software to find out which was the best chess computer, and best software. I started with picking computers from 1979, and software from that era, and putting them in a chess tournament. After that I did the same for 1980, in which after that I got kinda bored with the idea. I wasn’t bored in the project completely, but bore of doing a 6 round tournament of which every year would include more computers and software.

I have decided to restart the project again, but doing it a little different. This time I would randomly pick a computer system, and software and challenge them with with computers and software already ranked. First I needed to create an initial list, also I wanted to find out how older systems would do with current engines. So for the initial list I thought it would be a great idea to find out rankings of current engines. I created a tournament in which current engines that I have available to me. Using pyChess as the software to have these engines play, I have to ability to change a slider for how the engines would play. I assume that the slider is for the average length of time each engine would make, but for the purpose of this project I will call them “levels”. In this tournament each engine will be represented 5 times each for “level 1”, “level 5”, level 10”, level 15” and “level 20”. The following are the engines entered in this tournament.

ASM Fish

A port of Stockfish in x86-64 assembly by Mohammed Li, optional using AVX2 and BMI2 instructions, assembled with FASM to run under Windows or UNIX/Linux, first released in June 2016. The fun project is about to demonstrate how an experienced assembly programmer can optimize a program compared with GCC. A few structural optimizations were also applied, such as elimination of piece lists as already tried in Stockfish, which were later reinstalled due to the slower but stronger pedantFish (asmFish with PEDANTIC = 1) with the same node counts as Stockfish, became default. Critical functions in asmFish were not conform to the x86-64 ABI concerning register usage and calling convention. Some less time critical code was ported using GCC generated assembly output, such as Ronald de Man’s probing code for Syzygy Bases. asmFish further supports large pages, and its parallel search is numa. – https://www.chessprogramming.org/AsmFish

Crafty

A portable open source engine supporting the Chess Engine Communication Protocol written by Robert Hyatt in ANSI C starting in the early 90s, loosely derived from Cray Blitz, winner of the 1983 and 1986 World Computer Chess Championships. Crafty pioneered in using Rotated bitboards, parallel search and probing Nalimov Table-bases. It performs a principal variation search, null move pruning, LMR as well as a SEE swap algorithm for move ordering and to prune “bad” captures in quiescence search. In 2006/2007, Crafty switched from rotated to Magic bitboards, according to Robert Hyatt because it was not faster but simpler. Crafty 25.1, released in October 2016, not only includes an increase in playing strength but support for Syzygy bases by Ronald de Man aided by the coding contributions of Basil Falcinelli. Crafty 25.3 features playing strength adjustment between 800 and 2600 Elo. – https://www.chessprogramming.org/Crafty

Critter

An UCI compliant chess engine by Richard Vida, executables freely available for personal use to run under Windows, Linux, Android and Mac OS. Starting in late 2008, Critter was first written in Object Pascal compiled with Delphi, now available as open source engine, and was ported to C / C++ in 2009. It consistently evolved through various board representations from 0x88 to bitboards, as acknowledged by Richard Vida, also incorporating ideas from strong open source programs like Ippolit, to a world class engine which achieved top five of most engine rating lists. In 2012, Critter had its over the board debut at the ICT 2012, where it became strong runner-up behind the Rybka cluster. – https://www.chessprogramming.org/Critter.

Ethereal

An UCI compliant open source chess engine written by Andrew Grant in C, licensed under the GNU GPL and first officially released in June 2016. Ethereal is greatly influenced from Crafty, Stockfish, TSCP, MadChess, and Fruit. – https://www.chessprogramming.org/Ethereal.

Fairy Max

An open source engine for playing chess variants with fairy chess pieces by Harm Geert Muller, written in C and compliant to the Chess Engine Communication Protocol. Fairy-Max is based on Micro-Max, and uses tables with step vectors for move generation, and knows which pieces are leapers and which are sliders. – https://www.chessprogramming.org/Fairy-Max.

Firenzina

Firenzina [ˌfi-rɛn-ˈtsē-nə] is a free, open-source UCI chess engine by Kranium (Norman Schmidt), Yuri Censor (Dmitri Gusev) and ZirconiumX (Matthew Brades), a fork of Fire 2.2 xTreme by Kranium (Norman Schmidt), a derivative (via Fire) of FireBird by Kranium (Norman Schmidt) and Sentinel (Milos Stanisavljevic), based on (via Fire and FireBird) IppoLit engines by Yakov Petrovich Golyadkin, Igor Igorovich Igoronov, Roberto Pescatore, Yusuf Ralf Weisskopf, Ivan Skavinsky Skavar and all Decembrists. – http://firenzina.org.

Fruit

Until Version 2.1 open source, is a groundbreaking UCI compatible chess engine developed by primary author Fabien Letouzey. It made its first appearance to the public in March 2004, when Fruit was a basic program with a very simple evaluation and basic search. However, since then it made progress adding about 100 Elo to each new release (1.5, 2.0, 2.1 and Fruit 2.2). – https://www.chessprogramming.org/Fruit.

GNUChess

The open source chess engine of the Free Software Foundation. GNU Chess was initially written by Stuart Cracraft in the mid 80s, joined by John Stanback who contributed his own code to GNU Chess 2 and 3 which was laboriously and meticulously well-written. Dozens of developers have enhanced GNU Chess over the times. Version 5 was a complete rewrite by Chua Kong Sian, incorporating his chess program Cobalt and Cracraft’s Gazebo. Fabien Letouzey is the primary author of GNU Chess 6, based on Fruit 2.1. https://www.chessprogramming.org/GNU_Chess. This engine was forced to exit the tournament as it kept crashing on me everytime.

Gull

An UCI compliant open source engine in the public domain by Vadim Demichev, inspired by ideas and code from other open source engines, notably from IvanHoe of the Ippolit family of programs, and from Strelka, whose authors are suspected of reverse engineering Rybka, to examine and use her ideas. Ron Murawski’s Computer-Chess Wiki mentions GullChess as IvanHoe derivative. The further socialization of concrete implementations with disputed origin in the public domain, as already started with Ippolit, remains a highly controversial topic. – https://www.chessprogramming.org/Gull

Komodo

A chess engine by primary author Don Dailey (died at the age of 57 on November 22, 2013) and since October 2013, by Mark Lefler, supported by chess advisor and evaluation expert and Don’s long time collaborator Larry Kaufman. Since 2015, opening book expert Erdogan Günes is responsible for Komodo’s book moves. At the WCCC 2016 Komodo 10.x first time won the Shannon Trophy, defended by subsequent versions at the WCCC 2017 and WCCC 2018 so far.

Komodo appeared in January 2010 derived from Don’s former engine Doch. It uses bitboards as internal board representation, and has a sophisticated search and a knowledge based, balanced evaluation. Komodo is a standalone chess engine supporting the UCI protocol and is available for multiple platforms and operating systems, and is therefore compatible with free and commercial UCI compliant chess graphical user interfaces and database front ends.

As of December 2011, Komodo became commercial with version 4, earlier versions running under Windows, Linux, Mac OS and Android are available from the Komodo download site, free for non-commercial use. Next release date was May 2013, with CCT15 winner Komodo CCT . – https://www.chessprogramming.org/Komodo.

PyChess

A free, open source chess GUI and engine, distributed under the GNU Public License, both written in Python. Thomas Dybdahl Ahle started the project in 2006, with Bajusz Tamás and Justin Blanchard contributing in the meantime. The GUI uses PyGTK and was originally developed for GNOME, compliant with its Human Interface Guidelines, but runs well under all other Linux desktops, and since PyChess 0.12 Anderssen rc4 released in August 2015, in parts re-written to Python 3 threading, also under Windows. PyChess allows playing with the build in engine, with UCI and Chess Engine Communication Protocol compliant chess engines, or can act as online client of the Free Internet Chess Server (FICS). Further, PyChess supports many chess variants. – https://www.chessprogramming.org/PyChess

Sjeng

An open source engine written by Gian-Carlo Pascutto with help from Adrien Regimbald, Daniel Clausen, Dann Corbit, Lenny Taelman, Ben Nye, Ronald de Man, David Dawson, Tim Foden and Georg von Zimmermann. Sjeng was initially based on Faile 0.6 by Adrien Regimbald, and an attempt to create a Bughouse & Crazyhouse playing program. Sjeng 7 became open source under the GPL, also playing standard and Antichess. The Chess Engine Communication Protocol compliant Sjeng 11.2 was the final open source program released in January 2002, while Sjeng 12.7 was closed source, didn’t play variants, and emerged to the commercial Deep Sjeng in 2003, initially market by Lex Loep’s Lokasoft. – https://www.chessprogramming.org/Sjeng

Stockfish

An UCI compatible open source chess engine developed by Tord Romstad, Marco Costalba, Joona Kiiski and Gary Linscott, licensed under the GPL v3.0. Marco forked the project from version 2.1 of Tord’s engine Glaurung, first announced by Marco in November 8, 2008, and in early 2009 Joona’s Smaug, a further Glaurung 2.2 derivative, was incorporated. Starting out among the top twenty engines, Stockfish has quickly climbed in strength to become the world strongest chess entity as of 2018 – at least concerning the AlphaZero hype, public available chess entity. The name “Stockfish” reflects the ancestry of the engine. Tord is Norwegian and Marco Italian, and there is a long history of stockfish trade from Norway to Italy (to Marco’s home town of Vicenza, in fact). Stockfish also referred another famous “little fish”, the then strongest chess engine Rybka. – https://www.chessprogramming.org/Stockfish

Xiphos

An UCI compliant open source chess engine by Milos Tatarevic, written in C, licensed under the GNU General Public License v3.0, first released on February 28, 2018. Xiphos utilizes bitboards with BERLEF mapping (a1=56, a8=63, h1=0, h8=7). Sliding piece attacks are determined by either magic bitboards, or if compiled for BMI2 capable x86-64 processors, by PEXT bitboards. Xiphos executables are available to run under Linux, Mac OS and Windows. Still work in progress with a relatively simple evaluation function, the first Xiphos release should already be on par with engines rated around 3000 Elo on CCRL 40/4 scale. – https://www.chessprogramming.org/Xiphos.