So, I have recently decided I might try to continue working on my newbie chess bot, Dummyette. One very significant improvement I can see that has yet to be made is regarding end games. I noticed it will play end games very poorly when it’s winning because, in its search, it will not find a checkmate quickly enough to seek for it, so it doesn’t find a way to actively improve its position. It won’t put itself into a situation where it loses material gratuitously or otherwise get itself into a much worse position, but it will also not make much progress towards checkmate, except accidentally.
Sometimes, even in cases where it can make progress (e.g. promoting a pawn), it won’t, because it sees that it can do so later, and doesn’t see a value in doing it immediately.
Here is an interesting recent game it played on Lichess illustrating the issue:
https://lichess.org/cWqgMyWm/black#56
On move 47, it gave it seems to have given its queen away for a bishop, but it saw it could promote its pawn to a queen and just be up a bishop overall.
Now, I’m not entirely sure how to solve this. Do I really have to implement an entirely different tree search algorithm for end games? I feel like it should be possible to come up with some kind of general heuristic to remove “useless” subtrees from the search that are applicable throughout the entire game, but specially useful in end games. How do people generally deal with this?
Thanks in advance!
newbie question: How to improve end game evaluation?
Moderator: Ras
-
- Posts: 26
- Joined: Wed Feb 16, 2022 6:21 am
- Full name: P. M. Zamboni
-
- Posts: 28353
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: newbie question: How to improve end game evaluation?
Awarding sufficient bonus for centralizing Kings (especially a bare King), and for pushing Pawns (especially passers) should provide a good guidance for what to do when there is no checkmate within the horizon. Giving a bonus to the stronger side for when the Kings approach each other often also helps. A delayed-loss bonus can cure indecisiveness (like postponing promotions because it sees they can always be done later.