Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: To check or not to check, this is the quiescence question

Author: Vincent Diepeveen

Date: 20:00:39 10/13/03

Go up one level in this thread


On October 13, 2003 at 12:57:04, José Carlos wrote:

>On October 13, 2003 at 12:03:32, Vincent Diepeveen wrote:
>
>>On October 13, 2003 at 11:31:11, Robert Hyatt wrote:
>>
>>>On October 13, 2003 at 09:29:47, Vincent Diepeveen wrote:
>>>
>>>
>>>>
>>>>there are very big differences.
>>>>
>>>>
>>>
>>>There isn't a big difference if you are only talking about the q-search.
>>>
>>>If you do a check, you have to get out and that extends.  If you extend
>>>on the check you don't extend when you get out and that extends.
>>>
>>>It is different in the normal part of the search, because if you extend on
>>>a check you increase depth by one now.  You might reach the q-search if you
>>>wait to extend when you escape check.  but in the q-search I don't see how it
>>>is a "big difference".
>>
>>You don't have to apologize for not knowing basic tree math, you're excused.
>>Had seen already in crafty code that it was done wrong there.
>>
>>Yet i had already posted years ago at CCC that if you extend when being checked,
>>that this is better than when giving the check.
>>
>>What delivers more cutoffs for the hashtable:
>>
>>A)
>>Re5+ (5 ply remaining)
>>Kf7  (5 ply remaining)
>>Rxa5 (4 ply remaining)
>>
>>B)
>>Re5+ (5 ply remaining)
>>Kf7  (4 ply remaining)
>>Rxa5 (4 ply remaining)
>>
>>If you can answer that question then you'll know the answer to the basic tree
>>searching question.
>>
>>Best regards,
>>Vincent
>
>
>  Do you cutoff in moves or in positions?
>  If you cutoff in positions, then you have:
>
>Extend check:
>
>A -Re5+-> B -Kf7-> C -Rxa5-> D
>5         5        4         3 (depth remaining)
>
>
>Extend out-of-check:
>
>A -Re5+-> B -Kf7-> C -Rxa5-> D
>5         4        4         3 (depth remaining)
>
>  So the only difference is position B. In the first case you store depth 5 in
>the hash table, in the sencond case, 4.
>  In principle it seems that extending checks would give more cutoffs due to
>hash table, but to get to position B you need a checking move, which would
>extend (increase remaining depth) in the first case, and not extend in the
>second.
>  The result seems to be that both will work the same, except for leaf nodes, as
>Bob pointed.
>
>  José C.

There is a big difference in the mainsearch. To say it in hyatt words, you fell
into the well known trap here.

I remember how every year new amateur programmers fall into this problem. Just a
few weeks ago i explained it to Mridul who really is progressing fast with
Messchess now (his goal is to beat tiger i guess, after never receiving apology
from Christophe).

They all extend giving check initially but after a few years they modify that to
in check when either pointed to that or when showing up at a world champ and
seeing how many nodes a ply get used versus a few strong programs there.

You can get real weird transpositions you know. Also not everyone is extending
each check (in diep i hardly extend checks, as that's simply too expensive and i
wouldn't know a single commercial program that joins world champs 2003 that does
if so, then i will be really amazed) and there are alfabeta dependencies and
some persons forward prune, though we can also call that different ways of
counting plies. Many do reductions. Others do weird forward pruning last few
plies.

In diep i already see now weird things like fail highs that do not result in a
new mainline just when i move from R=3 to R=3/2. There is so much going on there
that the netto effect you simply should implement to measure it.

The trap which is there when you start extending IN check positions is that you
should not extend when depthleft <= 0.

If you add *that* condition then you can easily test extending in check
positions is better.

Last but least, extending in check is a hell of a lot cheaper too.

Instead of looking whether a move gives a check you now only have to look a
single time whether you are IN check.

Best regards,
Vincent




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.