Computer Chess Club Archives




Subject: Null move

Author: James Robertson

Date: 19:54:36 02/03/99

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?

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;

  while (moves){
    score = -AB(wtm^1, -beta,-alpha,depth-1,ply+1,true);
    if (score > alpha) SavePV();
    if (score >= beta) return beta;

Thanks for any help!


This page took 0.03 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.