5

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.

4
  • 2
    If you improved your eval function from material only to something much better, please report on strengths gain here! :)
    – Hauptideal
    Aug 12, 2022 at 9:03
  • 1
    Restarted my project and now it’s one of the best engines in the world (Koivisto) :) Aug 13, 2022 at 10:21
  • wow! congratulations! So you started from scratch using Neural Networks and therefore do not have an engine with a basic evaluation function? Do you know any such engines that do not blunder any material / mate, but do not understand more about strategy? I'd love to try to beat one strategically!
    – Hauptideal
    Aug 16, 2022 at 19:04
  • 1
    Oh koivisto started with a simple evaluation function and has been improved. At version 5.0 we use a neural network Aug 17, 2022 at 0:45

2 Answers 2

3

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.

3
  • I wonder if there are actually some regression tests of SF eval compared to pure material + PST. Jun 8, 2020 at 20:08
  • 2
    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
4

The difference is huge, worth well over a thousand elo. See SimpleEval, which is Stockfish with a very simplified evaluation function. It's not strong enough to beat top humans, even though Stockfish itself of course is, by a huge margin.

The reason for this is that search doesn't work well without a strong evaluation function. You are less able to tell which branches you should prune.

3
  • 1
    Yeah I figured that out too. I did a lot more engine development and at the end my engine (Koivisto) turned out to be #4 at some point Aug 14, 2022 at 16:35
  • @FinnEggers Nice! Good luck in the upcoming TCEC season, Koivisto for Div P =)
    – Allure
    Aug 15, 2022 at 3:20
  • Thank you very much :) I am on holidays and haven’t been doing stuff for 2 months so we dropped a bit again. May continue in the future :) there is a discord where everything related to Koivisto can be found Aug 15, 2022 at 3:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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