Author: James Robertson
Date: 19:54:36 02/03/99
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? 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; } GenMoves(); while (moves){ MakeMove(); score = -AB(wtm^1, -beta,-alpha,depth-1,ply+1,true); UnMakeMove(); if (score > alpha) SavePV(); if (score >= beta) return beta; } } Thanks for any help! James
This page took 0.01 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.