Less aggressive move count based futility pruning
authorJoona Kiiski <joona.kiiski@gmail.com>
Sat, 3 Jul 2010 21:38:49 +0000 (00:38 +0300)
committerMarco Costalba <mcostalba@gmail.com>
Sun, 26 Sep 2010 09:27:15 +0000 (10:27 +0100)
This patch from Joona greatly reduces move count pruning,
below is the old and new move count limits starting from
ONE_PLY with half-play increment:

Old: 4,5,5,5, 7, 7,11,11,11,19,19,19,35,35
New: 4,5,7,9,12,15,19,23,28,33,39,45,52,59

Surprisingly results are even a bit better at a quite
fast time control.

After 5260 games at 30"+0.1
Mod - Orig:  864 - 806 - 3590  ELO +3 (+- 3.8)

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/search.cpp

index bd482ea..24c741a 100644 (file)
@@ -366,7 +366,7 @@ void init_search() {
 
   // Init futility move count array
   for (d = 0; d < 32; d++)
-      FutilityMoveCountArray[d] = 3 + (1 << (3 * d / 8));
+      FutilityMoveCountArray[d] = int(3.001 + 0.25 * pow(d, 2.0));
 }