Author: Tom Kerrigan
Date: 14:25:09 07/17/00
Go up one level in this thread
On July 17, 2000 at 15:08:33, Dann Corbit wrote:
>On July 17, 2000 at 15:06:35, Tom Kerrigan wrote:
>
>>On July 17, 2000 at 13:56:46, Dann Corbit wrote:
>>
>>>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.
>>
>>Doing this at every node would be much worse (slower & memory intensive) than
>>just incrementally updating hash keys.
>
>Not at every node. Only at the move played. You just look at the list. But if
>you make a hash table, you are right -- hash keys are better. Of course, the
>hash key could be over-written. The move list can't.
The point is that TSCP loses games due to 3-rep draws.
If 3-rep draws are not detected during search, what will keep it from losing
these games?
-Tom
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.