Chess engine

In computer chess, a chess engine is a computer program that analyses chess positions and makes decisions on the best chess moves.[1]

The chess engine decides what moves to make, but typically does not interact directly with the user. Most chess engines do not have their own graphical user interface (GUI) but are rather console applications that communicate with a GUI such as XBoard, WinBoard or glChess via a standard protocol. This allows the user to play against multiple engines without learning a new user interface for each, and allows different engines to play against each other.

Interface protocol

The command-line interface of GNU Chess became the initial de facto standard, called the Chess Engine Communication Protocol and was first supported by XBoard. When XBoard was ported to the Windows operating system as WinBoard, this protocol was popularly renamed to 'WinBoard Protocol'. The WinBoard Protocol was itself upgraded and the two versions of the protocols are referred to as: 'WinBoard Protocol 1' (original version) and 'WinBoard Protocol 2' (newer version). There is another protocol, the Universal Chess Interface. Some engines support both major protocols, and each protocol has its supporters. The Winboard Protocol is more popular but many chess engine developers feel that the Universal Chess Interface is easier to implement. Some interfaces support both protocols, while others, such as WinBoard, support only one and depend on subsidiary interpreters to translate.

Increasing strength

Main article: Computer chess

Chess engines increase in playing strength each year. This is partly due to the increase in processing power that enables calculations to be made to ever greater depths in a given time. In addition, programming techniques have improved, enabling the engines to be more selective in the lines that they analyse and to acquire a better positional understanding.

Some chess engines use endgame tablebases to increase their playing strength during the endgame. An endgame tablebase is a database of all possible endgame positions with small groups of material. Each position is conclusively determined as a win, loss, or draw for the player whose turn it is to move, and the number of moves to the end with best play by both sides. Endgame tablebases in all cases identify the absolute best move in all positions included (identifying the move that wins fastest against perfect defense, or the move that loses slowest against optimal opposition). Such tablebases are available for all positions containing three to six pieces (counting the kings) and for some seven-piece combinations. When the maneuvering in an ending to achieve an irreversible improvement takes more moves than the horizon of calculation of a chess engine, an engine is not guaranteed to find the best move without the use of an endgame tablebase, and in many cases can fall foul of the fifty-move rule as a result.

Many engines use permanent brain as a method to increase their strength.

Comparisons

Tournaments

The results of computer tournaments give one view of the relative strengths of chess engines. However, tournaments do not play a statistically significant number of games for accurate strength determination. In fact, the number of games that need to be played between fairly evenly matched engines, in order to achieve significance, runs into the thousands and is, therefore, impractical within the framework of a tournament.[2] Most tournaments also allow any types of hardware, so only engine/hardware combinations are being compared.

Historically, commercial programs have been the strongest engines. To some extent, this is a self-fulfilling prophecy; if an amateur engine wins a tournament or otherwise performs well (for example, Zappa in 2005), then it is quickly commercialized. Titles gained in these tournaments garner much prestige for the winning programs, and are thus used for marketing purposes.

Ratings

Chess engine rating lists aim to provide statistically significant measures of relative engine strength. These lists play multiple games between engines on standard hardware platforms, so that processor differences are factored out. Some also standardize the opening books, in an attempt to measure the strength differences of the engines only. These lists not only provide a ranking, but also margins of error on the given ratings. Also rating lists typically play games continuously, publishing many updates per year, compared to tournaments which only take place annually.

There are a number of factors that vary among the chess engine rating lists:

These differences affect the results, and make direct comparisons between rating lists difficult. All listed engines are 64-bit.

Rating list Time control
(moves/minutes)
Year
started
Last updated Engine/platform
entries
Games
played
Top three engines Rating
CCRL[3] 40/40[4]
Ponder OFF
2005 February 14, 2015 1591 564,219 Stockfish 6 x64 4CPU
Komodo 8 x64 4CPU
Houdini 4 x64 4CPU
3316
3304
3273
CEGT[5] 40/20[6]
Ponder OFF
2006 March 22, 2015 1291 819,567 Stockfish 6.0 x64 4CPU
Komodo 8.0 x64 4CPU
Stockfish 5.0 x64 4CPU
3281
3262
3236
IPON[7] 5m+3s
~16min/game
Ponder ON
2006 January 29, 2015 149 350,630 Stockfish 6
Komodo 8
Houdini 4
3178
3138
3123
SWCR[8] 40/10
Ponder ON
2009 March 23rd, 2015 43 58,950 Stockfish 6 BMI2 x64
Komodo 8 x64
Fire 4 x64
3134
3105
3052
SSDF[9] 40/120 --> 20/60
Ponder ON
1984 May 12, 2014 339 134,044 Komodo 5.1 MP x64 2GB Q6600 2.4 GHz
Stockfish 3 MP x64 2GB Q6600 2.4 GHz
Deep Rybka 4 x64 2GB Q6600 2.4 GHz
3259
3211
3209

