Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Null move

Author: James Robertson

Date: 21:34:58 02/03/99

Go up one level in this thread


On February 04, 1999 at 00:06:03, Bruce Moreland wrote:

>
>On February 03, 1999 at 22:54:36, James Robertson wrote:
>
>>Help!!
>>I am trying to implement null move into my program. Unfortunately, I have spent
>>a ton of time and gotton nowhere. I thought I had it when my program won it's
>>first ever game against EXchess, but realized it was a fluke when it hung first
>>a bishop and then a queen against Faile. Then I found a huge bug, and after
>>fixing, the null move doesn't seem to be speeding up the search at all. Anyway,
>>here is my AB code: what am I doing wrong?
>
>It looks good except for some details that might just be features of this
>minimal code.  Sorry I can't be more helpful, but you didn't mess up, it looks
>like.
>
>You might have to watch out for strange en-passant behavior, you may have to
>reset the en-passant square.  You just generally have to be careful not to screw
>up because you don't really do a "make_move" before you call the null move
>search.
>
>>int AB (int wtm, int alpha, int beta, int depth, int ply, int do_null) {
>>
>>  if (do_null && NotInCheck()) {
>>    if (depth > 3) score = -AB(wtm^1, -beta, -beta+1, depth-3, ply+1, false);
>>    else score = -Quiesce(wtm^1, -beta, -alpha, ply+1);
>>    if (score >= beta) return beta;
>>  }
>
>This looks perfect except you can window Quiesce the same way you windowed AB.
>You are doing R=2, which is the right thing to do, IMHO.
>
>bruce

Ok; I tried out the en-passant stuff, and windowed Quiesce, and things are
looking up. Thanks for the help!!

James



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.