Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Request advice from Chess programmers

Author: Dieter Buerssner

Date: 16:03:25 05/02/03

Go up one level in this thread


On May 02, 2003 at 18:48:03, Dann Corbit wrote:

>>Mod 3)
>>Added a save of 2 killer moves at each ply and re-sorted moves before searching

You don't need to sort all moves allways. Selecting the currently best move is
enough. Often the first or second selection will give a beta cutoff.

How to select the best move?  Well, it can be the inner loop of a selection
search. While this is less effective for huge search problems, for a chess
engine, it seems a good choice. Basically, you go over the move list, find the
move which is most promising. You swap the place of this move in the move list
with the first or last move, and by this make the move list smaller. So for the
next selection you try, you only have to process a smaller move list to find the
next best selection.

>>This made hardly any difference in reducing the nodes searched to get to a given
>>ply.

It gives a significant difference for me. Perhaps you should carefully look over
your code. You might have a bug here.

>3.  Null move. (make/unmake is the tricky part)

Why is make/unmake the tricky part? To me, makeing a null move looks much
easier, than making a normal move. All you have to do in a typical
implementation, is delete the ep-target (perhaps reset 50 move counter), and
increment some index (or pointer) to some move stack and update side to move
(which may be implicit by the increment).


Regards,
Dieter



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.