Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to evaluate piece mobility in non-bitboard engine?

Author: Tom Likens

Date: 08:58:00 11/14/02

Go up one level in this thread


On November 14, 2002 at 07:51:31, Vladimir Medvedev wrote:

>I want to add mobility terms into my engine's eval function, but it seems to me
>rather unclear.
>
>The primitive way, generating (pseudo-legal) moves in leaf nodes coasts very
>much. Checking for move legality will be much more expensive, but without it I
>can't evaluate mobiity decrrease for pinned pieces...
>
>I also tried to evaluate mobility as the last branching factor on the line
>before the qsearch begins, but it seems to be too rough estimation, isn't it?
>
>I think, in bitboard engines mobility can be evaluated in some simple way, but
>how to do this for my "field array + piece lists" board structure?

If you are satisfied with psuedo-legal moves you could preprocess the
non-sliding pieces since their psuedo-mobility will depend only on
their location.  For example,

int KnightMobility[64];
int KingMobility  [64];
int WPawnMobility [64] etc.

You might also look into incrementally adding mobility to your engine.
It seems to be most important for bishops, so you might want to add
that first and see how much of an improvement it makes.  If you like
the results then you can add other pieces.  Actually, in general,
I'd recommend changing, and then measuring, only one major variable
at a time when evalutating new ideas.

regards,
--tom



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.