These ratings, although calculated by using the Elo system (or similar rating methods), have no direct relation to FIDE Elo ratings or to other chess federation ratings of human players. Except for some man versus machine games which the SSDF had organized many years ago (which were far from today's level), there is no calibration between any of these rating lists and player pools. Hence, the results which matter are the ranks and the differences between the ratings, not the absolute level of the numbers. Also, each list calibrates their Elo via a different method. Therefore no Elo comparisons can be made between the lists. Nevertheless, in view of recent man versus machine matches, it is generally undisputed that top computer chess engines should be rated at least in the range of top human performances, and probably significantly higher.

Missing from many rating lists are IPPOLIT and its derivatives (e.g. Fire). Although very strong and open source, there are allegations from commercial software interests that they were derived from disassembled binary of Rybka.[10] Due to the controversy, all these engines have been blacklisted from many tournaments and rating lists. Rybka in turn was accused of being based on Fruit,[11] and in June 2011, the ICGA formally claimed Rybka was derived from Fruit and Crafty and banned Rybka from the International Computer Games Association World Computer Chess Championship, and revoked its previous victories (2007, 2008, 2009, and 2010)[12] The ICGA was criticized for this decision by Dr. Søren Riis, a longstanding supporter of the Rybka program.[13] Rybka is still included on several society ranking lists.

Test suites

Engines can be tested by measuring their performance on specific positions. Typical is the use of test suites, where for each given position there is one best move to find. These positions can be geared towards positional, tactical or endgame play. The Nolot test suite, for instance, focuses on deep sacrifices.[14] Then there are the BT2450 and BT2630 test suites by Hubert Bednorz and Fred Toennissen. These suites measure the tactical capability of the engine[15] and have been used at least by REBEL.[16] There is also a general test suite called Brilliancy by Dana Turnmire. The suite has been compiled mostly from How to Reassess Your Chess Workbook.[17]

Strategic Test Suite (STS) by Swaminathan and Dann Corbit, tests chess engine's strategical strength.[18]

Categorizations

Dedicated hardware

These chess playing systems include custom hardware or run on supercomputers. All are historical; chess supercomputers have not competed in computer tournaments since Hydra played in 2006.

Commercial dedicated computers

In the 1980s and early 1990s, there was a competitive market for strong dedicated chess computers. Many form-factors were sold, from handheld peg-board computers to wooden auto-sensory boards with state-of-the-art processors. This market changed in the mid-90s when the economical embedded processors in dedicated chess computers could no longer compete with the fast processors in personal computers. Nowadays, most dedicated units sold are of beginner and intermediate strength.

Historical

These chess programs run on obsolete hardware.

Other

There are hundreds of free and/or open source chess engines which conform to one of the above communication protocols. The top 50 strongest, freely available engines, according to the CCRL 40/40 rating list, are listed here.[21]

See also

Notes and references

  1. blog.chess.com Creating a chess engine from scratch (Part 1: Basics), Link date 28 June 2012
  2. mizarchessengine.com
  3. "CCRL 40/40 - Complete list". October 18, 2014. Retrieved October 21, 2014.
  4. Also available: 40 moves in 4 minutes
  5. "CEGT 40/20". Chess Engines Grand Tournament. March 22, 2015. Retrieved March 24, 2015.
  6. Also available: 40 moves in 4 minutes, 40 moves in 120 minutes
  7. "IPON". IPON. October 2, 2014. Retrieved October 21, 2014.
  8. "SWCR". SWCR. March 23, 2015. Retrieved March 24, 2015.
  9. "The SSDF Rating List". Swedish Chess Computer Association. May 12, 2014. Retrieved July 1, 2014.
  10. Chess engine controversy at chessvibes.com, retrieved 28/May/2010
  11. Evaluation
  12. Rybka disqualified and banned from World Computer Chess Championships | ChessVibes
  13. Riis, Dr. Søren (January 2, 2012). "A Gross Miscarriage of Justice in Computer Chess (part one)". Chessbase News. Retrieved 19 February 2012.
  14. Nolot test suite
  15. BT2450 test suite
  16. Rebel
  17. Brilliancy suite TalkChess forum
  18. Strategic Test Suite
  19. Fidelity Chess Challenger 1 - World's First Chess Computer
  20. Microchess
  21. Elo ratings taken from "CCRL 40/40, full list". Computer Chess Rating List. January 29, 2012. Retrieved February 9, 2012.

External links