Introduce midgame initiative
authorVizvezdenec <Vizvezdenec@gmail.com>
Sat, 14 Sep 2019 22:32:39 +0000 (00:32 +0200)
committerStéphane Nicolet <cassio@free.fr>
Sat, 14 Sep 2019 22:32:54 +0000 (00:32 +0200)
commit843a6c43053ceb9cc79d29bf7c0d3a5d236e057e
tree34f3cde63d6ac03959a3997ef26c1c8b379a3f98
parente5cfa14f40a38d99d11a9c048c34858e3145fbcd
Introduce midgame initiative

This patch finally introduces something that was tried for years: midgame score
dependance on complexity of position. More precisely, if the position is very
simplified and the complexity measure calculated in the initiative() function
is inferior to -50 by an amount d, then we add this value d to the midgame score.

One example of play of this patch will be (again!) 4 vs 3 etc same flank endgames
where sides have a lot of non-pawn material: 4 vs 3 draw mostly remains the same
draw even if we add a lot of equal material to both sides.

STC run was stopped after 200k games (and not converging):
LLR: -1.75 (-2.94,2.94) [0.50,4.50]
Total: 200319 W: 44197 L: 43310 D: 112812
http://tests.stockfishchess.org/tests/view/5d7cfdb10ebc5902d386572c

passed LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 41051 W: 6858 L: 6570 D: 27623
http://tests.stockfishchess.org/tests/view/5d7d14680ebc5902d3866196

This is the first and not really precise version, a lot of other stuff can be
tried on top of it (separate complexity for middlegame, some more terms, even
simple retuning of values).

Bench: 4248476
src/evaluate.cpp