Do we need null move pruning?

Discussion of chess software programming and technical issues.

Moderator: Ras

Uri Blass
Posts: 11153
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Do we need null move pruning?

Post by Uri Blass »

Null move pruning is basically not sound pruning and without verification search that did not prove to add elo you get a program that can never find the best move in some cases.

I wonder if it is not better to replace null move pruning with different pruning that is basically sound in the meaning that if you search deep enough you find the right move.

Note that LMR parameters in engines are tuned for the case that you already have null move pruning so you cannot estimate the real benefit of null move pruning by testing the playing strength of the engine without null move pruning.

I know that Junior does not use null move pruning but I do not know if there are better programs that do not use it and I wonder if everyone at the top level use null move pruning only because of the fact that other do it,
and if there are programmers of stronger programs than Junior who decided not to use null move pruning.
Henk
Posts: 7251
Joined: Mon May 27, 2013 10:31 am

Re: Do we need null move pruning?

Post by Henk »

Of course one can check source code of open source top level programs to see whether they use null move pruning or not. Don't know if that provides any good information because of ape-ing/cloning/copying effects. Nothing/not much for free.
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Do we need null move pruning?

Post by Michael Sherwin »

Uri Blass wrote:Null move pruning is basically not sound pruning and without verification search that did not prove to add elo you get a program that can never find the best move in some cases.

I wonder if it is not better to replace null move pruning with different pruning that is basically sound in the meaning that if you search deep enough you find the right move.

Note that LMR parameters in engines are tuned for the case that you already have null move pruning so you cannot estimate the real benefit of null move pruning by testing the playing strength of the engine without null move pruning.

I know that Junior does not use null move pruning but I do not know if there are better programs that do not use it and I wonder if everyone at the top level use null move pruning only because of the fact that other do it,
and if there are programmers of stronger programs than Junior who decided not to use null move pruning.
Chess is riddled with the horizon effect. There is always something just beyond sight of the search. There are factors that mitigate this. A good eval will compensate a lot because it will greatly reduce the number of false evals and there will be more alternative moves to chose from. And a greater depth does the same thing as there are more plys in between the root to find an alternative. But what might help is not doing null move on forced lines close to the leaves as there are no alternatives to act as a buffer against error.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through