Author: Uri Blass
Date: 19:42:53 09/18/03
Go up one level in this thread
On September 18, 2003 at 21:31:58, Joel wrote: >Haha. Yeah, chatting is definately the bottleneck there. > >I didn't really consider using existing code for this project -> the original >poster didn't seem to have any, and since he is trying to learn, I assume he >wouldn't want to just modify some freeware source for example. > >I am no coding guru, but using my chess engine as a basis, I am sure I could >knock it up in five or so hours. > >Joel For me you are a genius in programming. For me the best thing for this task is going to be to start from scratch(I cannot see my engine as a good basis for that project because my legal move generator is very complicated and it is better to write something and not to try to figure out what I can copy from it for the task). I remember that you said that it took you only 25 minutes to implement pawn hash tables. It took me clearly more time than it and I did not get 10% speed improvement 1)I could not hash evaluation because I evaluate blocked passed pawns different than passed pawns that are not blocked so I had to hash information. 2)I evaluate every node because I need evaluation of every node for my search decisions. I had incremental evaluation of pawn structure that I calculated in make move and unmake move. The meaning of using hash tables for pawns was that I needed to get rid of my incremental evaluation and calculate pawn structure from scratch when I make move and I also needed to check that I get the same result like my previous evaluation. I also needed to check to have no bugs in updating the pawn hash key during makemove. The total result is almost no change in speed from adding pawn hash tables and maybe Gerd was right when he said that he think about not hashing simple stuff like passed pawns or backward pawns. The only advantage is that I have stuff that let me to calculate more information in the future for a small price. My latest version is also slower than previous version(about 20% slower in nps) and probably slightly weaker than it because I added more incremental data that should help me in the future and the data is still not used for search or evaluation but only for faster generation of moves. I have ideas how to calculate my incremental stuff faster and I plan to do it, It means changing some data structures and I cannot delay it otherwise I may need to do more work in the future so using the new information has to wait. Uri
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.