Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question to Dr. Hyatt about non-zero scores on draws by repetition

Author: Robert Hyatt

Date: 15:24:40 11/21/04

Go up one level in this thread


On November 21, 2004 at 13:04:50, Alvaro Jose Povoa Cardoso wrote:

>Hi, below there is a quote of my previous question on this matter and your
>answer.
>My new question is if we avoid storing drawn by repetition positions in the hash
>table would we avoid the problem of getting "draws in 90 plies, even though you
>can't search beyond (say) 64 plies" like you said?
>If so what kind of mechanism would we have to implement to detect these cases?
>Maybe a special bit set on the score variable?
>
>Best regards,
>Alvaro Cardoso

The problem is caused because you have to store the draw score just like you do
a mate score.  IE draw in N plies from this position.  As that gets transplanted
around in the search, the draw depth climbs incorrectly because we don't know
complete path info...  And when we correct the draw score by adding current
depth to it, we get silly numbers.  There is not much you can do other than to
do as we did and "clamp" the score so that it stays inside your "draw score
window" (0-099 or .0 - .099 for cray blitz).  But you will see a lot of draw in
99 plies that are wrong.  Overall I believe the idea is good, because it let us
find always the "deepest draw" to give the opponent a chance to make an error,
or to give us a chance to search through a 2-fold repetition to find a way to
win without reaching a 3-fold repetition...


>
>
>-----------------------------------------------------------------
>
>My question:
>
>>>I was wondering if it is correct to assign a zero score to a position that is
>>>a draw by 3 fold repetition.
>>>What I mean is that if for example white is ahead in material and black is
>>>fighting desperately for a draw, black will try to reach that drawn position
>>>as quick as possible while white will try to postpone that position as much as
>>>it can.
>>>It's a sort of distance to mate but in this case it is a distance to draw by
>>>repetition.
>>>Does this make any sense to you?
>>>I would appreciate your comments.
>>>
>>>Best regards,
>>>Alvaro Cardoso
>
>Your answer:
>
>>Forget that idea.  We did it in Cray Blitz, and it causes _massive_ problems.
>>IE in CB, we blocked off the scores from 0.000 to 0.100 to be draws only.  We
>>did this by the simple trick at the end of Evaluate() where we just did the
>>
>>if (score >= 0) score += 100;
>>
>>100 was 100 millipawns in CB.
>>
>>The problem is the path.  You don't store the path.  You will be amazed that
>>once you do the above, and then try the thing we did (see "The Cray Blitz draw
>>heuristic" in the JICCA) you will get draws in 90 plies, even though you can't
>>search beyond (say) 64 plies.  Mates work fine because you search to a stopping
>>point.  But draws do not, and the hash table grafts scores from one part of the
>>tree to another producing some pretty bizarre scores.  In fact, you can get
>>scores that are outside the draw window if you are not careful, which _really_
>>will wreck your search.
>>
>>Been there.



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.