X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=a349fd6c7687c33002fbad2b5f6821a4785650b3;hp=768b0594e559113806f4fa9799c7eeb0bc71824a;hb=187451294f02c2b6424c9679a12c901e336a4180;hpb=6e5bb3279f84428818f65cbcb9903ba77fd28423 diff --git a/src/search.cpp b/src/search.cpp index 768b0594..a349fd6c 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -122,7 +122,7 @@ namespace { // RootMove::operator<() is the comparison function used when // sorting the moves. A move m1 is considered to be better // than a move m2 if it has a higher score, or if the moves - // have equal score but m1 has the higher node count. + // have equal score but m1 has the higher beta cut-off count. bool operator<(const RootMove& m) const { return score != m.score ? score < m.score : theirBeta <= m.theirBeta; @@ -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