Author: Erik Robertsson
Date: 15:17:28 11/30/01
Go up one level in this thread
On November 30, 2001 at 13:16:12, Frank Phillips wrote: >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). When i only store exact mate values it seems to work just fine. Maybe I'll try not to store <= MATE in N and >= -MATE in N since these bounds don't improve much on infinity.
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.