Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Detecting three-fold repetition?

Author: Dann Corbit

Date: 10:56:46 07/17/00

Go up one level in this thread


On July 17, 2000 at 13:40:28, Tom Kerrigan wrote:

>I've had a number of requests to implement 3-fold repetition detection in TSCP.
>It's also clear that TSCP would do better in tournaments (although that isn't
>the goal...) if it could detect these draws.
>
>So the question is, is there an easy way to do the detection?
>
>In my "strong" program, I just compare hash keys. But TSCP doesn't keep hash
>keys and I have no intention for it to do so. So is there another way to do it?
>
>Thanks in advance.

Just keep an ordered list of the actual EPD positions as the game moves along.
If you see one occur twice, increment a counter.  If you see it three times --
draw.  Since there are going to be less than a thousand positions during a game,
the storage cost will be very small, especially if you keep them in binary
format.  When you insert a new element, the counter is one.  Pretty easy.

You could use and EPD bolt-on like the one on my ftp site which will keep your
part of the code simple, but requires a C++ compiler.  You could retain a C
interface to the C++ functions by doing extern "C" {} wrappers.



This page took 0.01 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.