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.
43-483: Socrates II is a chess program that, in 1993, won the 23rd North American Computer Chess Championship . It ran on an IBM PC . This was the first and only time that a stock microcomputer won this event, finishing ahead of past winners Cray Blitz and HiTech . The authors, Don Dailey and Larry Kaufman , renewed their collaboration twenty years later to create the Komodo chess engine. This chess-related article
86-466: A 'Schach-motor,' the German translation for 'chess engine.' 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
129-734: A disassembled binary of Rybka . 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 , 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). The ICGA received some criticism for this decision. Despite all this, Rybka
172-832: A free chess engine. It incorporates an efficiently updatable neural network in REBEL's evaluation function , along with a heavily modified version of Fruit 's search. See also [ edit ] Fruit (software) References [ edit ] ^ Ed Schröder (February 17, 2023). "rebel-16" . HOME OF THE DUTCH REBEL . Archived from the original on June 22, 2023 . Retrieved June 19, 2023 . ^ Ed Schröder (February 18, 2023). "Rebel 16.2 release" . Prodeo Computer Chess Forum . Retrieved June 19, 2023 . ^ Steve Maughan (February 21, 2023). "Rebel 16.2: Impressive!" . Computer Chess Club Forum . Retrieved June 19, 2023 . ^ Ed Schröder. "REBEL 14" . HOME OF THE DUTCH REBEL . Archived from
215-427: 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. The meaning of the term "chess engine" has evolved over time. In 1986, Linda and Tony Scherzer entered their program Bebe into
258-531: A program using a MuZero -derived algorithm could handle an unbounded state space . 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
301-476: 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, another free GUI for Linux and Windows. Lucas Monge entered
344-585: A uci_elo parameter include Houdini , Fritz 15–16, Rybka , Shredder , Hiarcs , Junior , Zappa , and Sjeng . GUIs such as Shredder , Chess Assistant , Convekta Aquarium, Hiarcs Chess Explorer, and Martin Blume's Arena 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'). The results of computer tournaments give one view of
387-990: 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
430-418: Is a stub . You can help Misplaced Pages by expanding it . This software article is a stub . You can help Misplaced Pages by expanding it . Chess engine 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
473-446: Is a world champion chess program developed by Ed Schröder. Development of REBEL started in 1980 on a TRS-80 , and it was ported many times to dedicated hardware and the fastest microprocessors of the day: 1980s – Running on a TRS-80, Apple II , and inside of Mephisto brand dedicated chess computers, it won the Dutch open computer chess championship four times. 1991 – Ported to
SECTION 10
#1732856005372516-475: Is now the most widely-used testing framework for chess engines. 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
559-1315: Is part of the series on Chess programming [REDACTED] Board representations 0x88 Bitboards Evaluation functions Deep neural networks ( Transformers ) Attention Efficiently updatable neural networks Handcrafted evaluation functions Piece-square tables Reinforcement learning Stochastic gradient descent Supervised learning Texel tuning Unsupervised learning Graph and tree search algorithms Minimax Alpha-beta pruning Principal variation search Quiescence search Monte Carlo tree search Chess computers Belle ChessMachine ChipTest Cray Blitz Deep Blue Deep Thought HiTech Hydra Mephisto Saitek Chess engines AlphaZero Chess Tiger Crafty CuckooChess Deep Fritz Dragon by Komodo Chess Fairy-Max Fritz Fruit GNU Chess HIARCS Houdini Ikarus Junior KnightCap Komodo Leela Chess Zero MChess Pro Mittens MuZero Naum REBEL Rybka Shredder Sjeng SmarThink Stockfish Torch Turochamp Zappa v t e REBEL
602-405: 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
645-716: Is still included on many rating lists, such as CCRL and CEGT, in addition to Houdini , a derivative of the IPPOLIT derivative Robbolito, and Fire, a derivative of Houdini. In addition, Fat Fritz 2 , a derivative of Stockfish, is also included on most of the rating lists. 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. Current rating lists and rating list organizations include: Historic rating lists and rating list organizations include: Engines can be tested by measuring their performance on specific positions. Typical
688-406: 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. The BT2450 and BT2630 test suites measure the tactical capability of a chess engine and have been used by REBEL . There is also a general test suite called Brilliancy which
731-641: The ARM ChessMachine and named Gideon , it won the World Microcomputer Chess Championship . 1992 – Gideon won the World Computer Chess Championship , the first time a microprocessor came ahead of a field of mainframes , supercomputers , and custom chess hardware. 1990s – REBEL was ported to MS-DOS and then Microsoft Windows and sold commercially 1997 – REBEL won a match with GM Arthur Yusupov 10.5–6.5,
774-446: 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,
817-500: 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
860-414: 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
903-483: The 4th World Computer Chess Championship , running it on "Chess Engine," their brand name for the chess computer hardware made, and marketed by their company Sys-10, Inc. 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. In December 1991, Computer-schach & Spiele referred to Chessbase 's recently released Fritz as
SECTION 20
#1732856005372946-545: The Chess Engine Communication Protocol or Winboard engines, originally a subset of the GNU Chess command line interface. 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. By
989-600: 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. A more longstanding engine protocol has been used by the Dutch company, Lokasoft, which eventually took over the marketing of Ed Schröder's Rebel . Chess engines increase in playing strength continually. This
1032-772: 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
1075-465: The SSDF ( Swedish Chess Computer Association ) rating lists while engines were more expensive, and did have high ratings. 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
1118-475: 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
1161-669: The complexity, and the contribution it has made to chess make it the most important game ever played." 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
1204-2972: The exchange Initiative first-move advantage Middlegame Pawn structure Hedgehog Isolated Queen's Pawn Maróczy Bind Minority attack Piece values Prophylaxis School of chess Openings Flank opening Benko Opening Bird's Opening Dunst Opening English Opening Grob's Attack Larsen's Opening Zukertort Opening King's Indian Attack Réti Opening King's Pawn Game Alekhine's Defence Caro–Kann Defence French Defence Modern Defence Nimzowitsch Defence Open Game Four Knights Game Giuoco Piano Italian Game King's Gambit Petrov's Defence Philidor Defence Ponziani Opening Ruy Lopez Semi-Italian Opening Scotch Game Two Knights Defense Vienna Game Owen's Defence Pirc Defence Austrian Attack Scandinavian Defense Sicilian Defence Alapin Dragon / Accelerated Dragon Najdorf Scheveningen Queen's Pawn Game Budapest Gambit Colle System Dutch Defence English Defence Indian Defence Benoni Defence Modern Benoni Bogo-Indian Defence Catalan Opening Grünfeld Defence King's Indian Defence Nimzo-Indian Defence Old Indian Defense Queen's Indian Defence London System Richter–Veresov Attack Queen's Gambit Accepted Declined Slav Defence Semi-Slav Defence Chigorin Defense Torre Attack Trompowsky Attack Other List of openings theory table List of chess gambits Irregular Bongcloud Attack Fool's mate Scholar's mate Endgames Bishop and knight checkmate King and pawn vs king Opposite-coloured bishops Pawnless endgame Queen and pawn vs queen Queen vs pawn Queen vs rook Rook and bishop vs rook Rook and pawn vs rook Lucena position Philidor position Strategy fortress opposition Tarrasch rule triangulation Zugzwang Study Tablebase Two knights endgame Wrong bishop Wrong rook pawn Tournaments List of strong chess tournaments Chess Olympiad Women World Chess Championship List Candidates Tournament Chess World Cup FIDE Grand Prix Other world championships Women Team Rapid Blitz Junior Youth Senior Amateur Chess composition Solving Computer chess championships CCC CSVN North American TCEC WCCC WCSCC Art and media Caïssa Chess aesthetics Chess in
1247-803: The field with the free Lucas Chess GUI. All three can handle both UCI and Winboard engines. On Android, Aart Bik came out with Chess for Android, another free GUI, and Gerhard Kalab's Chess PGN Master and Peter Osterlund's Droidfish can also serve as GUIs for engines. The Computer Chess Wiki lists many chess GUIs. REBEL (chess) REBEL Original author(s) Ed Schröder Initial release 1980 Stable release 16.3 / March 11, 2024 ; 8 months ago ( 2024-03-11 ) Type Chess engine License GNU General Public License v3.0 (14 and after) proprietary commercial software (13 and before) Website rebel13 .nl This article
1290-530: The first several moves, up to possibly 20 moves or more in deeply analyzed lines. 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
1333-463: The first successful challenge of a chess grandmaster by a commercial program. 1998 – REBEL won a match with GM Viswanathan Anand 5–3 (but lost 0.5–1.5 in the standard time control section of the match). He was rated number two in the world at the time. 2004 – Ed Schröder retired, releasing the last version of REBEL as the freeware chess engine Pro Deo . 2022 - On January 12, 2022, Ed Schröder came out of retirement to release REBEL 14 as
Socrates II - Misplaced Pages Continue
1376-416: The late 2010s, free and open source programs have largely displaced commercial programs as the strongest engines in tournaments. Current tournaments include: Historic tournaments include: 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
1419-466: 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. Common Winboard engines would include Crafty , ProDeo (based on Rebel ), Chenard, Zarkov and Phalanx. In 1995, Chessbase released
1462-2798: The original on 26 April 2011. Schröder, Ed. "How REBEL Plays Chess" (PDF) . Archived from the original (PDF) on 6 November 2020. Rebel (Chess Programming Wiki) v t e Chess Outline Chess theory Chess titles Grandmaster Computer chess glossary matches engines software Correspondence chess FIDE Glossary Online chess Premove Internet chess server list Rating system world rankings norms Variants List World records Equipment Chess set chessboard Dubrovnik chess set Staunton chess set Chess pieces King Queen Rook Bishop Knight Pawn Fairy Chess clock Chess table Score sheets History Timeline Versus de scachis Göttingen manuscript Charlemagne chessmen Lewis chessmen Romantic chess Hypermodernism Soviet chess school Top player comparison Geography of chess Africa South Africa China Europe Armenia Spain India Notable games List of chess players amateurs female grandmasters Women in chess Chess museums Bobby Fischer Center Gökyay Association Chess Museum World Chess Hall of Fame Rules Castling Cheating in chess Check Checkmate Draw by agreement Fifty-move rule Perpetual check Stalemate Threefold repetition En passant Pawn promotion Time control Fast chess Touch-move rule White and Black Terms Blunder Chess notation algebraic descriptive PGN annotation symbols symbols in Unicode Fianchetto Gambit Key square King walk Open file Half-open file Outpost Pawns backward connected doubled isolated passed Swindle Tempo Transposition Trap Tactics Artificial castling Battery Alekhine's gun Block Checkmate patterns Combination Decoy Deflection Desperado Discovered attack Double check Fork Interference Overloading Pawn storm Pin Sacrifice Queen sacrifice Skewer Undermining Windmill X-ray Zwischenzug Strategy Compensation Exchange
1505-422: The original on June 22, 2023 . Retrieved June 19, 2023 . ^ Ed Schröder (January 12, 2022). "Rebel 14" . Computer Chess Club Forums . Retrieved June 19, 2022 . External links [ edit ] "Ed's recollection of REBEL's history" . Archived from the original on 6 November 2020. "Wealth of information on the inner workings of a professional program" . Archived from
1548-403: 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
1591-425: 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,
1634-527: 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. Most tournaments also allow any types of hardware, so only engine/hardware combinations are being compared. Historically, commercial programs have been
1677-417: 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 ). 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
1720-399: The software code. 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. In 2019, Ethereal author Andrew Grant started the distributed computing testing framework OpenBench, based upon Stockfish's testing framework, and it
1763-451: 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
Socrates II - Misplaced Pages Continue
1806-492: 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
1849-583: Was compiled mostly from How to Reassess Your Chess Workbook . The Strategic Test Suite (STS) tests an engine's strategical strength. Another modern test suite is Nightmare II which contains 30 chess puzzles. 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
#371628