Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: check detection

Author: RĂ©mi Coulom

Date: 02:41:11 08/21/99

Go up one level in this thread


On August 20, 1999 at 21:47:01, Scott Gasch wrote:

>
>>BTW wouldn't square-relationship testing be faster than scanning the board?
>
>I thought about this but I don't know.  I have no numbers to back this up,
>though.  Here's my thought -- usually we should be looking at normal positions
>where the king is tucked away safely in the corner and not in the middle of the
>board.  In such positions the InCheck routine that shoots rays out from the
>king's position to look for threats run quickly.  Since to two sides are the
>board edges and hopefully we have some blocking pawns in front the code can come
>back after just checking a few places.  I.e. optimally 8 squares plus 2 for
>knights attacking = 10.  If I were to run down the piece list for all 16
>(possible) opponent pieces and compare square relationships to my king and look
>for blockers... well, I think this would be more work.  What do others think?
>
>
>Scott

I changed from this technique to 0x88 with which I can test square-relationship
and I find it is better. I think 0x88 is significantly faster than board
representations like 10*12 where you can not test square relationship easily.

The reason is that your optimal case with only 10 tests happens rarely, and
running down the piece list for opponent pieces is very fast. In most of the
cases, you do not have to check for blockers and there are less than 16 opponent
pieces. This can be a huge speed-up in endings.

Remi



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.