True, pruning is a complete waste of time without proper evaluation. I noticed this when trying out LMR in the endgame. It didn't work at all, until I realized it cannot possibly work without updating eval as well.looa wrote: ↑Fri May 05, 2023 6:02 pm All this relies on you having a good evaluation function though, null move pruning won't help you if your evaluation is out of whack. So should you put effort into your evaluation or implement these additional search optimizations? I'm currently weighing these options for my own engine, should I spend more time figuring out optimizing my search or should I add more data to my evaluation?
Importance of Null Move Pruning
Moderator: Ras
-
- Posts: 54
- Joined: Fri Apr 21, 2023 3:46 pm
- Full name: Richard Hoffmann
Re: Importance of Null Move Pruning
-
- Posts: 28353
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Importance of Null Move Pruning
But 'null-move pruning' is not really pruning. It is more like 'bundling' all your moves, by reserving a turn for them, and finding a continuation that would work in that case (i.e. cause a cutoff). Assuming that there would be at least one move that doesn't alter the position so much (i.e. is equally useless) that the continuation would not work in the same way.
-
- Posts: 10790
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: Importance of Null Move Pruning
Piece square table evaluation is enough to make null move pruning to work so you do not need a lot of effort for it.looa wrote: ↑Fri May 05, 2023 6:02 pm All this relies on you having a good evaluation function though, null move pruning won't help you if your evaluation is out of whack. So should you put effort into your evaluation or implement these additional search optimizations? I'm currently weighing these options for my own engine, should I spend more time figuring out optimizing my search or should I add more data to my evaluation?
-
- Posts: 253
- Joined: Mon Aug 26, 2019 4:34 pm
- Location: Clearwater, Florida USA
- Full name: JoAnn Peeler
Re: Importance of Null Move Pruning
Since the largest component of nearly every evaluation function is material, just having the most basic evaluation that only considers enough is enough. The Null Move will prove out that your opponent cannot recapture the material you have claimed.Uri Blass wrote: ↑Fri May 05, 2023 11:29 pmPiece square table evaluation is enough to make null move pruning to work so you do not need a lot of effort for it.looa wrote: ↑Fri May 05, 2023 6:02 pm All this relies on you having a good evaluation function though, null move pruning won't help you if your evaluation is out of whack. So should you put effort into your evaluation or implement these additional search optimizations? I'm currently weighing these options for my own engine, should I spend more time figuring out optimizing my search or should I add more data to my evaluation?
-
- Posts: 5
- Joined: Sat Apr 15, 2023 9:17 pm
- Full name: Alexander Ek
Re: Importance of Null Move Pruning
Null Move vs Non
lol :p


Code: Select all
> fen 2k5/2pb2p1/8/8/8/4PB2/6P1/5K2 w - - 0 1
> bestmove 8
info nps 0
info score cp 2.55 depth 1 nodes 21 time 0 pv g2g4
info nps 0
info score cp 0.05 depth 2 nodes 118 time 1 pv e3e4 c8b8
info nps 348666
info score cp 2.40 depth 3 nodes 1046 time 3 pv f1e1 c7c5 g2g4
info nps 401461
info score cp -0.15 depth 4 nodes 5219 time 13 pv f3d1 g7g6 e3e4 c8b8
info nps 536842
info score cp 0.25 depth 5 nodes 47779 time 90 pv g2g3 d7b5 f1g1 c8b8 e3e4
info nps 521423
info score cp -0.05 depth 6 nodes 152777 time 293 pv f1g1 d7f5 f3d5 f5e4 d5c4 c8b8
info nps 570514
info score cp 0.20 depth 7 nodes 819830 time 1437 pv e3e4 c7c5 e4e5 d7b5 f1g1 c8b8 e5e6
info nps 619775
info score cp -0.10 depth 8 nodes 3360423 time 5423 pv f1g1 c7c6 e3e4 g7g5 f3e2 c8b8 e2f1 d7e6
Best Move: f1g1
Code: Select all
> fen 2k5/2pb2p1/8/8/8/4PB2/6P1/5K2 w - - 0 1
> bestmove 8
info nps 8
info score cp 2.55 depth 1 nodes 21 time 2357 pv g2g4
info nps 50
info score cp 0.05 depth 2 nodes 118 time 2358 pv e3e4 c8b8
info nps 443
info score cp 2.40 depth 3 nodes 1046 time 2361 pv f1e1 c7c5 g2g4
info nps 2201
info score cp -0.15 depth 4 nodes 5219 time 2372 pv f3d1 g7g6 e3e4 c8b8
info nps 19501
info score cp 0.25 depth 5 nodes 47779 time 2450 pv g2g3 d7b5 f1g1 c8b8 e3e4
info nps 57608
info score cp -0.05 depth 6 nodes 152777 time 2653 pv f1g1 d7f5 f3d5 f5e4 d5c4 c8b8
info nps 216943
info score cp 0.20 depth 7 nodes 819830 time 3780 pv e3e4 c7c5 e4e5 d7b5 f1g1 c8b8 e5e6
info nps 434107
info score cp -0.10 depth 8 nodes 3360423 time 7741 pv f1g1 c7c6 e3e4 g7g5 f3e2 c8b8 e2f1 d7e6
Best Move: f1g1