-Can some one walk me through All the features of an advanced (modern) evaluation function , so far I have implemented most of the following :
https://chessprogramming.wikispaces.com ... n Features , can some one list all the remaining features to have a complete and "optimal" evaluation ?
In-depth explanasion (advanced evaluation) Features ?
Moderator: Ras
-
MahmoudUthman
- Posts: 237
- Joined: Sat Jan 17, 2015 11:54 pm
-
jdart
- Posts: 4427
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: In-depth explanasion (advanced evaluation) Features ?
I think some of the features in the "Endgame" section of the wiki can be considered advanced: for example, knowledge of specific endgames and fortress detection. Another somewhat tricky bit is to avoid exchanging from a won or advantageous endgame into one that is drawn or gives strong draw chances to the weaker side.
King safety is important. Many strong engines have a fairly simple scoring for this and yet perform well. Mine is a little more elaborate and is a non-linear function of the number and "weight" of pieces attacking, the number of squares near the king that are attacked, and a bonus if the king shelter is also damaged.
There is a tradeoff between evaluation complexity and speed. At some point too much knowledge in the eval may actually hurt you because you are adding eval terms that either are triggered rarely or have a small overall effect, and each one costs some time.
--Jon
King safety is important. Many strong engines have a fairly simple scoring for this and yet perform well. Mine is a little more elaborate and is a non-linear function of the number and "weight" of pieces attacking, the number of squares near the king that are attacked, and a bonus if the king shelter is also damaged.
There is a tradeoff between evaluation complexity and speed. At some point too much knowledge in the eval may actually hurt you because you are adding eval terms that either are triggered rarely or have a small overall effect, and each one costs some time.
--Jon
-
PK
- Posts: 913
- Joined: Mon Jan 15, 2007 11:23 am
- Location: Warsza
Re: In-depth explanasion (advanced evaluation) Features ?
There's probably no such thing as 'complete and "optimal" evaluation', as many things depend on interaction with search. Stockfish team managed to optimize away a couple of features such as trapped bishop detection, which still are useful in my engine - but Stockfish searches much deeper, and in its case small speed gain is more important than small accuracy loss.
Having said that, theere are three important areas for more advanced evaluation function: pawn structure, piece interactions and king safety.
In pawn structure section there are important concepts such as candidate passers, all kinds of supporting or blocking passed pawn, pawns that are too overextended to be defended in one move... Beside that, you can define standard features (i.e. backward pawns) in several ways, and I'm not sure which is the best.
By pieces interaction I understand small bonus for attacking enemy pieces (hard to tune, but I managed to do that) or for defending own pieces (never succeeded
) DiscoCheck gained a lot by detecting attacks on hanging pieces. Rebel had nice idea of scoring connected rooks by a piece/square table emphasizing 7th rank (and 1st rank too).
Finally, king safety is really difficult to tune, especially if you want to take defending pieces into account.
Having said that, theere are three important areas for more advanced evaluation function: pawn structure, piece interactions and king safety.
In pawn structure section there are important concepts such as candidate passers, all kinds of supporting or blocking passed pawn, pawns that are too overextended to be defended in one move... Beside that, you can define standard features (i.e. backward pawns) in several ways, and I'm not sure which is the best.
By pieces interaction I understand small bonus for attacking enemy pieces (hard to tune, but I managed to do that) or for defending own pieces (never succeeded
Finally, king safety is really difficult to tune, especially if you want to take defending pieces into account.
Pawel Koziol
http://www.pkoziol.cal24.pl/rodent/rodent.htm
http://www.pkoziol.cal24.pl/rodent/rodent.htm
-
tpetzke
- Posts: 686
- Joined: Thu Mar 03, 2011 4:57 pm
- Location: Germany
Re: In-depth explanasion (advanced evaluation) Features ?
If you want it to be your engine you have to figure out that part yourself, the evaluation will give your engine something like a personality. There are a lot of well written open source engines available to get some inspiration what to implement, the rest is up to you.can some one list all the remaining features to have a complete and "optimal" evaluation
In addition it might also be good to flip through some chess books or papers
like
Little Chess Evaluation Compendium By Lyudmil Tsvetkov or
Elements of Positional Evaluation by Dan Heisman
You can't probably implement everything you find so you have to make choices and test what works for you.