Author: Robert Hyatt
Date: 20:21:53 11/30/01
Go up one level in this thread
On November 30, 2001 at 18:30:16, Erik Robertsson wrote: >On November 30, 2001 at 11:13:45, Robert Hyatt 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. >> >> >>Are you correcting the mate scores before you store them in the hash >>table? If you do this, there should never be a problem, with one exception. >>It is easy for a program to find a non-optimal mate score and store it in the >>hash table. And that can cause some confusion. But if you search with the >>rule that says "I will not stop until either time runs out or I find a mate >>in N-1 (where N was the mate score from the last real move played in the >>game)." >> >>If you do both of those, you should not have any problems. But you _must_ >>correct the mate score to be "mate in N from this ply" rather than "mate in >>N from the root position". > >I´ve thought about not overwriting a position with a position that has the same >hashcode but a worse mate value in order to get rid of non-optimal values that >are caused by transposition or repetiton, but I don't know if its even worth the >effort. Anyone tried this? > >I also wonder if anyone has measured how much you gain by storing mate values as >bounds as opposed to only storing exact mate values. You don't gain anything, you lose something. If you have an EXACT score, and it just happens to be a mate score, store it. Why not. If you have a mate bound, store that as well. IE what makes mate scores any different than normal scores? Nothing to the search...
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.