Author: Matthias Gemuh
Date: 01:28:09 07/04/02
Go up one level in this thread
On July 04, 2002 at 04:19:13, Christophe Drieu wrote:
>On July 03, 2002 at 17:39:25, Art Basham wrote:
>
>>Here is a good link to help anyone new here...
>>
>>http://www.seanet.com/~brucemo/topics/nullmove.htm
>>
>>I am still working on it...:-)
>
>Great, but what MakeNullMove() function do ?
>
>#define R 2
>
>int AlphaBeta(int depth, int alpha, int beta)
>{
> if (depth == 0)
> return Evaluate();
> MakeNullMove();
> val = -AlphaBeta(depth - 1 - R, -beta, -beta + 1);
> UnmakeNullMove();
> if (val >= beta)
> return beta;
> GenerateLegalMoves();
> while (MovesLeft()) {
> MakeNextMove();
> val = -AlphaBeta(depth - 1, -beta, -alpha);
> UnmakeMove();
> if (val >= beta) // Delete these to get straight
> return beta; // min-max instead of alpha-beta.
> if (val > alpha)
> alpha = val;
> }
> return alpha;
>}
MakeNullMove() "fixes" your data structure so that
all your routines are aware that it is other side to move.
You may have really little or almost nothing to fix.
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.