I am currently rewriting a chess engine with a friend. We decided to first work on the search and only later if the search works really well, we will do some very good evaluation.

The engine itself evaluates the board with pure material evaluation + piece square tables. We hit around 6Mnps and it competes with 2000 CCRL engines right now.

I was wondering how much ELO-Gain could we expect if we replace the evaluation at some point with another evaluation. Or more like: How much ELO can an evaluation function give?

I mean obviously, if you would replace the evaluation of stockfish with nothing but 0, it would do random moves and lose over 3000 ELO points but I am talking about the ELO difference between a very basic evaluation function and an insanely good evaluation function which takes mobility, king safety, pawn structure, game phase, etc. into account.

Greetings, Finn

1 Answer 1


The currently best eval function is a leela net. At a single node, some leela nets are in the 2500 elo range. The drawback of course is that they are about 1000x slower than a SF eval (assuming a somewhat modern gpu, cpu). SF eval is obviously way weaker than this, but it wouldn't surprise me if is 500 elo stronger than a simple eval function.

  • I wonder if there are actually some regression tests of SF eval compared to pure material + PST. Jun 8, 2020 at 20:08
  • I doubt it, it should be pretty easy to change the SF eval to material only, and you could run the test though. Expect a bloodbath Jun 8, 2020 at 20:09
  • Haha yeah I guess. I just hate compiling other c++ programs. c++ just feels like a pain for compiling but I might actually do that at some point. Allthough it will run a while because a elo difference that big is actually not easy to verify... Jun 8, 2020 at 20:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.