fbpx
Wikipedia

Chess engine

In computer chess, a chess engine is a computer program that analyzes chess or chess variant positions, and generates a move or list of moves that it regards as strongest.[1]

A chess engine is usually a back end with a command-line interface with no graphics or windowing. Engines are usually used with a front end, a windowed graphical user interface such as Chessbase or WinBoard that the user can interact with via a keyboard, mouse or touchscreen. 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.

Many chess engines are now available for mobile phones and tablets, making them even more accessible.

History edit

The meaning of the term "chess engine" has evolved over time. In 1986, Linda and Tony Scherzer entered their program Bebe into the 4th World Computer Chess Championship, running it on "Chess Engine," their brand name for the chess computer hardware[2] made, and marketed by their company Sys-10, Inc.[3] By 1990 the developers of Deep Blue, Feng-hsiung Hsu and Murray Campbell, were writing of giving their program a 'searching engine,' apparently referring to the software rather than the hardware.[4] In December 1991, Computer-schach & Spiele referred to Chessbase's recently released Fritz as a 'Schach-motor,' the German translation for 'chess engine.[5] By early 1993, Marty Hirsch was drawing a distinction between commercial chess programs such as Chessmaster 3000 or Battle Chess on the one hand, and 'chess engines' such as ChessGenius or his own MChess Pro on the other. In his characterization, commercial chess programs were low in price, had fancy graphics, but did not place high on the SSDF (Swedish Chess Computer Association) rating lists while engines were more expensive, and did have high ratings.[6]

In 1994, Shay Bushinsky was working on an early version of his Junior program. He wanted to focus on the chess playing part rather than the graphics, and so asked Tim Mann how he could get Junior to communicate with Winboard. Tim's answer formed the basis for what became known as the Chess Engine Communication Protocol or Winboard engines, originally a subset of the GNU Chess command line interface.[7]

Also in 1994, Stephen J. Edwards released the Portable Game Notation (PGN) specification. It mentions PGN reading programs not needing to have a "full chess engine." It also mentions three "graphical user interfaces" (GUI): XBoard, pgnRead and Slappy the database.[8]

By the mid-2000s, engines had become so strong that they were able to beat even the best human players. Except for entertainment purposes, especially using engines with limited strength, matches between humans and engines are now rare; engines are increasingly regarded as tools for analysis rather than as opponents.

Interface protocol edit

Common Winboard engines would include Crafty, ProDeo (based on Rebel), Chenard, Zarkov and Phalanx.

In 1995, Chessbase released a version of their database program including Fritz 4 as a separate engine. This was the first appearance of the Chessbase protocol. Soon after, they added the engines Junior and Shredder to their product line up, including engines in CB protocol as separate programs which could be installed in the Chessbase program or one of the other Fritz style GUI's. Fritz 1-14 were only issued as Chessbase engines, while Hiarcs, Nimzo, Chess Tiger and Crafty have been ported to Chessbase format even though they were UCI or Winboard engines. Recently, Chessbase has begun to include Universal Chess Interface (UCI) engines in their playing programs such as Komodo, Houdini, Fritz 15–16 and Rybka rather than convert them to Chessbase engines.

In 2000, Stefan Meyer-Kahlen and Franz Huber released the Universal Chess Interface, a more detailed protocol that introduced a wider set of features. Chessbase soon after dropped support for Winboard engines, and added support for UCI to their engine GUI's and Chessbase programs. Most of the top engines are UCI these days: Stockfish, Komodo, Leela Chess Zero, Houdini, Fritz 15-16, Rybka, Shredder, Fruit, Critter, Ivanhoe and Ruffian.

From 1998, the German company Millenium 2000 briefly moved from dedicated chess computers into the software market, developing the Millennium Chess System (MCS) protocol for a series of CD's containing ChessGenius or Shredder, but after 2001 ceased releasing new software.[9] A more longstanding engine protocol has been used by the Dutch company, Lokasoft,[10] which eventually took over the marketing of Ed Schröder's Rebel.

Increasing strength edit

Chess engines increase in playing strength continually. 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 analyze and to acquire a better positional understanding. A chess engine often uses a vast previously-computed opening "book" to increase its playing strength for the first several moves, up to possibly 20 moves or more in deeply analyzed lines.[citation needed]

Some chess engines maintain a database of chess positions, along with previously-computed evaluations and best moves—in effect, a kind of "dictionary" of recurring chess positions. Since these positions are pre-computed, the engine merely plays one of the indicated moves in the database, thereby saving computing time, resulting in stronger, faster play.

