Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Tree reduced by 10% now

Author: Robert Hyatt

Date: 09:30:57 04/02/04

Go up one level in this thread


On April 01, 2004 at 16:18:55, Artem Pyatakov wrote:

>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).

Note I dont "blindly replace".  I keep the list ordered...  The most recently
used killer is #1,  next most recently used is #2.  #2 gets replaced...


>
>>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.

You are overlooking some important details.  I use killers before generating
moves.  I therefore have to do a legality check on each killer.  It isn't free.

etc...

If you generate moves first, you miss an important savings of avoiding the move
generator overhead when a killer works...





>
>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.