Sunfish
Sunfish,
a simple open source chess engine under the GPL written by Thomas Dybdahl Ahle in Python for didactic purposes, inspired by Harm Geert Muller's Micro-Max [2].
Without the code lines of the piece-square tables and its simple command line interface, it takes up just 111 lines of code. Besides its command line interface featuring a Unicode chess symbol board, Sunfish supports the Chess Engine Communication Protocol to play with a graphical interface like XBoard or PyChess.
Contents
Description
Sunfish applies MTD-bi, the binary search version of MTD(f) [3], also known as NegaC* as proposed by Jean-Christophe Weill in 1990 [4] [5], which is based on C*, introduced by Kevin Coplan in 1981 at Advances in Computer Chess 3 [6]. MTD-bi is embedded inside an iterative deepening framework. Its fail-soft scout originally lacked the quiescence search, which made it blunder pretty badly in some positions [7], but a version of this was later added [8]. The rudimentary evaluation considers point values and piece-square tables - an aggregated score is incremental updated during make move.
Etymology
Sunfish is named after the Pygmy Sunfish, which is among the very few fish to start with the letters 'Py', and refers other famous fish engines such as Stockfish and Rybka [9] .
See also
Publications
- Jonni Bidwell (2016). Python: Sunfish chess engine. Linux Format, pdf
Postings
- Sunfish – A 111 line Chess Engine in Python by Thomas Dybdahl Ahle, reddit, February 16, 2014
- SUNFISH - a new chess engine written in Python ! by Ruxy Sylwyka, CCC, February 27, 2014
- New version of Sunfish by Thomas Dybdahl Ahle, CCC, August 20, 2016
- Sunfish (Python Engine) by Norbert Raimund Leisner, CCC, January 02, 2018
External Links
Chess Engine
Misc
- Sunfish from Wikipedia
- Sunfish Lake (Ontario) from Wikipedia
- Basking shark from Wikipedia
- Pygmy sunfish from Wikipedia
References
- ↑ Pygmy sunfish (Elassoma sp.). Drawing by Duane Raver for the United States Fish and Wildlife Service, Wikimedia Commons
- ↑ Sunfish – A 111 line Chess Engine in Python by Thomas Dybdahl Ahle, reddit, February 16, 2014
- ↑ Aske Plaat, Jonathan Schaeffer, Wim Pijls, Arie de Bruin (1995). A New Paradigm for Minimax Search. Technical Report EUR-CS-95-03, arXiv:1404.1515
- ↑ Jean-Christophe Weill (1991). Experiments With the NegaC* Search - An Alternative for Othello Endgame Search. Heuristic Programming in AI 2
- ↑ Jean-Christophe Weill (1992). The NegaC* Search. ICCA Journal, Vol. 15, No. 1
- ↑ Kevin Coplan (1982). A special-purpose machine for an improved search algorithm for deep chess combinations. Advances in Computer Chess 3
- ↑ Re: SUNFISH - a new chess engine written in Python ! by Thomas Dybdahl Ahle, CCC, February 28, 2014
- ↑ Re: SUNFISH - a new chess engine written in Python ! by Thomas Dybdahl Ahle, CCC, February 28, 2014
- ↑ thomasahle/sunfish · GitHub