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.