Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A New Approach to Draw Detection by Move Repetition in Computer Ches

Author: Christophe Theron

Date: 16:43:51 07/30/04

Go up one level in this thread


On July 30, 2004 at 10:14:51, Ed Schröder wrote:

>On July 29, 2004 at 17:34:11, Christophe Theron wrote:
>
>>On July 29, 2004 at 14:07:10, Robert Hyatt wrote:
>>
>>>On July 29, 2004 at 06:26:52, Gian-Carlo Pascutto wrote:
>>>
>>>>http://arxiv.org/ftp/cs/papers/0406/0406038.pdf
>>>>
>>>>I stumbled onto this when doing a search for Axon.
>>>>Not seen it mentioned here yet.
>>>>
>>>>They also have a paper about hashing out which I can't
>>>>download.
>>>>
>>>>--
>>>>GCP
>>>
>>>
>>>Doesn't strike me as particularly interesting.  IE it almost seems that they
>>>don't realize that most programs store positions in a repetition list as 64 bit
>>>Zobrist integers...
>>
>>
>>
>>Actually I think it might be interesting.
>>
>>Recently, when I was rewriting the core of the Chess Tiger engine, I realized
>>that I could get even more speed by not computing the hash keys during the
>>quiescence search for example.
>>
>>In my case, it would have meant some more changes in the engine and the way I do
>>QSearch. But for some programs, it could be interesting.
>>
>>The problem then is how do you check for repetitions?
>>
>>If you allow checks and escape from checks in your QSearch, and if you actually
>>extend them in some way, you have to detect repetitions.
>>
>>So a lightweight, hash key free, repetitions detector is a must in this case.
>
>Father Christophe,
>
>For QS in the case you are using checks consider to compare moves only as most
>repetitions go as follows:
>
>  Qh6-g6+ (depth-3)
>  Kg8-h8  (depth-2)
>  Qg6-h6+ (depth-1)
>  Kh8-g8  (depth+0) -> current position
>
>  if (from[depth+0]==to[depth-2] && to[depth+0]==from[depth-2]
>   && from[depth-1]==to[depth-3] && to[depth-1]==from[depth-3]) -> draw
>
>I have used this in my 6502 days in QS only and it worked like a charm.
>Regarding speed (IMO) nothing can beat this because in 90% of all cases the
>first compare will fail, so actually you are doing just one compare in 90% of
>all QS cases.
>
>Ed (grandfather)



Yes, I have been doing this in the 16 bits version of Chess Tiger for a while.
Unfortunately I have came across many cases that were not detected by this
simple (and efficient, that's right) approach.

So I really wanted an algorithm that could detect all the cases.



    Christophe



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.