Difference between revisions of "Stockfish"

From Chessprogramming wiki
Jump to: navigation, search
(32 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
 
'''Stockfish''',<br/>
 
'''Stockfish''',<br/>
an [[UCI]] compatible [[:Category:Open Source|open source]] chess engine developed by [[Tord Romstad]], [[Marco Costalba]], [[Joona Kiiski]] and [[Gary Linscott]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=58779 Stockfish 7] by [[Joona Kiiski]], [[CCC]], January 02, 2016</ref>, licensed under the [[Free Software Foundation#GPL|GPL v3.0]]. Marco forked the project from version 2.1 of Tord's engine [[Glaurung]], first announced by Marco in November 8, 2008 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=24675 Stockfish 1.0] by [[Marco Costalba]], [[CCC]], November 02, 2008</ref>, and in early 2009 Joona's [[Smaug]], a further Glaurung 2.2 derivative, was incorporated <ref>[http://www.talkchess.com/forum/viewtopic.php?t=26971&start=1 Re: Smaug: a new chess engine based on glaurung] by [[Marco Costalba]], [[CCC]], March 12, 2009</ref> . Starting out among the top twenty engines, Stockfish has quickly climbed in [[Playing Strength|strength]] to become the world strongest chess entity as of 2018 - at least concerning the [[AlphaZero]] hype <ref>[[David Silver]], [[Thomas Hubert]], [[Julian Schrittwieser]], [[Ioannis Antonoglou]], [[Matthew Lai]], [[Arthur Guez]], [[Marc Lanctot]], [[Laurent Sifre]], [[Dharshan Kumaran]], [[Thore Graepel]], [[Timothy Lillicrap]], [[Karen Simonyan]], [[Demis Hassabis]] ('''2017'''). ''Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm''. [https://arxiv.org/abs/1712.01815 arXiv:1712.01815]</ref>, public available chess entity. The name "Stockfish" reflects the ancestry of the engine. Tord is Norwegian and Marco Italian, and there is a long history of [https://en.wikipedia.org/wiki/Stockfish stockfish] trade from Norway to Italy (to Marco's home town of [https://en.wikipedia.org/wiki/Vicenza Vicenza], in fact).  
+
an [[UCI]] compatible [[:Category:Open Source|open source]] chess engine developed by [[Tord Romstad]], [[Marco Costalba]], [[Joona Kiiski]] and [[Gary Linscott]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=58779 Stockfish 7] by [[Joona Kiiski]], [[CCC]], January 02, 2016</ref>, licensed under the [[Free Software Foundation#GPL|GPL v3.0]]. Marco forked the project from version 2.1 of Tord's engine [[Glaurung]], first announced by Marco in November 8, 2008 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=24675 Stockfish 1.0] by [[Marco Costalba]], [[CCC]], November 02, 2008</ref>, and in early 2009 Joona's [[Smaug]], a further Glaurung 2.2 derivative, was incorporated <ref>[http://www.talkchess.com/forum/viewtopic.php?t=26971&start=1 Re: Smaug: a new chess engine based on glaurung] by [[Marco Costalba]], [[CCC]], March 12, 2009</ref> . Starting out among the top twenty engines, Stockfish has quickly climbed in [[Playing Strength|strength]] to become the world strongest chess entity as of 2018 - at least concerning the [[AlphaZero]] hype <ref>[[David Silver]], [[Thomas Hubert]], [[Julian Schrittwieser]], [[Ioannis Antonoglou]], [[Matthew Lai]], [[Arthur Guez]], [[Marc Lanctot]], [[Laurent Sifre]], [[Dharshan Kumaran]], [[Thore Graepel]], [[Timothy Lillicrap]], [[Karen Simonyan]], [[Demis Hassabis]] ('''2017'''). ''Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm''. [https://arxiv.org/abs/1712.01815 arXiv:1712.01815]</ref>, public available chess entity. The name "Stockfish" reflects the ancestry of the engine. Tord is Norwegian and Marco Italian, and there is a long history of [https://en.wikipedia.org/wiki/Stockfish stockfish] trade from Norway to Italy (to Marco's home town of [https://en.wikipedia.org/wiki/Vicenza Vicenza], in fact). Stockfish also referred another famous "little fish", the then strongest chess engine [[Rybka]].  
Stockfish also referred another famous "little fish", the then strongest chess engine [[Rybka]].
 
 
 
In 2011 Marco Costalba and Joona Kiiski stepped down as Stockfish maintainers <ref>[http://www.talkchess.com/forum/viewtopic.php?t=40610 Stockfish on github] by [[Marco Costalba]], [[CCC]], October 02, 2011</ref>. From that, the project is being developed and maintained by the Stockfish community.
 
  
 +
In 2011. Marco Costalba and Joona Kiiski stepped down as Stockfish maintainers <ref>[http://www.talkchess.com/forum/viewtopic.php?t=40610 Stockfish on github] by [[Marco Costalba]], [[CCC]], October 02, 2011</ref>. From that, the project is being developed and maintained by the [[:Category:Stockfish Contributor|Stockfish community]]. A synergy effect with the [[Shogi]] community led to the promising branch of [[Stockfish NNUE]], courtesy of [[Hisayori Noda|Nodchip]], who introduced [[NNUE]] to Stockfish in 2019 <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=74059 Stockfish NN release (NNUE)] by [[Henk Drost]], [[CCC]], May 31, 2020</ref>. On September 02, 2020, '''Stockfish 12''' was released with a huge jump in [[Playing Strength|playing strength]] due to NNUE and further [[Automated Tuning|tuning]] of the engine as a whole <ref>[https://blog.stockfishchess.org/post/628172810852925440/stockfish-12 Stockfish 12], The Stockfish Team, [https://blog.stockfishchess.org/ Stockfish Blog], September 02, 2020</ref>.
  
 
=Science versus Commerce?=  
 
=Science versus Commerce?=  
Line 26: Line 24:
  
 
=Tournament Play=  
 
=Tournament Play=  
Stockfish is top contender of the prestigious [[TCEC|Thoresen Chess Engines Competition (TCEC)]], reaching the superfinals since [[TCEC Season 4|season 4]], and clearly established its world number one status in winning recent TCECs, leaving its commercial rivals [[Komodo]] and [[Houdini]] behind.
+
Stockfish is top contender of the prestigious [[TCEC|Top Chess Engines Competition (TCEC)]], reaching the superfinals since [[TCEC Season 4|season 4]], and established its world number one status in winning TCECs, leaving its commercial rivals [[Komodo]] and [[Houdini]] behind.
 +
Since [[TCEC_Season_14#Superfinal|season 14]] in early 2019, Stockfish competes with the [[Deep Learning|deep learning]] [[Leela Chess Zero]] engines, whose [[Playing Strength|playing strength]] triggered a motivation boost in the developing community to further improve Stockfish.
 
<span id="Matches"></span>
 
<span id="Matches"></span>
 
=GM+Rybka vs. Stockfish=  
 
=GM+Rybka vs. Stockfish=  
Line 77: Line 76:
 
** [[Quiescence Search]]
 
** [[Quiescence Search]]
 
==[[Evaluation]]==  
 
==[[Evaluation]]==  
<ref>See also [[Evaluation Philosophy]] and [http://www.talkchess.com/forum/viewtopic.php?topic_view=threads&p=135133&t=15504 The Art of Evaluation] by [[Tord Romstad]], [[CCC]], August 2, 2007</ref> <ref>[https://hxim.github.io/Stockfish-Evaluation-Guide/ Stockfish Evaluation Guide]</ref>
+
''See also'' [[Evaluation Philosophy]] <ref>[http://www.talkchess.com/forum/viewtopic.php?topic_view=threads&p=135133&t=15504 The Art of Evaluation] by [[Tord Romstad]], [[CCC]], August 2, 2007</ref> <ref>[https://hxim.github.io/Stockfish-Evaluation-Guide/ Stockfish Evaluation Guide]</ref> and [[NNUE]]
 
* [[Tapered Eval]]
 
* [[Tapered Eval]]
 
* [[Score#Grain|Score Grain]]: ~1/256 of a [[Pawn Advantage, Win Percentage, and Elo|pawn unit]]
 
* [[Score#Grain|Score Grain]]: ~1/256 of a [[Pawn Advantage, Win Percentage, and Elo|pawn unit]]
Line 152: Line 151:
 
* Stockfish 10 : November 29, 2018
 
* Stockfish 10 : November 29, 2018
 
* Stockfish 11 : January 18, 2020
 
* Stockfish 11 : January 18, 2020
 +
* [[Stockfish NNUE|Stockfish 12]] : September 02, 2020
 
<span id="ports"></span>
 
<span id="ports"></span>
 
=Ports=  
 
=Ports=  
Line 163: Line 163:
 
=Derivatives=
 
=Derivatives=
 
* [[Brainfish]]
 
* [[Brainfish]]
 +
* [[Crystal]]
 
* [[McBrain]]
 
* [[McBrain]]
 
* [[DON]]
 
* [[DON]]
Line 174: Line 175:
 
* [[Tord Romstad]]
 
* [[Tord Romstad]]
 
* [[:Category:Stockfish Contributor|Contributors]]
 
* [[:Category:Stockfish Contributor|Contributors]]
 +
 +
=Elo Progress=
 +
of Stockfish in first 10 years <ref>[https://docs.google.com/spreadsheets/d/1ZAIuHR6n-5JTxKQc0XUSx1jyUrgVEcj8DNLKA7-urBw/edit#gid=201239930 Cscuile's Sheets]</ref>
 +
[[File:SfElo.png|none|border|text-bottom]]
  
 
=See also=  
 
=See also=  
Line 180: Line 185:
 
* [[Leela Chess Zero]]
 
* [[Leela Chess Zero]]
 
* [[Raspberry Turk]]
 
* [[Raspberry Turk]]
 +
* [[NNUE]]
 +
* [[Stockfish NNUE]]
  
 
=Publications=  
 
=Publications=  
Line 331: Line 338:
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61373&start=2 Re: Beginner's guide to graphical profiling] by [[Marco Costalba]], [[CCC]], September 10, 2016 » [[Profiling]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61373&start=2 Re: Beginner's guide to graphical profiling] by [[Marco Costalba]], [[CCC]], September 10, 2016 » [[Profiling]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61444  ELO inflation ha ha ha] by [[Henk van den Belt]], [[CCC]], September 16, 2016 » [[Delphil]], [[Match Statistics]], [[Playing Strength]], [[TCEC Season 9]] <ref>[http://tcec.chessdom.com/archive.php?se=9&rapid&ga=163 Delphil 3.3b2 (2334) - Stockfish 030916 (3228), TCEC Season 9 - Rapid, Round 11], September 16, 2016</ref>
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61444  ELO inflation ha ha ha] by [[Henk van den Belt]], [[CCC]], September 16, 2016 » [[Delphil]], [[Match Statistics]], [[Playing Strength]], [[TCEC Season 9]] <ref>[http://tcec.chessdom.com/archive.php?se=9&rapid&ga=163 Delphil 3.3b2 (2334) - Stockfish 030916 (3228), TCEC Season 9 - Rapid, Round 11], September 16, 2016</ref>
 +
* [https://groups.google.com/d/msg/fishcooking/S_4E_Xs5HaE/mS3VTnuEFgAJ pin-aware see] by [[Ronald de Man]], [[Computer Chess Forums|FishCooking]], September 14, 2016 » [[SEE - The Swap Algorithm]], [[Pin]]
 +
* [https://groups.google.com/d/msg/fishcooking/9mcmjnyqbAQ/S6mDA0QsAAAJ Illegal moves in SEE] by [[Stephane Nicolet]], [[Computer Chess Forums|FishCooking]], September 22, 2016 » [[SEE - The Swap Algorithm]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61601 Stockfish underpromotes much more often than Komodo] by [[Kai Laskos]], [[CCC]], October 05, 2016 » [[Komodo]], [[Match Statistics]], [[Promotions]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61601 Stockfish underpromotes much more often than Komodo] by [[Kai Laskos]], [[CCC]], October 05, 2016 » [[Komodo]], [[Match Statistics]], [[Promotions]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61850 couple of questions about stockfish code ?] by [[Mahmoud Uthman]], [[CCC]], October 26, 2016 » [[SIMD and SWAR Techniques]], [[Tapered Eval]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61850 couple of questions about stockfish code ?] by [[Mahmoud Uthman]], [[CCC]], October 26, 2016 » [[SIMD and SWAR Techniques]], [[Tapered Eval]]
Line 370: Line 379:
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71707 Why does stockfish randomise draw evaluations?] by [[Vincent Tang]], [[CCC]], September 01, 2019 » [[Draw]], [[Draw Evaluation]], [[Score#DrawScore|Draw Score]], [[Search with Random Leaf Values]]
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71707 Why does stockfish randomise draw evaluations?] by [[Vincent Tang]], [[CCC]], September 01, 2019 » [[Draw]], [[Draw Evaluation]], [[Score#DrawScore|Draw Score]], [[Search with Random Leaf Values]]
 
* [https://groups.google.com/d/msg/fishcooking/xGM9K7wd5rM/pmx2MVX-BwAJ Help needed testing vectorized Stockfish pawns.cpp...] by [[Nick Pelling]], [[Computer Chess Forums|FishCooking]], September 23, 2019
 
* [https://groups.google.com/d/msg/fishcooking/xGM9K7wd5rM/pmx2MVX-BwAJ Help needed testing vectorized Stockfish pawns.cpp...] by [[Nick Pelling]], [[Computer Chess Forums|FishCooking]], September 23, 2019
 +
* [https://groups.google.com/d/msg/fishcooking/znU1a7aZ2XI/yJDFtOQnAwAJ mg vs eg eval] by [[Joost VandeVondele]], [[Computer Chess Forums|FishCooking]], October 06, 2019 » [[Middlegame]], [[Endgame]], [[Tapered Eval]]
 +
* [https://groups.google.com/d/msg/fishcooking/liMe2Ho53j8/GP9l07hSBAAJ Stockfish contempt testing] by Leonardo Ljubičić,  [[Computer Chess Forums|FishCooking]], October 29, 2019 » [[Contempt Factor|Contempt]]
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72231 some questions about singular search in Stockfish] by [[Jon Dart]], [[CCC]], November 01, 2019 » [[Singular Extensions]]   
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72231 some questions about singular search in Stockfish] by [[Jon Dart]], [[CCC]], November 01, 2019 » [[Singular Extensions]]   
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72232 "stat score bonus" in stockfish] by [[Vivien Clauzon]], [[CCC]], November 01, 2019   
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72232 "stat score bonus" in stockfish] by [[Vivien Clauzon]], [[CCC]], November 01, 2019   
Line 375: Line 386:
 
==2020 ...==  
 
==2020 ...==  
 
* [https://groups.google.com/d/msg/fishcooking/9X3lDH83tlk/DtRtuFMOCAAJ lazy smp behaviour of stockfish] by [[Daniel Shawul]], [[Computer Chess Forums|FishCooking]], January 05, 2020 » [[Lazy SMP]]
 
* [https://groups.google.com/d/msg/fishcooking/9X3lDH83tlk/DtRtuFMOCAAJ lazy smp behaviour of stockfish] by [[Daniel Shawul]], [[Computer Chess Forums|FishCooking]], January 05, 2020 » [[Lazy SMP]]
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=72754 The Stockfish of shogi] by [[Larry Kaufman]], [[CCC]], January 07, 2020 » [[NNEU]], [[Shogi]]
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=72837 Stockfish 11] by [[Stephane Nicolet]], [[CCC]], January 18, 2020
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=72837 Stockfish 11] by [[Stephane Nicolet]], [[CCC]], January 18, 2020
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72962 Stockfish Reverts 5 Recent Patches] by Deberger, [[CCC]], February 01, 2020
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72962 Stockfish Reverts 5 Recent Patches] by Deberger, [[CCC]], February 01, 2020
 
: [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72962&start=6 Re: Stockfish Reverts 5 Recent Patches] by [[Michel Van den Bergh]], [[CCC]], February 02, 2020 » [[Match Statistics#SPRT|SPRT]]
 
: [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72962&start=6 Re: Stockfish Reverts 5 Recent Patches] by [[Michel Van den Bergh]], [[CCC]], February 02, 2020 » [[Match Statistics#SPRT|SPRT]]
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=73273 Stockfish and latest +6 ELO patch!] by [[Jouni Uski]], [[CCC]], March 05, 2020 » [[Distance]], [[Space-Time Tradeoff]] <ref>[https://github.com/official-stockfish/Stockfish/commit/5a7b45eac9dedbf7ebc61d9deb4dd934058d1ca1#diff-4cd6bcdb505b124d7bdc612c4789dc26L57-R59 Use equations for PushAway and PushClose · official-stockfish/Stockfish@5a7b45e · GitHub]</ref>
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=73273 Stockfish and latest +6 ELO patch!] by [[Jouni Uski]], [[CCC]], March 05, 2020 » [[Distance]], [[Space-Time Tradeoff]] <ref>[https://github.com/official-stockfish/Stockfish/commit/5a7b45eac9dedbf7ebc61d9deb4dd934058d1ca1#diff-4cd6bcdb505b124d7bdc612c4789dc26L57-R59 Use equations for PushAway and PushClose · official-stockfish/Stockfish@5a7b45e · GitHub]</ref>
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=73753 Null move] by [[Robert Pope]], [[CCC]], April 24, 2020 » [[Null Move Pruning]]
+
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=73753 Null move] by [[Robert Pope]], [[CCC]], April 24, 2020 » [[Null Move Pruning]]
 +
* [http://talkchess.com/forum3/viewtopic.php?f=2&t=74059 Stockfish NN release (NNUE)] by [[Henk Drost]], [[CCC]], May 31, 2020 » [[NNUE]], [[Stockfish NNUE]]
 +
* [https://groups.google.com/d/msg/fishcooking/EBKQSrb9I08/5xasTnnSCAAJ stockfishNNUE vs others (TCEC 18 bonus)] by [[Warren D. Smith]], [[Computer Chess Forums|FishCooking]], July 14, 2020
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=74484 Can the sardine! NNUE clobbers SF] by [[Henk Drost]], [[CCC]], July 16, 2020 » [[Stockfish NNUE]]
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=74933 The most stupid idea by the Stockfish Team] by Damir, [[CCC]], August 30, 2020 » [[Stockfish NNUE]]
 +
* [https://groups.google.com/d/msg/fishcooking/TJHsiI61yQ4/liQoZ-AzAgAJ Stockfish 12] by [[Joost VandeVondele]], [[Computer Chess Forums|FishCooking]], September 02, 2020
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=74974 Stockfish 12 is released today!] by Nay Lin Tun, [[CCC]], September 02, 2020
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=74978 Stockfish 12 has arrived!] by daniel71, [[CCC]], September 02, 2020
  
 
=External Links=  
 
=External Links=  
 
==Chess engine==  
 
==Chess engine==  
 
* [https://stockfishchess.org/ Stockfish - Open Source Chess Engine]
 
* [https://stockfishchess.org/ Stockfish - Open Source Chess Engine]
* [https://stockfishchess.org/get-involved/ Get Involved - Stockfish - Powerful Open Source Chess Engine]
 
: [http://tests.stockfishchess.org/tests Stockfish Testing Framework] » [[Stockfish#Fishtest|Fishtest]]
 
: [https://hxim.github.io/Stockfish-Evaluation-Guide/ Stockfish Evaluation Guide] » [[Stockfish#EvaluationGuide|Stockfish Evaluation Guide]]
 
: [https://groups.google.com/forum/#!forum/fishcooking FishCooking - Google Groups] a discussion group for developers and testers of [[Stockfish]] chess engine
 
* <span id="Support"></span>[http://support.stockfishchess.org/home Welcome - Stockfish Support]
 
 
* [https://github.com/official-stockfish/Stockfish official-stockfish/Stockfish · GitHub]
 
* [https://github.com/official-stockfish/Stockfish official-stockfish/Stockfish · GitHub]
 +
* [https://github.com/official-stockfish/Stockfish/issues/2823 NNUE merge · Issue #2823 · official-stockfish/Stockfish · GitHub] by [[Joost VandeVondele]], July 25, 2020 <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=74560 An info] by Sylwy, [[CCC]], July 25, 2020</ref>
 +
* [https://github.com/nodchip/Stockfish GitHub - nodchip/Stockfish: UCI chess engine] ([[Stockfish NNUE]] by [[Hisayori Noda|Nodchip]])
 
* [https://github.com/zamar zamar · GitHub] by [[Joona Kiiski]]
 
* [https://github.com/zamar zamar · GitHub] by [[Joona Kiiski]]
: [https://github.com/zamar/spsa SPSA Tuner for Stockfish Chess Engine] » [[SPSA]]
 
 
* [http://abrok.eu/stockfish/ Stockfish Development Versions] hosted by [[Roman Korba]]
 
* [http://abrok.eu/stockfish/ Stockfish Development Versions] hosted by [[Roman Korba]]
* [https://stockfishchess.de/ Stockfish Development Versions for macOS]
 
* [http://blog.stockfishchess.org/ Stockfish Blog]
 
* [http://twitter.com/stockfishchess stockfishchess] on [https://en.wikipedia.org/wiki/Twitter Twitter]
 
 
* [https://en.wikipedia.org/wiki/Stockfish_%28chess%29 Stockfish (chess) from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Stockfish_%28chess%29 Stockfish (chess) from Wikipedia]
 
* [http://www.chess.fortherapy.co.uk/ Arduino & Raspberry PI Chess Computer] running [[Stockfish]] on [[Raspberry Pi]], by [[Max Dobres]] » [[Arduino]], [[Sensory Board]]
 
* [http://www.chess.fortherapy.co.uk/ Arduino & Raspberry PI Chess Computer] running [[Stockfish]] on [[Raspberry Pi]], by [[Max Dobres]] » [[Arduino]], [[Sensory Board]]
Line 403: Line 415:
 
* [https://rjlipton.wordpress.com/2016/01/21/a-chess-firewall-at-zero/ A Chess Firewall at Zero?] by [[Kenneth W. Regan|Ken Regan]], [https://rjlipton.wordpress.com/ Gödel's Lost Letter and P=NP], January 21, 2016
 
* [https://rjlipton.wordpress.com/2016/01/21/a-chess-firewall-at-zero/ A Chess Firewall at Zero?] by [[Kenneth W. Regan|Ken Regan]], [https://rjlipton.wordpress.com/ Gödel's Lost Letter and P=NP], January 21, 2016
 
* [http://adamsccpages.blogspot.com/p/sf-framework-history.html Adam's Computer Chess Pages: Stockfish Progression] by [[Adam Hair]] » [[Stockfish#Fishtest|Fishtest]]
 
* [http://adamsccpages.blogspot.com/p/sf-framework-history.html Adam's Computer Chess Pages: Stockfish Progression] by [[Adam Hair]] » [[Stockfish#Fishtest|Fishtest]]
 +
==Blog==
 +
* [https://blog.stockfishchess.org/ Stockfish Blog]
 +
* [https://blog.stockfishchess.org/post/152699558142/stockfish-8 Stockfish 8], November 01, 2016
 +
* [https://blog.stockfishchess.org/post/180690834147/stockfish-9 Stockfish 9], February 09, 2018
 +
* [https://blog.stockfishchess.org/post/180691011237/stockfish-10 Stockfish 10], December 01, 2018
 +
* [https://blog.stockfishchess.org/post/190398991302/stockfish-11 Stockfish 11], The Stockfish Team, January 15, 2020
 +
* [https://blog.stockfishchess.org/post/625828091343896577/introducing-nnue-evaluation Introducing NNUE Evaluation], August 07, 2020
 +
* [https://blog.stockfishchess.org/post/628172810852925440/stockfish-12 Stockfish 12], The Stockfish Team, September 02, 2020
 +
==Testing==
 +
* [https://stockfishchess.org/get-involved/ Get Involved - Stockfish - Powerful Open Source Chess Engine]
 +
* [http://tests.stockfishchess.org/tests Stockfish Testing Framework] » [[Stockfish#Fishtest|Fishtest]]
 +
* [https://hxim.github.io/Stockfish-Evaluation-Guide/ Stockfish Evaluation Guide] » [[Stockfish#EvaluationGuide|Stockfish Evaluation Guide]]
 +
* [https://groups.google.com/forum/#!forum/fishcooking FishCooking - Google Groups] a discussion group for developers and testers of [[Stockfish]] chess engine
 +
* <span id="Support"></span>[http://support.stockfishchess.org/home Welcome - Stockfish Support]
 +
* [https://github.com/glinscott/fishtest GitHub - glinscott/fishtest: Stockfish testing]
 +
: [https://github.com/glinscott/fishtest/wiki/Creating-my-first-test Creating my first test] by [[Stephane Nicolet]]
 +
* [https://github.com/zamar/spsa SPSA Tuner for Stockfish Chess Engine] » [[SPSA]]
 
==Rating Lists==  
 
==Rating Lists==  
* [http://www.computerchess.org.uk/ccrl/4040/cgi/compare_engines.cgi?family=Stockfish&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Stockfish] from [[CCRL|CCRL 40/40]]
+
* [http://www.computerchess.org.uk/ccrl/4040/cgi/compare_engines.cgi?family=Stockfish&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Stockfish] from [[CCRL|CCRL 40/15]]
* [http://computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Stockfish%205%2064-bit%204CPU#Stockfish_5_64-bit_4CPU Stockfish 5 64-bit 4CPU] in [[CCRL|CCRL 40/4]]
+
* [http://computerchess.org.uk/ccrl/404/cgi/compare_engines.cgi?family=Stockfish&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Stockfish] in [[CCRL|CCRL Blitz]]
 
==Matches==  
 
==Matches==  
 
* [http://www.chess.com/article/view/how-rybka-and-i-tried-to-beat-the-strongest-chess-computer-in-the-world Can a GM and Rybka beat Stockfish?] by GM [https://en.wikipedia.org/wiki/Daniel_Naroditsky Daniel Naroditsky], [https://en.wikipedia.org/wiki/Chess.com Chess.com], August 08, 2014 » [[Stockfish#Matches|GM+Rybka vs. Stockfish]]
 
* [http://www.chess.com/article/view/how-rybka-and-i-tried-to-beat-the-strongest-chess-computer-in-the-world Can a GM and Rybka beat Stockfish?] by GM [https://en.wikipedia.org/wiki/Daniel_Naroditsky Daniel Naroditsky], [https://en.wikipedia.org/wiki/Chess.com Chess.com], August 08, 2014 » [[Stockfish#Matches|GM+Rybka vs. Stockfish]]
Line 435: Line 464:
 
[[Category:Linux]]
 
[[Category:Linux]]
 
[[Category:Windows]]
 
[[Category:Windows]]
 +
[[Category:NNUE]]
 
[[Category:Fish]]
 
[[Category:Fish]]
 
[[Category:Food]]
 
[[Category:Food]]

Revision as of 20:21, 8 September 2020

Home * Engines * Stockfish

Stockfish logo [1]

Stockfish,
an UCI compatible open source chess engine developed by Tord Romstad, Marco Costalba, Joona Kiiski and Gary Linscott [2], licensed under the GPL v3.0. Marco forked the project from version 2.1 of Tord's engine Glaurung, first announced by Marco in November 8, 2008 [3], and in early 2009 Joona's Smaug, a further Glaurung 2.2 derivative, was incorporated [4] . Starting out among the top twenty engines, Stockfish has quickly climbed in strength to become the world strongest chess entity as of 2018 - at least concerning the AlphaZero hype [5], public available chess entity. The name "Stockfish" reflects the ancestry of the engine. Tord is Norwegian and Marco Italian, and there is a long history of stockfish trade from Norway to Italy (to Marco's home town of Vicenza, in fact). Stockfish also referred another famous "little fish", the then strongest chess engine Rybka.

In 2011. Marco Costalba and Joona Kiiski stepped down as Stockfish maintainers [6]. From that, the project is being developed and maintained by the Stockfish community. A synergy effect with the Shogi community led to the promising branch of Stockfish NNUE, courtesy of Nodchip, who introduced NNUE to Stockfish in 2019 [7]. On September 02, 2020, Stockfish 12 was released with a huge jump in playing strength due to NNUE and further tuning of the engine as a whole [8].

Science versus Commerce?

There is a wide range of opinions about strong open source chess engines affecting commercial and competitive interests, as well as monetary interests from computer chess users, who obtain a top engine for free. The scientific and social value of strong open-source programs is indisputable. The teamwork effort to share ideas and knowledge to write one of the strongest programs, which everybody may follow and share to learn and play for free, is definitely a challenging and motivating task, gathering both admiration and enviousness. Obviously, professional programmers of commercial chess programs are not that enthusiastic about the development and need to improve further and/or focus more on secondary features or other business concepts like online play and/or user interface issues rather than on pure playing strength.

Also, many hobbyist chess programmers feel in the antagonism as well, not only caused by Stockfish with its highly respected authors, and before by Fruit and slightly Crafty, but from Ippolit and all its successors by pseudonymous authors and disputed origin. The implications on commercial and competitive computer chess are not quite clear, but presumably, the decrease in the number of participants of over the board tournaments will progress and clone suspicions may float like a Sword of Damocles over the scene, whether programmers took ideas too literally or not.

Platforms

Since Stockfish is written in C++, it may be compiled and build for various processors and operating systems such as Android, iOS, Linux, OS X, and Windows. Stockfish for Macintosh was built by Daylen Yang, who is also responsible for the Stockfish website. Stockfish for iOS was built by Tord Romstad [9].

Fishtest

The Stockfish Testing Framework dubbed Fishtest [10] is a web application written by Gary Linscott [11] [12], based on a SETI@home kind of volunteer computing. Fishtest is mainly written in Python under the Pyramid Application Development Framework [13], and distributes games across different machines to reduce the test latency and increment throughput. Started in early 2013 with Stockfish 3.0, Fishtest has hundreds of contributors, as of June 2018, 1130 testers and 162 developers [14] active in testing ideas and tweaks [15], to make Stockfish the strongest chess entity of the world [16].

Evaluation Guide

Since April 2017 the interactive Stockfish Evaluation Guide is available to explore Stockfish's evaluation with a JavaScript implementation running in a browser [17] . One may enter a FEN string of a position, to get the resulting score of the main evaluation term considering the game phases within its tapered evaluation, and may navigate through the tree of subterms and features with its particular characteristics for the given position [18] .

Tournament Play

Stockfish is top contender of the prestigious Top Chess Engines Competition (TCEC), reaching the superfinals since season 4, and established its world number one status in winning TCECs, leaving its commercial rivals Komodo and Houdini behind. Since season 14 in early 2019, Stockfish competes with the deep learning Leela Chess Zero engines, whose playing strength triggered a motivation boost in the developing community to further improve Stockfish.

GM+Rybka vs. Stockfish

On July 19, 2014, Stockfish 5 played a four game match versus Daniel Naroditsky plus Rybka 3 (2008), 45 minutes plus 30-second increment. Stockfish won 3½ - ½ [19] [20] . A few weeks later the experiment continued with Hikaru Nakamura in Burlingame, California [21] . Supported two games by Rybka 3, Nakamura lost ½ - 1½, two games with pawn odds (Stockfish both Black without h- and b-pawn) ended ½ - 1½ in favour to Stockfish 5 as well. It played the latest development build compiled for OS X running on a 3 GHz 8-Core Mac Pro [22] .

Selected Features

[23]

Board Representation

BMI2 - PEXT Bitboards (not recommend for AMD Ryzen [24])

Search

Evaluation

See also Evaluation Philosophy [27] [28] and NNUE

Misc

SPSA

Release Dates

  • Stockfish 1.0 : November 02, 2008
  • Stockfish 1.01 : November 03, 2008
  • Stockfish 1.1 : December 06, 2008
  • Stockfish 1.1a : December 08, 2008
  • Stockfish 1.2 : December 29, 2008
  • Stockfish 1.3 : May 02, 2009
  • Stockfish 1.3.1 : May 03, 2009
  • Stockfish 1.4 : July 05, 2009
  • Stockfish 1.5 : October 04, 2009
  • Stockfish 1.5.1 : October 11, 2009
  • Stockfish 1.6 : December 25, 2009
  • Stockfish 1.6.1 : December 25, 2009
  • Stockfish 1.6.2 : December 31, 2009
  • Stockfish 1.6.3 : February 02, 2010
  • Stockfish 1.7 : April 08, 2010
  • Stockfish 1.7.1 : April 10, 2010
  • Stockfish 1.8 : July 02, 2010
  • Stockfish 1.9 : October 02, 2010
  • Stockfish 1.9.1 : October 05, 2010
  • Stockfish 2.0 : January 01, 2011
  • Stockfish 2.0.1 : January 04, 2011
  • Stockfish 2.1 : May 04, 2011
  • Stockfish 2.1.1 : May 08, 2011
  • Stockfish 2.2 : December 29, 2011
  • Stockfish 2.2.1 : January 06, 2012
  • Stockfish 2.2.2 : January 14, 2012
  • Stockfish 2.3 : September 15, 2012
  • Stockfish 2.3.1 : September 22, 2012
  • Stockfish 3 : April 30, 2013
  • Stockfish 4 : August 20, 2013
  • Stockfish DD : November 29, 2013
  • Stockfish 5 : May 31, 2014
  • Stockfish 6 : January 27, 2015
  • Stockfish 7 : January 02, 2016
  • Stockfish 8 : November 01, 2016
  • Stockfish 9 : February 01, 2018
  • Stockfish 10 : November 29, 2018
  • Stockfish 11 : January 18, 2020
  • Stockfish 12 : September 02, 2020

Ports

Derivatives

Authors

Elo Progress

of Stockfish in first 10 years [30]

SfElo.png

See also

Publications

Videos

Forum Posts

2008 ...

2009

2010 ...

2011

2012

2013

2014

2015 ...

Explanation for non-expert? by Louis Zulli, CCC, February 16, 2015 » Parallel Search

2016

Re: Stockfish 7 and partial 6 piece syzygy problem? by Marco Costalba, CCC, September 01, 2016

2017

2018

2019

2020 ...

Re: Stockfish Reverts 5 Recent Patches by Michel Van den Bergh, CCC, February 02, 2020 » SPRT

External Links

Chess engine

Blog

Testing

Creating my first test by Stephane Nicolet

Rating Lists

Matches

Interviews

Misc

References

  1. Stockfish - Open Source Chess Engine, The Stockfish icon was designed by Klein Maetschke, About - Stockfish
  2. Stockfish 7 by Joona Kiiski, CCC, January 02, 2016
  3. Stockfish 1.0 by Marco Costalba, CCC, November 02, 2008
  4. Re: Smaug: a new chess engine based on glaurung by Marco Costalba, CCC, March 12, 2009
  5. David Silver, Thomas Hubert, Julian Schrittwieser, Ioannis Antonoglou, Matthew Lai, Arthur Guez, Marc Lanctot, Laurent Sifre, Dharshan Kumaran, Thore Graepel, Timothy Lillicrap, Karen Simonyan, Demis Hassabis (2017). Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm. arXiv:1712.01815
  6. Stockfish on github by Marco Costalba, CCC, October 02, 2011
  7. Stockfish NN release (NNUE) by Henk Drost, CCC, May 31, 2020
  8. Stockfish 12, The Stockfish Team, Stockfish Blog, September 02, 2020
  9. About - Stockfish
  10. glinscott/fishtest · GitHub
  11. Get Involved - Stockfish - Powerful Open Source Chess Engine
  12. Fishtest Distributed Testing Framework by Marco Costalba, CCC, May 01, 2013
  13. The Pyramid Web Framework — The Pyramid Web Framework v1.5
  14. Stockfish Testing Framework - Users
  15. Stockfish Testing Framework
  16. Adam's Computer Chess Pages: Stockfish Progression by Adam Hair
  17. Re: How far away are we from deep learning Stockfish, Komodo by Gary, CCC, May 21, 2017
  18. Stockfish Evaluation Guide
  19. Can a GM and Rybka beat Stockfish? by GM Daniel Naroditsky, Chess.com, August 08, 2014
  20. GM and Rybka vs. Stockfish by Robert Maddox, CCC, August 09, 2014
  21. Nakamura vs Stockfish, public match 8/23 by Jesse L, CCC, August 17, 2014
  22. Stockfish Outlasts "Rybkamura" by FM Mike Klein, Chess.com, August 24, 2014
  23. if not mentioned otherwise, based on the sources of Stockfish 6
  24. Ryzen and BMI2: Strange behavior and high latencies by DonnieTinyHands, Reddit, March 20, 2017
  25. Re: piece lists advantage with bit-boards? by Ronald de Man, CCC, December 26, 2018
  26. Re: Stockfish 7 progress by Lucas Braesch, CCC, January 17, 2016
  27. The Art of Evaluation by Tord Romstad, CCC, August 2, 2007
  28. Stockfish Evaluation Guide
  29. exoticorn/stockfish-js · GitHub
  30. Cscuile's Sheets
  31. Part 1 covers Houdini, Rybka, Komodo, Stockfish, Critter, Naum, Chiron and Spike
  32. Who is the Master? from Jean-Marc Alliot's professional website
  33. exoticorn/stockfish-js · GitHub
  34. Delphil 3.3b2 (2334) - Stockfish 030916 (3228), TCEC Season 9 - Rapid, Round 11, September 16, 2016
  35. Use equations for PushAway and PushClose · official-stockfish/Stockfish@5a7b45e · GitHub
  36. An info by Sylwy, CCC, July 25, 2020
  37. Regan's latest: Depth of Satisficing by Carl Lumma, CCC, October 09, 2015

Up one Level