lichess.org
Donate

Why does stockfish say 1.g3 is the best opening for white?

For almost 3 weeks now, whenever I go to the analysis board stockfish says 1.g3 is the best move for white? Why? Before that, it told me 1.c4 was the best move. Why is this happening?
A position can only be won or it is a draw. So what does SF mean?

In other words: meaningless estimatrics.
Here is my best guess, though I'm going to caveat and tell you that I haven't personally lifted the hood of the code running stockfish.

Pretty sure it runs an 'opening book' that is manipulated by a human to help the computer get through the start of the game - as it would flounder around a lot early on.

So.. your machine has decided that out of all the moves in its opening book, 1.g3 is at the top of the list. No idea why it chose this, as I am sure there are other openings in its book that it could potentially pick.

Good luck.
StockFish says that the best move is 1.c4 in chess 960 but with the basic setup (rook knight...),However in standard chess stockfish says that the best move is 1.Ng3, maybe you've been using the chess 960 analysis by mistake?
Looking at the win rates 1.g3 has the highest win rate right now.

As to why the arrow shows 1.g3 I'm not sure, it's a bit buggy. In my browser if I tell stockfish to show me 1-2 lines, it likes the reti opening. If I tell it to give me 3 it prefers 1.c4. And if I give it 4-5 it likes 1.g3 (I need to refresh the page for it to change)

All those openings are playable that's for sure. 1.g3 is relatively rare so the win rate might be unreliable. You can try it for yourself and see if you like it.
A few points.

1) There is no opening book SF picks from. The output is just from SF's native search.

2) Even with perfectly deterministic search, completing an extra iteration (very roughly, "searching deeper") can change the suggested move and its eval.

3) Especially with multiple threads, there's some amount of pseudo-randomness in results of searching to a given iteration just from small timing differences in interactions among threads, which can result in getting different moves and different evals even in the same position to the same iteration (again, roughly "same depth").

4) In the initial position, to very high depths, most of the "good" moves are very, very close in eval, so these small variations among searches can easily result in a different move being chosen.

5) Until your browser's search gets deeper, what you see from SF in lichess is the shared "cloud" analysis, basically the result of the deepest search anyone has conducted so far. It is possible that the search results that used to be cached as the "cloud" results had 1.c4, and that analysis was recently replaced by another search that gave 1.g3

6) Related to item 3, in the initial position not only are all the "good" moves very likely the same objectively (objectively the only evaluations that exist are win, draw, and loss for side to move), even practically they are very similar.

Engine evaluations are tuned to maximize the performance of that engine. Even if we ignore that engines are themselves fallible, especially in a position like the initial position that is so complicated and so far from any main lines being resolved into something clearly decisive, the fact that an engine thinks that 1.g3 will give it the best results hardly means anything for humans.

So, in summary, when there are multiple moves that are similarly good, it's unsurprising for an engine to change its mind from iteration to iteration, or even at the same iteration from search to search when multiple threads are used.

This also just doesn't matter for humans :)
@a_pleasant_illusion

I recognize that stockfish can run with or without this feature (opening book). I just assumed it usually used it. I briefly googled, and the top hit was below:

On the match between stockfish and AlphaZero,

"GM Hikaru Nakamura...called the match "dishonest" and pointed out that Stockfish's methodology requires it to have an openings book for optimal performance."

This topic has been archived and can no longer be replied to.