Set IID half way between d/2 and d-4
authorMarco Costalba <mcostalba@gmail.com>
Fri, 29 Mar 2013 21:55:07 +0000 (22:55 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 30 Mar 2013 21:26:30 +0000 (22:26 +0100)
Master IID formula is depth / 2
Previous patch is depth - 4 * ONE_PLY

This one is the middle way:

(dept/2 + depth-4*ONE_PLY)/2  -> depth-2*ONE_PLY-depth/4

After 16000 games at 60+0.05 th 1
ELO: 4.08 +-3.1 (95%) LOS: 99.5%
Total: 16000 W: 2742 L: 2554 D: 10704

bench: 4781239

src/search.cpp

index 9ab8c800d8fbde01527d266b6a8fc1d0a9c314b8..ed029b4c4a08e6d15b3ef28f2b4b246b04ad74d9 100644 (file)
@@ -745,7 +745,7 @@ namespace {
         && ttMove == MOVE_NONE
         && (PvNode || (!inCheck && ss->staticEval + Value(256) >= beta)))
     {
         && ttMove == MOVE_NONE
         && (PvNode || (!inCheck && ss->staticEval + Value(256) >= beta)))
     {
-        Depth d = (PvNode ? depth - 2 * ONE_PLY : depth - 4 * ONE_PLY);
+        Depth d = depth - 2 * ONE_PLY - (PvNode ? DEPTH_ZERO : depth / 4);
 
         ss->skipNullMove = true;
         search<PvNode ? PV : NonPV>(pos, ss, alpha, beta, d);
 
         ss->skipNullMove = true;
         search<PvNode ? PV : NonPV>(pos, ss, alpha, beta, d);