Answers.Body: <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-08T20:08:31.300Z
Answers.Text: I wonder if there are actually some regression tests of SF eval compared to pure material + PST.
Answers.UserDisplayName: Finn Eggers
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-08T20:09:54.090Z
Answers.Text: 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
Answers.UserDisplayName: Oscar Smith
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-08T20:11:15.130Z
Answers.Text: 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...
Answers.UserDisplayName: Finn Eggers
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-08T19:18:59.557Z
Answers.LastActivityDate: 2020-06-08T19:18:59.557Z
Answers.UserDisplayName: Oscar Smith
Answers.Body: <p>The difference is huge, worth well over a thousand elo. See <a href="https://lichess.org/@/simpleEval" rel="nofollow noreferrer">SimpleEval</a>, 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.</p>
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-08-14T16:35:33.707Z
Answers.Text: 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
Answers.UserDisplayName: Finn Eggers
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-08-15T03:20:18.287Z
Answers.Text: @FinnEggers Nice! Good luck in the upcoming TCEC season, Koivisto for Div P =)
Answers.UserDisplayName: Allure
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-08-15T03:25:41.650Z
Answers.Text: 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
Answers.UserDisplayName: Finn Eggers
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-08-14T04:15:30.120Z
Answers.LastActivityDate: 2022-08-14T04:15:30.120Z
Answers.UserDisplayName: Allure
Body: <p>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.</p>
  <p>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.</p>
  <p>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?</p>
  <p>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.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-08-12T09:03:57.893Z
Comments.Text: If you improved your eval function from material only to something much better, please report on strengths gain here! :)
Comments.UserDisplayName: Hauptideal
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-08-13T10:21:40.173Z
Comments.Text: Restarted my project and now it’s one of the best engines in the world (Koivisto) :)
Comments.UserDisplayName: Finn Eggers
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-08-16T19:04:44.293Z
Comments.Text: 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!
Comments.UserDisplayName: Hauptideal
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-08-17T00:45:30.587Z
Comments.Text: Oh koivisto started with a simple evaluation function and has been improved. At version 5.0 we use a neural network
Comments.UserDisplayName: Finn Eggers
Tags: <engines><evaluation>
Title: Elo change of engine from pure material to very good evaluation
ThreadText: # Elo change of engine from pure material to very good evaluation
  
  (Asked by: username_0 on 2020-06-08)
  
  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.
  
  **Tags:** engines, evaluation
  
  > **Comments:**
  > **username_1**: If you improved your eval function from material only to something much better, please report on strengths gain here! :)  
  > **username_0**: Restarted my project and now it’s one of the best engines in the world (Koivisto) :)  
  > **username_1**: 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!  
  > **username_0**: Oh koivisto started with a simple evaluation function and has been improved. At version 5.0 we use a neural network  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2020-06-08. Score: 3 | Accepted answer
  
  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.
  
  > **Comments:**
  > **username_0**: I wonder if there are actually some regression tests of SF eval compared to pure material + PST.  
  > **username_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  
  > **username_0**: 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...  
  
  ---
  
  ### Answer by username_3 on 2022-08-14. Score: 4
  
  The difference is huge, worth well over a thousand elo. See [SimpleEval](https://lichess.org/@/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.
  
  > **Comments:**
  > **username_0**: 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  
  > **username_3**: @username_0 Nice! Good luck in the upcoming TCEC season, Koivisto for Div P =)  
  > **username_0**: 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  
  
  ---
  
  