Assume a simple fail-soft PVS, no search instability, no aspiration windows.
Is it possible to fail low or to fail high in a PV node ?
My guess is that the answer is no, but I want to be sure.
question about PVS
Moderator: Ras
-
lucasart
- Posts: 3243
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
question about PVS
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
-
hgm
- Posts: 28472
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: question about PVS
I think you can. If you couldn't, it means you would have to be always right when you qualify something as a PV node. But (assuming PV node means 'open window') you canot know that: if a null-window search in a PV node fails high with a score (= lower bound) below beta, the real score might very well be above beta. And you open the window for the re-search. (And if the lower-bound was >= beta, you already fail high in the current PV node!)
-
xmas79
- Posts: 286
- Joined: Mon Jun 03, 2013 7:05 pm
- Location: Italy
Re: question about PVS
Hard to believe if you use TT....no search instability...
It depends on your implementation... If you search a PV node with a window of (-inf,+inf) of course you can't.Is it possible to fail low or to fail high in a PV node ?
My guess is that the answer is no, but I want to be sure.
-
Henk
- Posts: 7251
- Joined: Mon May 27, 2013 10:31 am
Re: question about PVS
Depends on the definition:
I thought it was:
alpha < value < beta : pv node
value <= alfa : all node
value >= beta : cut node
But I could be wrong.
I thought it was:
alpha < value < beta : pv node
value <= alfa : all node
value >= beta : cut node
But I could be wrong.
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: question about PVS
With no aspiration window, given you are searching a PV node, that would imply the alpha/beta window is {-infinity, +infinity}. I don't see how you could fail high unless it is a bug (I see such fail highs when I break the check detection and let the search capture a king which takes the score to a value > MATE...)lucasart wrote:Assume a simple fail-soft PVS, no search instability, no aspiration windows.
Is it possible to fail low or to fail high in a PV node ?
My guess is that the answer is no, but I want to be sure.
-
hgm
- Posts: 28472
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: question about PVS
If the first move in the root (ply=0) returned a score of +10, and the second move searched with {10,11} window would fail high, so that you re-search with {10,INF} window, which translates to {-INF,-10} window in the daughter...
If you would find the first move in that daughter (ply=1) returns a score -30, so that you search the other moves with window {-30,-29}, and one of those moves fails high with a lower bound -20. So you have to re-search it with window {-20,-10} (or, in the face of search instability, {-30,-10}).
Would you now not call the node at ply=2 that has window {10,20} (or {10,30}) in this re-search a PV node?
If you would find the first move in that daughter (ply=1) returns a score -30, so that you search the other moves with window {-30,-29}, and one of those moves fails high with a lower bound -20. So you have to re-search it with window {-20,-10} (or, in the face of search instability, {-30,-10}).
Would you now not call the node at ply=2 that has window {10,20} (or {10,30}) in this re-search a PV node?
-
Gerd Isenberg
- Posts: 2251
- Joined: Wed Mar 08, 2006 8:47 pm
- Location: Hattingen, Germany
Re: question about PVS
But you don't re-search a PV-node but an expected Cut-node which behaved unexpected, now treated as PV-node.
Last edited by Gerd Isenberg on Sun Sep 29, 2013 8:13 pm, edited 1 time in total.
-
Gerd Isenberg
- Posts: 2251
- Joined: Wed Mar 08, 2006 8:47 pm
- Location: Hattingen, Germany
Re: question about PVS
No. Left most nodes are no issue due to +-oo. While searching a PV-node A, the siblings of its PV-child a, expected Cut-nodes b...x, may require a re-search - then treated as PV-Node with alpha-beta window. With no search instability issues, this re-search should improve alpha with a new PV at node A.lucasart wrote:Assume a simple fail-soft PVS, no search instability, no aspiration windows.
Is it possible to fail low or to fail high in a PV node ?
My guess is that the answer is no, but I want to be sure.
-
hgm
- Posts: 28472
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: question about PVS
well, the answer obviously depends on how you define 'PV node'. If you define it as a node with window {-INF, +INF}, ad exclude all other nodes with open window, then obviously you cannot have any cutoffs. But then the question would also be a bit silly. So I assume he does define PV node in another way.
The node at ply 2 during the re-search can become a node of the eventual PV. So if you treat PV nodes different from other nodes, it would be inconsistent to not treat it as a PV move.
The node at ply 2 during the re-search can become a node of the eventual PV. So if you treat PV nodes different from other nodes, it would be inconsistent to not treat it as a PV move.
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: question about PVS
I follow the traditional naming scheme that says when you search a tree left-to-right, depth-first, all the leftmost nodes are PV nodes. I suppose it depends on what he means by "fail high". I took it as "fail high on first move" which could well not be what he meant...hgm wrote:If the first move in the root (ply=0) returned a score of +10, and the second move searched with {10,11} window would fail high, so that you re-search with {10,INF} window, which translates to {-INF,-10} window in the daughter...
If you would find the first move in that daughter (ply=1) returns a score -30, so that you search the other moves with window {-30,-29}, and one of those moves fails high with a lower bound -20. So you have to re-search it with window {-20,-10} (or, in the face of search instability, {-30,-10}).
Would you now not call the node at ply=2 that has window {10,20} (or {10,30}) in this re-search a PV node?
Otherwise you could get a fail high anywhere in the tree, obviously.