by Stan Arts » 20 Oct 2004, 15:02
Hi
Not a static evaluation after a nullmove, but a search, with a reduced depth.
Reduced depth, because this is where the main gain comes from, and is relatively safe, because
the opponent gets to move twice, and will show lots of his dangerous tactics fast.
So, if I was going to do a 7 ply search, at depth 3 in the tree deside to do a nullmove. Deside
to reduce the depth with 2 ply. So then skip doing a move on depth 3, and search on depth 4,
and 5, and then do extentions and qsearch and so like normal.
Then, when the result of this search comes back to depth 3, and it's above beta, you can deside
the position is so good, (because the opponent moved twice, and still could not bring your
score below beta) it will almost 100% certainly fail high here if you did a normal search, and
can just return beta right away. If the score that came back from this nullmove was not above
beta, you can just search the position again, searching also all moves on depth 3 to depth 7
like normal. (or then deside to do nullmoves on depths lower in the searchtree again, etc.)
So what I described above:
1- Root
2- normal ply
3- deside to do a nullmove , will not make any moves here.
4- normal ply (so the opponent got to move twice in a row)
5- normal ply
6- qsearch
7- etc.
So if the nullmovesearch on depth 3 works, that probably means the opponent played a bad move on
depth 2 in the tree, and that my position is now so good he can not compensate for it by moving
again. (for instance if he gave away a piece on depth 2, he can not compensate for that. But giving
away a piece is probably nonsence, and so such a quicker nullmove search returns faster.)
You shouldn't nullmove in the tree when side to nullmove is in check, because then the opponent
will capture your king the next ply. And there are lots of other restrictions and things you can
do to help make nullmove safer, but hope the above helps.
Greetings
Stan