Computer Chess Club Archives


Search

Terms

Messages

Subject: Search and eval in the endgame

Author: Tord Romstad

Date: 11:03:08 01/04/04


After playing through countless games by my own and other amateur engines in
various
tournaments the last half year, I have noticed that a very big percentage of the
games are
decided in the endgame, where most engines (my own is no exception) are so
clueless
that it is painful to watch.  I've decided to try to improve my engine's play in
this phase
of the game, but unfortunately I've found that it is by no means easy.

First of all, I have difficulties making my search efficient in the endgame.
Most of the
pruning tricks that work in the middlegame don't work very well in the endgame.
I've
tried knowledge-based forward pruning, several variants of futility pruning,
multi-ProbCut, multi-cut, and my usual techniques of extending and reducing
moves
depending on how they affect the components of the evaluation funciton.  Another
idea I have experimented with is to include passed pawn pushes in the qsearch in
pawn endgames.

So far, I haven't found a single idea which works.  My search in the endgame is
a
brute-force MTD(f) search with recursive null move pruning with a low reduction
factor (R=2 or 1 at most nodes).  This is terribly inefficient, and I hope to
find
something better.  Chess Genius seems to do something really clever and
effective,
but I haven't been able to figure out what it is.  Does anybody else have some
tricks
to share?

Endgame evaluation is also tricky, because the evaluation should be very
different
depending on the type of endgame.  I am tempted to write several different
evaluation
functions (one for pawn endgames, one for rook endgames, one for bishop vs
knight
endgames, one for endgames with unequal coloured bishops, and so on), but I am
afraid this would cause too big jumps when exchanges occur, make my static
exchange
evaluator too unreliable, and perhaps have other unfortunate side effects.  Is
the idea
still worth a try?

Tord



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.