Author: Dann Corbit
Date: 08:52:31 06/14/02
Go up one level in this thread
On June 14, 2002 at 11:26:27, Uri Blass wrote: >On June 14, 2002 at 07:57:00, Daniel Clausen wrote: > >>On June 14, 2002 at 07:38:34, Uri Blass wrote: >> >>>On June 14, 2002 at 03:49:37, Dann Corbit wrote: >> >>[snip] >> >>>>This is a very strange statement if you have hash tables. I have never seen >>>>any program spend most of its time in generation if it uses hash tables. >>>> >>>>[snip] >>> >>>Hash tables are used today only for better order of moves and not to prune the >>>tree. >> >>When you try the associated move in the HT first (and therefore using the HT for >>move-ordering) you don't necessarily have to call movegen(). All you have to do >>it to verify that the stored move indeed is a legal move in this position. >> >>If you use the HT like that, I'd be surprised if your engine uses so much time >>in the movegen() part. >> >>Sargon > >You are right that I do not use hash tables in that way. > >I guess that it may give me significant improvement to use hash tables in that >way(I will have to remember more information that is used for my evaluation and >extensions but I can also put that information in the hash tables). > >I guess that hash tables may even help me more than they can help other >programmers who use incremental evaluation. > >Thanks for the suggestion. > >I thought that hash tables are used only for 2 things >1)better order of moves >2)pruning the tree >3)avoid null move pruning. > >I did not consider 2 and 3 as very important and I decided to think about other >things because I did not find it simple to do but I now understand that hash >tables can be used also to save generating moves and for movei it may be more >important. > >It is not a trivial change but this time I believe that I may get maybe even a >speed improvement by a factor of 2 so I am probably going to work about it in >the near future. Pawn hashing will typically be in the 90% or better for hit rate. Hashing of the whole board gets about 1/3 hit rate on average it seems. Of course, hashing is not free and hash misses have a cost. You are surely right that move ordering is the most important thing. Perfect move ordering will shrink the tree from <nodes_searched> to <sqrt(nodes_searched)> and is therefore dominant.
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.