Author: Robert Hyatt
Date: 17:15:49 01/08/06
Go up one level in this thread
On January 08, 2006 at 13:50:28, Stuart Cracraft wrote: >On January 07, 2006 at 12:09:49, Robert Hyatt wrote: > >>On January 07, 2006 at 09:14:03, Michael Neish wrote: >> >>> >>>I hope this doesn't come across as too much of a beginner's question. >>> >>>Is it beyond question that null move improves search? >>> >>>The reason I ask is that I recently dusted off my old program, and ran a few >>>tests on it, and was dismayed to discover that I seem to be getting very little >>>benefit from using it. This is trying out different parameters (R-2, R-3, at >>>depth >2, >3, etc.). >>> >>>I thought the whole idea of using null was that you could get a swifter cut-off >>>and hence reduce the number of nodes searched to reach a given depth, but I'm >>>getting little or no reduction at all, and in some cases even an increase. >>> >>>Depending on the position, and the parameters used, about 40-60% of null moves >>>performed fail high and return immediately. The remainder move on to a normal >>>search. So I thought that, in my program's case, perhaps the nodes wasted on >>>null move searches that don't fail high is almost the same as those saved by >>>null move searches that do fail high. Does this make sense? >>> >>>Is a cut-off rate of about 40-60% to be expected, or should it be higher? >>> >>>For what it's worth, around 80% of nodes in the tree are in Quiesce(). Could >>>this have something to do with it? >>> >>>So barring an error in my implementation, can anyone comment on why null move is >>>giving me virtually null benefit? >>> >>>Thanks in advance to anyone who takes the time to reply. >>> >>>Regards, >>> >>>Mike. >> >>The obvious question is, "where is your bug?" :) >> >>null-move should _greatly_ reduce the size of the tree. And reduce it enough >>that you get another 1-2 plies of search depth in the same time. So, are you >>sure you are doing the null-move test correctly? >> >>make a null move >>search resulting position to depth-R-1 >>if result >= beta, just return beta here and don't search any real moves at all. >>otherwise, do a normal search and pretend the null-move search was never done. > >What is the effect of returning the value of the null move search >if result >= beta instead of returning beta in a PVS search? >Deleterious? Should not affect anything, since anything >= beta causes a cutoff... > >Also, do you store the null move in the hash table? If so, why? yes. Why not? If a null-move fails high here, and I reach this position again, why not do a hash probe and fail high, rather than doing a null-move search (which takes time) to fail high? > >Thanks ahead, > >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.