Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: GrimReaper, Bitboards, and move generation

Author: Bruce Moreland

Date: 18:29:59 10/16/98

Go up one level in this thread



On October 16, 1998 at 17:00:07, John Stoneham wrote:

>To those even remotely interested :) the latest update in my GrimReaper Journal
>discusses how I've "tackled" move generation. When I started the project, I
>wasn't sure how I could make practical use of Bitboards, but now they have taken
>over as the dominant data form in my program. My current quandry is whether to
>include testing if a generated move, while otherwise legal, would leave the King
>in check, or to leave this as a thing actually tested by DoMove (since the move
>may be cut-off and not even searched). For more info on how I handle this, right
>or wrong, check out the latest entry:
>www.geocities.com/SiliconValley/Lab/4714/index.html

You have two sane choices:

1) Check for check at the point you execute the move on the board.

2) Ignore check when you make the move, but when you generate moves at the next
ply, if you find you are taking a king, return beta.  If you need to, you might
want to return some other suitably huge number that you can use to indicate a
king capture (so you'll know you're mated at the previous ply, if you need to
know this).

You have an insane choice:

1) Check for check at point of move generation.

You may find that at different points, either of the sane choices is the right
choice.  Your program may go faster with one or the other.  There might be
circumstances that would cause you to use one in one part of your program and
the other in the other point.  There may be cases where you find that the insane
choice is best.

There is no one right answer to any of this.  If you are writing a
"conventional" program, you may find that something works for you and doesn't
work for someone else.

bruce



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.