Stockfish is an open-source Chess engine developed by Tord Romstad, Joona Kiiski, and Marco Costalba from Norway, with contributions from various programmers. It is the most active Chess program on the entire Internet playing ELO rating of a whopping 3542 at time of writing.
Last Updated: June 19th, 2022
In this article, we will provide an in depth guide on Stockfish covering everything you need to know about the engine.
About Stockfish
Stockfish was originally launched in November 2008, meant to be a free, open-source engine for developers to help improve people’s abilities to play chess, using a computer to play against. Stockfish is updated regularly, with its latest update being in February 2021. Open-source meaning the program is open to the public to work on and is free.
Stockfish is compatible with many operating systems, including Windows and Linux. Its default setting for a chess engine is to open the Internet Chess Club (ICC). ICC is a free internet chess server that allows one to play as a guest or in a tournament. Stockfish is also compatible with many chess GUI’s, such as Winboard and Chessbase. Stockfish is updated every few months.
Features
Like other Chess engines and Chess players, it uses strong openings and other tactics throughout the game like others would, where it excels pastbhuman capability is its ability to exploit weaknesses and play near perfect moves throughout the entire game.
As an open source platform, Stockfish can have up to 512 CPU threads in its multiprocessor systems, with a maximum transposition table size of 32 terabytes. Stockfish utilizes alpha-beta search functionality, paired with bitboards, giving it a much greater depth of search capabilities than other types of chess engines. It’s latest ELO rating as a chess engine is around 3549 plus or minus 19, based on the 40/15 benchmark.
It’s also very functional with other programs and codebases, such as Chess960, and it is compatible with supporting the Syzygy tablebase, which was indegrated in 2014, and later revamped in 2018 to support the 7-men Syzygy protocol.
How To Use Stockfish
Stockfish can be used for many different reasons. If you have a chess GUI, such as Winboard or Chessbase, you can simply select the Stockfish chess engine to play your games. If you would like to play a game, you should then open ICC and either create a guest account or register for an ICC account. Once there, create a game using “TCEC” or “New Game”. Then choose an engine that isn’t Stockfish and begin playing.
So now you have a better idea of how powerful Stockfish, but how do you analyze your own Chess games with Stockfish?
Yes it’s open to the public, unlike some other Chess engines, Stockfish is completrely 100% free for the public to use. Not only that, it’s incredibly simple to use.
Step 1: Download Stockfish
To start use Stockfish, all you have to do is go to the website and download it for free. It’s available for IOS, Android, and desktops.
Go to the Stockfish website, click download.
Step 2: Open Stockfish
After downloading has completed and you saved it to your computer, click Stockfish to open the program.
After it’s opened, just click “run” to start the Stockfish engine. From there, you can begin making moves like you would in a normal game of Chess and the engine will be running, calculating what moves it thinks should be played next. It even makes it easier for you by displaying arrows to represent the moves that should be played.
Step 3: Import and Analyze Games
Another excellent feature of Stockfish is that it allows you to important Chess games into the engine to analyze. You can download PGN’s of any game you wish and simply click the PGN file and Stockfish will automatically open with the game of the PGN you clicked.
This is an excellent way to get better at chess by analyzing your own games or any other game you wish to analyze.
How To Import Games from Chess.com
You can download the PGN of any game you want from Chess.com and open the PGN in Stockfish. Although the Chess engine Chess.com uses to analyze games is Stockfish, so this may be redundant.
Stockfish can also help analyze your game patterns from games saved by Chess.com. To do this, go to “Analyze Games” and find a game that suits your needs. Analyzing your own games is a good way to see what you can improve, and it’s also useful for providing help to the engine as well.
Further Reading and Resources
Use Stockfish To Analyze Games From lichess.org
If you play Chess on lichess.org, here’s how to use it with lichess.org.
First, you’ll need the PGN of the game you wish to run through Stockfish. To find the PGN of a specific game you played:
- Click on your profile in the right corner
- Profile
- N Games tab
If you want to find a game under a specific time control there is a “View the games” button at the top of the page with statistics.
Additional Sources
Competition Results
So how does Stockfish measure up against other Chess engines? Let’s just say Stockfish is the King of the board. Stockfish has been worked on and had more resources put into it than most other Chess engines, therefore it’s going to be better than most. AlphaZero and Leela Chess Zero are two other strong engines that give Stockfish a run for its CPU.
Stockfish can play in a tournament or a game without requiring any modifications to the Chess engine. Stockfish is very good at playing chess games. Stockfish has been considered as one of the strongest chess engines in all of its versions, and beat grandmasters such as Magnus Carlsen, Vladimir Kramnik, Levon Aronian, and Veselin Topalov.
Stockfish has been used in many tournaments, including the TCEC (Top Chess Engine Championship) and CCT (Chess.com Computer Tournament). It was also used in some other chess competitions.
Stockfish vs AlphaZero
Stockfish has generated a huge amount of interest by computer chess players and the media in recent times due to its gross strength, having held first place on the World Computer Chess Rating List from February to April 2016.
AlphaZero is the arch nemesis to Stockfish. They are considered to be the top dogs in the AI bot Chess engine battle. In December 2017, AlphaZero beat Stockfish in the TCEC event. Stockfish is known as a very strong engine, perhaps one of the strongest existing and active chess engine, although it has not yet seen much competition in the years as of 2019. AlphaZero remains undefeated by Stockfish.
Frequently Asked Questions
Does stockfish use machine learning?
Stockfish no longer uses machine learning. Currently, the engine is using Minimax and alpha-beta pruning to analyze Chess positions.
Stockfish did use machine learning in previous versions. In fact, the Stockfish developers have said that the whole engine is based on available methods of applying ML in chess, such as DeepMind Alpha. However, these algorithms are applied to handle things related to typical chess openings and endgames, rather than being used in a more artificial way. For instance, Stockfish does not use DeepMind Alpha for problem solving or anything like that. Instead, it uses its own sound search algorithm called “cavity-backed search” which is used by Alpha Zero.
Does Stockfish use Minimax algorithm?
Stockfish uses a variant of the Minimax algorithm called AlphaBeta, including pruning.
What algorithm does Stockfish use?
Stockfish uses the AlphaBeta algorithm, a variant of the MiniMax search algorithm. This allows
Stockfish to eliminate the need to search large parts of the game tree allowing calculation to search
faster.
What language is stockfish written in?
Stockfish is written in C++, an object oriented programming language. This provides a clear structure allowing the code to be compiled and reused in various programs and operating systems such as iOS, Android, Linus, macOS, and Windows.
Is Stockfish a neural network?
Stockfish no longer uses a neural network and uses traditional tree search methods using AlphaBeta.
What Elo is Stockfish?
The Elo of the latest version of Stockfish is 3542.
Can Humans Beat Stockfish In Chess?
Stockfish is considered to be one of the strongest chess engine on the market today. Although Stockfish can beat humans in chess, it is not a statistical guarantee that humans cannot beat it. Stockfish, with its full capabilities, when deployed in a live game has still never defeated a grandmaster, and even some novice and professional players with 100% accuracy every single time. It is an incredibly advanced tool, but there are limitations with it like any open source chess engine available today.
Will Stockfish Be Unbeatable In The Future?
Since Stockfish is an open-source chess engine, and there are no limitations to what can be added to it either, the future looks very bright for the world of computerized chess, and for Stockfish. The possibilities are limitless as long as the right programmers come forward with new ideas and algorithms that can be used in physics simulation with regard to chess.
The best way to master any new concept, including the use of a chess program or engine like Stockfish, is by simply practicing and learning all of its options. Many believe that eventually, as computer programs get more advanced, a chess engine will someday become unbeatable, but there is evidence to refute this belief as well.
Is Stockfish Artificial Intelligence (AI)?
Stockfish is not a chess program, it’s an open-source computer chess engine. It was written by programmers who are not considered to be AI experts. However, in normal chess engines, there are many different layers of machine learning software and algorithms which make them effective at playing against each other. For instance, Stockfish uses a sound search algorithm called “cavity-backed search”, which is used by Alpha Zero. Alpha Zero uses a similar algorithm found in DeepMind Alpha. These algorithms are responsible for creating Stockfish’s sophisticated and accurate opening and middle game play, as well as its endgame expertise.
That being said, Stockfish can be used as a sort of ‘applied artificial intelligence’, when supplementing people’s opening and endgame strategies. However, it is not an AI itself in the true sense of the word.
Does Stockfish Use Deep Learning?
Stockfish does not use neural networks, but uses “deep learning” algorithms such as Cavity-backed search. By this, researchers are talking about algorithms that can be used to learn by themselves. For example, Alpha Zero is an example of a deep learning algorithm which can learn and improve their own strategy. Deep Learning Algorithms are frequently used in Chess, however Stockfish uses its own unique algorithm – cavity-backed search. It is important to know that machine learning algorithms and neural networks can be used together.
What Operating System Does Stockfish Work On?
Stockfish has been developed and worked on mainly on Ubuntu Linux through the command line interface. It is able to run on Windows, Mac, and other operating systems as well, provided that they have an adequate chess GUI.
How Does Stockfish Interpret The Board?
This depends on how you would define that. Stockfish computes a lot of possible moves and positions in a short amount of time, but does not interpret the board or attempt to play in any creative way. It simply computes many possible moves and positions, then applies objective factors to them. It does interpret when deciding whether to capture or not, but this is a basic calculation of material and nothing creative.
Conclusion
Stockfish is very good at playing chess games, and has won many matches against grandmasters. It has the potential to become even stronger in the future.
Some experts do have doubts about whether a chess engine can ever defeat a grandmaster, but others do not doubt that on account of Stockfish’s strength and history of success. Stockfish utilizes its own very strong opening book to exploit weaknesses in the opening variations by means of well-prepared fixed moves.
As an open source engine, Stockfish can be used by anyone without any limitations to what can be added to it. The possibilities are limitless as long as the right programmers come forward with new ideas, as well as new algorithms that can be used in physics simulation with regard to chess. Stockfish is more than just a chess engine though; it also has a great number of uses and functions for other software associated with computer chess such as analyzing games and finding patterns in game data.
I hope this guide on Stockfish helped you. If you liked this post, you may also want to read about other Chess engines like Rybka and Houdini.