Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Did Uri write movei? (yes)

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.