Author: KarinsDad
Date: 13:25:56 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. One additional thing you can do is shorten the list every time a move is made. If a pawn is pushed, for example, then you can drop the list down to one element (i.e. the root position). But to tell you the truth, this mechanism will not work for 3 move reps found completely in the search, just for the start of 2 move reps where the first position has already been made. KarinsDad :)
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.