Sunday, March 1, 2015

Evaluation and Search

Since the release of iCE 2 I was trying to improve iCE's ability to accurately evaluate chess positions. This is fairly difficult if you already have a decent and tuned evaluation. Most changes only have a small impact and it requires many tens of thousands of games to know whether the change was successful.

So in the past month I tried changes in my king safety evaluation, my evaluation of pawn structures, passed pawns, simplified and generalized the evaluation of endgames with 5 pieces or less and tuned my piece square tables.

Overall I was able to improve the engine a bit, not by a huge margin but beyond statistical doubt. (measured in self play at fast time controls however). Most of the improvements relate to changes to king safety.

I'm now shifting my focus on the search framework. Here I have some new ideas to try and I'm a bit tired of playing with eval currently.

Focus areas to start with are changes to my null move pruning conditions and my internal iterative deepening scheme.

So let the coding and testing begin.