Nullmove verification helps in some (not all) problematic positions, like these (taken from a testsuite - I believe these should be attributed to Gerd Isenberg):
8/8/1p1r1k2/p1pPN1p1/P3KnP1/1P6/8/3R4 b - -
4KBkr/7p/6PP/4P3/8/3P1p2/8/8 w - -
However verification costs some elo (in my case 3 +-5 so nothing dramatic)
I know that Bob doesn't use verification search but Crafty has no problem with the above positions.
To my suprise (always thought it's just an optimization), removing avoid null from Crafty made it blind in these positions
so it's obvious that null verification and avoid null flag actually accomplish the same.
So I wonder whether using a similar approach (avoid null flag in TT entry) would do better than verification search.
Any opinions?
nullmove verification vs avoid null
Moderators: hgm, Rebel, chrisw
-
- Posts: 2559
- Joined: Fri Nov 26, 2010 2:00 pm
- Location: Czech Republic
- Full name: Martin Sedlak
-
- Posts: 5106
- Joined: Tue Apr 29, 2008 4:27 pm
Re: nullmove verification vs avoid null
How is avoid null flag actually used? I have never heard of that one. Is it used when the hash table score is based on a null move search at this node?mar wrote:Nullmove verification helps in some (not all) problematic positions, like these (taken from a testsuite - I believe these should be attributed to Gerd Isenberg):
8/8/1p1r1k2/p1pPN1p1/P3KnP1/1P6/8/3R4 b - -
4KBkr/7p/6PP/4P3/8/3P1p2/8/8 w - -
However verification costs some elo (in my case 3 +-5 so nothing dramatic)
I know that Bob doesn't use verification search but Crafty has no problem with the above positions.
To my suprise (always thought it's just an optimization), removing avoid null from Crafty made it blind in these positions
so it's obvious that null verification and avoid null flag actually accomplish the same.
So I wonder whether using a similar approach (avoid null flag in TT entry) would do better than verification search.
Any opinions?
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
-
- Posts: 2559
- Joined: Fri Nov 26, 2010 2:00 pm
- Location: Czech Republic
- Full name: Martin Sedlak
Re: nullmove verification vs avoid null
I think Bob is the right person to ask
-
- Posts: 5106
- Joined: Tue Apr 29, 2008 4:27 pm
Re: nullmove verification vs avoid null
You sounded as if you understood it, but the question was a general one for the forum and not to a specific individual.mar wrote:I think Bob is the right person to ask
I think what we do is just not store a history position and I'm wondering if this is ideas is based on storing the value but flagging it as a don't use value.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
-
- Posts: 2559
- Joined: Fri Nov 26, 2010 2:00 pm
- Location: Czech Republic
- Full name: Martin Sedlak
Re: nullmove verification vs avoid null
I meant that Bob knows better than me, not that I expect an answer from him and not from anyone else.
I was asking why it helps the same way null verification helps in certain positions because I thought it only helps to save a few nodes for an useless nullmove search.
I found this where Bob describes how the flag is set:
http://www.stmintz.com/ccc/index.php?id=364198
And here where he mentions that avoid-null-TT trick comes from Deep Thought team?
http://www.open-chess.org/viewtopic.php ... 0&start=10
I was asking why it helps the same way null verification helps in certain positions because I thought it only helps to save a few nodes for an useless nullmove search.
I found this where Bob describes how the flag is set:
http://www.stmintz.com/ccc/index.php?id=364198
And here where he mentions that avoid-null-TT trick comes from Deep Thought team?
http://www.open-chess.org/viewtopic.php ... 0&start=10
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: nullmove verification vs avoid null
No. If you get a hash signature match, but the draft of the entry is not enough to let you use the entry, you can still check to see what happened (for example, did the previous search fail low (store UPPER bound)? If so, is the draft comparable to the null-move remaining depth (depth - 1 - REDUCTION (3 for me). If the depth is enough, and we failed low on a real move, we are almost certainly going to fail low on a null-move, which is theoretically worse than any possible move unless we are in zugzwang, so there is no point in doing the null-search and wasting effort...Don wrote:How is avoid null flag actually used? I have never heard of that one. Is it used when the hash table score is based on a null move search at this node?mar wrote:Nullmove verification helps in some (not all) problematic positions, like these (taken from a testsuite - I believe these should be attributed to Gerd Isenberg):
8/8/1p1r1k2/p1pPN1p1/P3KnP1/1P6/8/3R4 b - -
4KBkr/7p/6PP/4P3/8/3P1p2/8/8 w - -
However verification costs some elo (in my case 3 +-5 so nothing dramatic)
I know that Bob doesn't use verification search but Crafty has no problem with the above positions.
To my suprise (always thought it's just an optimization), removing avoid null from Crafty made it blind in these positions
so it's obvious that null verification and avoid null flag actually accomplish the same.
So I wonder whether using a similar approach (avoid null flag in TT entry) would do better than verification search.
Any opinions?
This is a well-known optimization, nothing more. Not related to verification or anything...
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: nullmove verification vs avoid null
Yes. I first saw it in the singular extension paper Campbell and Hsu wrote. But remember, it is not a "skill gain". It is a "node reduction". Avoiding null moves when you know you won't fail high saves the null-move search overhead, nothing more. Not intended as any sort of zugzwang avoidance or anything like that.. Think about this... If you are a queen down, do you see ANY way a null-move search (doing nothing) can fail high? As opposed to the "if you are a queen up, it is hard to imagine any way a null-move search would not fail high, since that would require losing the queen right back... You can play any move other than the null and most likely avoid the threat anyway...mar wrote:I meant that Bob knows better than me, not that I expect an answer from him and not from anyone else.
I was asking why it helps the same way null verification helps in certain positions because I thought it only helps to save a few nodes for an useless nullmove search.
I found this where Bob describes how the flag is set:
http://www.stmintz.com/ccc/index.php?id=364198
And here where he mentions that avoid-null-TT trick comes from Deep Thought team?
http://www.open-chess.org/viewtopic.php ... 0&start=10
-
- Posts: 2559
- Joined: Fri Nov 26, 2010 2:00 pm
- Location: Czech Republic
- Full name: Martin Sedlak
Re: nullmove verification vs avoid null
Then why it helps to solve the above mentioned positions? Without it, Crafty is blind in these. So it must be more than just an optimization. A side effect perhaps?bob wrote:This is a well-known optimization, nothing more. Not related to verification or anything...
-
- Posts: 5566
- Joined: Tue Feb 28, 2012 11:56 pm
Re: nullmove verification vs avoid null
It is known to help. See e.g. this post. That it helps is also implicit in Bob's explanation: we know doing the null move is wasted "unless we are in zugzwang". But if we are in zugzwang we certainly want to avoid doing null moves.mar wrote:Then why it helps to solve the above mentioned positions? Without it, Crafty is blind in these. So it must be more than just an optimization. A side effect perhaps?bob wrote:This is a well-known optimization, nothing more. Not related to verification or anything...
-
- Posts: 2559
- Joined: Fri Nov 26, 2010 2:00 pm
- Location: Czech Republic
- Full name: Martin Sedlak
Re: nullmove verification vs avoid null
Thanks Ronald