Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash experiment

Author: Robert Hyatt

Date: 12:09:32 12/23/98

Go up one level in this thread


On December 23, 1998 at 11:37:07, Alois Ganter wrote:

>On December 23, 1998 at 09:03:30, Robert Hyatt wrote:
>
>>On December 23, 1998 at 04:20:43, Alois Ganter wrote:
>>
>>>On December 23, 1998 at 03:17:29, Ralph E. Carter wrote:
>>>
>>>>Do you know that engines under Fritz and Junior have their hashtables cleared
>>>>before every move? And that this has a disproportionate effect on those engines
>>>>that intelligently save information between moves, like hiarcs and crafty?
>>>>
>>>>If nobody cares about questions such as these, I am leaving.
>>>
>>>I mailed Chessbase the question last week and they told me to try this
>>>experiment with Crafty as prove that it is decision of the engine alone what to
>>>do with hash tables: Take the second move of a position and let Crafty calculate
>>>some time. Then clip the analysis with search info from the search window to
>>>Notepad. Then go to the first move and let calculate for some time. Then go
>>>again to the second move and let calculate. Then clip analysis and compare with
>>>the first clip. Now the Crafty engine takes 25% less kN to find the same lines.
>>>I tried with the new 16.2 version from Chessbase download and it is right. And
>>>they say 16.2 is much stronger because Bob Hyatt corrected a problem in hash
>>>management.
>>>
>>>The Doctor? engine makes the same effect.
>>>
>>>Alois
>>
>>
>>I don't know where they get their information from.  I didn't do *anything*
>>in 16.2 relative to the fritz engine issue.  I have no way to fix this problem
>>on my end.  When they send me a "new" I reset the game to the beginning.  When
>>they send me a stream of moves, I go thru the phases "opening", then
>>"middlegame" and finally "endgame".  Whenever the phase[now] is not equal to
>>the phase[previous] I clear the hash tables.  Nothing I did nor can do will
>>solve this.
>>
>>They did *not* implement the xboard interface.  They hacked up something that
>>works.  A game is supposed to be a "continuous" stream of "my move, your move"
>>not a complete reset before each move.  I see no way to implement their approach
>>while not affecting play elsewhere.
>>
>>I don't plan on worrying about this.  It could be fixed on their end.  It
>>should be fixed on their end.  Otherwise it won't be fixed and everyone is
>>going to have to live with the mess...
>
>If I understand the problem there are two interfaces, the Fritz interface and
>the Fritz Winboard interface. I have not tried the Fritz Winboard interface with
>Crafty, maybe it is not working right, I do not know.
>
>The hash experiment was done with the original engine. I am curious what you
>think about it. Is it valid? I can see that the Crafty 16.2 engine finds the
>same variations in a position faster if it has calculated some time on the move
>before and has filled the hash tables. So there is information keeping between
>moves.


I'd tend to agree with you... if you do a search, then make a move and
see the above performance, then it does mean that the hash tables are not
being blasted by a "new" command.  But watch out...  if you start the game
in the opening phase and you run your test it won't work...  play a game
down into an endgame, *then* run your test.  Because If crafty is fed a
"new" command it will revert to opening phase, then reading in the moves
it will advance to the endgame phase and that phase change will clear the
hash tables when the search starts.

You *might* have picked a position too early in the game, for example...





>
>They wrote that in 16.2 you improved the hash management in your code for all
>existing Craftys and that it is a good improvement.
>

that is a false statement.  16.2 provided two things:  (1) evaluation changes
and (2) new probe code for the tablebases, as we now have all the 3 vs 2
tablebases done including kppkp, which 16.1 would not probe.  Also 16.1 had
another tablebase bug in that Eugene found a problem and fixed it, but that fix
made 16.1 claim that a tablebase was corrupted when it wasn't.  There were *no*
changes to hashing.  You can easily download 16.1 and 16.2 and compare the two
files "hash.c" to see this.  A "crafty user" found a minor bug in the hash code
that was fixed, but it had zero to do with the chessbase interface stuff and was
simply a bug inthe two-level shifting of entries.


>In my opinion Crafty 16.2 belongs to the top programs.
>
>Alois



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.