1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 16:53:09 +00:00
BadFish/src
Jerry Donald Watson 9953bfff62 Change reduction/improving interaction
Adjust criterion for applying extra reduction if not improving.
We now add an extra ply of reduction if r > 1.0, instead of the
previous condition Reductions[NonPV][imp][d][mc] >= 2.

Why does this work? Previously, reductions when not improving had
a discontinuity as the depth and/or move count increases due to the
Reductions[NonPV][imp][d][mc] >= 2 condition. Hence, values of r
such that 0.5 < r < 1.5 would be mapped to a reduction of 1, while
1.5 < r < 2.5 would be mapped to a reduction of 3. This patch allows
values of r satisfying 1.0 < r < 1.5 to be mapped to a reduction of 2,
making the reduction formula more continuous.

STC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 35908 W: 7382 L: 7087 D: 21439
http://tests.stockfishchess.org/tests/view/5aba723a0ebc5902a4743e8f

LTC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 23087 W: 3584 L: 3378 D: 16125
http://tests.stockfishchess.org/tests/view/5aba89070ebc5902a4743ea9

Ideas for future work:
- We could look at retuning the LMR formula.
- We could look at adjusting the reductions in PV nodes if not improving.

Bench: 5326261
2018-03-28 00:31:47 +02:00
..
syzygy Refactor tbprobe.cpp 2018-03-27 17:08:08 +02:00
benchmark.cpp New Year 2018 2018-01-01 13:18:10 +01:00
bitbase.cpp Mark all compile-time constants as constexpr. 2018-03-18 23:48:16 +01:00
bitboard.cpp Use intrinsics only for LSB/MSB 2018-03-14 01:31:21 +01:00
bitboard.h Switch time management to 64 bits 2018-03-27 16:25:41 +02:00
endgame.cpp Mark all compile-time constants as constexpr. 2018-03-18 23:48:16 +01:00
endgame.h New Year 2018 2018-01-01 13:18:10 +01:00
evaluate.cpp Fix indentation in movepicker.cpp 2018-03-27 16:45:12 +02:00
evaluate.h Mark all compile-time constants as constexpr. 2018-03-18 23:48:16 +01:00
main.cpp New Year 2018 2018-01-01 13:18:10 +01:00
Makefile Better indentation in Makefile 2018-03-03 11:07:23 +01:00
material.cpp Mark all compile-time constants as constexpr. 2018-03-18 23:48:16 +01:00
material.h New Year 2018 2018-01-01 13:18:10 +01:00
misc.cpp Fix an MSVC 2017 error and warnings. 2018-03-16 22:37:03 +01:00
misc.h Switch time management to 64 bits 2018-03-27 16:25:41 +02:00
movegen.cpp Fix a few minor code style inconsistencies 2018-03-21 01:35:05 +01:00
movegen.h New Year 2018 2018-01-01 13:18:10 +01:00
movepick.cpp Fix indentation in movepicker.cpp 2018-03-27 16:45:12 +02:00
movepick.h Fix indentation in movepicker.cpp 2018-03-27 16:45:12 +02:00
pawns.cpp Simplification: remove pawn shelter/storm masks 2018-03-27 17:30:52 +02:00
pawns.h Code style in evaluate.cpp 2018-02-20 17:11:18 +01:00
position.cpp Mark all compile-time constants as constexpr. 2018-03-18 23:48:16 +01:00
position.h Renaming some variables in code 2018-03-15 10:44:26 +01:00
psqt.cpp Mark all compile-time constants as constexpr. 2018-03-18 23:48:16 +01:00
search.cpp Change reduction/improving interaction 2018-03-28 00:31:47 +02:00
search.h Switch time management to 64 bits 2018-03-27 16:25:41 +02:00
thread.cpp Merge Stats tables 2018-03-03 11:35:33 +01:00
thread.h Revert "Implement old 'multipv' search" 2018-02-04 21:42:56 +01:00
thread_win32.h New Year 2018 2018-01-01 13:18:10 +01:00
timeman.cpp Switch time management to 64 bits 2018-03-27 16:25:41 +02:00
timeman.h Change reduction/improving interaction 2018-03-28 00:31:47 +02:00
tt.cpp New Year 2018 2018-01-01 13:18:10 +01:00
tt.h Mark all compile-time constants as constexpr. 2018-03-18 23:48:16 +01:00
types.h Tweak queen values for midgame and endgame 2018-03-27 17:51:11 +02:00
uci.cpp Fix a few minor code style inconsistencies 2018-03-21 01:35:05 +01:00
uci.h New Year 2018 2018-01-01 13:18:10 +01:00
ucioption.cpp Mark all compile-time constants as constexpr. 2018-03-18 23:48:16 +01:00