Remember 12 bits of eval in repeat keys
authorH.G.Muller <hgm@hgm-xboard.(none)>
Sat, 17 Feb 2018 13:23:29 +0000 (14:23 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Sat, 17 Feb 2018 13:39:59 +0000 (14:39 +0100)
commit5e57ce674dab7c45b454b031cee84fd10ba8d56f
tree095cddc7ab9ddd1598564d7c0a46efd6ea61dafe
parentd2e1434f02c278d6f96f054105a90fac05513253
Remember 12 bits of eval in repeat keys

The repeat key is a combination of the hash key for the board position,
and the evaluation. This is used for detecting pseudo-repeats, where the
eval part is then used to forbid material-buring loops. But burning a
Queen changes the eval by 2*600 = 1200 points, and 12 bits are needed
to store that without (signed!) overflow. As only 11 bits were used,
loops burning a Queen were considered winning. This would still be the
case for loops burning two Queens.
  Increasing the number of eval bits to 12 has increased the probability
for a falsely detected pseudo-repetition to one in a million, which still
seems acceptable.
dropper.c