Changes

Jump to: navigation, search

Sunfish

5,296 bytes added, 18:37, 9 August 2019
Created page with "'''Home * Engines * Sunfish''' [[FILE:Elassoma sp.jpg|border|right|thumb| [https://en.wikipedia.org/wiki/Pygmy_sunfish Pygmy sunfish] <ref>[https://en.wikip..."
'''[[Main Page|Home]] * [[Engines]] * Sunfish'''

[[FILE:Elassoma sp.jpg|border|right|thumb| [https://en.wikipedia.org/wiki/Pygmy_sunfish Pygmy sunfish] <ref>[https://en.wikipedia.org/wiki/Pygmy_sunfish Pygmy sunfish] (Elassoma sp.). [hhttps://digitalmedia.fws.gov/digital/collection/natdiglib/id/4499 Drawing] by Duane Raver for the [https://en.wikipedia.org/wiki/United_States_Fish_and_Wildlife_Service United States Fish and Wildlife Service], [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons]</ref> ]]

'''Sunfish''',<br/>
a simple [[:Category:Open Source|open source chess engine]] under the [[Free Software Foundation#GPL|GPL]] written by [[Thomas Dybdahl Ahle]] in [[Python]] for didactic purposes, inspired by [[Harm Geert Muller|Harm Geert Muller's]] [[Micro-Max]] <ref>[https://www.reddit.com/r/programming/comments/1xmj1a/sunfish_a_111_line_chess_engine_in_python/ Sunfish – A 111 line Chess Engine in Python] by [[Thomas Dybdahl Ahle]], [https://en.wikipedia.org/wiki/Reddit reddit], February 16, 2014</ref>.
Without the code lines of the [[Piece-Square Tables|piece-square tables]] and its simple [[CLI|command line interface]], it takes up just 111 lines of code. Besides its command line interface featuring a [[2D Graphics Board#Unicode|Unicode chess symbol board]], Sunfish supports the [[Chess Engine Communication Protocol]] to play with a [[GUI|graphical interface]] like [[XBoard]] or [[PyChess]].

=Description=
Sunfish applies MTD-bi, the binary search version of [[MTD(f)]] <ref>[[Aske Plaat]], [[Jonathan Schaeffer]], [[Wim Pijls]], [[Arie de Bruin]] ('''1995'''). ''A New Paradigm for Minimax Search''. Technical Report EUR-CS-95-03, [https://arxiv.org/abs/1404.1515 arXiv:1404.1515]</ref>,
also known as [[NegaC*]] as proposed by [[Jean-Christophe Weill]] in 1990 <ref>[[Jean-Christophe Weill]] ('''1991'''). ''Experiments With the NegaC* Search - An Alternative for Othello Endgame Search.'' [[2nd Computer Olympiad#Workshop|Heuristic Programming in AI 2]]</ref> <ref>[[Jean-Christophe Weill]] ('''1992'''). ''The NegaC* Search.'' [[ICGA Journal#15_1|ICCA Journal, Vol. 15, No. 1]]</ref>, which is based on [[NegaC*|C*]], introduced by [[Kevin Coplan]] in 1981 at [[Advances in Computer Chess 3]] <ref>[[Kevin Coplan]] ('''1982'''). ''A special-purpose machine for an improved search algorithm for deep chess combinations.'' [[Advances in Computer Chess 3]]</ref>.
MTD-bi is embedded inside an [[Iterative Deepening|iterative deepening]] framework. Its [[Fail-Soft|fail-soft]] [[Scout|scout]] originally lacked the [[Quiescence Search|quiescence search]], which made it blunder pretty badly in some positions <ref>[http://www.talkchess.com/forum/viewtopic.php?t=51430&start=7 Re: SUNFISH - a new chess engine written in Python !] by [[Thomas Dybdahl Ahle]], [[CCC]], February 28, 2014</ref>, but a version of this was later added <ref>[http://www.talkchess.com/forum/viewtopic.php?t=51430&start=20 Re: SUNFISH - a new chess engine written in Python !] by [[Thomas Dybdahl Ahle]], [[CCC]], February 28, 2014</ref>.
The rudimentary [[Evaluation|evaluation]] considers [[Point Value|point values]] and [[Piece-Square Tables|piece-square tables]] - an aggregated [[Score|score]] is [[Incremental Updates|incremental updated]] during [[Make Move|make move]].

=Etymology=
Sunfish is named after the [https://en.wikipedia.org/wiki/Pygmy_sunfish Pygmy Sunfish], which is among the very few fish to start with the letters 'Py', and refers other famous [[:Category:Fish|fish engines]] such as [[Stockfish]] and [[Rybka]] <ref>[https://github.com/thomasahle/sunfish thomasahle/sunfish · GitHub]</ref> .

=See also=
* [[Fastchess]]
* [[PyChess]]

=Publications=
* [https://www.techradar.com/author/jonni-bidwell Jonni Bidwell] ('''2016'''). ''Python: Sunfish chess engine''. [https://en.wikipedia.org/wiki/Linux_Format Linux Format], [http://www.itu.dk/people/thdy/papers/sunfish.pdf pdf]

=Postings=
* [https://www.reddit.com/r/programming/comments/1xmj1a/sunfish_a_111_line_chess_engine_in_python/ Sunfish – A 111 line Chess Engine in Python] by [[Thomas Dybdahl Ahle]], [https://en.wikipedia.org/wiki/Reddit reddit], February 16, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=51430 SUNFISH - a new chess engine written in Python !] by [http://www.talkchess.com/forum/profile.php?mode=viewprofile&u=881 Ruxy Sylwyka], [[CCC]], February 27, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=61182 New version of Sunfish] by [[Thomas Dybdahl Ahle]], [[CCC]], August 20, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=66216 Sunfish (Python Engine)] by [[Norbert Raimund Leisner]], [[CCC]], January 02, 2018

=External Links=
==Chess Engine==
* [https://github.com/thomasahle/sunfish thomasahle/sunfish · GitHub]
==Misc==
* [https://en.wikipedia.org/wiki/Sunfish Sunfish from Wikipedia]
* [https://en.wikipedia.org/wiki/Sunfish_Lake_%28Ontario%29 Sunfish Lake (Ontario) from Wikipedia]
* [https://en.wikipedia.org/wiki/Basking_shark Basking shark from Wikipedia]
* [https://en.wikipedia.org/wiki/Pygmy_sunfish Pygmy sunfish from Wikipedia]

=References=
<references />
'''[[Engines|Up one level]]'''
[[Category:Open Source]]
[[Category:GPL]]
[[Category:XBoard]]
[[Category:Python]]
[[Category:Fish]]
[[Category:Geography]]

Navigation menu