Stockfish

From Chessprogramming wiki
Jump to: navigation, search

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.

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 on-line play and/or user interface issues rather than on pure playing strength.

Also many hobbyist chess programmers feel in 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 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 [6].

Fishtest

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

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 [14] . 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 [15] .

Tournament Play

Stockfish is top contender of the prestigious Thoresen Chess Engines Competition (TCEC), reaching the superfinals since season 4, and clearly established its world number one status in winning recent TCECs, leaving its commercial rivals Komodo and Houdini behind.

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½ - ½ [16] [17] . A few weeks later the experiment continued with Hikaru Nakamura in Burlingame, California [18] . 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 [19] .

Selected Features

[20]

Board Representation

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

Search

Evaluation

[23] [24]

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

Ports

Derivatives

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

External Links

Chess engine

Stockfish Testing Framework » Fishtest
Stockfish Evaluation Guide » Stockfish Evaluation Guide
FishCooking - Google Groups a discussion group for developers and testers of Stockfish chess engine
SPSA Tuner for Stockfish Chess Engine » SPSA

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. About - Stockfish
  7. glinscott/fishtest · GitHub
  8. Get Involved - Stockfish - Powerful Open Source Chess Engine
  9. Fishtest Distributed Testing Framework by Marco Costalba, CCC, May 01, 2013
  10. The Pyramid Web Framework — The Pyramid Web Framework v1.5
  11. Stockfish Testing Framework - Users
  12. Stockfish Testing Framework
  13. Adam's Computer Chess Pages: Stockfish Progression by Adam Hair
  14. Re: How far away are we from deep learning Stockfish, Komodo by Gary, CCC, May 21, 2017
  15. Stockfish Evaluation Guide
  16. Can a GM and Rybka beat Stockfish? by GM Daniel Naroditsky, Chess.com, August 08, 2014
  17. GM and Rybka vs. Stockfish by Robert Maddox, CCC, August 09, 2014
  18. Nakamura vs Stockfish, public match 8/23 by Jesse L, CCC, August 17, 2014
  19. Stockfish Outlasts "Rybkamura" by FM Mike Klein, Chess.com, August 24, 2014
  20. if not mentioned otherwise, based on the sources of Stockfish 6
  21. Ryzen and BMI2: Strange behavior and high latencies by DonnieTinyHands, Reddit, March 20, 2017
  22. Re: Stockfish 7 progress by Lucas Braesch, CCC, January 17, 2016
  23. See also Evaluation Philosophy and The Art of Evaluation by Tord Romstad, CCC, August 2, 2007
  24. Stockfish Evaluation Guide
  25. exoticorn/stockfish-js · GitHub
  26. Part 1 covers Houdini, Rybka, Komodo, Stockfish, Critter, Naum, Chiron and Spike
  27. Who is the Master? from Jean-Marc Alliot's professional website
  28. exoticorn/stockfish-js · GitHub
  29. Delphil 3.3b2 (2334) - Stockfish 030916 (3228), TCEC Season 9 - Rapid, Round 11, September 16, 2016
  30. Regan's latest: Depth of Satisficing by Carl Lumma, CCC, October 09, 2015

Up one Level