Experimenting with null move pruning in my, still early, rewrite of Pupsi called Pupsi2, i found out, that my implementation of the "Verified Null Move Pruning" technique must have been flawed, somehow.
http://www.cs.biu.ac.il/~davoudo/pubs/vrfd_null.pdf
When I changed to a standard R = 2 implementation, the engine started performing a lot better!
I made the same changes in Pupsi, and it looks like a substantial gain there aswell!
So what are your experience with verified null move pruning?
Have any of you gotten it to work "as advertised"?
Are there any undocumented requirements I might have missed?
It is not explicitely stated in the text, but i assume the research should be with the original values for alpha and beta?
Also i gathered some statistics regarding only doing null moves, when eval() is above beta. The test showed that only about 1 in 1000 null moves with eval() below beta actually resultet in a cutoff. (Too bad if that one is the one you reallly need!
How many of you requires the evaluation to be above beta before doing a null move search?
Kind regards,
Jesper
