Author: Uri Blass
Date: 08:26:27 06/14/02
Go up one level in this thread
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. Uri
This page took 0.03 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.