Author: Ren Wu
Date: 08:24:08 02/04/99
Go up one level in this thread
Hi, Please check your NotInCheck() function. It is nice to have two totally different versions of this function to make sure it is correct. The code you posted seems correct to me, and if the null move did nothing to speed your search, i have to think that this function has problem. Ren. 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? > >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 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.