Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: quiesce node explosion

Author: José Carlos

Date: 06:52:01 01/26/04

Go up one level in this thread


On January 26, 2004 at 03:36:56, Uri Blass wrote:

>On January 26, 2004 at 02:53:37, José Carlos wrote:
>
>>On January 24, 2004 at 17:12:45, Tord Romstad wrote:
>>
>>>On January 24, 2004 at 15:57:50, Mike Siler wrote:
>>>
>>>>In an average middlegame position, around 80-85% of the nodes my program
>>>>searches are quiesce nodes. I have a static exchange evaluator and I only search
>>>>captures with SEE value > 0. It seems like other engines are always under 25%
>>>>qnodes. What else should I be doing to reduce these numbers?
>>>
>>>Use the SEE more aggressively.  When the static eval is below beta, but
>>>static_eval+(value of capturing biggest hanging enemy piece) > beta+margin,
>>>return beta.  This is too risky unless your SEE is very sophisticated.
>>
>>  This doesn't make sense unless you do a real qsearch in your SEE, which is
>>ridiculous of course.
>
>I do not do it but it is not ridicilous and I may try to implement it because it
>is possible to do faster qsearch in the SEE that only verify that the opponent
>cannot have big profit from his reply(if you capture the queen and you expect a
>score of 7 pawns above beta then it may be enough to verify that the opponent
>cannot reply by capturing the queen or the king(in case that you consider making
>also illegal moves) and it is faster than finding that he has no possible
>capture).
>
>Uri

  I didn't mean ridiculous as an offense, in case it was not clear (sorry for my
bad english). I meant that doing a qsearch inside SEE does not make sense (to my
eyes) because you already have one qsearch! But what you say is interesting. If
I understand correctly, you mean "my (normal) SEE says I'm a rook up after this
capture, then my special SEE checks if the opponent can make a good capture
after mine somewhere else on the board which wins at least a rook (+- margin of
course)". But that's actually what my qsearch (in Anubis, not Averno) does
(among other things). I try SEE, it says the capture looks good, I make the
capture and call qsearch again (only difference with your approach?) which
generates all captures for the opponent, order them according to SEE and checks
if at least the first one has a chance to raise the eval near alpha. Otherwise
it fails low. Isn't that pretty standard? Does your idea (no qsearch call)
really improve performance?

  José C.



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.