Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash Table/Best Move

Author: Robert Hyatt

Date: 14:09:49 07/30/03

Go up one level in this thread


On July 30, 2003 at 14:20:54, Rick Bischoff wrote:

>On July 30, 2003 at 13:09:32, Robert Hyatt wrote:
>
>>On July 29, 2003 at 03:44:42, Rick Bischoff wrote:
>>
>>>Hi all,
>>>
>>>I am getting the following statistic from my program:
>>>
>>><pre>
>>> 0/18      0  1426407 Ke6 h3 Kd5 Rg2 Kc5 h4 Kb5 h5 Ka5 h6 Ka6
>>>move found: 85570 not found: 118
>>></pre>
>>>
>>>Which means of the 88570 times the hashtable didn't have a good value, it still
>>>had a  good move to try first; the other 118 times it didnt have a good value,
>>>it had an illegal move... Is this the kind of percentage you all see in your
>>>engines?
>>
>>
>>I don't like the "illegal move" issue.  How can you possibly store an illegal
>>move in the hash table?
>>
>>You have a good move to store if you back up a score that is > alpha, which
>>might mean you are backing up a PV, or a fail-high.  You don't have a good
>>move if you are backing up alpha, because _every_ move failed low and there is
>>no way to know which is best...
>>
>>But storing an illegal move is something that should not happen.  If you back
>>up alpha, set the hash move to zero.
>
>Dr. Hyatt,
>
>Indeed that is what I do-- I was getting illegal moves from the way I encode
>moves.. However, it is still possible that an illegal move is in the hash if two
>positions share the same key and map to the same key.

If you are using a 64 bit key, that will hardly ever happen.  Crafty prints
a warning message when it finds an illegal move in the hash table.  In the
300 log files I have, there are _zero_ such errors.

If you are using a 32 bit key, this will happen much more frequently, however.




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.