Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: First win against a crafty clone

Author: Robert Hyatt

Date: 15:44:05 12/17/97

Go up one level in this thread


On December 17, 1997 at 17:47:16, John Bartkiw wrote:

>>
>>
>>I use both, because I can try killers before I generate any moves.  If I
>>get a cutoff, it is really inexpensive.  I didn't notice any particular
>>tree size advantage when I added killers, but I noticed a 10% speed
>>improvement because of trying them before generating any non-capture
>>moves.
>>
>
>      Just a question.  How can you try killers if you don't know if the
>move is valid?  If the last move made the killer not legal.
>
>I've just started working on my program and have noticed that a tonne of
>my cycles are used generating moves.  I'm using the bitboard approach
>along with a make move and unmake move function.
>
>      To generate my list of moves I make every possible move to see if
>it's valid (ie. doesn't reveal a check) and then after I've done that I
>start the whole search.  The making and unmaking of the moves twice
>(once to check if it's valid and then later when actually searching) is
>really killing my nps.
>
>     Is there a better approach??
>
>John.

this is easy.  The killer move has the from square, to square, moving
piece and captured piece (if any).  It is therefore possible to easily
and quickly confirm that the killer move is valid in the current
position...  and this is much quicker than generating the moves and then
searching for the killer to see if it is in the list...



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.