Stockfish

From Chessprogramming wiki
Jump to:navigation,search

Home *Engines * Stockfish

Stockfish logo[1]
Stockfish 12 logo[2]

Stockfish,
anUCI compatibleopen source chess engine developed byTord Romstad,Marco Costalba,Joona Kiiski andGary Linscott[3], licensed under theGPL v3.0. Marco forked the project from version 2.1 of Tord's engineGlaurung, first announced by Marco in November 8, 2008[4], and in early 2009 Joona'sSmaug, a further Glaurung 2.2 derivative, was incorporated[5]. Starting among the top twenty engines, Stockfish has quickly climbed instrength to become the world strongest chess entity as of 2018 - at least concerning theAlphaZero 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 ofstockfish trade from Norway to Italy (to Marco's home town ofVicenza, in fact). Stockfish is also referred to as another famous "little fish", the then strongest chess engineRybka. In 2011, Marco Costalba and Joona Kiiski stepped down as Stockfish maintainers[7]. From that, the project is being developed and maintained by theStockfish community.

A synergy effect with theShogi community led to the promising branch ofStockfish NNUE, courtesy ofNodchip, who introducedNNUE to Stockfish in 2019[8]. On September 02, 2020,Stockfish 12 was released with a huge jump inplaying strength due to NNUE and furthertuning of the engine[9]. The release ofStockfish 13 on February 19, 2021, has been triggered by the start of sales of theFat Fritz 2 engine byChessBase, based on a recent development version of Stockfish with minor modifications[10].Stockfish 14, released on July 02, 2021, further improved due to efforts byTomasz Sobczyk andGary Linscott in designing a newNNUE architecture in conjunction with aGPU accelerated trainer written inPyTorch. Further, the collaboration with theLeela Chess Zero team payed off, in providing billions of positions to train the new NNUE[11].

Stockfish 16, released June 30, 2023, removes the classicalevaluation from the engine and focuses onNNUE neural networks.[12]

Contents

Platforms

Since Stockfish is written inC++, it may be compiled and built for various processors and operating systems. The main source code of Stockfish could be compiled directly intoCommand Line Interface program. Some programmers have added code to change it into aGraphical User Interface one, which may be compulsory to run on some platforms such as iOS.

Command Line Interface

Stockfish with built-inGraphical User Interface

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

Fishtest

The Stockfish Testing Framework dubbedFishtest[14] is aweb application written byGary Linscott[15][16], based on aSETI@home kind ofvolunteer computing.Fishtest is mainly written inPython under thePyramid Application Development Framework[17], and distributes games across different machines to reduce the test latency and increase throughput. Started in early 2013 with Stockfish 3.0, Fishtest has hundreds of contributors, as of July 2024, 2226 testers and 363 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 interactiveStockfish Evaluation Guide is available to explore Stockfish'sevaluation with aJavaScript implementation running in abrowser[21]. One may enter aFEN string of aposition, to get the resultingscore of the main evaluation term considering thegame phases within itstapered evaluation, and may navigate through the tree of subterms and features with its particular characteristics for the given position[22], also supportingStockfish NNUE nets[23].

Tournament Play

Stockfish is top contender of the prestigiousTop Chess Engines Competition (TCEC), reaching the superfinals sinceseason 4, and established its world number one status in winning TCECs, leaving its commercial rivalsKomodo andHoudini behind.Sinceseason 14 in early 2019, Stockfish competes with thedeep learningLeela Chess Zero engines, whoseplaying strength triggered a motivation boost in the developing community to improve Stockfish further.

GM+Rybka vs. Stockfish

On July 19, 2014, Stockfish 5 played a four-game match versusDaniel Naroditsky plusRybka 3 (2008), 45 minutes plus 30-second increment. Stockfish won 3½ - ½[24][25] . A few weeks later the experiment continued withHikaru Nakamura inBurlingame, 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 of Stockfish 5 as well. It played the latest development build compiled forOS X running on a 3 GHz 8-CoreMac Pro[27] .

Selected Features

[28]

Board Representation

BMI2 - PEXT Bitboards (not recommend forAMDRyzen[29] prior toZen 3)

Search

Evaluation

See alsoEvaluation Philosophy[34][35]

ClassicalEvaluation

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
  • Stockfish 17 - September 06, 2024

2025 ...

  • Stockfish 17.1 - March 30, 2025

  • Stockfish 18 - January 31, 2026

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? byLouis Zulli,CCC, February 16, 2015 »Parallel Search

2016

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

2017

Re: Stockfish bench ...

2018

2019

2020 ...

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

2021

Re: will Tcec allow Stockfish with a Leela net to play? byConnor 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 byKlein Maetschke,About - Stockfish
  2. Stockfish - Open Source Chess Engine, The Stockfish 12 icon was designed byKlein Maetschke,About - Stockfish
  3. Stockfish 7 byJoona Kiiski,CCC, January 02, 2016
  4. Stockfish 1.0 byMarco Costalba,CCC, November 02, 2008
  5. Re: Smaug: a new chess engine based on glaurung byMarco 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 byMarco Costalba,CCC, October 02, 2011
  8. Stockfish NN release (NNUE) byHenk 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 byMarco 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 byAdam Hair
  21. Re: How far away are we from deep learning Stockfish, Komodo byGary,CCC, May 21, 2017
  22. Stockfish Evaluation Guide
  23. Stockfish Evaluation Guide - NNUE
  24. Can a GM and Rybka beat Stockfish? by GMDaniel 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" byFM 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? byRonald de Man,CCC, December 26, 2018
  33. Re: Stockfish 7 progress by Lucas Braesch,CCC, January 17, 2016
  34. The Art of Evaluation byTord Romstad,CCC, August 2, 2007
  35. Stockfish Evaluation Guide
  36. exoticorn/stockfish-js · GitHub
  37. Cscuile's Sheets
  38. Part 1 coversHoudini,Rybka,Komodo,Stockfish,Critter,Naum,Chiron andSpike
  39. Who is the Master? fromJean-Marc Alliot'sprofessional 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 byTomasz 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

Retrieved from "https://www.chessprogramming.org/index.php?title=Stockfish&oldid=27427"
Categories: