What is verification search & what is it for ?
Moderators: hgm, Rebel, chrisw
-
- Posts: 234
- Joined: Sat Jan 17, 2015 11:54 pm
What is verification search & what is it for ?
The bit at CPW doesn't help , also is there any engine that uses null move reduction instead of/alongside null move pruning ?
-
- Posts: 411
- Joined: Thu Dec 30, 2010 4:48 am
Re: What is verification search & what is it for ?
Verification search is doing a reduced search (same depth as the nullmove search) but without a null move after null move fails high to confirm that it's not a zugzwang position. It helps with problems, but afaik has little benefit to playing strength as zugzwang is relatively rare.
Null move reduction is part of null move pruning. You search the position after a null move to a reduced depth that is the null move reduction.
Null move reduction is part of null move pruning. You search the position after a null move to a reduced depth that is the null move reduction.
-
- Posts: 12541
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: What is verification search & what is it for ?
Here is how it is used in Stockfish (verification_depth is 12):
Here is the article that defines the concept:
Omid David, Nathan S. Netanyahu (2002). Verified Null-Move Pruning. ICGA Journal, Vol. 25, No. 3
Copy found here:
https://www.researchgate.net/publicatio ... ve_Pruning
and here:
https://arxiv.org/abs/0808.1125
Code: Select all
if (nullValue >= beta)
{
// Do not return unproven mate scores
if (nullValue >= VALUE_MATE_IN_MAX_PLY)
nullValue = beta;
if (depth < verification_depth * ONE_PLY && abs(beta) < VALUE_KNOWN_WIN)
return nullValue;
// Do verification search at high depths
Value v = depth-R < ONE_PLY ? qsearch<NonPV, false>(pos, ss, beta-1, beta)
: search<NonPV>(pos, ss, beta-1, beta, depth-R, false, true);
if (v >= beta)
return nullValue;
}
Omid David, Nathan S. Netanyahu (2002). Verified Null-Move Pruning. ICGA Journal, Vol. 25, No. 3
Copy found here:
https://www.researchgate.net/publicatio ... ve_Pruning
and here:
https://arxiv.org/abs/0808.1125
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
- Posts: 27808
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: What is verification search & what is it for ?
I don't think that answers the question, though, which I interpreted to be "can you also search the other (=real) moves reduced, after a null-move fail high, rather than prune them completely". The answer to that question would be "Yes, and that is called verification search".kbhearn wrote:Null move reduction is part of null move pruning. You search the position after a null move to a reduced depth that is the null move reduction.
Note that in principle the depth of a verification search does not need to be the same as that of the null-move search. Many zugzwags lead to a rapid collapse of your defense, which a search of quite low depth would already see.
-
- Posts: 2559
- Joined: Fri Nov 26, 2010 2:00 pm
- Location: Czech Republic
- Full name: Martin Sedlak
Re: What is verification search & what is it for ?
I use hybrid NMP + NMR in my engine (since the last version), no verification search;
I prune at low depths and reduce at higher depths
I prune at low depths and reduce at higher depths