]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Simple implementation of strong YBWC
[stockfish] / src / search.cpp
index 1a01601b8144f9d68a8cdd0b3c30356acc0d5d68..a349fd6c7687c33002fbad2b5f6821a4785650b3 100644 (file)
@@ -234,6 +234,9 @@ namespace {
   // better than the second best move.
   const Value EasyMoveMargin = Value(0x200);
 
+  // Maximum number of moves to try before to split (strong YBWC)
+  const int MaximumSplitMove = 3;
+
   // Last seconds noise filtering (LSN)
   const bool UseLSNFiltering = true;
   const int LSNTime = 4000; // In milliseconds
@@ -1363,6 +1366,7 @@ namespace {
       if (   TM.active_threads() > 1
           && bestValue < beta
           && depth >= MinimumSplitDepth
+          && (PvNode || moveCount > MaximumSplitMove * MinimumSplitDepth / depth)
           && Iteration <= 99
           && TM.available_thread_exists(threadID)
           && !AbortSearch