Simplify time management and fix 'ponder on' bug
authorLeonid Pechenik <lp@home>
Wed, 9 Dec 2015 07:07:34 +0000 (02:07 -0500)
committerJoona Kiiski <joona@zoox.com>
Mon, 14 Dec 2015 18:00:52 +0000 (18:00 +0000)
commit69240a982d8c3a2d01fab04c284be43853ab2bc9
tree149214484275e0dc4e2b21c5dc49c48bcfc839b0
parent7904a7d930d4979fcd0bf13d48a6504f97f39a54
Simplify time management and fix 'ponder on' bug

Simplify time management code by removing hard stops for unchanging first root moves.
Search is now stopped earlier at the end iteration if it did not have fail-lows at root.

This simplification also fixes pondering bug. Ponder flag was true by default
and cutechess-cli doesn't change it to false even though no pondering is possible.
Fix the issue by setting the default value of 'Ponder' flag to false.

10+0.1:
ELO: 3.51 +-3.0 (95%) LOS: 99.0%
Total: 20000 W: 3898 L: 3696 D: 12406

40+0.4:
ELO: 1.39 +-2.7 (95%) LOS: 84.7%
Total: 20000 W: 3104 L: 3024 D: 13872

60+0.06:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 37231 W: 5333 L: 5236 D: 26662

Stopped run at 100+1:
LLR: 1.09 (-2.94,2.94) [-3.00,1.00]
Total: 37253 W: 4862 L: 4856 D: 27535

Resolves #523
Fixes #510
src/search.cpp
src/search.h
src/thread.cpp
src/timeman.cpp
src/timeman.h
src/ucioption.cpp