X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fsearch.cpp;h=b400b8f8b0c4c409d4c004e6047f12468e8d2959;hb=e8788d1b32c9356fa0a127952d48c3748d8ec826;hp=ed5dd6c2c7ad5aab3e39b26cb038833c3a6b58d2;hpb=b7b6b4ba18bc9d291c2c2fd300c22a3e008dcbb2;p=stockfish diff --git a/src/search.cpp b/src/search.cpp index ed5dd6c2..b400b8f8 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -793,7 +793,7 @@ namespace { && (ss-1)->statScore < 23767 && eval >= beta && eval >= ss->staticEval - && ss->staticEval >= beta - 20 * depth - 22 * improving + 168 * ss->ttPv + 159 + && ss->staticEval >= beta - 20 * depth - 22 * improving + 168 * ss->ttPv + 177 && !excludedMove && pos.non_pawn_material(us) && (ss->ply >= thisThread->nmpMinPly || us != thisThread->nmpColor)) @@ -903,12 +903,17 @@ namespace { ss->ttPv = ttPv; } - // Step 10. If the position is not in TT, decrease depth by 2 + // Step 10. If the position is not in TT, decrease depth by 2 or 1 depending on node type if ( PvNode && depth >= 6 && !ttMove) depth -= 2; + if ( cutNode + && depth >= 9 + && !ttMove) + depth--; + moves_loop: // When in check, search starts here ttCapture = ttMove && pos.capture_or_promotion(ttMove); @@ -1026,8 +1031,8 @@ moves_loop: // When in check, search starts here // Futility pruning: parent node (~5 Elo) if ( !ss->inCheck - && lmrDepth < 7 - && ss->staticEval + 174 + 157 * lmrDepth <= alpha) + && lmrDepth < 8 + && ss->staticEval + 172 + 145 * lmrDepth <= alpha) continue; // Prune moves with negative SEE (~20 Elo) @@ -1052,7 +1057,7 @@ moves_loop: // When in check, search starts here && (tte->bound() & BOUND_LOWER) && tte->depth() >= depth - 3) { - Value singularBeta = ttValue - 2 * depth; + Value singularBeta = ttValue - 3 * depth; Depth singularDepth = (depth - 1) / 2; ss->excludedMove = move; @@ -1096,8 +1101,8 @@ moves_loop: // When in check, search starts here } // Capture extensions for PvNodes and cutNodes - else if ( (PvNode || cutNode) - && captureOrPromotion + else if ( (PvNode || cutNode) + && captureOrPromotion && moveCount != 1) extension = 1;