Some chess engines use endgame tablebases to increase their playing strength during the endgame. An endgame tablebase includes all possible endgame positions with a small amount 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. The tablebase identifies for every position the move which will win the fastest against an optimal defense, or the move that will lose the slowest against an optimal offense. Such tablebases are available for all chess endgames with seven pieces or fewer (trivial endgame positions are excluded, such as six white pieces versus a lone black king).[11][12]

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 (continuing to calculate during the opponent's turn) as a method to increase their strength.

Distributed computing is also used to improve the software code of chess engines. In 2013, the developers of the Stockfish chess playing program started using distributed computing to make improvements in the software code.[13][14][15] As of June 2017, a total of more than 745 years of CPU time has been used to play more than 485 million chess games, with the results being used to make small and incremental improvements to the chess-playing software.[16] In 2019, Ethereal author Andrew Grant started the distributed computing testing framework OpenBench, based upon Stockfish's testing framework,[17][18] and it is now the most widely-used testing framework for chess engines.[citation needed]

Limiting an engine's strength edit

By the late 1990s, the top engines had become so strong that few players stood a chance of winning a game against them. To give players more of a chance, engines began to include settings to adjust or limit their strength. In 2000, when Stefan Meyer-Kahlen and Franz Huber released the Universal Chess Interface protocol they included the parameters uci_limitstrength and uci_elo allowing engine authors to offer a variety of levels rated in accordance with Elo rating, as calibrated by one of the rating lists. Most GUIs for UCI engines allow users to set this Elo rating within the menus. Even engines that have not adopted this parameter will sometimes have an adjustable strength parameter (e.g. Stockfish 11). Engines which have a uci_elo parameter include Houdini, Fritz 15–16, Rybka, Shredder, Hiarcs, Junior, Zappa, and Sjeng. GUIs such as Shredder, Chess Assistant, Convekta Aquarium,[19] Hiarcs Chess Explorer, and Martin Blume's Arena[20] have dropdown menus for setting the engine's uci_elo parameter. The Fritz family GUIs, Chess Assistant, and Aquarium also have independent means of limiting an engine's strength apparently based on an engine's ability to generate ranked lists of moves (called multipv for 'principle variation').

Comparisons edit

Tournaments edit

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.[21] Most tournaments also allow any types of hardware, so only engine/hardware combinations are being compared.

Historically, commercial programs have been the strongest engines. 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. However, after the rise of volunteer distributed computing projects such as Leela Chess Zero and Stockfish and testing frameworks such as FishTest and OpenBench in the late 2010s, free and open source programs have largely displaced commercial programs as the strongest engines in tournaments.

List of tournaments edit

Current tournaments include:

Historic tournaments include:

Ratings edit

Chess engine rating lists aim to provide statistically significant measures of relative engine strength. These lists play multiple games between engines. Some also standardize the opening books, the time controls, and the computer hardware the engines use, in an attempt to measure the strength differences of the engines only. These lists provide not only a ranking, but also margins of error on the given ratings.

The ratings on the rating lists, 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 (when engines were far from today's strength), 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, and not the absolute values.

Missing from many rating lists are IPPOLIT and its derivatives. Although very strong and open source, there are allegations from commercial software interests that they were derived from a disassembled binary of Rybka.[22] 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,[23] 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).[24] The ICGA received some criticism for this decision.[25] Despite all this, Rybka is still included on many rating lists, such as CCRL and CEGT, in addition to Houdini, a derivative of the IPPOLIT derivative Robbolito,[26] and Fire, a derivative of Houdini. In addition, Fat Fritz 2, a derivative of Stockfish,[27] is also included on most of the rating lists.

Differences between rating lists edit

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

  • Number of games. More games when testing each engine result in higher statistical significance.
  • Formulae used to calculate the elo of each engine.
  • Time control:
    • Longer time controls are better suited for determining tournament play strength, but also either make testing more time-consuming or the results less statistically significant.
    • Increment time controls are better suited for determining tournament play strength since tournaments usually use increment time controls, but many rating lists use cyclic/repeating time controls instead.
    • Consistent time controls throughout the rating list vs different time controls for each test. The latter results in a smaller statistical significance than the former because different time controls is a potential confounder. This is particularly problematic for CCRL because CCRL uses both cyclic/repeating time controls (40/15) and increment time controls (15"+10') in its CCRL 40/15 list yet maintains both time controls on the same list.[28]
  • Opponents used in testing engines. Some rating lists only test an engine against the most recent version of each opponent engine, while other rating lists test an engine against the version(s) of each opponent engine closest in elo to the engine being tested.
  • Hardware used:
    • Faster hardware with more memory leads to stronger play.
    • 64-bit (vs. 32-bit) hardware and operating systems favor bitboard-based programs
    • Hardware using modern instruction sets such as AVX2 or AVX512 favor engines using vectors and vector intrinsics in their code, common in neural networks.
    • Graphics processing units favor programs with deep neural networks.
    • Multiprocessor vs. single processor hardware.
    • Consistent hardware throughout the rating list vs different hardware for every test. The latter results in a smaller statistical significance than the former because different hardware is a potential confounder. This is particularly problematic for CEGT because multiple testers each with their own unique hardware are involved in testing each engine in CEGT.[29]
  • Ponder settings (speculative analysis while the opponent is thinking) aka Permanent Brain.
  • Transposition table sizes.
  • Opening book settings.

These differences affect the results, and make direct comparisons between rating lists difficult.

List of rating lists edit

Current rating lists and rating list organizations include:

  • Computer Chess Rating Lists (CCRL)
    • CCRL Blitz 2+1
    • CCRL 40/15
    • CCRL FRC
  • Chess Engines Grand Tournament (CEGT)
    • CEGT Blitz
    • CEGT 40/20
    • CEGT 40/120
    • CEGT 3"+1'
    • CEGT 5"+3'
    • CEGT 25"+8'
  • Stefan Pohl Computer Chess (SPCC)
  • Mac Chess Engine Rating List (MCERL)
  • Anti Draw Rating List (ADRL)
    • ADRL Blitz
    • ADRL 40/120
  • Ipman Chess
    • Ipman Chess Intel i9 7980XE
    • Ipman Chess Intel i7 11800H
    • Ipman Chess i7 2670QM
    • Ipman Chess i7 5960x
    • Ipman Chess List i3 M380
  • SSDF

Historic rating lists and rating list organizations include:

  • Computer Chess Rating Lists (CCRL)
    • CCRL 40/2 Archive
  • FastGM's Rating List (FGRL)
    • FGRL 4"+2.4'
    • FGRL 30"
  • Ipman Chess
    • Ipman Chess i7 970
  • Gambit Rating List (GRL)
  • FastGM's Rating List (FGRL)
    • FGRL 1"+0.6'
    • FGRL 10"+6'
    • FGRL 60"+15'
    • FGRL 16 Cores vs RTX 2070

Test suites edit

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.[30] The BT2450 and BT2630 test suites measure the tactical capability of a chess engine and have been used by REBEL.[31][32] There is also a general test suite called Brilliancy which was compiled mostly from How to Reassess Your Chess Workbook.[33] The Strategic Test Suite (STS) tests an engine's strategical strength.[34] Another modern test suite is Nightmare II which contains 30 chess puzzles.[35][irrelevant citation]

Kasparov versus the World (chess game played with computer assistance) edit

In 1999, Garry Kasparov played a chess game called "Kasparov versus the World" over the Internet, hosted by the MSN Gaming Zone. Both sides used computer (chess engine) assistance. The "World Team" included the participation of over 50,000 people from more than 75 countries, deciding their moves by plurality vote. The game lasted four months, ending after Kasparov's 62nd move when he announced a forced checkmate in 28 moves found with the computer program Deep Junior. The World Team voters resigned on October 22. After the game, Kasparov said: "It is the greatest game in the history of chess. The sheer number of ideas, the complexity, and the contribution it has made to chess make it the most important game ever played."[36]

Engines for chess variants edit

Some chess engines have been developed to play chess variants, adding the necessary code to simulate non-standard chess pieces, or to analyze play on non-standard boards. ChessV and Fairy-Max, for example, are both capable of playing variants on a chessboard up to 12×8 in size, such as Capablanca Chess (10×8 board).

For larger boards, however, there are few chess engines that can play effectively, and indeed chess games played on an unbounded chessboard (infinite chess) are virtually untouched by chess-playing software, although theoretically a program using a MuZero-derived algorithm could handle an unbounded state space.

Graphical user interfaces edit

XBoard/Winboard was one of the earliest graphical user interfaces (GUI). Tim Mann created it to provide a GUI for the GNU Chess engine, but after that, other engines such as Crafty appeared which used the Winboard protocol. Eventually, the program Chessmaster included the option to import other Winboard engines in addition to the King engine which was included.

In 1995, Chessbase began offering the Fritz engine as a separate program within the Chessbase database program and within the Fritz GUI. Soon after, they added the Junior and Shredder engines to their product line up, packaging them within the same GUI as was used for Fritz. In the late 1990s, the Fritz GUI was able to run Winboard engines via an adapter, but after 2000, Chessbase simply added support for UCI engines, and no longer invested much effort in Winboard.

In 2000, Stefan Meyer-Kahlen started selling Shredder in a separate UCI GUI of his own design, allowing UCI or Winboard engines to be imported into it.

Convekta's Chess Assistant and Lokasoft's ChessPartner also added the ability to import Winboard and UCI engines into their products. Shane Hudson developed Shane's Chess Information Database, a free GUI for Linux, Mac and Windows. Martin Blume developed Arena,[20] another free GUI for Linux and Windows. Lucas Monge entered the field with the free Lucas Chess GUI.[37] All three can handle both UCI and Winboard engines.

On Android, Aart Bik came out with Chess for Android,[38] another free GUI, and Gerhard Kalab's Chess PGN Master[39] and Peter Osterlund's Droidfish[40] can also serve as GUIs for engines.

The Computer Chess Wiki lists many chess GUIs.[41]

See also edit

Notes edit

References edit

  1. ^ blog.chess.com Creating a chess engine from scratch (Part 1: Basics), Link date 28 June 2012
  2. ^ "4th World Computer Chess Championship - New York 1983 (ICGA Tournaments)". Game-ai-forum.org.
  3. ^ "New SYS-10". Sys-10.com. Retrieved 26 June 2022.
  4. ^ Feng-hsiung Hsu, Thomas Anantharaman, Murray Campbell and Andreas Nowatzyk. "A Grandmaster Chess Machine." Scientific American. October 1990.
  5. ^ Computer-schach & Spiele would later start using the English word 'engine,' eg. 1997#6 when describing Fritz or Hiarcs.
  6. ^ "The True Value of Chess Software." Computer Chess Reports. 1992-3. vol. 3 no. 2 p. 22
  7. ^ "XBoard Project History". Tim-mann.org.
  8. ^ "Standard: Portable Game Notation Specification and Implementation Guide" (TXT). Thechessdrum.net. Retrieved 2022-06-26.
  9. ^ Computer-schach & Spiele.
  10. ^ "Home - Lokasoft - Home of ChessPartner". Lokasoft.nl. Retrieved 26 June 2022.
  11. ^ http://tb7.chessok.com Lomonosov website allowing registered user to access 7-piece tablebase, and a forum with positions found.
  12. ^ "Who wins from this? (chess puzzle)" An example chess position found from the Lomonosov chess tablebase.
  13. ^ "Stockfish Testing Framework". Tests.stockfishchess.org. Retrieved 7 March 2014.
  14. ^ "Get Involved". Stockfishchess.org. Retrieved 8 March 2014.
  15. ^ Costalba, Marco (1 May 2013). "Fishtest Distributed Testing Framework". Talkchess.com. Retrieved 18 April 2014.
  16. ^ "Stockfish Testing Framework - Users". Test.stockfishchess.org. Retrieved 17 June 2017.
  17. ^ "Github - AndyGrant/OpenBench: OpenBench is a Distributed SPRT Testing Framework for Chess Engines". Github.com. Retrieved 23 December 2021.
  18. ^ "OpenBench". Chess.grantnet.us. Retrieved 2022-02-16.
  19. ^ "ChessOK Shop, Software, Training, Equipment, Books". Shop.chessok.com. Retrieved 26 June 2022.
  20. ^ a b . Archived from the original on 2007-03-14. Retrieved 2018-11-29.
  21. ^ "mizarchessengine.com". Retrieved 25 September 2016.
  22. ^ . Archived from the original on 2010-05-28. Retrieved 2010-05-28.
  23. ^ . Archived from the original on 2011-08-11. Retrieved 2010-12-18.
  24. ^ . Archived from the original on 2012-03-02. Retrieved 2011-06-30.
  25. ^ Riis, Dr. Søren (January 2, 2012). "A Gross Miscarriage of Justice in Computer Chess (part one)". Chessbase News. Retrieved 19 February 2012.
  26. ^ . Chessvibes. 10 February 2010. Archived from the original on 10 April 2014. Retrieved 25 October 2013.
  27. ^ The Stockfish Team (2021-07-21). "Our lawsuit against ChessBase". Stockfishchess.org. from the original on 2021-07-21. Retrieved 2021-08-18.
  28. ^ "CCRL 40/15, 2m1s and FRC 40/2 lists updated (21-10-2023)". talkchess.com. Retrieved 22 October 2023.
  29. ^ "CEGT Testers". Cegt.net. Retrieved 26 June 2022.
  30. ^ . Archived from the original on 2007-08-17. Retrieved 2007-08-04.
  31. ^ . Archived from the original on 2007-09-07. Retrieved 2007-10-10.
  32. ^ Rosenboom, Manfred. "Rebel Century FAQ: 3. Using Rebel". Retrieved 25 September 2016.
  33. ^ "BRILLIANCY TEST SUITE (2 min/move)". Talkchess.com. Retrieved 26 June 2022.
  34. ^ "Strategic Test Suite". Sites.google.com. Retrieved 26 June 2022.
  35. ^ "Uups - Oops: Link-Fehler und URL-Umleitungen". Glarean-magazin.ch. 10 October 2010. Retrieved 26 June 2022.
  36. ^ Harding, T. (2002). 64 Great Chess Games, Dublin: Chess Mail. ISBN 0-9538536-4-0.
  37. ^ "Lucas Chess". Lucaschess.pythonanywhere.com. Retrieved 26 June 2022.
  38. ^ "Aart Bik's Website". Aartbik.com.
  39. ^ "Chess PGN Master". Pgnmaster.kalab.com. Retrieved 26 June 2022.
  40. ^ . Archived from the original on 2018-12-10. Retrieved 2018-11-29.{{cite web}}: CS1 maint: archived copy as title (link)
  41. ^ "Computer_chess:wiki:lists:gui_protocol_support_list - Computer Chess Wiki". Computer-chess.org.

External links edit

  • - A general (learning) purpose Chess Engine's Polyglot Opening Book for WinBoard GUI.
  • Chess Programming Wiki

chess, engine, computer, chess, chess, engine, computer, program, that, analyzes, chess, chess, variant, positions, generates, move, list, moves, that, regards, strongest, chess, engine, usually, back, with, command, line, interface, with, graphics, windowing,. In computer chess a chess engine is a computer program that analyzes chess or chess variant positions and generates a move or list of moves that it regards as strongest 1 A chess engine is usually a back end with a command line interface with no graphics or windowing Engines are usually used with a front end a windowed graphical user interface such as Chessbase or WinBoard that the user can interact with via a keyboard mouse or touchscreen 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 Many chess engines are now available for mobile phones and tablets making them even more accessible Contents 1 History 2 Interface protocol 3 Increasing strength 4 Limiting an engine s strength 5 Comparisons 5 1 Tournaments 5 1 1 List of tournaments 5 2 Ratings 5 2 1 Differences between rating lists 5 2 2 List of rating lists 5 3 Test suites 6 Kasparov versus the World chess game played with computer assistance 7 Engines for chess variants 8 Graphical user interfaces 9 See also 10 Notes 11 References 12 External linksHistory editMain article History of chess engines The meaning of the term chess engine has evolved over time In 1986 Linda and Tony Scherzer entered their program Bebe into the 4th World Computer Chess Championship running it on Chess Engine their brand name for the chess computer hardware 2 made and marketed by their company Sys 10 Inc 3 By 1990 the developers of Deep Blue Feng hsiung Hsu and Murray Campbell were writing of giving their program a searching engine apparently referring to the software rather than the hardware 4 In December 1991 Computer schach amp Spiele referred to Chessbase s recently released Fritz as a Schach motor the German translation for chess engine 5 By early 1993 Marty Hirsch was drawing a distinction between commercial chess programs such as Chessmaster 3000 or Battle Chess on the one hand and chess engines such as ChessGenius or his own MChess Pro on the other In his characterization commercial chess programs were low in price had fancy graphics but did not place high on the SSDF Swedish Chess Computer Association rating lists while engines were more expensive and did have high ratings 6 In 1994 Shay Bushinsky was working on an early version of his Junior program He wanted to focus on the chess playing part rather than the graphics and so asked Tim Mann how he could get Junior to communicate with Winboard Tim s answer formed the basis for what became known as the Chess Engine Communication Protocol or Winboard engines originally a subset of the GNU Chess command line interface 7 Also in 1994 Stephen J Edwards released the Portable Game Notation PGN specification It mentions PGN reading programs not needing to have a full chess engine It also mentions three graphical user interfaces GUI XBoard pgnRead and Slappy the database 8 By the mid 2000s engines had become so strong that they were able to beat even the best human players Except for entertainment purposes especially using engines with limited strength matches between humans and engines are now rare engines are increasingly regarded as tools for analysis rather than as opponents Interface protocol editCommon Winboard engines would include Crafty ProDeo based on Rebel Chenard Zarkov and Phalanx In 1995 Chessbase released a version of their database program including Fritz 4 as a separate engine This was the first appearance of the Chessbase protocol Soon after they added the engines Junior and Shredder to their product line up including engines in CB protocol as separate programs which could be installed in the Chessbase program or one of the other Fritz style GUI s Fritz 1 14 were only issued as Chessbase engines while Hiarcs Nimzo Chess Tiger and Crafty have been ported to Chessbase format even though they were UCI or Winboard engines Recently Chessbase has begun to include Universal Chess Interface UCI engines in their playing programs such as Komodo Houdini Fritz 15 16 and Rybka rather than convert them to Chessbase engines In 2000 Stefan Meyer Kahlen and Franz Huber released the Universal Chess Interface a more detailed protocol that introduced a wider set of features Chessbase soon after dropped support for Winboard engines and added support for UCI to their engine GUI s and Chessbase programs Most of the top engines are UCI these days Stockfish Komodo Leela Chess Zero Houdini Fritz 15 16 Rybka Shredder Fruit Critter Ivanhoe and Ruffian From 1998 the German company Millenium 2000 briefly moved from dedicated chess computers into the software market developing the Millennium Chess System MCS protocol for a series of CD s containing ChessGenius or Shredder but after 2001 ceased releasing new software 9 A more longstanding engine protocol has been used by the Dutch company Lokasoft 10 which eventually took over the marketing of Ed Schroder s Rebel Increasing strength editChess engines increase in playing strength continually 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 analyze and to acquire a better positional understanding A chess engine often uses a vast previously computed opening book to increase its playing strength for the first several moves up to possibly 20 moves or more in deeply analyzed lines citation needed Some chess engines maintain a database of chess positions along with previously computed evaluations and best moves in effect a kind of dictionary of recurring chess positions Since these positions are pre computed the engine merely plays one of the indicated moves in the database thereby saving computing time resulting in stronger faster play Some chess engines use endgame tablebases to increase their playing strength during the endgame An endgame tablebase includes all possible endgame positions with a small amount 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 The tablebase identifies for every position the move which will win the fastest against an optimal defense or the move that will lose the slowest against an optimal offense Such tablebases are available for all chess endgames with seven pieces or fewer trivial endgame positions are excluded such as six white pieces versus a lone black king 11 12 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 continuing to calculate during the opponent s turn as a method to increase their strength Distributed computing is also used to improve the software code of chess engines In 2013 the developers of the Stockfish chess playing program started using distributed computing to make improvements in the software code 13 14 15 As of June 2017 update a total of more than 745 years of CPU time has been used to play more than 485 million chess games with the results being used to make small and incremental improvements to the chess playing software 16 In 2019 Ethereal author Andrew Grant started the distributed computing testing framework OpenBench based upon Stockfish s testing framework 17 18 and it is now the most widely used testing framework for chess engines citation needed Limiting an engine s strength editBy the late 1990s the top engines had become so strong that few players stood a chance of winning a game against them To give players more of a chance engines began to include settings to adjust or limit their strength In 2000 when Stefan Meyer Kahlen and Franz Huber released the Universal Chess Interface protocol they included the parameters uci limitstrength and uci elo allowing engine authors to offer a variety of levels rated in accordance with Elo rating as calibrated by one of the rating lists Most GUIs for UCI engines allow users to set this Elo rating within the menus Even engines that have not adopted this parameter will sometimes have an adjustable strength parameter e g Stockfish 11 Engines which have a uci elo parameter include Houdini Fritz 15 16 Rybka Shredder Hiarcs Junior Zappa and Sjeng GUIs such as Shredder Chess Assistant Convekta Aquarium 19 Hiarcs Chess Explorer and Martin Blume s Arena 20 have dropdown menus for setting the engine s uci elo parameter The Fritz family GUIs Chess Assistant and Aquarium also have independent means of limiting an engine s strength apparently based on an engine s ability to generate ranked lists of moves called multipv for principle variation Comparisons editTournaments edit 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 21 Most tournaments also allow any types of hardware so only engine hardware combinations are being compared Historically commercial programs have been the strongest engines 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 However after the rise of volunteer distributed computing projects such as Leela Chess Zero and Stockfish and testing frameworks such as FishTest and OpenBench in the late 2010s free and open source programs have largely displaced commercial programs as the strongest engines in tournaments List of tournaments edit Current tournaments include Top Chess Engine Championship TCEC World Computer Chess Championship WCCC and WCSC World Computer Speed Chess Championship Chess com Computer Chess Championship CCC Historic tournaments include Dutch Open Computer Chess Championship Internet Computer Chess Tournament CCT International Paderborn Computer Chess Championship North American Computer Chess ChampionshipRatings edit Chess engine rating lists aim to provide statistically significant measures of relative engine strength These lists play multiple games between engines Some also standardize the opening books the time controls and the computer hardware the engines use in an attempt to measure the strength differences of the engines only These lists provide not only a ranking but also margins of error on the given ratings The ratings on the rating lists 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 when engines were far from today s strength 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 and not the absolute values Missing from many rating lists are IPPOLIT and its derivatives Although very strong and open source there are allegations from commercial software interests that they were derived from a disassembled binary of Rybka 22 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 23 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 24 The ICGA received some criticism for this decision 25 Despite all this Rybka is still included on many rating lists such as CCRL and CEGT in addition to Houdini a derivative of the IPPOLIT derivative Robbolito 26 and Fire a derivative of Houdini In addition Fat Fritz 2 a derivative of Stockfish 27 is also included on most of the rating lists Differences between rating lists edit There are a number of factors that vary among the chess engine rating lists Number of games More games when testing each engine result in higher statistical significance Formulae used to calculate the elo of each engine Time control Longer time controls are better suited for determining tournament play strength but also either make testing more time consuming or the results less statistically significant Increment time controls are better suited for determining tournament play strength since tournaments usually use increment time controls but many rating lists use cyclic repeating time controls instead Consistent time controls throughout the rating list vs different time controls for each test The latter results in a smaller statistical significance than the former because different time controls is a potential confounder This is particularly problematic for CCRL because CCRL uses both cyclic repeating time controls 40 15 and increment time controls 15 10 in its CCRL 40 15 list yet maintains both time controls on the same list 28 Opponents used in testing engines Some rating lists only test an engine against the most recent version of each opponent engine while other rating lists test an engine against the version s of each opponent engine closest in elo to the engine being tested Hardware used Faster hardware with more memory leads to stronger play 64 bit vs 32 bit hardware and operating systems favor bitboard based programs Hardware using modern instruction sets such as AVX2 or AVX512 favor engines using vectors and vector intrinsics in their code common in neural networks Graphics processing units favor programs with deep neural networks Multiprocessor vs single processor hardware Consistent hardware throughout the rating list vs different hardware for every test The latter results in a smaller statistical significance than the former because different hardware is a potential confounder This is particularly problematic for CEGT because multiple testers each with their own unique hardware are involved in testing each engine in CEGT 29 Ponder settings speculative analysis while the opponent is thinking aka Permanent Brain Transposition table sizes Opening book settings These differences affect the results and make direct comparisons between rating lists difficult List of rating lists edit Current rating lists and rating list organizations include Computer Chess Rating Lists CCRL CCRL Blitz 2 1 CCRL 40 15 CCRL FRC Chess Engines Grand Tournament CEGT CEGT Blitz CEGT 40 20 CEGT 40 120 CEGT 3 1 CEGT 5 3 CEGT 25 8 Stefan Pohl Computer Chess SPCC Mac Chess Engine Rating List MCERL Anti Draw Rating List ADRL ADRL Blitz ADRL 40 120 Ipman Chess Ipman Chess Intel i9 7980XE Ipman Chess Intel i7 11800H Ipman Chess i7 2670QM Ipman Chess i7 5960x Ipman Chess List i3 M380 SSDFHistoric rating lists and rating list organizations include Computer Chess Rating Lists CCRL CCRL 40 2 Archive FastGM s Rating List FGRL FGRL 4 2 4 FGRL 30 Ipman Chess Ipman Chess i7 970 IPON Gambit Rating List GRL FastGM s Rating List FGRL FGRL 1 0 6 FGRL 10 6 FGRL 60 15 FGRL 16 Cores vs RTX 2070Test suites edit 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 30 The BT2450 and BT2630 test suites measure the tactical capability of a chess engine and have been used by REBEL 31 32 There is also a general test suite called Brilliancy which was compiled mostly from How to Reassess Your Chess Workbook 33 The Strategic Test Suite STS tests an engine s strategical strength 34 Another modern test suite is Nightmare II which contains 30 chess puzzles 35 irrelevant citation Kasparov versus the World chess game played with computer assistance editMain article Kasparov versus the World In 1999 Garry Kasparov played a chess game called Kasparov versus the World over the Internet hosted by the MSN Gaming Zone Both sides used computer chess engine assistance The World Team included the participation of over 50 000 people from more than 75 countries deciding their moves by plurality vote The game lasted four months ending after Kasparov s 62nd move when he announced a forced checkmate in 28 moves found with the computer program Deep Junior The World Team voters resigned on October 22 After the game Kasparov said It is the greatest game in the history of chess The sheer number of ideas the complexity and the contribution it has made to chess make it the most important game ever played 36 Engines for chess variants editSome chess engines have been developed to play chess variants adding the necessary code to simulate non standard chess pieces or to analyze play on non standard boards ChessV and Fairy Max for example are both capable of playing variants on a chessboard up to 12 8 in size such as Capablanca Chess 10 8 board For larger boards however there are few chess engines that can play effectively and indeed chess games played on an unbounded chessboard infinite chess are virtually untouched by chess playing software although theoretically a program using a MuZero derived algorithm could handle an unbounded state space Graphical user interfaces editXBoard Winboard was one of the earliest graphical user interfaces GUI Tim Mann created it to provide a GUI for the GNU Chess engine but after that other engines such as Crafty appeared which used the Winboard protocol Eventually the program Chessmaster included the option to import other Winboard engines in addition to the King engine which was included In 1995 Chessbase began offering the Fritz engine as a separate program within the Chessbase database program and within the Fritz GUI Soon after they added the Junior and Shredder engines to their product line up packaging them within the same GUI as was used for Fritz In the late 1990s the Fritz GUI was able to run Winboard engines via an adapter but after 2000 Chessbase simply added support for UCI engines and no longer invested much effort in Winboard In 2000 Stefan Meyer Kahlen started selling Shredder in a separate UCI GUI of his own design allowing UCI or Winboard engines to be imported into it Convekta s Chess Assistant and Lokasoft s ChessPartner also added the ability to import Winboard and UCI engines into their products Shane Hudson developed Shane s Chess Information Database a free GUI for Linux Mac and Windows Martin Blume developed Arena 20 another free GUI for Linux and Windows Lucas Monge entered the field with the free Lucas Chess GUI 37 All three can handle both UCI and Winboard engines On Android Aart Bik came out with Chess for Android 38 another free GUI and Gerhard Kalab s Chess PGN Master 39 and Peter Osterlund s Droidfish 40 can also serve as GUIs for engines The Computer Chess Wiki lists many chess GUIs 41 See also editChess variants Computer chess Correspondence chess Internet chess server List of chess softwareNotes editReferences edit blog chess com Creating a chess engine from scratch Part 1 Basics Link date 28 June 2012 4th World Computer Chess Championship New York 1983 ICGA Tournaments Game ai forum org New SYS 10 Sys 10 com Retrieved 26 June 2022 Feng hsiung Hsu Thomas Anantharaman Murray Campbell and Andreas Nowatzyk A Grandmaster Chess Machine Scientific American October 1990 Computer schach amp Spiele would later start using the English word engine eg 1997 6 when describing Fritz or Hiarcs The True Value of Chess Software Computer Chess Reports 1992 3 vol 3 no 2 p 22 XBoard Project History Tim mann org Standard Portable Game Notation Specification and Implementation Guide TXT Thechessdrum net Retrieved 2022 06 26 Computer schach amp Spiele Home Lokasoft Home of ChessPartner Lokasoft nl Retrieved 26 June 2022 http tb7 chessok com Lomonosov website allowing registered user to access 7 piece tablebase and a forum with positions found Who wins from this chess puzzle An example chess position found from the Lomonosov chess tablebase Stockfish Testing Framework Tests stockfishchess org Retrieved 7 March 2014 Get Involved Stockfishchess org Retrieved 8 March 2014 Costalba Marco 1 May 2013 Fishtest Distributed Testing Framework Talkchess com Retrieved 18 April 2014 Stockfish Testing Framework Users Test stockfishchess org Retrieved 17 June 2017 Github AndyGrant OpenBench OpenBench is a Distributed SPRT Testing Framework for Chess Engines Github com Retrieved 23 December 2021 OpenBench Chess grantnet us Retrieved 2022 02 16 ChessOK Shop Software Training Equipment Books Shop chessok com Retrieved 26 June 2022 a b Free chess graphical user interface GUI Arena for chess engines Archived from the original on 2007 03 14 Retrieved 2018 11 29 mizarchessengine com Retrieved 25 September 2016 Chess engine controversy at chessvibes com retrieved 28 May 2010 Archived from the original on 2010 05 28 Retrieved 2010 05 28 Evaluation Archived from the original on 2011 08 11 Retrieved 2010 12 18 Rybka disqualified and banned from World Computer Chess Championships ChessVibes Archived from the original on 2012 03 02 Retrieved 2011 06 30 Riis Dr Soren January 2 2012 A Gross Miscarriage of Justice in Computer Chess part one Chessbase News Retrieved 19 February 2012 Free Houdini beats commercial Rybka 23 5 16 5 Chessvibes 10 February 2010 Archived from the original on 10 April 2014 Retrieved 25 October 2013 The Stockfish Team 2021 07 21 Our lawsuit against ChessBase Stockfishchess org Archived from the original on 2021 07 21 Retrieved 2021 08 18 CCRL 40 15 2m1s and FRC 40 2 lists updated 21 10 2023 talkchess com Retrieved 22 October 2023 CEGT Testers Cegt net Retrieved 26 June 2022 Nolot test suite Archived from the original on 2007 08 17 Retrieved 2007 08 04 BT2450 test suite Archived from the original on 2007 09 07 Retrieved 2007 10 10 Rosenboom Manfred Rebel Century FAQ 3 Using Rebel Retrieved 25 September 2016 BRILLIANCY TEST SUITE 2 min move Talkchess com Retrieved 26 June 2022 Strategic Test Suite Sites google com Retrieved 26 June 2022 Uups Oops Link Fehler und URL Umleitungen Glarean magazin ch 10 October 2010 Retrieved 26 June 2022 Harding T 2002 64 Great Chess Games Dublin Chess Mail ISBN 0 9538536 4 0 Lucas Chess Lucaschess pythonanywhere com Retrieved 26 June 2022 Aart Bik s Website Aartbik com Chess PGN Master Pgnmaster kalab com Retrieved 26 June 2022 Archived copy Archived from the original on 2018 12 10 Retrieved 2018 11 29 a href Template Cite web html title Template Cite web cite web a CS1 maint archived copy as title link Computer chess wiki lists gui protocol support list Computer Chess Wiki Computer chess org External links editChess Engine s Polyglot Opening Book for WinBoard GUI A general learning purpose Chess Engine s Polyglot Opening Book for WinBoard GUI Chess Programming Wiki Retrieved from https en wikipedia org w index php title Chess engine amp oldid 1216543914, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.