Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Skipping qsearch altogether (Vincent side question). Anyone try this?

Author: Dann Corbit

Date: 22:08:56 04/01/04

Go up one level in this thread


On April 02, 2004 at 00:55:37, Artem Pyatakov wrote:

>
>
>>You need more than the attack tables.  You need counts of attacks by piece type
>>for every square.
>
>Yes, I have a bit vector for every square that indicates every piece that is
>attacking the square (not including the xrays, unfortunately). Sorry, attack
>table was the wrong terminology.
>
>>The strongest attack is a pawn attack.  If you have 2 white pawn attacks and one
>>black pawn attack, the square is won by white no matter what other pieces attack
>>it (of course if you move one of the pawns to the square then the pawn attacks
>>decreases by one).
>>
>>So do this for every square under attack:
>>(white pawn attacks) - (black pawn attacks) {if zero, you are concerned about}
>>(white piece attacks) - (black piece attacks) {knights and bishops}
>>(white rook attacks) - (black rook attacks)
>>(white queen attacks) - (black queen attacks)
>>(white king attacks) - (black king attacks)
>>
>>And the same for pins (you will want to track the pinned pieces and xrays)
>>
>>If you track it for not only the attacked pieces but also the attacked squares,
>>then you can know if an empty square is safe to step on for a given piece type.
>
>I guess I need some time/more explanation to understand this, since I have not
>seen anything like this when I was writing my program. Any more detailed
>description of this? I understand the calculation you are performing (I think),
>but I don't understand what their goal is. Is it only to check if a square is
>safe to step on? What about the other important reason for qsearch, where for
>instance I just did a capture of the opponent piece and I need to know if I will
>be recaptured... Or are you saying you check that the same way? Hmm, perhaps
>that makes sense... Am I thinking about this correctly? Is this really the only
>reason qsearch exists? Hmmm, why don't more people then replace the qsearch with
>an attack vector table and a simple static evaluation phase?
>
>Does anybody actually use this idea in this manner. Any engines? Perhaps
>Vincent??? I know he has all the attack information you talk about...

By looking at the numbers you can figure out if you will win the exchange.  The
nice thing is you can figure out if you can stop early, and subtractions are
easier than makemove/unmakemove.

What you want to know in quiescence is "After all outstanding sensible exchanges
will I be better or worse than now?"

You can figure it out without doing the exchanges by looking at the differences.

I don't know of any other programs that try this.  But I have mentioned it
before, so maybe some others have given it a try.



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.