Computer Chess Club Archives


Search

Terms

Messages

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

Author: José Carlos

Date: 23:23:32 10/13/03

Go up one level in this thread


On October 13, 2003 at 23:00:39, Vincent Diepeveen wrote:

>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

  Please, read my explanation and tell me exactly where is it wrong.

  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.