Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: move ordering question

Author: William Bryant

Date: 14:03:44 03/01/00

Go up one level in this thread


On March 01, 2000 at 15:55:47, John Coffey wrote:

>
>>
>>The idea is to generate the moves as late in the cycle as possible to avoid
>>doing the work if you generate a cutoff sooner.
>>
>>william
>>wbryant@ix.netcom.com
>
>I envisiioned that one would have to generate all the moves first to determine
>which moves are captures.  You say to look at captures and killers first.  How
>do you know which ones are killers?  (What is a killer anyway?)  Doesn't this
>require that you generate a complete move list first?

Break down your move generator into two functions, one that generates captures
and promotions, and one that generates only non-captures.  Hopefully, one
of the captures will generate a cutoff and the non-captures will not have
to be generated at all.

Killers are moves that are non-capture moves that are saved at each ply.  If
a move is good enough to reset alpha at one part of the search, it might be
good at another part of the search at the same ply.  Because winning captures
are searched before killers, exclude capture moves from a killer list.  These
moves are usually kept on a special list for each ply.

>
>I figure that bitboards are probably used to generate captures somehow, but then
>later when you are looking at the remaining legal moves, how do you check to see
>that you haven't looked at a move already?

Since your are searching the hash/pv move first, you need to flag this move
as searched when you generate you move lists.

The same applies to the killer moves.  You need to flag them as searched after
generating the rest of the move list.

>At some point you have to sort the
>moves?  If so then what method do you us to sort the moves?

I use a simple sort (not sure of the techinical term here).  I get the next
move from the move list and search it.  If it does't generate a cuttoff, then
I get the next move, etc...

Other than the root list, sorting the entire list may not be necessary if on of
the initial moves generates a cutoff.

william
wbryant@ix.netcom.com

>John



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.