Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: annoying en passant x-ray

Author: Tom Likens

Date: 04:33:51 12/01/03

Go up one level in this thread


On December 01, 2003 at 05:16:28, Tord Romstad wrote:

>On December 01, 2003 at 04:16:46, Russell Reagan wrote:
>
>>As Uri pointed out, you don't have to check that every move is legal, but that
>>means that you have to have some information about pins ready to go, or
>>efficiently computable. IIRC, Uri has attack tables, and Gerd uses the bitboard
>>filling routines (KoggeStone), so they can detect pins pretty fast. If you used
>>an 0x88-like system, a pseudo-legal generator is probably faster because the
>>check to see if the move was legal is almost zero most of the time. Then again,
>>Tord uses this kind of system, and he has a legal generator, so maybe he can
>>tell us if there are some tricks he uses to keep legal move generation fast.
>
>As I have already said, my main trick is to make the rest of the program so
>slow that the time spent on move generation is no longer noticable.  :-)
>
>I call the evaluation function at all interior nodes.  Among other things,
>the evaluation function finds all pinned pieces, and for each pinned
>piece, the direction in which it is pinned.  For pinned pieces, I only
>generate moves along this direction.  For king moves, I simply check
>whether the destination square is attacked by the opponent (which is
>almost free because I have complete attack information for all squares
>after calling the evaluation function).  The only special cases that
>remain are castling and en passent, which do not occur very often.
>
>Tord

Tord,

I'm toying with adding full attack tables to my engine.  Do you incrementally
update your attack tables or do you generate them from scratch?

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.