1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 19:49:14 +00:00

Do not razor after a null move

We don't want to return unproven null move fails high, so
that if a position is so good that null move fails high we
want to check this with real do_move() / undo_move() test,
not just razoring the position because, from the opponent
point of view, is very bad.

These are tests results at 1+0

Mod vs Orig +252 -264 =483  49.40%
Mod vs Toga II 1.4.1SE  +365 -325 =309  52.00%

So it seems a very slightly regression regarding orig version (but
withing error bar) and a nice increase against Toga that is what we
are interested most. Orig version scores 49.75% against Toga, so
we welcome this change ;-)

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2009-04-30 08:55:38 +02:00
parent 00a3380885
commit 39f2eda285

View file

@ -1309,6 +1309,7 @@ namespace {
else if ( !value_is_mate(beta) else if ( !value_is_mate(beta)
&& depth < RazorDepth && depth < RazorDepth
&& approximateEval < beta - RazorApprMargins[int(depth) - 2] && approximateEval < beta - RazorApprMargins[int(depth) - 2]
&& ss[ply - 1].currentMove != MOVE_NULL
&& ttMove == MOVE_NONE && ttMove == MOVE_NONE
&& !pos.has_pawn_on_7th(pos.side_to_move())) && !pos.has_pawn_on_7th(pos.side_to_move()))
{ {