1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 00:33:09 +00:00

Use a log formula for depths

The SPRT LTC test on 3 threads was like this:

LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 25653 W: 3730 L: 3521 D: 18402

The ELO STC test on 3 threads was like this:

ELO: 6.79 +-3.4 (95%) LOS: 100.0%
Total: 13716 W: 2435 L: 2167 D: 9114

The ELO STC test on 23 threads was like this:

ELO: 0.77 +-5.3 (95%) LOS: 61.1%
Total: 4970 W: 765 L: 754 D: 3451

bench: 8397672
This commit is contained in:
Ivan Ivec 2015-10-09 17:19:26 +02:00 committed by Marco Costalba
parent f6512a4092
commit 06801f8dca

View file

@ -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;