Stockfish evaluation elo rating

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Stockfish evaluation elo rating

Post by xr_a_y »

I read somewhere that Stockfish evaluation itself is around 1800 elo. Does that mean qsearch+evaluation (a depth 1 search) or just evaluation (static analysis)?
Uri Blass
Posts: 10269
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Stockfish evaluation elo rating

Post by Uri Blass »

xr_a_y wrote:I read somewhere that Stockfish evaluation itself is around 1800 elo. Does that mean qsearch+evaluation (a depth 1 search) or just evaluation (static analysis)?
I do not know how to measure rating for evaluation function.

Stockfish at depth 1 search is certainly weaker than 1800 but humans with rating 1800 search more than one ply forward in games.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Stockfish evaluation elo rating

Post by xr_a_y »

that's my point. Is rating of evaluation function
- qsearch+evaluation at depth 1
- just evaluation at depth 1
?
User avatar
Eelco de Groot
Posts: 4561
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Stockfish evaluation elo rating

Post by Eelco de Groot »

1800 was maybe meant like in 'Stockfish' evaluation is somewhat like the evaluation of an 1800 player' Making the point that search is more important than it is for a human player. Without qsearch, but if it could generate the moves in the root and evaluate them, it would probably play some attractive moves, overvalue KS and passed pawns, but there is no horizon beyond 1 ply, Stockfish would not recognize the outcome of sacrifices but maybe play some because it sees the positional compensation and value it sometimes higher than any lost material, but no future losses nor gains etc. You can set Stockfish to play at a certain depth I believe, but I don't know if you can set a negative depth. That would simulate playing without most of the quiescence search I think. It would still have to generate and evalute moves in the first ply somehow though, so that would not work. If Stockfish could only evaluate the root position it would not even know what moves it could play there, it only has some knowledge of which squares it can probably go to and how much control both sides have of those squares. It only adds up all the pluses and minuses in its evaluation function, it does not keep count of which squares would be good squares to go to for instance.
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Stockfish evaluation elo rating

Post by jdart »

If you do no qsearch, you will have no tactical awareness at all. So if for example you just took the highest scoring move from the evaluation function, you'd drop pieces pretty regularly and lose to shallow mate threats.

With qsearch, you get some awareness of immediate threats and reasonably accurate evaluation of captures. So that's a lot better - I think 1800 would imply that you are doing that, at least.

--Jon
Michel
Posts: 2272
Joined: Mon Sep 29, 2008 1:50 am

Re: Stockfish evaluation elo rating

Post by Michel »

LC0 plays quite reasonable chess using only its evaluation. You can try it here

http://play.lczero.org/
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Stockfish evaluation elo rating

Post by jdart »

LC0 plays quite reasonable chess using only its evaluation
I was talking about a minimax searcher, as standard Stockfish is.

But even LC0 doesn't just evaluate a non-quiescent position and use that eval to choose moves. My understanding is it does a form of Monte Carlo tree search and that does not prematurely terminate at a non-quiescent position.

--Jon
gladius
Posts: 568
Joined: Tue Dec 12, 2006 10:10 am
Full name: Gary Linscott

Re: Stockfish evaluation elo rating

Post by gladius »

jdart wrote:
LC0 plays quite reasonable chess using only its evaluation
I was talking about a minimax searcher, as standard Stockfish is.

But even LC0 doesn't just evaluate a non-quiescent position and use that eval to choose moves. My understanding is it does a form of Monte Carlo tree search and that does not prematurely terminate at a non-quiescent position.

--Jon
The MCTS in LC0/A0 does not do rollouts - so it does terminate in non-quiescent positions, and relies on the network to evaluate them still.
Michel
Posts: 2272
Joined: Mon Sep 29, 2008 1:50 am

Re: Stockfish evaluation elo rating

Post by Michel »

But even LC0 doesn't just evaluate a non-quiescent position and use that eval to choose moves. My understanding is it does a form of Monte Carlo tree search and that does not prematurely terminate at a non-quiescent position.
I don't think so since that would mean using domain knowledge.

Easy mode on play.lczero.org means doing a _single_ playout per move. So in fact it is simply picking the move suggested by its policy head which is part of the NN.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Stockfish evaluation elo rating

Post by jdart »

So in fact it is simply picking the move suggested by its policy head which is part of the NN
How do you expect that to work? What is the play level of "easy" mode?

--Jon