Answers.Body: <p>This is certainly not the case. Traditional engines &quot;score&quot; a position by running their evaluation function (which differs from engine to engine) on the best position at the end of their search tree (which also differs from engine to engine, since this position depends on their search algorithm).</p>
  <p>Sure there are standard concepts for scoring a position - e.g. which side has more material, which side has doubled pawns, which side has rooks on open files - but ultimately each engine does it differently, and there are positions which one engine can be very optimistic on while another is not. There are even positions where one engine thinks White has an advantage and another engine thinks Black has an advantage. <a href="https://tcec-chess.com/#div=sf&amp;game=13&amp;season=18" rel="nofollow noreferrer">Example</a> from the ongoing TCEC Season 18 superfinal.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-28T12:58:39.173Z
Answers.Text: I understand each chess engine incorporates different scoring algorithms. But it seems to me most engines, like I said, are in close agreement on a positional score. In other words, you generally don't see Stockfish score a position 1.0 and Houdini score it 4.5. In fact, when watching a tournament online, I've often see commentary from someone that says, "Stockfish has this as 1 for white and Houdini has this .6 for white". Therefore, however these two engines are scoring a position, they must be sharing a lot of things in common.
Answers.UserDisplayName: Randy Minder
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-28T13:41:39.677Z
Answers.Text: @RandyMinder why wouldn't they be in close agreement? Are you expecting most grandmasters to disagree on who has an advantage in a given position? Eval divergence should be the exception, not the norm.
Answers.UserDisplayName: Allure
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-28T13:51:57.510Z
Answers.Text: There can only be evaluation divergence if most chess engines are scoring a position the same way or close. This means each engine essentially scores double pawns the same way, two rooks on the 7th rank the same way, bishop pair the same way etc. And, by the same way I mean they each assign a similar numeric value to each of these considerations. That was the point of my question. What are these considerations and what numerical values (roughly) are being assigned to each.
Answers.UserDisplayName: Randy Minder
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-28T14:03:23.383Z
Answers.Text: @RandyMinder well of course. Everyone knows doubled pawns are usually bad, rooks on the 7th are usually good, etc, and that's why these things get coded into the static evaluation function. It should be absolutely no surprise engines return roughly the same centipawn eval, since the eval is supposed to be "1 pawn" worth of advantage. I cannot understand what you're asking. Maybe look at Stockfish's eval.cpp and find what you need yourself. https://github.com/official-stockfish/Stockfish/blob/master/src/evaluate.cpp
Answers.UserDisplayName: Allure
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-29T04:40:33.583Z
Answers.Text: Doubled pawns aren't inherently bad. They generally will open a file for a rook and often can improve control of the center and/or speed up development. If engines evaluated that simplistically they'd be very easy to beat.
Answers.UserDisplayName: Savage47
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-28T12:49:54.610Z
Answers.LastActivityDate: 2020-06-28T12:49:54.610Z
Answers.UserDisplayName: Allure
Answers.Body: <p>You're right.</p>
  <p>Everything is based off of the assumption that 1 point= 1 pawn. Everything else is relative to that.</p>
  <p>If an engine is evaluating a position at +3 that means either it thinks that white can win the material advantage of three pawns or that white can obtain a positional advantage equivalent to three pawns or some combination of the two.</p>
  <p>How things are weighted vary from engine to engine but the basic concept is the same.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-06-29T04:33:13.493Z
Answers.LastActivityDate: 2020-06-29T04:33:13.493Z
Answers.UserDisplayName: Savage47
Body: <p>It seems most chess programs score a position basically the same way, give or take a few tenths of a point, for a given position. For example, Stockfish might score a position as .65 while Houdini might score the same position .80. If this is essentially the case, are there general &quot;rules&quot; for scoring a position?</p>
  
Tags: <engines>
Title: Is there a standard way of scoring a position for chess programs?
ThreadText: # Is there a standard way of scoring a position for chess programs?
  
  (Asked by: username_0 on 2020-06-27)
  
  It seems most chess programs score a position basically the same way, give or take a few tenths of a point, for a given position. For example, Stockfish might score a position as .65 while Houdini might score the same position .80. If this is essentially the case, are there general "rules" for scoring a position?
  
  **Tags:** engines
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2020-06-28. Score: 1
  
  This is certainly not the case. Traditional engines "score" a position by running their evaluation function (which differs from engine to engine) on the best position at the end of their search tree (which also differs from engine to engine, since this position depends on their search algorithm).
  
  Sure there are standard concepts for scoring a position - e.g. which side has more material, which side has doubled pawns, which side has rooks on open files - but ultimately each engine does it differently, and there are positions which one engine can be very optimistic on while another is not. There are even positions where one engine thinks White has an advantage and another engine thinks Black has an advantage. [Example](https://tcec-chess.com/#div=sf&game=13&season=18) from the ongoing TCEC Season 18 superfinal.
  
  > **Comments:**
  > **username_0**: I understand each chess engine incorporates different scoring algorithms. But it seems to me most engines, like I said, are in close agreement on a positional score. In other words, you generally don't see Stockfish score a position 1.0 and Houdini score it 4.5. In fact, when watching a tournament online, I've often see commentary from someone that says, "Stockfish has this as 1 for white and Houdini has this .6 for white". Therefore, however these two engines are scoring a position, they must be sharing a lot of things in common.  
  > **username_1**: @RandyMinder why wouldn't they be in close agreement? Are you expecting most grandmasters to disagree on who has an advantage in a given position? Eval divergence should be the exception, not the norm.  
  > **username_0**: There can only be evaluation divergence if most chess engines are scoring a position the same way or close. This means each engine essentially scores double pawns the same way, two rooks on the 7th rank the same way, bishop pair the same way etc. And, by the same way I mean they each assign a similar numeric value to each of these considerations. That was the point of my question. What are these considerations and what numerical values (roughly) are being assigned to each.  
  > **username_1**: @RandyMinder well of course. Everyone knows doubled pawns are usually bad, rooks on the 7th are usually good, etc, and that's why these things get coded into the static evaluation function. It should be absolutely no surprise engines return roughly the same centipawn eval, since the eval is supposed to be "1 pawn" worth of advantage. I cannot understand what you're asking. Maybe look at Stockfish's eval.cpp and find what you need yourself. https://github.com/official-stockfish/Stockfish/blob/master/src/evaluate.cpp  
  > **username_2**: Doubled pawns aren't inherently bad. They generally will open a file for a rook and often can improve control of the center and/or speed up development. If engines evaluated that simplistically they'd be very easy to beat.  
  
  ---
  
  ### Answer by username_2 on 2020-06-29. Score: 1
  
  You're right.
  
  Everything is based off of the assumption that 1 point= 1 pawn. Everything else is relative to that.
  
  If an engine is evaluating a position at +3 that means either it thinks that white can win the material advantage of three pawns or that white can obtain a positional advantage equivalent to three pawns or some combination of the two.
  
  How things are weighted vary from engine to engine but the basic concept is the same.
  
  
  ---
  
  