Computer Chess Club Archives


Search

Terms

Messages

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

Author: Uri Blass

Date: 09:15:46 11/14/02

Go up one level in this thread


On November 14, 2002 at 11:58:00, Tom Likens wrote:

>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];

No

The number of legal moves of the knight is dependent also on other pieces.
You can only know the maximal number.
If the is a knight at h1 and a pawn at f2 then h1-f2 is not pseudo  legal move.

using only the original square is the same as changing the piece square tables.

Uri



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.