Answers.Body: <p>The best way is read source code yourself. <a href="https://github.com/official-stockfish/Stockfish/blob/master/src/evaluate.cpp" rel="nofollow noreferrer">https://github.com/official-stockfish/Stockfish/blob/master/src/evaluate.cpp</a> has the commented state-of-the-art rules defined in Stockfish.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-10T02:07:54.887Z
Answers.Text: Thank you, that is exactly what I was looking for. I am also surprised that Stockfish can reach such a level with such basic features: impressive.
Answers.UserDisplayName: Bernard Barbier
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-09T12:56:24.713Z
Answers.LastActivityDate: 2021-02-09T12:56:24.713Z
Answers.UserDisplayName: SmallChess
Body: <p>I am programming a (relatively basic) chess engine: while it is a lot of fun, it is also an interesting way to improve my chess skills! In order to evaluate a position, I need to extract features from the board. At the moment, I am using basic features such as the total value of the pieces, some features associated to piece mobility, open rank/files, whether the king is castled, some features related to the position of the pieces (eg. occupying the center is good), etc...</p>
  <p>I was wondering whether there were resources describing more comprehensive list of features that would likely to be useful. This line of approaches has indeed been done a thousand of times (before the advent of neural-net / convolutional / AlphaZero types of methods) but I have not found many articles describing the features used.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-02-11T21:37:32.227Z
Comments.Text: Someone created an engine that did nothing but try to play the move that allowed it the most mobility for its pieces (but did a depth search for long term mobility as well). It reached a rating above average and almost club level.
Comments.UserDisplayName: pkr
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-02-13T02:34:01.527Z
Comments.Text: Interesting! Do you have a reference for this fun experiment?
Comments.UserDisplayName: Bernard Barbier
Tags: <programming><chess-ai>
Title: Features for evaluation a position
ThreadText: # Features for evaluation a position
  
  (Asked by: username_0 on 2021-02-09)
  
  I am programming a (relatively basic) chess engine: while it is a lot of fun, it is also an interesting way to improve my chess skills! In order to evaluate a position, I need to extract features from the board. At the moment, I am using basic features such as the total value of the pieces, some features associated to piece mobility, open rank/files, whether the king is castled, some features related to the position of the pieces (eg. occupying the center is good), etc...
  
  I was wondering whether there were resources describing more comprehensive list of features that would likely to be useful. This line of approaches has indeed been done a thousand of times (before the advent of neural-net / convolutional / AlphaZero types of methods) but I have not found many articles describing the features used.
  
  **Tags:** programming, chess-ai
  
  > **Comments:**
  > **username_1**: Someone created an engine that did nothing but try to play the move that allowed it the most mobility for its pieces (but did a depth search for long term mobility as well). It reached a rating above average and almost club level.  
  > **username_0**: Interesting! Do you have a reference for this fun experiment?  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2021-02-09. Score: 1
  
  The best way is read source code yourself. <https://github.com/official-stockfish/Stockfish/blob/master/src/evaluate.cpp> has the commented state-of-the-art rules defined in Stockfish.
  
  > **Comments:**
  > **username_0**: Thank you, that is exactly what I was looking for. I am also surprised that Stockfish can reach such a level with such basic features: impressive.  
  
  ---
  
  