I don't understand some tweaks for pruning.
1. Purpose of PV nodes. If I understand correctly it's the nodes in which (beta-alpha)>1 (if we have PVS search). On chess programming wiki on some pruning ideas there is a statement that you should skip it when node is pv/non-pv (for example, in RFP it advices to skip it if node is PV). Why does it matter?
2. Improving heuristics. There are tweaks including it (for example, in RFP you can reduce margin if position is improving). Also, why does it matter?
Understanding pv_nodes and improving heuristics
Moderator: Ras
-
- Posts: 1
- Joined: Sat Oct 04, 2025 9:12 am
- Full name: Kirill Timofeev
-
- Posts: 939
- Joined: Sun Nov 19, 2006 9:16 pm
- Location: Russia
- Full name: Aleks Peshkov
Re: Understanding pv_nodes and improving heuristics
I am not an expert in any view, but as nobody else wants to respond, I will.
PV move is direct candidate to be the part of the final Principal Variation. Example of importance of PV-node distinction is MTD(f) algorithm (where all nodes are zero-window): there is no PV-nodes and it is known that MTD(f) have difficulties with extracting real PV moves from search. Principal Variation should be a sequence of legal chess moves. Null Move is not legal chess move, that is one of the reasons that make Null Move Pruning is not good for PV-nodes.
The more distance of a zero-window node from the nearest PV-node, the less chance ZW-node will be a part of final PV (chance that PVS research confirm that it is a hidden PV-node). If you agressively prune a good zero-node, another sibling node way not be pruned, or another node may be refutation, that invalidate pruned PV-candidate node. So errors of pruning wrong ZW-node are less fatal if the node is not a PV-node.
PV move is direct candidate to be the part of the final Principal Variation. Example of importance of PV-node distinction is MTD(f) algorithm (where all nodes are zero-window): there is no PV-nodes and it is known that MTD(f) have difficulties with extracting real PV moves from search. Principal Variation should be a sequence of legal chess moves. Null Move is not legal chess move, that is one of the reasons that make Null Move Pruning is not good for PV-nodes.
The more distance of a zero-window node from the nearest PV-node, the less chance ZW-node will be a part of final PV (chance that PVS research confirm that it is a hidden PV-node). If you agressively prune a good zero-node, another sibling node way not be pruned, or another node may be refutation, that invalidate pruned PV-candidate node. So errors of pruning wrong ZW-node are less fatal if the node is not a PV-node.