diff --git a/src/search.cpp b/src/search.cpp index 9b2d705e..aef6cf2b 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -384,11 +384,11 @@ void Thread::search(bool isMainThread) { ++depth; for (Thread* th : Threads) if (th != this && th->depth <= depth) - th->depth = depth + ONE_PLY + Depth(th->idx - 1) / 2; + th->depth = depth + Depth(3 * log(1 + th->idx)); } else // This can cause a thread to search with the same depth for many iterations - depth = Threads.main()->depth + ONE_PLY + Depth(this->idx - 1) / 2; + depth = Threads.main()->depth + Depth(3 * log(1 + this->idx)); if (depth >= DEPTH_MAX || Signals.stop || (Limits.depth && depth > Limits.depth)) break;