Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Matevalues, hashtables and iterative deepening

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.