Author: Frank Phillips
Date: 10:16:12 11/30/01
Go up one level in this thread
On November 30, 2001 at 07:25:42, Erik Robertsson wrote: >I´ve been trying to correct some bugs wich occur when storing mate values in the >hashtable. > >If the position is evaluated as a mate value at the end of an iteration in the >iterative deepening, I stop searching and execute the best move. In some >positions however, I find that due to finding positions in the hashtable it can >result in the engine alternating between two different mate variations ending in >a quite embarrassing draw by repetiton. > >I've tried to solve this by not automatically stop the iterative deepening >unless I've found a shorter mate than found in the previous move. Is there a >better way of solving this? I remember reading something about this some year >ago, but cannot find it. > >I use the draft = *infinity* for mates wich are not bounds which should result >in that most positions with mate should be in the ht in the next search. Maybe >it has something to do with the bounds, but I´ve tried Crafty's MATE-300 bound >and it sometimes result in getting the evaluation of the position as MATE-300. > >This has kept me awake a few nights, please help or I will go insane. Do not know if this will help. Here is what I do following a discussion here some time ago. This comment is from my StoreHash() function to remind me. I also use your trick of not bailing out of the search unless the mate score is higher than that from the previous iteration. Frank * To avoid potential problems with EXACT MATE values, Bruce Moreland * suggests converting them to LOWER_BOUNDS and: * MATE in N >= MATE in 300 * -MATE in N >= -MATE in 300 * >= MATE in N >= MATE in 300 * <= -MATE in N <= -MATE in 300 * <= MATE in N not stored (Bruce Moreland). * >= -MATE in N not stored (Bruce Moreland).
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.