Author: Stuart Cracraft
Date: 19:07:48 08/20/01
Go up one level in this thread
Found the reason for why null move was erroring so badly. And... the winner is .... Georg ... who came closest with his reply: Have you checked your MakeMove(). Does it really only change color on move when the from-square is zero (and maybe the ep-square to 0)? How does your unmake move work btw ? Where do you store the unmake info for every ply ? The makemove/unmakemove routines were each changing the side to move *twice* for the case of the null move, once to the opposite side, and once back again (once each for all other non null moves), basically no-oping each other for the side to move. Since the null move already does nothing in terms of making a piece move, there's no point in changing the side to move either. Just leave it as it already was in makemove/unmakemove (i.e. change the side to move once for each, just don't make a move.) When I did this, variations went back to as before without nullmove and the time to search was halved. With a few other improvements, it sure is nice to see an 8 ply search finish in 3 seconds on a dinky notebook. :-) Stuart
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.