Chess engine
From Wikipedia, the free encyclopedia
| This article or section may contain spam. Wikipedia spam consists of external links mainly intended to promote a website. Wikipedia spam also consists of external links to websites which primarily exist to sell goods or services, use objectionable amounts of advertising, or require payment to view the relevant content. If you are familiar with the content of the external links, please help by removing promotional links in accordance with Wikipedia:External links. (You can help!) |
A chess engine is a computer program that can play the game of chess.
Contents |
[edit] Interface
The term chess engine refers to a chess playing program that implements a standard interface protocol, allowing it to be loaded into a common chess user interface. Many such programs do not have their own GUI and can only be run within programs such as XBoard under Linux and Arena, WinBoard and Chessbase (commercial) under Windows. These not only allow engines to play against human opponents but also another engines on a single computer, a local area network and over the internet (Free Internet Chess Server).
[edit] Protocols
The command line interface of GNU Chess became the initial de facto standard, called the Chess Engine Communication Protocol and first supported by XBoard. There is now a newer protocol, the Universal Chess Interface. Some engines support both protocols, and each has their supporters. The Chess Engine Communication Protocol is more popular but many chess engine developers feel that the Universal Chess Interface is more expressive. Some interface programs, such as Arena, support both protocols whereas others, such as Winboard, support only one and depend on subsidiary interpretors, such as Polyglot, to translate.
[edit] Increasing strength
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 3-6 man positions (counting the kings) and some 7-man combinations. When the manoeuvering 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 50 move rule etc. as a result. Some experts have pointed out the potential for faulty use of endgame tablebases by programmers, leading to worse play.
[edit] Comparison between engines
[edit] Tournaments
The results of computer tournaments, such as the World Computer Chess Championship, 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, impractible within the framework of a tournament [1]. Most tournaments also allow any types of hardware, so only engine/hardware combinations are being compared.
Historically, commercial programs have been the strongest engines. The 2006 WCCC was won by Junior. The top four programs were commercial engines but Spike, a freely available engine, finished joint 5th. [2] To some extent, this is a self-fulfulling prophesy; if an amateur engine wins a tournament or otherwise performs well (for example, Zappa in 2005), then it is quickly commercialized.
[edit] Chess engine rating lists
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. 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.
[edit] 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. [8] Then there are the BT2450 and BT2630 test suites by Hubert Bednorz and Fred Toennissen. These suites measure the tactical capability of the engine[9] and have been used at least by REBEL.[10] 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.[11]
[edit] Engine categories
[edit] Freely available chess engines
There are hundreds of freely available chess engines which conform to one of the above communication protocols. Many run on Windows or are open source. A few of the strongest are listed here. Others may be found by examining the rating lists or external links.
Elo ratings taken from CCRL 40/40, retrieved in November 2007.
- Alaric (v707 Elo 2752) by Peter Fendrich (SE)
- Aristarch (v4.50 Elo 2698) by Stefan Zipproth (DE)
- Baron (v1.8.1 Elo 2625) by Richard Pijl (NL)
- Crafty (v21.5 Elo 2631 - 21.6 now available) by Bob Hyatt (US)
- Delfi (v5.2 Elo 2756) by Philippe Fabiani (FR)
- Fruit (v2.3.1 Elo 2863) by Fabien Letouzey (FR)
- Gambit Fruit (derived from Fruit by Fabien Letouzey/Bryan Hofmann (FR/US)
- Glaurung (v1.2.1 Elo 2726) by Tord Romstad (NO)
- Ktulu ( (v4.2) by Rahman Paidar (IR)
- List (v5.12 Elo 2720) by Fritz Reul (DE)
- Movei (v0.08.438 Elo 2748) by Uri Blass (IL)
- Naum (v1.91 Elo 2704) by Aleksandar Naumov (RS/CA)
- Pharaon (3.5.1 Elo 2708) by Franck Zibi (FR)
- ProDeo (v1.2 Elo 2689) by Ed Schröder (NL)
- Ruffian (v1.0.5 Elo 2711) by Per-Ola Valfridsson (SE)
- Rybka (v.10 (free version) Elo 2920) by Vasik Rajlich (CZ/US)
- Scorpio (v1.9 Elo 2754) by Daniel Shawul (ET)
- Sjeng (also the engine in Mac OS X Chess) by Gian-Carlo Pascutto (BE)
- Slow Chess (vBlitz WV2.1 Elo 2740) by Jonathan Kreuzer (US)
- Spike (v1.2 Turin Elo 2855) by Volker Böhm and Ralf Schäfer (DE)
- Strelka (v1.8 Elo 2867) by Yuri Osipov (RU)
- Toga II (v1.3.4 Elo 2868) derived from Fruit by Fabien Letouzey/Thomas Gaksch (FR/DE)
- Wildcat (v7 Elo 2730) by Igor Korshunov (RU)
- Zappa (v1.1 (free version) Elo 2687) by Anthony Cozzie (US)
Ikarus and Ferret, both private engines, were winners of the World Computer Speed Chess Championship.
[edit] Pedagogical engines
These open source chess programs were expressly written to teach the craft of chess programming.
[edit] Commercial programs
These chess programs are sold commercially. Most of these also include their own user interface.
- Chess Genius, by Richard Lang of Mephisto fame
- Chessmaster
- Chess Tiger
- Fritz (single processor), Deep Fritz (multi processor)
- Gandalf
- HIARCS
- Junior - (single- and multi-processor versions)
- The King - the engine of the commercial Chessmaster program
- Ktulu
- Loop
- Naum versions 2.1 and later
- Rebel - (see also ProDeo)
- Ruffian 2
- Rybka
- Shredder
- Deep Sjeng
- Smarthink
- Zappa
[edit] Dedicated hardware
These chess playing systems include custom hardware or run on supercomputers.
- Bebe, a strong bit-slice processor in the 1980s
- Belle
- Chess (Northwestern University)
- ChipTest
- Cray Blitz
- Deep Blue
- Deep Thought
- HiTech
- Hydra, predecessor was called Brutus
[edit] 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.
- Chess Challenger, a line of chess computers sold by Fidelity Electronics from 1980 to 1992. These models won the first four World Microcomputer Chess Championships.
- Chessmachine, an ARM-based dedicated computer, which could run two engines:
- The King, which later became the Chessmaster engine, was also used in the TASC R30 dedicated computer
- Gideon, a version of Rebel, in 1992 became the first microcomputer to win the World Computer Chess Championship
- Mephisto, a line of chess computers sold by Hegner & Glaser. The units programmed by Richard Lang won six consecutive World Microcomputer Chess Championships.
- Novag sold a line of tactically strong computers, including the Constellation and Sapphire brands
- Saitek sold mid-range units of intermediate strength
- Excalibur sells a current line of intermediate strength units
[edit] Historical programs
These chess programs run on obsolete hardware.
[edit] See also
- Chess Engines Grand Tournament
- Computer chess
- Internet chess server
- Chess Engine Communication Protocol
- Universal Chess Interface
[edit] External links
- Tim Mann's Chess Pages
- Arnaud's Chess Corner - extensive list of free engines/download details and engine ratings
- WB Chronology - another extensive list of free engines and links
- WBEC Ridderkerk - collection of free chess engine properties, tournaments and chess programming links
- Free UCI Chess engines
- ChessComputers.org - site dedicated to electronic chess machines or dedicated chess computersnl:Lijst van schaakmachines

