Author: Scott Gasch
Date: 13:59:21 08/05/99
Hi there, I am finding that due to the check extension code my search slows way down in positions where checks are frequent. I believe this to be because of lines containing repeated positions which continue possibly infinitely because I do not check for draw by repetition. I am already hashing positions in a transposition table so finding repeated positions should be pretty easy. I looked at Crafty's code, though, and it seems that Bob has a special list of positions he searches to determine whether the one passed in is repeating. I was thinking of adding a "count" field to the hash table structure. Then, in the MakeMove routine, increment the "count" of the table entry. In the UnmakeMove routine decrement it. In the IsDraw routine check for insufficient material, fifty move, and, to detect repetition, check the hash table count field of the position. As far as I see the only drawback of this method is that there might not be a transposition table entry for a position when we enter MakeMove yet. Do most people use the "list of position keys" method or has anyone done something like this? I am worried that searching backwards in the list of positions might take longer AND that there are really two lists -- one of search tree nodes and another of real game positions up until now. Thanks again, Scott
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.