However I want to build some endgame knowledge into iCE directly so I tried to figure out some basic properties about it.
It seems overall it is drawish, so there are a lot of drawn positions. But there is also a significant amount positions that look drawish but are winnable by the stronger side. The line of play from those positions is sometimes not clear. So an engine without any knowledge of this endgame might easily move from a drawn into a lost position as it cannot tell the difference.
White moves and Mates in 101 !
Black moves and loses in 95 !
So it is very hard to tell whether a position is drawn or won. Some general principles for winnable positions are
- the attacker king is actively placed
- the distance between defender knight and defender king is big
- the defender knight is restricted in its mobility
- the attacker king is closer than the defender king to the defender knight
Incorrect Draws : 0
Spotted Draws : 64.403.306
Missed Draws : 117.746.021
Spotted Wins : 37.532.061
Spotted Draws : 64.403.306
Missed Draws : 117.746.021
Spotted Wins : 37.532.061
I now have a neat little number of special endgame modules for different kinds of endgames. The code that forks the evaluation into one of this modules is a bit messy. I will clean that up and then I have to do some extensive testing whether those modules integrate correctly into search and evaluation.
More fun to come...
No comments:
Post a Comment