Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: incremental move generation?

Author: Bas Hamstra

Date: 00:30:55 01/11/02

Go up one level in this thread


On January 11, 2002 at 00:08:42, Wylie Garvin wrote:

>Hi,
>
>  Does anyone believe they have a "good" incremental move generator??  Can
>someone explain for me how you can get a good move ordering without generating
>all moves up front?  There seems to be a tension there.  When some people say
>"incremental", they mean "captures before non-captures".  But maybe some people
>really mean *incremental*!  How can that be done without lousy move ordering?
>
>  For curiosity's sake, here is the ordering I have in mind right now:
>    (1) Hash move, last killer for this depth (if legal)
>    (2) Generate all captures and promotions.  Attach MVV/LVA scores to
>        the moves.  Try them one by one (selection sort).
>    (3) Generate non-captures.  Attach history scores to the moves.
>        Try them one by one (selection sort).
>
>  Also, I have heard a lot of flimsy descriptions of SEE's, but I have not
>managed to distill from these any sort of idea about how to implement one
>efficiently!  Can anyone suggest how this might be implemented efficiently?
>Ultimately I want high NPS, so it may be too expensive.
>
>Thanks,
>Wylie

This is incremental:

1) Hashmove
2) Generate 1 capture at a time, the best LVV/MVA one
3) Killers
4) When out of captures/killers generate all moves and put them on a stack and
and process normally

Incremental makes sense mostly for captures/promotions. To be able to generate
one MVV/LVA capture, you would have keep certain info up to date at make/unmake
time, like for example an table that can tell you for each square by which
pieces the square is attacked. If you use a bitboard datastructure I would say
incremental capgen is not worth doing. With just a few percent extra time you
can generate all captures.

Bas.

















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.