Introduce Null Threat extension
authorMarco Costalba <mcostalba@gmail.com>
Mon, 24 Dec 2012 08:07:17 +0000 (09:07 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Tue, 25 Dec 2012 18:17:27 +0000 (19:17 +0100)
commit894c43a1d648d4cf160de006bde59aa5b6ba0190
treed92bcafb07794966ca03618c98489ed462f920d3
parentb5b799b5ab4de93aa8a03a310d2f178698a5cf86
Introduce Null Threat extension

In case of null search at low depths returns a fail low
due to a threat then, rather than return beta-1 (to cause
a re-search at full depth in the parent node), we set a flag
threatExtension = true (false by default) that will cause
moves that prevent the threat to be extended of one ply
in the following search.

Idea and patch is by Lucas Braesch.

Lucas also did the tests:
1500 games in 5"+0.05":
SF_threatExtension vs SF_20121222: 366 - 331 - 803 [51.2%] LOS=90.8%

3000 games in 10"+0.1":
SF_threatExtension vs SF_20121222: 610 - 559 - 1831 [50.8%] LOS=93.2%

Tests confirmed by Gary after 10570 games,
ELO: 2.79 +- 99%: 8.72 95%: 6.63
LOS: 94.08%
Wins: 1523 Losses: 1438 Draws: 7607

And finally by me at 15"+0.05, single thread, 3824 games
threatExtension vs master 768 - 692 - 2364  +7 ELO

bench 4918443
src/search.cpp