From 5aef9186acb9d1831e51d828cb3be91f005c4893 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sun, 1 Aug 2010 09:37:07 +0100 Subject: [PATCH] Reset bestMove before entering main moves loop After razoring, IID, null verification and singular extension searches we have could have a dirty ss->bestMove, restore to MOVE_NONE before to enter moves loop. This should avoid to store in TT a stale move when we fail low. Tested together with previous patch that is the one that gives ELO. After 1152 games at 1+0 on my QUAD Mod vs Orig +233 =716 -203 (+9 ELO) Signed-off-by: Marco Costalba --- src/search.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index 58feb77d..52be2e64 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1051,6 +1051,7 @@ namespace { if (tte) { assert(tte->static_value() != VALUE_NONE); + ss->eval = tte->static_value(); ei.kingDanger[pos.side_to_move()] = tte->king_danger(); } @@ -1059,7 +1060,6 @@ namespace { ss->eval = evaluate(pos, ei); TT.store(posKey, VALUE_NONE, VALUE_TYPE_NONE, DEPTH_NONE, MOVE_NONE, ss->eval, ei.kingDanger[pos.side_to_move()]); } - refinedValue = refine_eval(tte, ss->eval, ply); // Enhance accuracy with TT value if possible update_gains(pos, (ss-1)->currentMove, (ss-1)->eval, ss->eval); } @@ -1183,9 +1183,11 @@ namespace { // Initialize a MovePicker object for the current position MovePicker mp = MovePicker(pos, ttMove, depth, H, ss, (PvNode ? -VALUE_INFINITE : beta)); CheckInfo ci(pos); + ss->bestMove = MOVE_NONE; singleEvasion = isCheck && mp.number_of_evasions() == 1; singularExtensionNode = depth >= SingularExtensionDepth[PvNode] - && tte && tte->move() + && tte + && tte->move() && !excludedMove // Do not allow recursive singular extension search && is_lower_bound(tte->type()) && tte->depth() >= depth - 3 * OnePly; @@ -1238,6 +1240,7 @@ namespace { Value v = search(pos, ss, b - 1, b, depth / 2, ply); ss->skipNullMove = false; ss->excludedMove = MOVE_NONE; + ss->bestMove = MOVE_NONE; if (v < b) ext = OnePly; } -- 2.39.2