Difference between revisions of "Stockfish"

From Chessprogramming wiki
Jump to: navigation, search
(2020 ...)
(2020 ...)
 
(25 intermediate revisions by 2 users not shown)
Line 8: Line 8:
  
 
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 <ref>[https://stockfishchess.org/blog/2020/stockfish-12/ Stockfish 12], The Stockfish Team, [https://blog.stockfishchess.org/ Stockfish Blog], September 02, 2020</ref>. The release of '''Stockfish 13''' on February 19, 2021, has been triggered by the start of sales of the [[Fat Fritz#Fat Fritz 2|Fat Fritz 2]] engine by [[ChessBase]], based on a recent development version of Stockfish with minor modifications <ref>[https://stockfishchess.org/blog/2021/stockfish-13/ Stockfish 13], The Stockfish Team, February 19, 2021</ref>. '''Stockfish 14''', released on July 02, 2021, further improved due to efforts by [[Tomasz Sobczyk]] and [[Gary Linscott]] in designing a new [[Stockfish NNUE#HalfKA|NNUE architecture]] in conjunction with a [[GPU]] accelerated trainer written in [https://en.wikipedia.org/wiki/PyTorch PyTorch]. Further, the collaboration with the [[Leela Chess Zero]] team payed off, in providing billions of positions to train the new NNUE <ref>[https://stockfishchess.org/blog/2021/stockfish-14/ Stockfish 14], The Stockfish Team, July 02, 2021</ref>.
 
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 <ref>[https://stockfishchess.org/blog/2020/stockfish-12/ Stockfish 12], The Stockfish Team, [https://blog.stockfishchess.org/ Stockfish Blog], September 02, 2020</ref>. The release of '''Stockfish 13''' on February 19, 2021, has been triggered by the start of sales of the [[Fat Fritz#Fat Fritz 2|Fat Fritz 2]] engine by [[ChessBase]], based on a recent development version of Stockfish with minor modifications <ref>[https://stockfishchess.org/blog/2021/stockfish-13/ Stockfish 13], The Stockfish Team, February 19, 2021</ref>. '''Stockfish 14''', released on July 02, 2021, further improved due to efforts by [[Tomasz Sobczyk]] and [[Gary Linscott]] in designing a new [[Stockfish NNUE#HalfKA|NNUE architecture]] in conjunction with a [[GPU]] accelerated trainer written in [https://en.wikipedia.org/wiki/PyTorch PyTorch]. Further, the collaboration with the [[Leela Chess Zero]] team payed off, in providing billions of positions to train the new NNUE <ref>[https://stockfishchess.org/blog/2021/stockfish-14/ Stockfish 14], The Stockfish Team, July 02, 2021</ref>.
 +
 +
'''Stockfish 16''', released June 30, 2023, removes the classical [[Evaluation|evaluation]] from the engine and focuses on [[NNUE]] neural networks.<ref>[https://github.com/official-stockfish/Stockfish/commit/af110e02ec96cdb46cf84c68252a1da15a902395 GitHub - Stockfish commit, Remove classical evaluation]</ref>
  
 
=Science versus Commerce?=  
 
=Science versus Commerce?=  
Line 15: Line 17:
  
 
=Platforms=
 
=Platforms=
Since Stockfish is written in [[Cpp|C++]], it may be compiled and build for various processors and operating systems such as [[Android]], [[iOS]], [[Linux]], [[Mac OS|macOS]], and [[Windows]]. Stockfish for [[Mac OS|macOS]] was built by [[Daylen Yang]], who is also responsible for the Stockfish website. Stockfish for [[iOS]] was built by Tord Romstad <ref>[https://stockfishchess.org/about/ About - Stockfish]</ref>.
+
Since Stockfish is written in [[Cpp|C++]], it may be compiled and built for various processors and operating systems. The main source code of Stockfish could be compiled directly into [[CLI|Command Line Interface]] program. Some programmers have added code to change it into a [[GUI|Graphical User Interface]] one which may be compulsory to run on some platforms such as iOS.
 +
==[[CLI|Command Line Interface]]==
 +
* Stockfish for [[Android]], [[Linux]], [[Mac OS|macOS]], and [[Windows]] was officially built by the developer team and published on both [https://stockfishchess.org/ Stockfish website] and [https://github.com/official-stockfish/Stockfish Stockfish GitHub]
 +
==Stockfish with built-in [[GUI|Graphical User Interface]]==
 +
We list only some programs that are popular and license compliance (released with source code):
 +
* Stockfish for [[Mac OS|macOS]] was also built and published on [[Mac App Store]] by [[Daylen Yang]], who is also responsible for the Stockfish website
 +
* Stockfish for [[iOS]] was built by Tord Romstad <ref>[https://stockfishchess.org/about/ About - Stockfish]</ref>.
 
<span id="TestingFramework"></span><span id="Fishtest"></span>
 
<span id="TestingFramework"></span><span id="Fishtest"></span>
 +
* Stockfish for [[iOS]] and [[watchOS]] was built with the app [[BanksiaGUI for iOS]] by [[Pham Hong Nguyen|Nguyen Pham]]
 +
* Stockfish for [[Android]] was built with the app [[Droidfish]] by [[Peter Österlund]]
  
 
=Fishtest=  
 
=Fishtest=  
Line 83: Line 93:
 
** [[Stockfish NNUE#HalfKA|HalfKAv2]] (Stockfish 14)
 
** [[Stockfish NNUE#HalfKA|HalfKAv2]] (Stockfish 14)
 
: ''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>
 
: ''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>
 +
 +
==Classical [[Evaluation]]==
 +
Classical Evaluation (traditional hand-crafted evaluation) has been removed since version 16.
 
* [[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 170: Line 183:
 
* Stockfish 14 - July 02, 2021
 
* Stockfish 14 - July 02, 2021
 
* Stockfish 15 - April 18, 2022
 
* Stockfish 15 - April 18, 2022
 +
* Stockfish 15.1 - December 04, 2022
 +
* Stockfish 16 - June 30, 2023
 +
* Stockfish 16.1 - February 24, 2024
 
<span id="ports"></span>
 
<span id="ports"></span>
 +
 
=Ports=  
 
=Ports=  
 
* [[asmFish]]
 
* [[asmFish]]
Line 193: Line 210:
  
 
=Authors=
 
=Authors=
 +
==Founders of the Stockfish project and Fishtest infrastructure==
 
* [[Marco Costalba]]
 
* [[Marco Costalba]]
 
* [[Joona Kiiski]]
 
* [[Joona Kiiski]]
 
* [[Gary Linscott]]
 
* [[Gary Linscott]]
 
* [[Tord Romstad]]
 
* [[Tord Romstad]]
 +
 +
==Authors and inventors of NNUE, training, NNUE port==
 +
* [[Yu Nasu]]
 +
* [[Motohiro Isozaki]]
 +
* [[Hisayori Noda]]
 +
 +
==All other authors of the code==
 +
 +
There are 196 authors, counted to version 15.1.
 +
 
* [[:Category:Stockfish Contributor|Contributors]]
 
* [[:Category:Stockfish Contributor|Contributors]]
  
Line 410: Line 438:
 
==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 » [[NNUE]], [[Shogi]]
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=72754 The Stockfish of shogi] by [[Larry Kaufman]], [[CCC]], January 07, 2020 » [[NNUE]], [[Shogi]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=72837 Stockfish 11] by [[Stephane Nicolet]], [[CCC]], January 18, 2020
+
* [https://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
+
* [https://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]]
+
: [https://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>
+
* [https://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]]
+
* [https://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=2&t=74037 Stockfish_dev is probably stronger than Sargon 1978 v1.00] by [[Kai Laskos]], [[CCC]], May 29, 2020 » [[Sargon]]
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=74037 Stockfish_dev is probably stronger than Sargon 1978 v1.00] by [[Kai Laskos]], [[CCC]], May 29, 2020 » [[Sargon]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=74059 Stockfish NN release (NNUE)] by [[Henk Drost]], [[CCC]], May 31, 2020 » [[NNUE]], [[Stockfish NNUE]]
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=74059 Stockfish NN release (NNUE)] by [[Henk Drost]], [[CCC]], May 31, 2020 » [[NNUE]], [[Stockfish NNUE]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=74339 Stockfish has included WDL stats in engine output] by Deberger, [[CCC]], July 02, 2020 » [[Pawn Advantage, Win Percentage, and Elo]]
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=7&t=74339 Stockfish has included WDL stats in engine output] by Deberger, [[CCC]], July 02, 2020 » [[Pawn Advantage, Win Percentage, and Elo]]
 
* [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
 
* [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]]
+
* [https://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://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
 
* [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
+
* [https://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
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=74978 Stockfish 12 has arrived!] by daniel71, [[CCC]], September 02, 2020
 
* [https://groups.google.com/d/msg/fishcooking/yjh1YOxy7nw/rJA6u1ODAAAJ SF NNUE/Classical] by [[Fauzi Akram Dabat|Fauzi]], [[Computer Chess Forums|FishCooking]], October 05, 2020 » [[Stockfish NNUE]]
 
* [https://groups.google.com/d/msg/fishcooking/yjh1YOxy7nw/rJA6u1ODAAAJ SF NNUE/Classical] by [[Fauzi Akram Dabat|Fauzi]], [[Computer Chess Forums|FishCooking]], October 05, 2020 » [[Stockfish NNUE]]
 
* <span id="i486Re"></span>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=63857&start=14 Re: Stockfish bench in i486 & Pentium 75mhz !] by [[Vincent Lejeune]], [[CCC]], October 11, 2020 » [[#i486|Stockfish bench ...]]
 
* <span id="i486Re"></span>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=63857&start=14 Re: Stockfish bench in i486 & Pentium 75mhz !] by [[Vincent Lejeune]], [[CCC]], October 11, 2020 » [[#i486|Stockfish bench ...]]
Line 431: Line 459:
 
* [https://groups.google.com/g/fishcooking/c/cad1MGSdpU4/m/Ury4iBqSBgAJ Shouldn't positional attributes drive SF's NNUE input features (rather than king position)?] by [[Nick Pelling]], [[Computer Chess Forums|FishCooking]], January 10, 2021 » [[Stockfish NNUE]]
 
* [https://groups.google.com/g/fishcooking/c/cad1MGSdpU4/m/Ury4iBqSBgAJ Shouldn't positional attributes drive SF's NNUE input features (rather than king position)?] by [[Nick Pelling]], [[Computer Chess Forums|FishCooking]], January 10, 2021 » [[Stockfish NNUE]]
 
* [https://groups.google.com/g/fishcooking/c/AzYDbbv-Coo Stockfish 13] by [[Joost VandeVondele]], [[Computer Chess Forums|FishCooking]], February 19, 2021  
 
* [https://groups.google.com/g/fishcooking/c/AzYDbbv-Coo Stockfish 13] by [[Joost VandeVondele]], [[Computer Chess Forums|FishCooking]], February 19, 2021  
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=76639 Stockfish 13 merged on github] by [[Joshua Shriver]], [[CCC]], February 19, 2021
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=76639 Stockfish 13 merged on github] by [[Joshua Shriver]], [[CCC]], February 19, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=76977 Setting up Stockfish on a server] by Jon12345, [[CCC]], March 29, 2021 » [[Chess Server]]
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=7&t=76977 Setting up Stockfish on a server] by Jon12345, [[CCC]], March 29, 2021 » [[Chess Server]]
 
* [https://lczero.org/blog/2021/04/joking-ftw-seriously/ Joking FTW, Seriously] by borg, [[Leela Chess Zero|LCZero blog]], April 25, 2021
 
* [https://lczero.org/blog/2021/04/joking-ftw-seriously/ Joking FTW, Seriously] by borg, [[Leela Chess Zero|LCZero blog]], April 25, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=77344 Stockfish with new NNUE architecture and bigger net released] by [[Stefan Pohl]], [[CCC]], May 19, 2021 <ref>[https://github.com/official-stockfish/Stockfish/pull/3474 Update default net to nn-8a08400ed089.nnue by Sopel97 · Pull Request #3474 · official-stockfish/Stockfish · GitHub] by [[Tomasz Sobczyk]]</ref> <ref>[https://github.com/Sopel97 Sopel97 (Tomasz Sobczyk) · GitHub]</ref>
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=77344 Stockfish with new NNUE architecture and bigger net released] by [[Stefan Pohl]], [[CCC]], May 19, 2021 <ref>[https://github.com/official-stockfish/Stockfish/pull/3474 Update default net to nn-8a08400ed089.nnue by Sopel97 · Pull Request #3474 · official-stockfish/Stockfish · GitHub] by [[Tomasz Sobczyk]]</ref> <ref>[https://github.com/Sopel97 Sopel97 (Tomasz Sobczyk) · GitHub]</ref>
 
* [https://lczero.org/blog/2021/06/the-importance-of-open-data/ The importance of open data] by borg , [[Leela Chess Zero|LCZero blog]], June 15, 2021
 
* [https://lczero.org/blog/2021/06/the-importance-of-open-data/ The importance of open data] by borg , [[Leela Chess Zero|LCZero blog]], June 15, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=77503 will Tcec allow Stockfish with a Leela net to play?] by Wilson, [[CCC]], June 17, 2021 » [[TCEC Season 21]]
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=77503 will Tcec allow Stockfish with a Leela net to play?] by Wilson, [[CCC]], June 17, 2021 » [[TCEC Season 21]]
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=77503&start=55 Re: will Tcec allow Stockfish with a Leela net to play?] by [[Connor McMonigle]], [[CCC]], June 17, 2021
+
: [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=77503&start=55 Re: will Tcec allow Stockfish with a Leela net to play?] by [[Connor McMonigle]], [[CCC]], June 17, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=77599 Stockfish 14 release round the corner] by Prasanna Bandihole, [[CCC]], July 02, 2021
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=77599 Stockfish 14 release round the corner] by Prasanna Bandihole, [[CCC]], July 02, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=77602 Before things become more messy than they already are] by [[Ed Schroder|Ed Schröder]], [[CCC]], July 02, 2021
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=77602 Before things become more messy than they already are] by [[Ed Schroder|Ed Schröder]], [[CCC]], July 02, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=77605 Stockfish 14 has been released] by Madeleine Birchfield, [[CCC]], July 02, 2021  
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=77605 Stockfish 14 has been released] by Madeleine Birchfield, [[CCC]], July 02, 2021  
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=77762 Stockfish: Our lawsuit against ChessBase] by Kurt Lanc, [[CCC]], July 20, 2021
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=77762 Stockfish: Our lawsuit against ChessBase] by Kurt Lanc, [[CCC]], July 20, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=78030 The Great Stockfish NPS Debate] by Dietrich Kappe, [[CCC]], August 27, 2021
+
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=78030 The Great Stockfish NPS Debate] by Dietrich Kappe, [[CCC]], August 27, 2021
 
'''2022'''
 
'''2022'''
 
* [https://www.talkchess.com/forum3/viewtopic.php?f=7&t=79588 Stockfish search] by Werewolf, [[CCC]], March 26, 2022 » [[Lazy SMP]]
 
* [https://www.talkchess.com/forum3/viewtopic.php?f=7&t=79588 Stockfish search] by Werewolf, [[CCC]], March 26, 2022 » [[Lazy SMP]]
 
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=79713 Stockfish 15 is ready] by  Mehmet Karaman, [[CCC]], April 19, 2022
 
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=79713 Stockfish 15 is ready] by  Mehmet Karaman, [[CCC]], April 19, 2022
 
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=79793 Stockfish 15's Immortal Game?] by [[Graham Banks]], [[CCC]], May 01, 2022
 
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=79793 Stockfish 15's Immortal Game?] by [[Graham Banks]], [[CCC]], May 01, 2022
 +
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=80608 Are tablebases useless for Stockfish15?] by [[Jouni]], [[CCC]], September 02, 2022
 +
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=81105 Stockfish 15.1 is ready] by [[Mehmet Karaman]], [[CCC]], December 05, 2022
 +
* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=81108 SF branching factor] by [[Jouni]], [[CCC]], December 05, 2022
 +
'''2023'''
 +
* [https://www.talkchess.com/forum3/viewtopic.php?f=7&t=82620 Stockfish randomicity] by amchess, [[CCC]], September 21, 2023 » [[Search]]
  
 
=Blog Posts=
 
=Blog Posts=
Line 467: Line 500:
 
* [https://stockfishchess.org/blog/2021/our-lawsuit-against-chessbase/ Our lawsuit against ChessBase], The Stockfish Team, July 20, 2021 » [[ChessBase]], [[Fat Fritz#Fat Fritz 2|Fat Fritz 2]], [[Houdini#Stockfish|Houdini 6]]
 
* [https://stockfishchess.org/blog/2021/our-lawsuit-against-chessbase/ Our lawsuit against ChessBase], The Stockfish Team, July 20, 2021 » [[ChessBase]], [[Fat Fritz#Fat Fritz 2|Fat Fritz 2]], [[Houdini#Stockfish|Houdini 6]]
 
* [https://stockfishchess.org/blog/2021/stockfish-14-1/ Stockfish 14.1], The Stockfish Team, October 28, 2021
 
* [https://stockfishchess.org/blog/2021/stockfish-14-1/ Stockfish 14.1], The Stockfish Team, October 28, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=80608 Are tablebases useless for Stockfish15?] by [[Jouni]], [[CCC]], September 02, 2022
 
  
 
=External Links=  
 
=External Links=  

Latest revision as of 12:19, 1 March 2024

Home * Engines * Stockfish

Stockfish logo [1]
Stockfish 12 logo [2]

Stockfish,
an UCI compatible open source chess engine developed by Tord Romstad, Marco Costalba, Joona Kiiski and Gary Linscott [3], 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 [4], and in early 2009 Joona's Smaug, a further Glaurung 2.2 derivative, was incorporated [5] . 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 [6], 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 [7]. 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 [8]. On September 02, 2020, Stockfish 12 was released with a huge jump in playing strength due to NNUE and further tuning of the engine [9]. The release of Stockfish 13 on February 19, 2021, has been triggered by the start of sales of the Fat Fritz 2 engine by ChessBase, based on a recent development version of Stockfish with minor modifications [10]. Stockfish 14, released on July 02, 2021, further improved due to efforts by Tomasz Sobczyk and Gary Linscott in designing a new NNUE architecture in conjunction with a GPU accelerated trainer written in PyTorch. Further, the collaboration with the Leela Chess Zero team payed off, in providing billions of positions to train the new NNUE [11].

Stockfish 16, released June 30, 2023, removes the classical evaluation from the engine and focuses on NNUE neural networks.[12]

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 built for various processors and operating systems. The main source code of Stockfish could be compiled directly into Command Line Interface program. Some programmers have added code to change it into a Graphical User Interface one which may be compulsory to run on some platforms such as iOS.

Command Line Interface

Stockfish with built-in Graphical User Interface

We list only some programs that are popular and license compliance (released with source code):

  • Stockfish for macOS was also built and published on Mac App Store by Daylen Yang, who is also responsible for the Stockfish website
  • Stockfish for iOS was built by Tord Romstad [13].

Fishtest

The Stockfish Testing Framework dubbed Fishtest [14] is a web application written by Gary Linscott [15] [16], based on a SETI@home kind of volunteer computing. Fishtest is mainly written in Python under the Pyramid Application Development Framework [17], 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 [18] active in testing ideas and tweaks [19], to make Stockfish the strongest chess entity of the world [20].

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 [21] . 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 [22], also supporting Stockfish NNUE nets [23].

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½ - ½ [24] [25] . A few weeks later the experiment continued with Hikaru Nakamura in Burlingame, California [26] . 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 [27] .

Selected Features

[28]

Board Representation

BMI2 - PEXT Bitboards (not recommend for AMD Ryzen [29] prior to Zen 3)

Search

Evaluation

See also Evaluation Philosophy [34] [35]

Classical Evaluation

Classical Evaluation (traditional hand-crafted evaluation) has been removed since version 16.

Misc

SPSA

Release Dates

2008

  • 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

2009

  • 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

2010 ...

  • 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

2011

  • 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

2012

  • 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

2013

  • Stockfish 3 - April 30, 2013
  • Stockfish 4 - August 20, 2013
  • Stockfish DD - November 29, 2013
  • Stockfish 5 - May 31, 2014

2015 ...

  • 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

2020 ...

  • Stockfish 11 - January 18, 2020
  • Stockfish 12 - September 02, 2020
  • Stockfish 13 - February 19, 2021
  • Stockfish 14 - July 02, 2021
  • Stockfish 15 - April 18, 2022
  • Stockfish 15.1 - December 04, 2022
  • Stockfish 16 - June 30, 2023
  • Stockfish 16.1 - February 24, 2024

Ports

Derivatives

Authors

Founders of the Stockfish project and Fishtest infrastructure

Authors and inventors of NNUE, training, NNUE port

All other authors of the code

There are 196 authors, counted to version 15.1.

Elo Progress

of Stockfish in first 10 years [37]

SfElo.png

See also

Publications

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

Re: Stockfish bench ...

2018

2019

2020 ...

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

2021

Re: will Tcec allow Stockfish with a Leela net to play? by Connor McMonigle, CCC, June 17, 2021

2022

2023

Blog Posts

2014

2015 ...

2020 ...

External Links

Chess Engine

Issues

Pull Requests

Testing

Stockfish Evaluation Guide - NNUE
Creating my first test · glinscott/fishtest Wiki · GitHub
Fishtest mathematics · glinscott/fishtest Wiki · GitHub

Rating Lists

Matches

Interviews

Videos

Misc

References

  1. The Stockfish icon was designed by Klein Maetschke, About - Stockfish
  2. Stockfish - Open Source Chess Engine, The Stockfish 12 icon was designed by Klein Maetschke, About - Stockfish
  3. Stockfish 7 by Joona Kiiski, CCC, January 02, 2016
  4. Stockfish 1.0 by Marco Costalba, CCC, November 02, 2008
  5. Re: Smaug: a new chess engine based on glaurung by Marco Costalba, CCC, March 12, 2009
  6. 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
  7. Stockfish on github by Marco Costalba, CCC, October 02, 2011
  8. Stockfish NN release (NNUE) by Henk Drost, CCC, May 31, 2020
  9. Stockfish 12, The Stockfish Team, Stockfish Blog, September 02, 2020
  10. Stockfish 13, The Stockfish Team, February 19, 2021
  11. Stockfish 14, The Stockfish Team, July 02, 2021
  12. GitHub - Stockfish commit, Remove classical evaluation
  13. About - Stockfish
  14. glinscott/fishtest · GitHub
  15. Get Involved - Stockfish - Powerful Open Source Chess Engine
  16. Fishtest Distributed Testing Framework by Marco Costalba, CCC, May 01, 2013
  17. The Pyramid Web Framework — The Pyramid Web Framework v1.5
  18. Stockfish Testing Framework - Users
  19. Stockfish Testing Framework
  20. Adam's Computer Chess Pages: Stockfish Progression by Adam Hair
  21. Re: How far away are we from deep learning Stockfish, Komodo by Gary, CCC, May 21, 2017
  22. Stockfish Evaluation Guide
  23. Stockfish Evaluation Guide - NNUE
  24. Can a GM and Rybka beat Stockfish? by GM Daniel Naroditsky, Chess.com, August 08, 2014
  25. GM and Rybka vs. Stockfish by Robert Maddox, CCC, August 09, 2014
  26. Nakamura vs Stockfish, public match 8/23 by Jesse L, CCC, August 17, 2014
  27. Stockfish Outlasts "Rybkamura" by FM Mike Klein, Chess.com, August 24, 2014
  28. if not mentioned otherwise, based on the sources of Stockfish 6
  29. Ryzen and BMI2: Strange behavior and high latencies by DonnieTinyHands, Reddit, March 20, 2017
  30. Stockfish/position.h at sf_12 · official-stockfish/Stockfish · GitHub
  31. Remove piece lists by syzygy1 · Pull Request #3247 · official-stockfish/Stockfish · GitHub
  32. Re: piece lists advantage with bit-boards? by Ronald de Man, CCC, December 26, 2018
  33. Re: Stockfish 7 progress by Lucas Braesch, CCC, January 17, 2016
  34. The Art of Evaluation by Tord Romstad, CCC, August 2, 2007
  35. Stockfish Evaluation Guide
  36. exoticorn/stockfish-js · GitHub
  37. Cscuile's Sheets
  38. Part 1 covers Houdini, Rybka, Komodo, Stockfish, Critter, Naum, Chiron and Spike
  39. Who is the Master? from Jean-Marc Alliot's professional website
  40. exoticorn/stockfish-js · GitHub
  41. Delphil 3.3b2 (2334) - Stockfish 030916 (3228), TCEC Season 9 - Rapid, Round 11, September 16, 2016
  42. Use equations for PushAway and PushClose · official-stockfish/Stockfish@5a7b45e · GitHub
  43. Update default net to nn-8a08400ed089.nnue by Sopel97 · Pull Request #3474 · official-stockfish/Stockfish · GitHub by Tomasz Sobczyk
  44. Sopel97 (Tomasz Sobczyk) · GitHub
  45. Regan's latest: Depth of Satisficing by Carl Lumma, CCC, October 09, 2015
  46. An info by Sylwy, CCC, July 25, 2020

Up one Level