Computer Chess Club Archives


Search

Terms

Messages

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

Author: Tom Likens

Date: 10:43:57 11/14/02

Go up one level in this thread


On November 14, 2002 at 12:15:46, Uri Blass wrote:

>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

Yep, that's correct.  Thanks for catching my oversight.  Psuedo-legal
moves are moves that may or may not place the king in check but are
otherwise legal (I'm not sure why I forgot that :(   I've only been
chess programming for Avagadro's number of years.

--tom "egg-on-my-face"



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.