Author: Artem Pyatakov
Date: 13:18:55 04/01/04
Go up one level in this thread
Hi Robert, Thanks for replying as usual. >That is how everyone does killers I suspect. It is exactly how Slate described >it in Chess Skill in Man and Machine... If you only use 2, the counters can >probably be eliminated (I did this a long while back). I don't know if that's what everyone does - I bet a lot of people have adopted the approach used by Crafty. Also, according to my test and common sense, the counters do make a difference even for 2 moves, because as opposed to blindly replacing one of the moves, the program will actually replace the less frequently used one. Of course the difference between approaches becomes much more significant when you go to a larger number of killers (and a lot of people do use 4, so it becomes significant). >What is the overhead for keeping the extra killers, updating the counts, finding >the best killer, etc? IE it isn't free. Hopefully it doesn't cost 10% which >would make this "break-even"... Obviously the answer would vary from program-to-program, but I think the answer is clearly no - there is no way that this operation takes 10% of the total program time! Even with the most naive of implementations, we are talking about an extra 10-iteration/10-comparison loop, and a tiny memory hit (10 moves versus 2, plus a couple bytes for the score = int per move -> 8 new moves+scores*4bytes each=32 bytes/ply!) There is also an equivalent for every cutoff that occurs, and that also has at most 10 comparisons. I think this is a tiny price to pay for 10% less nodes. Artem
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.