Steinar H. Gunderson [Sat, 15 Jan 2022 10:01:13 +0000 (11:01 +0100)]
Merge remote-tracking branch 'upstream/master'
Rui Coelho [Thu, 13 Jan 2022 18:30:53 +0000 (18:30 +0000)]
Use complexity in search
This patch uses the complexity measure (from #3875) as a heuristic for null move pruning.
Hopefully, there may be room to use it in other pruning techniques.
I would like to thank vondele and locutus2 for the feedback and suggestions during testing.
Passed STC
LLR: 2.95 (-2.94,2.94) <0.00,2.50>
Total: 35000 W: 9624 L: 9347 D: 16029
Ptnml(0-2): 156, 3894, 9137, 4143, 170
https://tests.stockfishchess.org/tests/view/
61dda784c65bf87d6c45ab80
Passed LTC
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 230776 W: 64227 L: 63454 D: 103095
Ptnml(0-2): 1082, 23100, 66380, 23615, 1211
https://tests.stockfishchess.org/tests/view/
61ddd0cf3ddbc32543e72c2b
Closes https://github.com/official-stockfish/Stockfish/pull/3890
Bench:
4464962
pschneider1968 [Mon, 27 Dec 2021 20:16:04 +0000 (21:16 +0100)]
Fix Makefile for compilation with clang on Windows
use static compilation and
added exclusion of -latomic for Clang/MSYS2 as per ppigazzini's suggestion
fixes #3872
closes https://github.com/official-stockfish/Stockfish/pull/3873
No functional change
Michael Chaly [Mon, 10 Jan 2022 18:29:25 +0000 (21:29 +0300)]
Adjust pruning constants
This patch is a modification of original tuning done by vondele that failed yellow.
Value differences are divided by 2.
Passed STC
https://tests.stockfishchess.org/tests/view/
61d918239fea7913d9c64cdf
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 98968 W: 26248 L: 25858 D: 46862
Ptnml(0-2): 392, 11085, 26156, 11443, 408
Passed LTC
https://tests.stockfishchess.org/tests/view/
61d99e3c9fea7913d9c663e4
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 215232 W: 58191 L: 57492 D: 99549
Ptnml(0-2): 271, 22124, 62138, 22801, 282
closes https://github.com/official-stockfish/Stockfish/pull/3885
bench
4572746
Joost VandeVondele [Fri, 7 Jan 2022 21:57:09 +0000 (22:57 +0100)]
Tune FRC trapped Bishop patch
now that fishtest can deal with FRC, retune this correction.
Add an additional fen to bench with cornered B and N.
passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.50>
Total: 49672 W: 7358 L: 7082 D: 35232
Ptnml(0-2): 241, 4329, 15458, 4529, 279
https://tests.stockfishchess.org/tests/view/
61d8b7bf9fea7913d9c63cb7
passed LTC:
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 86688 W: 8308 L: 8007 D: 70373
Ptnml(0-2): 92, 4943, 32989, 5212, 108
https://tests.stockfishchess.org/tests/view/
61d92dcb9fea7913d9c650ad
closes https://github.com/official-stockfish/Stockfish/pull/3884
Bench:
4326560
Joost VandeVondele [Thu, 6 Jan 2022 06:44:41 +0000 (07:44 +0100)]
Tune a few parameters related to evaluation
based on a SPSA tune (using Autoselect)
https://tests.stockfishchess.org/tests/view/
61d5aa63a314fed318a57046
passed STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.50>
Total: 61960 W: 16640 L: 16316 D: 29004
Ptnml(0-2): 278, 6934, 16204, 7314, 250
https://tests.stockfishchess.org/tests/view/
61d7fe4af5fd40f357469a8d
passed LTC:
LLR: 2.97 (-2.94,2.94) <0.50,3.00>
Total: 79408 W: 21994 L: 21618 D: 35796
Ptnml(0-2): 106, 7887, 23331, 8285, 95
https://tests.stockfishchess.org/tests/view/
61d836b7f5fd40f35746a3d5
closes https://github.com/official-stockfish/Stockfish/pull/3883
Bench:
4266621
Stéphane Nicolet [Fri, 7 Jan 2022 06:55:50 +0000 (07:55 +0100)]
Update AUTHORS and CPU contributors files
closes https://github.com/official-stockfish/Stockfish/pull/3882
No functional change
Brad Knox [Tue, 4 Jan 2022 02:33:26 +0000 (20:33 -0600)]
Update copyright years
Happy New Year!
closes https://github.com/official-stockfish/Stockfish/pull/3881
No functional change
lonfom169 [Sat, 1 Jan 2022 17:09:08 +0000 (14:09 -0300)]
Simplify away rangeReduction
Remove rangeReduction, introduced in [#3717](https://github.com/official-stockfish/Stockfish/pull/3717),
as it seemingly doesn't bring enough ELO anymore. It might be interesting to add
new forms of reduction or tune the reduction formula in the future.
STC:
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 45008 W: 12114 L: 11972 D: 20922
Ptnml(0-2): 174, 5031, 11952, 5173, 174
https://tests.stockfishchess.org/tests/view/
61d08b7b069ca917749c9f6f
LTC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 30792 W: 8235 L: 8086 D: 14471
Ptnml(0-2): 24, 3162, 8882, 3297, 31
https://tests.stockfishchess.org/tests/view/
61d0a6ad069ca917749ca420
closes https://github.com/official-stockfish/Stockfish/pull/3878
Bench:
4048312
lonfom169 [Fri, 31 Dec 2021 01:50:20 +0000 (22:50 -0300)]
Smooth out doDeeperSearch
Adjust threshold based on the difference between newDepth and LMR depth.
With more reduction, bigger fail-high is required in order to perform the deeper search.
STC:
LLR: 2.96 (-2.94,2.94) <0.00,2.50>
Total: 93576 W: 24133 L: 23758 D: 45685
Ptnml(0-2): 260, 10493, 24935, 10812, 288
https://tests.stockfishchess.org/tests/view/
61cbb5cee68b2a714b6eaf09
LTC:
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 109280 W: 28198 L: 27754 D: 53328
Ptnml(0-2): 60, 11225, 31637, 11647, 71
https://tests.stockfishchess.org/tests/view/
61cc03fee68b2a714b6ec091
closes https://github.com/official-stockfish/Stockfish/pull/3877
Bench:
4464723
Stéphane Nicolet [Thu, 30 Dec 2021 10:23:40 +0000 (11:23 +0100)]
Tweak optimism with complexity
This patch increases the optimism bonus for "complex positions", where the
complexity is measured as the absolute value of the difference between material
and the sophisticated NNUE evaluation (idea by Joost VandeVondele).
Also rename some variables in evaluate() while there.
passed STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 88392 W: 23150 L: 22781 D: 42461
Ptnml(0-2): 318, 9961, 23257, 10354, 306
https://tests.stockfishchess.org/tests/view/
61cbbedee68b2a714b6eb110
passed LTC:
LLR: 2.93 (-2.94,2.94) <0.50,3.00>
Total: 37848 W: 10043 L: 9766 D: 18039
Ptnml(0-2): 26, 3815, 10961, 4100, 22
https://tests.stockfishchess.org/tests/view/
61cc0cc3e68b2a714b6ec28c
Closes https://github.com/official-stockfish/Stockfish/pull/3875
Follow-up from https://github.com/official-stockfish/Stockfish/commit/
a5a89b27c8e3225fb453d603bc4515d32bb351c3
Bench:
4125221
Steinar H. Gunderson [Wed, 29 Dec 2021 13:33:22 +0000 (14:33 +0100)]
Merge remote-tracking branch 'upstream/master'
bmc4 [Sat, 25 Dec 2021 11:54:16 +0000 (08:54 -0300)]
Don't direct prune a move if it's a retake
STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 36304 W: 9499 L: 9226 D: 17579
Ptnml(0-2): 96, 4102, 9508, 4325, 121
https://tests.stockfishchess.org/tests/view/
61c7069ae68b2a714b6dca27
LTC:
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 93824 W: 24478 L: 24068 D: 45278
Ptnml(0-2): 70, 9644, 27082, 10038, 78
https://tests.stockfishchess.org/tests/view/
61c725fee68b2a714b6dcfa2
closes https://github.com/official-stockfish/Stockfish/pull/3871
Bench:
4106806
Joost VandeVondele [Fri, 17 Dec 2021 18:34:30 +0000 (19:34 +0100)]
Update default net to nn-
ac07bd334b62.nnue
Trained with essentially the same data as provided and used by Farseer (mbabigian)
for the previous master net.
T60T70wIsRightFarseerT60T74T75T76.binpack (99GB):
['T60T70wIsRightFarseer.binpack', 'farseerT74.binpack', 'farseerT75.binpack', 'farseerT76.binpack']
using the trainer branch tweakLR1PR (https://github.com/glinscott/nnue-pytorch/pull/158) and
`--gpus 1 --threads 4 --num-workers 4 --batch-size 16384 --progress_bar_refresh_rate 300 --smart-fen-skipping --random-fen-skipping 12 --features=HalfKAv2_hm^ --lambda=1.00` options
passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.50>
Total: 108280 W: 28042 L: 27636 D: 52602
Ptnml(0-2): 328, 12382, 28401, 12614, 415
https://tests.stockfishchess.org/tests/view/
61bcd8c257a0d0f327c34fbd
passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 259296 W: 66974 L: 66175 D: 126147
Ptnml(0-2): 146, 27096, 74452, 27721, 233
https://tests.stockfishchess.org/tests/view/
61bda70957a0d0f327c37817
closes https://github.com/official-stockfish/Stockfish/pull/3870
Bench:
4633875
Michael Chaly [Wed, 22 Dec 2021 04:54:10 +0000 (07:54 +0300)]
Fall back to NNUE if classical evaluation is much lower than threshold
The idea is that if classical eval returns a value much lower than the threshold of
its usage it most likely means that position isn't that simple
so we need the more precise NNUE evaluation.
passed STC:
https://tests.stockfishchess.org/tests/view/
61bf3e7557a0d0f327c3c47a
LLR: 2.95 (-2.94,2.94) <0.00,2.50>
Total: 108072 W: 28007 L: 27604 D: 52461
Ptnml(0-2): 352, 12147, 28650, 12520, 367
passed LTC:
https://tests.stockfishchess.org/tests/view/
61c0581657a0d0f327c3fa0c
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 155096 W: 40392 L: 39841 D: 74863
Ptnml(0-2): 88, 15983, 44843, 16558, 76
closes https://github.com/official-stockfish/Stockfish/pull/3869
bench
4310422
bmc4 [Mon, 20 Dec 2021 19:20:08 +0000 (16:20 -0300)]
Update Elo estimates for terms in search
This updates estimates from 2yr ago #2401, and adds missing terms.
All tests run at 10+0.1 (STC), 20000 games, error bars +- 1.8 Elo, book 8moves_v3.png.
A table of Elo values with the links to the corresponding tests can be found at the PR
closes https://github.com/official-stockfish/Stockfish/pull/3868
Non-functional Change
bmc4 [Mon, 20 Dec 2021 11:08:09 +0000 (08:08 -0300)]
Remove Capture history pruning
Fixed number of games. (book: 8moves_v3.png):
ELO: -0.69 +-1.8 (95%) LOS: 22.1%
Total: 20000 W: 1592 L: 1632 D: 16776
Ptnml(0-2): 44, 1194, 7566, 1150, 46
https://tests.stockfishchess.org/tests/view/
61bb8eb657a0d0f327c30ce8
STC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 139976 W: 36039 L: 36036 D: 67901
Ptnml(0-2): 435, 16138, 36885, 16049, 481
https://tests.stockfishchess.org/tests/view/
61be731857a0d0f327c39ea2
LTC:
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 70656 W: 18284 L: 18189 D: 34183
Ptnml(0-2): 34, 7317, 20529, 7416, 32
https://tests.stockfishchess.org/tests/view/
61bf39b657a0d0f327c3c37b
closes https://github.com/official-stockfish/Stockfish/pull/3867
bench:
4281737
bmc4 [Sat, 18 Dec 2021 00:14:34 +0000 (21:14 -0300)]
Remove Capture Extension
This revert the patch #3692, probably can be simplified after the introduction of #3838.
Fixed-game test:
ELO: -1.41 +-1.8 (95%) LOS: 5.9%
Total: 20000 W: 1552 L: 1633 D: 16815
Ptnml(0-2): 38, 1242, 7517, 1169, 34
https://tests.stockfishchess.org/tests/view/
61bc1a2057a0d0f327c32a3c
STC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 44528 W: 11619 L: 11478 D: 21431
Ptnml(0-2): 146, 5020, 11771, 5201, 126
https://tests.stockfishchess.org/tests/view/
61bc638c57a0d0f327c338fe
LTC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 34136 W: 8847 L: 8704 D: 16585
Ptnml(0-2): 23, 3475, 9925, 3626, 19
https://tests.stockfishchess.org/tests/view/
61bcb24257a0d0f327c34813
closes https://github.com/official-stockfish/Stockfish/pull/3863
Bench:
4054695
Stéphane Nicolet [Sun, 19 Dec 2021 14:15:30 +0000 (15:15 +0100)]
Simplification in evaluate_nnue.cpp
Removes the test on non-pawn-material before applying the positional/materialistic bonus.
Passed STC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 46904 W: 12197 L: 12059 D: 22648
Ptnml(0-2): 170, 5243, 12479, 5399, 161
https://tests.stockfishchess.org/tests/view/
61be57cf57a0d0f327c3999d
Passed LTC:
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 18760 W: 4958 L: 4790 D: 9012
Ptnml(0-2): 14, 1942, 5301, 2108, 15
https://tests.stockfishchess.org/tests/view/
61bed1fb57a0d0f327c3afa9
closes https://github.com/official-stockfish/Stockfish/pull/3866
Bench:
4826206
George Sobala [Mon, 13 Dec 2021 16:05:35 +0000 (16:05 +0000)]
Fixes build failure on Apple M1 Silicon
This pull request selectively avoids `-mdynamic-no-pic` for gcc on Apple Silicon
(there was no problem with the default clang compiler).
fixes https://github.com/official-stockfish/Stockfish/issues/3847
closes https://github.com/official-stockfish/Stockfish/pull/3850
No functional change
Michael Chaly [Sat, 18 Dec 2021 23:30:45 +0000 (02:30 +0300)]
Reintroduce futility pruning for captures
This is a reintroduction of an idea that was simplified away approximately 1 year ago.
There are some tweaks to it :
a) exclude promotions;
b) exclude Pv Nodes from it - Pv Nodes logic for captures is really different from non Pv nodes so it makes a lot of sense;
c) use a big grain of capture history - idea is taken from my recent patches in futility pruning.
passed STC
https://tests.stockfishchess.org/tests/view/
61bd90f857a0d0f327c373b7
LLR: 2.96 (-2.94,2.94) <0.00,2.50>
Total: 86640 W: 22474 L: 22110 D: 42056
Ptnml(0-2): 268, 9732, 22963, 10082, 275
passed LTC
https://tests.stockfishchess.org/tests/view/
61be094457a0d0f327c38aa3
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 23240 W: 6079 L: 5838 D: 11323
Ptnml(0-2): 14, 2261, 6824, 2512, 9
https://github.com/official-stockfish/Stockfish/pull/3864
bench
4493723
Michael Chaly [Sat, 18 Dec 2021 08:51:19 +0000 (11:51 +0300)]
Adjust reductions based on current node delta and root delta
This patch is a follow up of previous 2 patches that introduced more reductions for PV nodes with low delta and more pruning for nodes with low delta. Instead of writing separate heuristics now it adjust reductions based on delta / rootDelta - it allows to remove 3 separate adjustements of pruning/LMR in different places and also makes reduction dependence on delta and rootDelta smoother. Also now it works for all pruning heuristics and not just 2.
Passed STC
https://tests.stockfishchess.org/tests/view/
61ba9b6c57a0d0f327c2d48b
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 79192 W: 20513 L: 20163 D: 38516
Ptnml(0-2): 238, 8900, 21024, 9142, 292
passed LTC
https://tests.stockfishchess.org/tests/view/
61baf77557a0d0f327c2eb8e
LLR: 2.96 (-2.94,2.94) <0.50,3.00>
Total: 158400 W: 41134 L: 40572 D: 76694
Ptnml(0-2): 101, 16372, 45745, 16828, 154
closes https://github.com/official-stockfish/Stockfish/pull/3862
bench
4651538
George Sobala [Mon, 13 Dec 2021 15:29:31 +0000 (15:29 +0000)]
Fix for profile-build failure using gcc on MacOS
Fixes https://github.com/official-stockfish/Stockfish/issues/3846 ,
where the profiling SF binary generated by GCC on MacOS would launch
but failed to quit. Tested with gcc-8, gcc9, gcc10, gcc-11.
The problem can be fixed by adding -fvisibility=hidden to the compiler
flags, see for example the following piece of Apple documentation:
https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/CppRuntimeEnv/Articles/SymbolVisibility.html
For instance this now works:
make -j8 profile-build ARCH=x86-64-avx2 COMP=gcc COMPCXX=g++-11
No functional change
pb00067 [Wed, 15 Dec 2021 07:49:44 +0000 (08:49 +0100)]
Remove lowPly history
Seems that after pull request #3731 (Capping stat bonus at 2000) this
heuristic is no longer useful.
STC:
https://tests.stockfishchess.org/tests/view/
61b8d0e2dffbe89a35815444
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 30672 W: 7974 L: 7812 D: 14886
Ptnml(0-2): 106, 3436, 8072, 3634, 88
LTC:
https://tests.stockfishchess.org/tests/view/
61b8e90cdffbe89a35815a67
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 42448 W: 10884 L: 10751 D: 20813
Ptnml(0-2): 23, 4394, 12267, 4507, 33
closes https://github.com/official-stockfish/Stockfish/pull/3853
bench:
4474950
bmc4 [Tue, 14 Dec 2021 15:00:45 +0000 (12:00 -0300)]
Simplify away singularQuietLMR
While at it, we also update the Elo estimate of reduction at non-PV nodes
(source: https://tests.stockfishchess.org/tests/view/
61acf97156fcf33bce7d6303 )
STC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 243632 W: 62874 L: 63022 D: 117736
Ptnml(0-2): 810, 28024, 64249, 27970, 763
https://tests.stockfishchess.org/tests/view/
61b8b1b7dffbe89a35814c0d
LTC:
LLR: 2.93 (-2.94,2.94) <-2.25,0.25>
Total: 91392 W: 23520 L: 23453 D: 44419
Ptnml(0-2): 51, 9568, 26387, 9643, 47
https://tests.stockfishchess.org/tests/view/
61b97316dffbe89a35817da7
closes https://github.com/official-stockfish/Stockfish/pull/3854
bench:
4217785
farseer [Thu, 16 Dec 2021 00:28:16 +0000 (16:28 -0800)]
Update default net to nn-
4401e826ebcc.nnue
Using data T60 12/1/20 to 11/2/2021, T74 4/22/21 to 7/27/21, T75 6/3/21 to 10/16/21, T76
(half of the randomly interleaved dataset due to a mistake merging) 11/10/21 to 11/21/21,
wrongIsRight_nodes5000pv2.binpack, and WrongIsRight-Reloaded.binpack combined and shuffled
position by position.
Trained with LR=4.375e-4 and WDL filtering enabled:
python train.py --smart-fen-skipping --random-fen-skipping 0 --features=HalfKAv2_hm^
--lambda=1.0 --max_epochs=800 --seed
910688689 --batch-size 16384
--progress_bar_refresh_rate 30 --threads 4 --num-workers 4 --gpus 1
--resume-from-model C:\msys64\home\Mike\nnue-pytorch\9b3d.pt
E:\trainingdata\T60-T74-T75-T76-WiR-WiRR-PbyP.binpack
E:\trainingdata\T60-T74-T75-T76-WiR-WiRR-PbyP.binpack
Passed STC
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 41848 W: 10962 L: 10676 D: 20210 Elo +2.16
Ptnml(0-2): 142, 4699, 11016, 4865, 202
https://tests.stockfishchess.org/tests/view/
61ba886857a0d0f327c2cfd6
Passed LTC
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 27776 W: 7208 L: 6953 D: 13615 Elo + 3.00
Ptnml(0-2): 14, 2808, 8007, 3027, 32
https://tests.stockfishchess.org/tests/view/
61baae4d57a0d0f327c2d96f
closes https://github.com/official-stockfish/Stockfish/pull/3856
Bench:
4667591
Joost VandeVondele [Tue, 7 Dec 2021 22:03:35 +0000 (23:03 +0100)]
Remove NNUE scaling term
remove pawns scaling, probably correlated with piece scaling, and might be less useful with the recent improved nets. Might allow for another tune of the scaling params.
passed STC
https://tests.stockfishchess.org/tests/view/
61afdb2e56fcf33bce7df31a
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 280864 W: 72198 L: 72399 D: 136267
Ptnml(0-2): 854, 32356, 74346, 31889, 987
passed LTC
https://tests.stockfishchess.org/tests/view/
61b233a606b4c2dcb1b16140
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 400136 W: 102669 L: 103012 D: 194455
Ptnml(0-2): 212, 42005, 116047, 41522, 282
closes https://github.com/official-stockfish/Stockfish/pull/3851
Bench:
4735679
Joost VandeVondele [Sun, 12 Dec 2021 16:09:21 +0000 (17:09 +0100)]
Update default net to nn-
d93927199b3d.nnue
Using the same dataset as before but slightly reduced initial LR as in
https://github.com/vondele/nnue-pytorch/tree/tweakLR1
passed STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 51368 W: 13492 L: 13191 D: 24685
Ptnml(0-2): 168, 5767, 13526, 6042, 181
https://tests.stockfishchess.org/tests/view/
61b61f43dffbe89a3580b529
passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 45128 W: 11763 L: 11469 D: 21896
Ptnml(0-2): 24, 4583, 13063, 4863, 31
https://tests.stockfishchess.org/tests/view/
61b6612edffbe89a3580c447
closes https://github.com/official-stockfish/Stockfish/pull/3848
Bench:
5121336
Stefan Geschwentner [Fri, 10 Dec 2021 17:42:05 +0000 (18:42 +0100)]
Simplify falling eval time factor.
Remove the difference to previous best score in falling eval calculation. As compensation double the effect of the difference to previous best average score.
STC:
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 86944 W: 22363 L: 22285 D: 42296
Ptnml(0-2): 273, 9227, 24396, 9301, 275
https://tests.stockfishchess.org/tests/view/
61b111ce06b4c2dcb1b11546
LTC:
LLR: 2.96 (-2.94,2.94) <-2.25,0.25>
Total: 134944 W: 34606 L: 34596 D: 65742
Ptnml(0-2): 66, 12941, 41456, 12935, 74
https://tests.stockfishchess.org/tests/view/
61b19ca206b4c2dcb1b13a8b
closes https://github.com/official-stockfish/Stockfish/pull/3841
Bench:
4729473
Joost VandeVondele [Sat, 11 Dec 2021 14:23:55 +0000 (15:23 +0100)]
Update Top CPU Contributors
closes https://github.com/official-stockfish/Stockfish/pull/3842
No functional change
Michael Chaly [Thu, 9 Dec 2021 16:33:06 +0000 (19:33 +0300)]
Adjust singular extension depth restriction
This patch is a modification of original idea by lonfom169 which had a good yellow run
- do singular extension search with depth threshold 6 unless this is a PvNode with is a part of a PV line -
for them set threshold to 8 instead.
Passed STC
https://tests.stockfishchess.org/tests/view/
61b1080406b4c2dcb1b1128c
LLR: 2.95 (-2.94,2.94) <0.00,2.50>
Total: 84352 W: 21917 L: 21555 D: 40880
Ptnml(0-2): 288, 9524, 22185, 9896, 283
Passed LTC
https://tests.stockfishchess.org/tests/view/
61b1860a06b4c2dcb1b134a1
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 63520 W: 16575 L: 16237 D: 30708
Ptnml(0-2): 27, 6519, 18350, 6817, 47
https://github.com/official-stockfish/Stockfish/pull/3840
bench
4729473
Stefan Geschwentner [Wed, 8 Dec 2021 11:23:39 +0000 (12:23 +0100)]
Improve transposition table remplacement strategy
Increase chance that PV node replaces old entry in transposition table.
STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.50>
Total: 46744 W: 12108 L: 11816 D: 22820
Ptnml(0-2): 156, 5221, 12344, 5477, 174
https://tests.stockfishchess.org/tests/view/
61ae068356fcf33bce7d99d0
LTC:
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 88464 W: 22912 L: 22513 D: 43039
Ptnml(0-2): 84, 9133, 25393, 9544, 78
https://tests.stockfishchess.org/tests/view/
61ae973656fcf33bce7db3e1
closes https://github.com/official-stockfish/Stockfish/pull/3839
Bench:
5292488
Michael Chaly [Tue, 7 Dec 2021 16:46:21 +0000 (19:46 +0300)]
Introduce post-lmr extensions
This idea is somewhat similar to extentions in LMR but has a different flavour.
If result of LMR was really good - thus exceeded alpha by some pretty
big given margin, we can extend move after LMR in full depth search with 0 window.
The idea is that this move is probably a fail high with somewhat of a big
probability so extending it makes a lot of sense
passed STC
https://tests.stockfishchess.org/tests/view/
61ad45ea56fcf33bce7d74b7
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 59680 W: 15531 L: 15215 D: 28934
Ptnml(0-2): 193, 6711, 15734, 6991, 211
passed LTC
https://tests.stockfishchess.org/tests/view/
61ad9ff356fcf33bce7d8646
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 59104 W: 15321 L: 14992 D: 28791
Ptnml(0-2): 53, 6023, 17065, 6364, 47
closes https://github.com/official-stockfish/Stockfish/pull/3838
bench
4881329
Tomasz Sobczyk [Thu, 2 Dec 2021 11:29:11 +0000 (12:29 +0100)]
Optimize FT activation and affine transform for NEON.
This patch optimizes the NEON implementation in two ways.
The activation layer after the feature transformer is rewritten to make it easier for the compiler to see through dependencies and unroll. This in itself is a minimal, but a positive improvement. Other architectures could benefit from this too in the future. This is not an algorithmic change.
The affine transform for large matrices (first layer after FT) on NEON now utilizes the same optimized code path as >=SSSE3, which makes the memory accesses more sequential and makes better use of the available registers, which allows for code that has longer dependency chains.
Benchmarks from Redshift#161, profile-build with apple clang
george@Georges-MacBook-Air nets % ./stockfish-b82d93 bench 2>&1 | tail -4 (current master)
===========================
Total time (ms) : 2167
Nodes searched :
4667742
Nodes/second :
2154011
george@Georges-MacBook-Air nets % ./stockfish-7377b8 bench 2>&1 | tail -4 (this patch)
===========================
Total time (ms) : 1842
Nodes searched :
4667742
Nodes/second :
2534061
This is a solid 18% improvement overall, larger in a bench with NNUE-only, not mixed.
Improvement is also observed on armv7-neon (Raspberry Pi, and older phones), around 5% speedup.
No changes for architectures other than NEON.
closes https://github.com/official-stockfish/Stockfish/pull/3837
No functional changes.
Joost VandeVondele [Sat, 4 Dec 2021 22:18:46 +0000 (23:18 +0100)]
Update default net to nn-
63376713ba63.nnue.
same data set as previous trained nets, tuned the wdl model slightly for training.
https://github.com/vondele/nnue-pytorch/tree/wdlTweak1
passed STC:
https://tests.stockfishchess.org/tests/view/
61abe9e456fcf33bce7d2834
LLR: 2.93 (-2.94,2.94) <0.00,2.50>
Total: 31720 W: 8385 L: 8119 D: 15216
Ptnml(0-2): 117, 3534, 8273, 3838, 98
passed LTC:
https://tests.stockfishchess.org/tests/view/
61ac293756fcf33bce7d36cf
LLR: 2.96 (-2.94,2.94) <0.50,3.00>
Total: 136136 W: 35255 L: 34741 D: 66140
Ptnml(0-2): 114, 14217, 38894, 14727, 116
closes https://github.com/official-stockfish/Stockfish/pull/3836
Bench:
4667742
Michael Chaly [Mon, 6 Dec 2021 00:52:44 +0000 (03:52 +0300)]
Assign extra bonus for previous move that caused a fail low more often
This patch allows to assign extra bonus for previous move that caused a fail low not only for PvNodes and cutNodes but also fo some allNodes - namely if the best result we could've got from the search is still far below alpha.
passed STC
https://tests.stockfishchess.org/tests/view/
61aa26a49e8855bba1a36d96
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 73808 W: 19183 L: 18842 D: 35783
Ptnml(0-2): 251, 8257, 19564, 8564, 268
passed LTC
https://tests.stockfishchess.org/tests/view/
61aa7dc29e8855bba1a3814f
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 142416 W: 36717 L: 36192 D: 69507
Ptnml(0-2): 106, 14799, 40862, 15346, 95
closes https://github.com/official-stockfish/Stockfish/pull/3835
bench
4724181
Stefan Geschwentner [Sun, 5 Dec 2021 15:29:51 +0000 (16:29 +0100)]
Tweak history initialization
Initialize continuation history with a slighlty negative value -71 instead of zero.
The idea is, because the most history entries will be later negative anyway, to shift
the starting values a little bit in the "correct" direction. Of course the effect of
initialization dimishes with greater depth so I had the apprehension that the LTC test
would be difficult to pass, but it passed.
STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 34520 W: 9076 L: 8803 D: 16641
Ptnml(0-2): 136, 3837, 9047, 4098, 142
https://tests.stockfishchess.org/tests/view/
61aa52e39e8855bba1a3776b
LTC:
LLR: 2.93 (-2.94,2.94) <0.50,3.00>
Total: 75568 W: 19620 L: 19254 D: 36694
Ptnml(0-2): 44, 7773, 21796, 8115, 56
https://tests.stockfishchess.org/tests/view/
61aa87d39e8855bba1a383a5
closes https://github.com/official-stockfish/Stockfish/pull/3834
Bench:
4674029
Stefan Geschwentner [Sun, 5 Dec 2021 15:18:33 +0000 (16:18 +0100)]
Tweak time management
Use for adjustment of the falling eval time factor now also the difference
between previous best average score and current best score.
STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.50>
Total: 109216 W: 28296 L: 27900 D: 53020
Ptnml(0-2): 312, 11759, 30148, 11999, 390
https://tests.stockfishchess.org/tests/view/
61aafa8d1b31b85bcfa29d9c
LTC:
LLR: 2.93 (-2.94,2.94) <0.50,3.00>
Total: 54096 W: 14091 L: 13787 D: 26218
Ptnml(0-2): 29, 5124, 16447, 5410, 38
https://tests.stockfishchess.org/tests/view/
61abbbbd56fcf33bce7d1d64
closes https://github.com/official-stockfish/Stockfish/pull/3833
Bench:
4829419
bmc4 [Sat, 4 Dec 2021 12:09:09 +0000 (09:09 -0300)]
Simplifies bestMoveChanges from LMR
As bestMoveChanges is only reset on mainThread and it could change how other
threads search, a multi-threads test was made.
STC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 146776 W: 37934 L: 37941 D: 70901
Ptnml(0-2): 477, 15644, 41173, 15597, 497
https://tests.stockfishchess.org/tests/view/
61a8f9f34ed77d629d4ea2d6
LTC:
LLR: 3.11 (-2.94,2.94) <-2.25,0.25>
Total: 114040 W: 29314 L: 29269 D: 55457
Ptnml(0-2): 50, 10584, 35722, 10599, 65
https://tests.stockfishchess.org/tests/view/
61a9d4bf9e8855bba1a35c4f
(SMP, 8 threads) STC:
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 23888 W: 6308 L: 6143 D: 11437
Ptnml(0-2): 36, 2557, 6600, 2708, 43
https://tests.stockfishchess.org/tests/view/
61ac27a756fcf33bce7d3677
closes https://github.com/official-stockfish/Stockfish/pull/3831
bench:
4829419
Steinar H. Gunderson [Sat, 4 Dec 2021 14:47:57 +0000 (15:47 +0100)]
Fix gRPC crashes.
Since the hash move may change from other threads while we're looking at it,
we could end up applying illegal moves when recovering the PV, corrupting the
state and causing out-of-bounds accesses.
Spotted by vondele.
Joost VandeVondele [Thu, 2 Dec 2021 05:58:40 +0000 (06:58 +0100)]
Update default net to nn-
cdf1785602d6.nnue
Same process as in https://github.com/official-stockfish/Stockfish/commit/
e4a0c6c75950bf27b6dc32490a1102499643126b
with the training started from the current master net.
passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.50>
Total: 38224 W: 10023 L: 9742 D: 18459
Ptnml(0-2): 133, 4328, 9940, 4547, 164
https://tests.stockfishchess.org/tests/view/
61a8611e4ed77d629d4e836e
passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 115176 W: 29783 L: 29321 D: 56072
Ptnml(0-2): 68, 12039, 32936, 12453, 92
https://tests.stockfishchess.org/tests/view/
61a8963e4ed77d629d4e8d9b
closes https://github.com/official-stockfish/Stockfish/pull/3830
Bench:
4829419
Michael Chaly [Thu, 2 Dec 2021 20:41:23 +0000 (23:41 +0300)]
Do more aggressive pruning for some node types
This patch allows more aggressive futility/see based pruning for PV nodes with low delta and non-pv nodes.
Fixes some white space issues.
Passed STC
https://tests.stockfishchess.org/tests/view/
61a5ed33d16c530b5dcc27cc
LLR: 2.95 (-2.94,2.94) <0.00,2.50>
Total: 182088 W: 47121 L: 46584 D: 88383
Ptnml(0-2): 551, 20687, 48037, 21212, 557
Passed LTC
https://tests.stockfishchess.org/tests/view/
61a74dfdbd5c4360bcded0ac
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 87136 W: 22494 L: 22103 D: 42539
Ptnml(0-2): 38, 8918, 25272, 9295, 45
closes https://github.com/official-stockfish/Stockfish/pull/3828
closes https://github.com/official-stockfish/Stockfish/pull/3829
bench
4332259
Gian-Carlo Pascutto [Wed, 1 Dec 2021 22:36:14 +0000 (23:36 +0100)]
Add AVX-VNNI support for Alder Lake and later.
In their infinite wisdom, Intel axed AVX512 from Alder Lake
chips (well, not entirely, but we kind of want to use the Gracemont
cores for chess!) but still added VNNI support.
Confusingly enough, this is not the same as VNNI256 support.
This adds a specific AVX-VNNI target that will use this AVX-VNNI
mode, by prefixing the VNNI instructions with the appropriate VEX
prefix, and avoiding AVX512 usage.
This is about 1% faster on P cores:
Result of 20 runs
==================
base (./clang-bmi2 ) =
3306337 +/- 7519
test (./clang-vnni ) =
3344226 +/- 7388
diff = +37889 +/- 4153
speedup = +0.0115
P(speedup > 0) = 1.0000
But a nice 3% faster on E cores:
Result of 20 runs
==================
base (./clang-bmi2 ) =
1938054 +/- 28257
test (./clang-vnni ) =
1994606 +/- 31756
diff = +56552 +/- 3735
speedup = +0.0292
P(speedup > 0) = 1.0000
This was measured on Clang 13. GCC 11.2 appears to generate
worse code for Alder Lake, though the speedup on the E cores
is similar.
It is possible to run the engine specifically on the P or E using binding,
for example in linux it is possible to use (for an 8 P + 8 E setup like i9-12900K):
taskset -c 0-15 ./stockfish
taskset -c 16-23 ./stockfish
where the first call binds to the P-cores and the second to the E-cores.
closes https://github.com/official-stockfish/Stockfish/pull/3824
No functional change
Steinar H. Gunderson [Thu, 2 Dec 2021 19:02:52 +0000 (20:02 +0100)]
Fix whitespace issues.
Steinar H. Gunderson [Thu, 2 Dec 2021 19:01:42 +0000 (20:01 +0100)]
Merge remote-tracking branch 'upstream/master'
Steinar H. Gunderson [Thu, 2 Dec 2021 19:01:41 +0000 (20:01 +0100)]
Roll back unneeded tbprobe patches.
bmc4 [Mon, 29 Nov 2021 17:51:35 +0000 (14:51 -0300)]
Correctly reset bestMoveChanges
for searches not using time management (e.g. analysis, fixed node game play etc),
bestMoveChanges was not reset during search iterations. As LMR uses this quantity,
search was somewhat weaker.
Tested using fixed node playing games:
```
./c-chess-cli -each nodes=10000 option.Hash=16 -engine cmd=../Stockfish/src/fix -engine cmd=../Stockfish/src/master -concurrency 6 -openings file=../books/UHO_XXL_+0.90_+1.19.epd -games 10000
Score of Stockfish Fix vs Stockfish Master: 3187 - 3028 - 3785 [0.508] 10000
./c-chess-cli -each nodes=30000 option.Hash=16 -engine cmd=../Stockfish/src/fix -engine cmd=../Stockfish/src/master -concurrency 6 -openings file=../books/UHO_XXL_+0.90_+1.19.epd -games 10000
Score of Stockfish Fix vs Stockfish Master: 2946 - 2834 - 4220 [0.506] 10000
```
closes https://github.com/official-stockfish/Stockfish/pull/3818
bench:
5061979
bmc4 [Mon, 29 Nov 2021 12:30:07 +0000 (09:30 -0300)]
Simplify reduction on rootNode when bestMoveChanges is high
The reduction introduced in #3736 also consider on rootNode, so we don't have to reduce again.
STC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 28736 W: 7494 L: 7329 D: 13913
Ptnml(0-2): 95, 3247, 7503, 3444, 79
https://tests.stockfishchess.org/tests/view/
61a3abe01b7fdf52228e74d8
LTC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 47816 W: 12434 L: 12308 D: 23074
Ptnml(0-2): 37, 4972, 13755, 5116, 28
https://tests.stockfishchess.org/tests/view/
61a3c3e39f0c43dae1c71d71
closes https://github.com/official-stockfish/Stockfish/pull/3817
bench:
6331638
Michael Ortmann [Tue, 30 Nov 2021 20:01:34 +0000 (21:01 +0100)]
Fix typos in comments, adjust readme
closes https://github.com/official-stockfish/Stockfish/pull/3822
also adjusts readme as requested in https://github.com/official-stockfish/Stockfish/pull/3816
No functional change
hengyu [Fri, 26 Nov 2021 10:25:03 +0000 (18:25 +0800)]
Small clean-up
remove unneeded calculation.
closes https://github.com/official-stockfish/Stockfish/pull/3807
No functional change.
pb00067 [Fri, 26 Nov 2021 07:03:15 +0000 (08:03 +0100)]
Remove depth dependence and use same limit (2000) as stat_bonus
STC:
https://tests.stockfishchess.org/tests/view/
619df59dc0a4ea18ba95a424
LLR: 2.96 (-2.94,2.94) <-2.25,0.25>
Total: 83728 W: 21329 L: 21242 D: 41157
Ptnml(0-2): 297, 9669, 21847, 9752, 299
LTC:
https://tests.stockfishchess.org/tests/view/
619e64d7c0a4ea18ba95a475
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 79888 W: 20238 L: 20155 D: 39495
Ptnml(0-2): 57, 8391, 22980, 8444, 73
closes https://github.com/official-stockfish/Stockfish/pull/3806
bench:
6792010
noobpwnftw [Tue, 30 Nov 2021 01:22:07 +0000 (09:22 +0800)]
Enable compilation on older Windows systems
Improve compatibility of the last NUMA patch when running under older versions of Windows,
for instance Windows Server 2003. Reported by user "g3g6" in the following comments:
https://github.com/official-stockfish/Stockfish/commit/
7218ec4df9fef1146a451b71f0ed3bfd8123c9f9
Closes https://github.com/official-stockfish/Stockfish/pull/3821
No functional change
Joost VandeVondele [Sun, 28 Nov 2021 18:26:10 +0000 (19:26 +0100)]
Update default net to nn-
4f56ecfca5b7.nnue
New net trained with nnue-pytorch, started from a master net on a data set of Leela
(T60.binpack+T74.binpck) Stockfish data (wrongIsRight_nodes5000pv2.binpack), and
Michael Babigian's conversion of T60 Leela data (including TB7 rescoring) (farseer.binpack)
available as a single interleaved binpack:
https://drive.google.com/file/d/1_sQoWBl31WAxNXma2v45004CIVltytP8/view?usp=sharing
The nnue-pytorch branch used is https://github.com/vondele/nnue-pytorch/tree/wdl
passed STC:
https://tests.stockfishchess.org/tests/view/
61a3cc729f0c43dae1c71f1b
LLR: 2.95 (-2.94,2.94) <0.00,2.50>
Total: 49152 W: 12842 L: 12544 D: 23766
Ptnml(0-2): 154, 5542, 12904, 5804, 172
passed LTC:
https://tests.stockfishchess.org/tests/view/
61a43c6260afd064f2d724f1
LLR: 2.96 (-2.94,2.94) <0.50,3.00>
Total: 25528 W: 6676 L: 6425 D: 12427
Ptnml(0-2): 9, 2593, 7315, 2832, 15
closes https://github.com/official-stockfish/Stockfish/pull/3816
Bench:
6885242
Michael Chaly [Sun, 28 Nov 2021 12:19:18 +0000 (15:19 +0300)]
Refine futility pruning for parent nodes
This patch is a result of refining of tuning vondele did after
new net passed and some hand-made values adjustements - excluding
changes in other pruning heuristics and rounding value of history
divisor to the nearest power of 2.
With this patch futility pruning becomes more aggressive and
history influence on it is doubled again.
passed STC
https://tests.stockfishchess.org/tests/view/
61a2c4c1a26505c2278c150d
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 33848 W: 8841 L: 8574 D: 16433
Ptnml(0-2): 100, 3745, 8988, 3970, 121
passed LTC
https://tests.stockfishchess.org/tests/view/
61a327ffa26505c2278c26d9
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 22272 W: 5856 L: 5614 D: 10802
Ptnml(0-2): 12, 2230, 6412, 2468, 14
closes https://github.com/official-stockfish/Stockfish/pull/3814
bench
6302543
Michael Chaly [Sat, 27 Nov 2021 13:38:37 +0000 (16:38 +0300)]
Adjust usage of history in futility pruning
This patch refines
0ac8aca893dd2052f8433e0b4a3d65073266b00f that uses history heuristics in futility pruning.
Now it adds main history of the move to in and also increases effect by factor of 2.
passed STC
https://tests.stockfishchess.org/tests/view/
61a156829e83391467a2b2c9
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 68464 W: 17920 L: 17587 D: 32957
Ptnml(0-2): 239, 7711, 18025, 7992, 265
passed LTC
https://tests.stockfishchess.org/tests/view/
61a1bde99e83391467a2b305
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 26088 W: 6926 L: 6674 D: 12488
Ptnml(0-2): 18, 2619, 7531, 2845, 31
closes https://github.com/official-stockfish/Stockfish/pull/3812
bench
6804653
Joost VandeVondele [Fri, 26 Nov 2021 21:10:00 +0000 (22:10 +0100)]
Tune NNUE scaling params
passed STC:
https://tests.stockfishchess.org/tests/view/
61a156f89e83391467a2b2cc
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 22816 W: 5896 L: 5646 D: 11274
Ptnml(0-2): 55, 2567, 5961, 2723, 102
passed LTC:
https://tests.stockfishchess.org/tests/view/
61a1cf3d9e83391467a2b30b
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 17904 W: 4658 L: 4424 D: 8822
Ptnml(0-2): 6, 1821, 5079, 2025, 21
closes https://github.com/official-stockfish/Stockfish/pull/3811
Bench:
7218806
Joost VandeVondele [Wed, 24 Nov 2021 21:13:35 +0000 (22:13 +0100)]
Update default net to nn-
3678835b1d3d.nnue
New net trained with nnue-pytorch, started from the master net on a data set of Leela
(T60.binpack+T74.binpck) and Stockfish data (wrongIsRight_nodes5000pv2.binpack),
available as a single interleaved binpack:
https://drive.google.com/file/d/12uWZIA3F2cNbraAzQNb1jgf3tq_6HkTr/view?usp=sharing
The nnue-pytorch branch used is https://github.com/vondele/nnue-pytorch/tree/wdl, which
has the new feature to filter positions based on the likelihood of the current evaluation
leading to the game outcome. It should make it less likely to try to learn from
misevaluated positions. Standard options have been used, starting from the master net:
--gpus 1 --threads 4 --num-workers 4 --batch-size 16384 --progress_bar_refresh_rate 300
--smart-fen-skipping --random-fen-skipping 12 --features=HalfKAv2_hm^ --lambda=1.0
Testing with games shows neutral Elo at STC, and good performance at LTC:
STC:
https://tests.stockfishchess.org/tests/view/
619eb597c0a4ea18ba95a4dc
ELO: -0.44 +-1.8 (95%) LOS: 31.2%
Total: 40000 W: 10447 L: 10498 D: 19055
Ptnml(0-2): 254, 4576, 10260, 4787, 123
LTC:
https://tests.stockfishchess.org/tests/view/
619f6e87c0a4ea18ba95a53f
ELO: 3.30 +-1.8 (95%) LOS: 100.0%
Total: 33062 W: 8560 L: 8246 D: 16256
Ptnml(0-2): 54, 3358, 9352, 3754, 13
passed LTC SPRT:
https://tests.stockfishchess.org/tests/view/
61a0864e8967bbf894416e65
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 29376 W: 7663 L: 7396 D: 14317
Ptnml(0-2): 67, 3017, 8205, 3380, 19
closes https://github.com/official-stockfish/Stockfish/pull/3808
Bench:
7011501
Michael Chaly [Thu, 25 Nov 2021 17:55:52 +0000 (20:55 +0300)]
Use fraction of history heuristics in futility pruning
This idea is somewhat of a respin of smth we had in futility pruning and that was simplified away - dependence of it not only on static evaluation of position but also on move history heuristics.
Instead of aborting it when they are high there we use fraction of their sum to adjust static eval pruning criteria.
passed STC
https://tests.stockfishchess.org/tests/view/
619bd438c0a4ea18ba95a27d
LLR: 2.93 (-2.94,2.94) <0.00,2.50>
Total: 113704 W: 29284 L: 28870 D: 55550
Ptnml(0-2): 357, 12884, 30044, 13122, 445
passed LTC
https://tests.stockfishchess.org/tests/view/
619cb8f0c0a4ea18ba95a334
LLR: 2.96 (-2.94,2.94) <0.50,3.00>
Total: 147136 W: 37307 L: 36770 D: 73059
Ptnml(0-2): 107, 15279, 42265, 15804, 113
closes https://github.com/official-stockfish/Stockfish/pull/3805
bench
6777918
Stefan Geschwentner [Tue, 23 Nov 2021 19:40:32 +0000 (20:40 +0100)]
Less futility pruning.
Disable futility pruning at former PV nodes stored in the transposition table.
STC:
LLR: 2.96 (-2.94,2.94) <0.00,2.50>
Total: 102256 W: 25708 L: 25318 D: 51230
Ptnml(0-2): 276, 11511, 27168, 11893, 280
https://tests.stockfishchess.org/tests/view/
61990b3135c7c6348cb602db
LTC:
LLR: 2.96 (-2.94,2.94) <0.50,3.00>
Total: 183304 W: 46027 L: 45408 D: 91869
Ptnml(0-2): 96, 19029, 52778, 19658, 91
https://tests.stockfishchess.org/tests/view/
619a0d1b35c7c6348cb603bc
closes https://github.com/official-stockfish/Stockfish/pull/3804
Bench:
7334766
noobpwnftw [Sat, 20 Nov 2021 09:57:08 +0000 (17:57 +0800)]
Revert and fix earlier windows NUMA patch
revert https://github.com/official-stockfish/Stockfish/commit/
9048ac00db12a9ac48bff9b9eb145b30ff88d984 due to core spread problem and fix new OS compatibility with another method.
This code assumes that if one NUMA node has more than one processor groups, they are created equal(having equal amount of cores assigned to each of the groups), and also the total number of available cores contained in such groups are equal to the number of available cores within one NUMA node because of how best_node function works.
closes https://github.com/official-stockfish/Stockfish/pull/3798
fixes https://github.com/official-stockfish/Stockfish/pull/3787
No functional change.
Joost VandeVondele [Sun, 21 Nov 2021 19:57:12 +0000 (20:57 +0100)]
Remove appveyor CI
retire msvc support and corresponding CI. No active development happens on msvc,
and build is much slower or wrong.
gcc (mingw) is our toolchain of choice also on windows, and the latter is tested.
No functional change
Stéphane Nicolet [Fri, 19 Nov 2021 19:04:35 +0000 (20:04 +0100)]
Introduce Optimism
Current master implements a scaling of the raw NNUE output value with a formula
equivalent to 'eval = alpha * NNUE_output', where the scale factor alpha varies
between 1.8 (for early middle game) and 0.9 (for pure endgames). This feature
allows Stockfish to keep material on the board when she thinks she has the advantage,
and to seek exchanges and simplifications when she thinks she has to defend.
This patch slightly offsets the turning point between these two strategies, by adding
to Stockfish's evaluation a small "optimism" value before actually doing the scaling.
The effect is that SF will play a little bit more risky, trying to keep the tension a
little bit longer when she is defending, and keeping even more material on the board
when she has an advantage.
We note that this patch is similar in spirit to the old "Contempt" idea we used to have
in classical Stockfish, but this implementation differs in two key points:
a) it has been tested as an Elo-gainer against master;
b) the values output by the search are not changed on average by the implementation
(in other words, the optimism value changes the tension/exchange strategy, but a
displayed value of 1.0 pawn has the same signification before and after the patch).
See the old comment https://github.com/official-stockfish/Stockfish/pull/1361#issuecomment-
359165141
for some images illustrating the ideas.
-------
finished yellow at STC:
LLR: -2.94 (-2.94,2.94) <0.00,2.50>
Total: 165048 W: 41705 L: 41611 D: 81732
Ptnml(0-2): 565, 18959, 43245, 19327, 428
https://tests.stockfishchess.org/tests/view/
61942a3dcd645dc8291c876b
passed LTC:
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 121656 W: 30762 L: 30287 D: 60607
Ptnml(0-2): 87, 12558, 35032, 13095, 56
https://tests.stockfishchess.org/tests/view/
61962c58cd645dc8291c8877
-------
How to continue from there?
a) the shape (slope and amplitude) of the sigmoid used to compute the optimism value
could be tweaked to try to gain more Elo, so the parameters of the sigmoid function
in line 391 of search.cpp could be tuned with SPSA. Manual tweaking is also possible
using this Desmos page: https://www.desmos.com/calculator/jhh83sqq92
b) in a similar vein, with two recents patches affecting the scaling of the NNUE
evaluation in evaluate.cpp, now could be a good time to try a round of SPSA tuning
of the NNUE network;
c) this patch will tend to keep tension in middlegame a little bit longer, so any
patch improving the defensive aspect of play via search extensions in risky,
tactical positions would be welcome.
-------
closes https://github.com/official-stockfish/Stockfish/pull/3797
Bench:
6184852
Michael Chaly [Sun, 14 Nov 2021 18:35:00 +0000 (21:35 +0300)]
Simplify Pv nodes related logic in LMR
Instead of having 2 separate conditions for Pv nodes reductions we can actually write them together. Despite it's not being strictly logically the same bench actually doesn't change up to depth 20, so them interacting is really rare and thus it's just a removal of extra PvNode check most of the time.
passed STC:
https://tests.stockfishchess.org/tests/view/
618ce27cd7a085ad008ef4e9
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 37488 W: 9424 L: 9279 D: 18785
Ptnml(0-2): 90, 3903, 10634, 4006, 111
passed LTC:
https://tests.stockfishchess.org/tests/view/
618d2585d7a085ad008ef527
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 49968 W: 12449 L: 12331 D: 25188
Ptnml(0-2): 27, 4745, 15309, 4889, 14
closes https://github.com/official-stockfish/Stockfish/pull/3792
Bench:
6339548
noobpwnftw [Fri, 12 Nov 2021 22:38:52 +0000 (06:38 +0800)]
Fix processor group binding under Windows.
Starting with Windows Build 20348 the behavior of the numa API has been changed:
https://docs.microsoft.com/en-us/windows/win32/procthread/numa-support
Old code only worked because there was probably a limit on how many
cores/threads can reside within one NUMA node, and the OS creates extra NUMA
nodes when necessary, however the actual mechanism of core binding is
done by "Processor Groups"(https://docs.microsoft.com/en-us/windows/win32/procthread/processor-groups). With a newer OS, one NUMA node can have many
such "Processor Groups" and we should just consistently use the number
of groups to bind the threads instead of deriving the topology from
the number of NUMA nodes.
This change is required to spread threads on all cores on Windows 11 with
a 3990X CPU. It has only 1 NUMA node with 2 groups of 64 threads each.
closes https://github.com/official-stockfish/Stockfish/pull/3787
No functional change.
Joost VandeVondele [Sun, 7 Nov 2021 13:42:46 +0000 (14:42 +0100)]
Tune a few NNUE related scaling parameters
passed STC
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 102480 W: 26099 L: 25708 D: 50673
Ptnml(0-2): 282, 11637, 27003, 12044, 274
https://tests.stockfishchess.org/tests/view/
618820e3d7a085ad008ef1dd
passed LTC
LLR: 2.93 (-2.94,2.94) <0.50,3.00>
Total: 165512 W: 41689 L: 41112 D: 82711
Ptnml(0-2): 82, 17255, 47510, 17822, 87
https://tests.stockfishchess.org/tests/view/
6188b470d7a085ad008ef239
closes https://github.com/official-stockfish/Stockfish/pull/3784
Bench:
6339548
bmc4 [Mon, 8 Nov 2021 11:46:43 +0000 (08:46 -0300)]
Simplify away the Reverse Move penalty
This simplifies the penalty for reverse move introduced in
https://github.com/official-stockfish/Stockfish/pull/2294 .
STC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 81696 W: 20627 L: 20540 D: 40529
Ptnml(0-2): 221, 9390, 21559, 9437, 241
https://tests.stockfishchess.org/tests/view/
618810acd7a085ad008ef1cc
LTC:
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 44136 W: 11021 L: 10890 D: 22225
Ptnml(0-2): 28, 4570, 12746, 4691, 33
https://tests.stockfishchess.org/tests/view/
61885686d7a085ad008ef20b
closes https://github.com/official-stockfish/Stockfish/pull/3781
bench:
6547978
Joost VandeVondele [Sun, 7 Nov 2021 10:01:03 +0000 (11:01 +0100)]
Reduce use of lazyEval
In case the evaluation at root is large, discourage the use of lazyEval.
This fixes https://github.com/official-stockfish/Stockfish/issues/3772
or at least improves it significantly. In this case, poor play with large
odds can be observed, in extreme cases leading to a loss despite large
advantage:
r1bq1b1r/ppp3p1/3p1nkp/n3p3/2B1P2N/2NPB3/PPP2PPP/R3K2R b KQ - 5 9
With this patch the poor move is only considered up to depth 13, in master
up to depth 28.
The patch did not pass at LTC with Elo gainer bounds, but with slightly
positive Elo nevertheless (95% LOS).
STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 40368 W: 10318 L: 10041 D: 20009
Ptnml(0-2): 103, 4493, 10725, 4750, 113
https://tests.stockfishchess.org/tests/view/
61800ad259e71df00dcc420d
LTC:
LLR: -2.94 (-2.94,2.94) <0.50,3.00>
Total: 212288 W: 52997 L: 52692 D: 106599
Ptnml(0-2): 112, 22038, 61549, 22323, 122
https://tests.stockfishchess.org/tests/view/
618050d959e71df00dcc426d
closes https://github.com/official-stockfish/Stockfish/pull/3780
Bench:
7127040
Stefan Geschwentner [Fri, 5 Nov 2021 12:49:28 +0000 (13:49 +0100)]
Tweak initial aspiration window.
Maintain for each root move an exponential average of the search value with a weight ratio of 2:1 (new value vs old values). Then the average score is used as the center of the initial aspiration window instead of the previous score.
Stats indicate (see PR) that the deviation for previous score is in general greater than using average score, so later seems a better estimation of the next search value. This is probably the reason this patch succeded besides smoothing the sometimes wild swings in search score. An additional observation is that at higher depth previous score is above but average score below zero. So for average score more/less fail/low highs should be occur than previous score.
STC:
LLR: 2.97 (-2.94,2.94) <0.00,2.50>
Total: 59792 W: 15106 L: 14792 D: 29894
Ptnml(0-2): 144, 6718, 15869, 7010, 155
https://tests.stockfishchess.org/tests/view/
61841612d7a085ad008eef06
LTC:
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 46448 W: 11835 L: 11537 D: 23076
Ptnml(0-2): 21, 4756, 13374, 5050, 23
https://tests.stockfishchess.org/tests/view/
618463abd7a085ad008eef3e
closes https://github.com/official-stockfish/Stockfish/pull/3776
Bench:
6719976
Joost VandeVondele [Mon, 1 Nov 2021 07:40:33 +0000 (08:40 +0100)]
do not store qsearch positions in TT as exact.
in qsearch don't store positions in TT with the exact flag.
passed STC:
https://tests.stockfishchess.org/tests/view/
617f9a29af49befdeee40231
LLR: 2.95 (-2.94,2.94) <-2.25,0.25>
Total: 155568 W: 39003 L: 39022 D: 77543
Ptnml(0-2): 403, 17854, 41305, 17803, 419
passed LTC:
https://tests.stockfishchess.org/tests/view/
6180d47259e71df00dcc42a5
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 79640 W: 19993 L: 19910 D: 39737
Ptnml(0-2): 37, 8356, 22957, 8427, 43
closes https://github.com/official-stockfish/Stockfish/pull/3775
Bench:
7531210
Michael Chaly [Thu, 4 Nov 2021 15:35:01 +0000 (18:35 +0300)]
Do more reductions at Pv nodes with low delta
This patch increases reduction for PvNodes that have their delta (difference between beta and alpha) significantly reduced compared to what it was at root.
passed STC
https://tests.stockfishchess.org/tests/view/
617f9063af49befdeee40226
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 220840 W: 55752 L: 55150 D: 109938
Ptnml(0-2): 583, 24982, 58712, 25536, 607
passed LTC
https://tests.stockfishchess.org/tests/view/
61815de959e71df00dcc42ed
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 79000 W: 19937 L: 19562 D: 39501
Ptnml(0-2): 36, 8190, 22674, 8563, 37
closes https://github.com/official-stockfish/Stockfish/pull/3774
bench:
6717808
lonfom169 [Wed, 27 Oct 2021 21:08:24 +0000 (18:08 -0300)]
More futility pruning
Expand maximum allowed eval by 50% in futility pruning, above the VALUE_KNOWN_WIN.
STC:
LLR: 2.95 (-2.94,2.94) <-0.50,2.50>
Total: 128208 W: 32534 L: 32192 D: 63482
Ptnml(0-2): 298, 13484, 36216, 13790, 316
https://tests.stockfishchess.org/tests/view/
6179c069a9b1d8fbcc4ee716
LTC:
LLR: 2.96 (-2.94,2.94) <0.50,3.50>
Total: 89816 W: 22645 L: 22265 D: 44906
Ptnml(0-2): 41, 8404, 27650, 8760, 53
https://tests.stockfishchess.org/tests/view/
617ad728f411ea45cc39f895
closes https://github.com/official-stockfish/Stockfish/pull/3767
bench:
6804175
Joost VandeVondele [Mon, 1 Nov 2021 05:28:37 +0000 (06:28 +0100)]
Restore development version
No functional change
xefoci7612 [Sun, 10 Oct 2021 12:03:51 +0000 (14:03 +0200)]
Simplify Skill implementation
Currently we handle the UCI_Elo with a double randomization. This
seems not necessary and a bit involuted.
This patch removes the first randomization and unifies the 2 cases.
closes https://github.com/official-stockfish/Stockfish/pull/3769
No functional change.
Michel Van den Bergh [Sun, 31 Oct 2021 18:35:30 +0000 (19:35 +0100)]
Do not output to stderr during the build.
To help with debugging, the worker sends the output of
stderr (suitable truncated) to the action log on the
server, in case a build fails. For this to work it is
important that there is no spurious output to stderr.
closes https://github.com/official-stockfish/Stockfish/pull/3773
No functional change
Stefan Geschwentner [Sun, 31 Oct 2021 11:09:40 +0000 (12:09 +0100)]
Do more deeper LMR searches.
At expected cut nodes allow at least one ply deeper LMR search for the first seventh moves.
STC:
LLR: 2.93 (-2.94,2.94) <-0.50,2.50>
Total: 42880 W: 10964 L: 10738 D: 21178
Ptnml(0-2): 105, 4565, 11883, 4773, 114
https://tests.stockfishchess.org/tests/view/
6179abd7a9b1d8fbcc4ee6f4
LTC:
LLR: 2.93 (-2.94,2.94) <0.50,3.50>
Total: 66872 W: 16930 L: 16603 D: 33339
Ptnml(0-2): 36, 6509, 20024, 6826, 41
https://tests.stockfishchess.org/tests/view/
617a30fb2fbca9ca65972b5e
closes https://github.com/official-stockfish/Stockfish/pull/3770
Bench:
6295536
Joost VandeVondele [Fri, 29 Oct 2021 15:45:09 +0000 (17:45 +0200)]
Widen the aspiration window for larger evals
passed STC
LLR: 2.93 (-2.94,2.94) <-0.50,2.50>
Total: 36840 W: 9359 L: 9134 D: 18347
Ptnml(0-2): 111, 4130, 9722, 4337, 120
https://tests.stockfishchess.org/tests/view/
617c601301c6d0988731d10a
passed LTC
LLR: 2.98 (-2.94,2.94) <0.50,3.50>
Total: 64824 W: 16377 L: 16043 D: 32404
Ptnml(0-2): 27, 6712, 18618, 7010, 45
https://tests.stockfishchess.org/tests/view/
617c720d01c6d0988731d114
closes https://github.com/official-stockfish/Stockfish/pull/3768
Bench:
7683058
Joost VandeVondele [Wed, 27 Oct 2021 18:14:41 +0000 (20:14 +0200)]
Stockfish 14.1
Official release version of Stockfish 14.1
Bench:
6334068
---
Today, we have the pleasure to announce Stockfish 14.1.
As usual, downloads will be freely available at stockfishchess.org/download [1].
With Stockfish 14.1 our users get access to the strongest chess engine
available today. In the period leading up to this release, Stockfish
convincingly won several chess engine tournaments, including the TCEC 21
superfinal, the TCEC Cup 9, and the Computer Chess Championship for
Fischer Random Chess (Chess960). In the latter tournament, Stockfish
was undefeated in 599 out of 600 games played.
Compared to Stockfish 14, this release introduces a more advanced NNUE
architecture and various search improvements. In self play testing, using
a book of balanced openings, Stockfish 14.1 wins three times more game
pairs than it loses [2]. At this high level, draws are very common, so the
Elo difference to Stockfish 14 is about 17 Elo. The NNUE evaluation method,
introduced to top level chess with Stockfish 12 about one year ago [3],
has now been adopted by several other strong CPU based chess engines.
The Stockfish project builds on a thriving community of enthusiasts
(thanks everybody!) that contribute their expertise, time, and resources
to build a free and open-source chess engine that is robust,
widely available, and very strong. We invite our chess fans to join the
fishtest testing framework and programmers to contribute to the project [4].
Stay safe and enjoy chess!
The Stockfish team
[1] https://stockfishchess.org/download/
[2] https://tests.stockfishchess.org/tests/view/
6175c320af70c2be1788fa2b
[3] https://github.com/official-stockfish/Stockfish/discussions/3628
[4] https://stockfishchess.org/get-involved/
mstembera [Sat, 23 Oct 2021 03:01:05 +0000 (20:01 -0700)]
Fix sometimes incorrect key for prefetches
STC
https://tests.stockfishchess.org/tests/view/
61737b4f6ce927be32558401
LLR: 2.95 (-2.94,2.94) <-2.50,0.50>
Total: 138712 W: 34914 L: 34942 D: 68856
Ptnml(0-2): 421, 14817, 38894, 14817, 407
Very minor tweak since Position::key() depends on the 50 move rule counter.
Comments: https://github.com/mstembera/Stockfish/commit/
cddde31eed505cdf0c4fc8ff96b89f6e39c797e1
closes https://github.com/official-stockfish/Stockfish/pull/3759
No functional change
Joost VandeVondele [Sat, 23 Oct 2021 13:02:59 +0000 (15:02 +0200)]
Adjust ButterflyHistory decay parameter
passed STC:
LLR: 2.98 (-2.94,2.94) <-0.50,2.50>
Total: 26680 W: 6807 L: 6593 D: 13280
Ptnml(0-2): 73, 3007, 6989, 3175, 96
https://tests.stockfishchess.org/tests/view/
6174094e6ce927be32558441
passed LTC:
LLR: 2.98 (-2.94,2.94) <0.50,3.50>
Total: 21104 W: 5403 L: 5185 D: 10516
Ptnml(0-2): 8, 2160, 6001, 2372, 11
https://tests.stockfishchess.org/tests/view/
61744927351812fe5f969864
closes https://github.com/official-stockfish/Stockfish/pull/3761
Bench:
6334068
Stefan Geschwentner [Sun, 24 Oct 2021 14:07:00 +0000 (16:07 +0200)]
Double extend search even more via LMR
Allow now for the first five moves a two plies deeper LMR search.
STC:
LLR: 2.96 (-2.94,2.94) <-2.50,0.50>
Total: 99608 W: 25143 L: 25115 D: 49350
Ptnml(0-2): 291, 11444, 26328, 11428, 313
https://tests.stockfishchess.org/tests/view/
61718c9438cb9784038af8d7
LTC:
LLR: 2.95 (-2.94,2.94) <-2.50,0.50>
Total: 52064 W: 13234 L: 13145 D: 25685
Ptnml(0-2): 35, 5431, 15014, 5514, 38
https://tests.stockfishchess.org/tests/view/
6171e13e38cb9784038af928
closes https://github.com/official-stockfish/Stockfish/pull/3760
Bench:
7222293
bmc4 [Sat, 23 Oct 2021 12:22:41 +0000 (09:22 -0300)]
Simplify LMR multiThread condition
STC (8 threads):
LLR: 2.95 (-2.94,2.94) <-2.50,0.50>
Total: 110584 W: 27818 L: 27807 D: 54959
Ptnml(0-2): 156, 12089, 30791, 12100, 156
https://tests.stockfishchess.org/tests/view/
6172ef436ce927be325583a9
LTC (8 threads):
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 23632 W: 6025 L: 5903 D: 11704
Ptnml(0-2): 5, 2292, 7100, 2414, 5
https://tests.stockfishchess.org/tests/view/
6173cf096ce927be32558412
closes https://github.com/official-stockfish/Stockfish/pull/3757
No functional change (in the single-threaded case)
Bench:
6689428
FauziAkram [Fri, 22 Oct 2021 00:04:28 +0000 (03:04 +0300)]
Tuning of a Null Move Parameter
STC:
LLR: 2.99 (-2.94,2.94) <-0.50,2.50>
Total: 78744 W: 19956 L: 19664 D: 39124
Ptnml(0-2): 259, 9005, 20573, 9255, 280
https://tests.stockfishchess.org/tests/view/
6172017a38cb9784038af947
LTC:
LLR: 2.95 (-2.94,2.94) <0.50,3.50>
Total: 68528 W: 17309 L: 16964 D: 34255
Ptnml(0-2): 41, 7194, 19455, 7527, 47
https://tests.stockfishchess.org/tests/view/
6172994d38cb9784038af983
closes https://github.com/official-stockfish/Stockfish/pull/3756
bench:
6689428
bmc4 [Fri, 22 Oct 2021 13:35:42 +0000 (10:35 -0300)]
Increase TTdepth acceptance some Threads
Increase TTdepth acceptance only on half of the Threads
STC:
LLR: 2.96 (-2.94,2.94) <-0.50,2.50>
Total: 19272 W: 4956 L: 4766 D: 9550
Ptnml(0-2): 25, 1989, 5423, 2169, 30
https://tests.stockfishchess.org/tests/view/
6172be6238cb9784038af9a7
LTC:
LLR: 2.93 (-2.94,2.94) <0.50,3.50>
Total: 23688 W: 6111 L: 5897 D: 11680
Ptnml(0-2): 2, 2275, 7081, 2479, 7
https://tests.stockfishchess.org/tests/view/
6172e32938cb9784038af9c7
closes https://github.com/official-stockfish/Stockfish/pull/3754
No functional change in the single-threaded case
Stefano Cardanobile [Tue, 19 Oct 2021 20:03:26 +0000 (22:03 +0200)]
Rewrite NNUE evaluation adjustments
Make the eval code in the evaluate_nnue.cpp more similar to the rest of the codebase:
* remove multiple variable assignment
* make if conditions explicit and indent on multiple lines
passed STC
LLR: 2.93 (-2.94,2.94) <-2.50,0.50>
Total: 59032 W: 14834 L: 14751 D: 29447
Ptnml(0-2): 176, 6310, 16459, 6397, 174
https://tests.stockfishchess.org/tests/view/
616f250540f619782fd4f76d
closes https://github.com/official-stockfish/Stockfish/pull/3753
No functional change
mstembera [Tue, 19 Oct 2021 17:49:02 +0000 (10:49 -0700)]
Simplify away ValueListInserter
plus minor cleanups
STC: https://tests.stockfishchess.org/tests/view/
616f059b40f619782fd4f73f
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 84992 W: 21244 L: 21197 D: 42551
Ptnml(0-2): 279, 9005, 23868, 9078, 266
closes https://github.com/official-stockfish/Stockfish/pull/3749
No functional change
Stefan Geschwentner [Thu, 21 Oct 2021 07:39:28 +0000 (09:39 +0200)]
Double extend more often via LMR
Allow for first three moves always a two plies deeper LMR search.
STC:
LLR: 2.96 (-2.94,2.94) <-2.50,0.50>
Total: 206096 W: 51966 L: 52093 D: 102037
Ptnml(0-2): 664, 23817, 54293, 23530, 744
https://tests.stockfishchess.org/tests/view/
616f197d40f619782fd4f75a
LTC:
LLR: 2.93 (-2.94,2.94) <-2.50,0.50>
Total: 62384 W: 15567 L: 15492 D: 31325
Ptnml(0-2): 40, 6633, 17777, 6696, 46
https://tests.stockfishchess.org/tests/view/
616ffa1b4f0b65a0e231e682
closes https://github.com/official-stockfish/Stockfish/pull/3752
Bench:
6154836
bmc4 [Wed, 20 Oct 2021 13:37:20 +0000 (10:37 -0300)]
Simplify null move search condition
Remove `ss->ttPv` condition on null move search condition
STC:
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 80832 W: 20276 L: 20221 D: 40335
Ptnml(0-2): 267, 9335, 21168, 9368, 278
https://tests.stockfishchess.org/tests/view/
616ed4a0942d40685e3237c6
LTC:
LLR: 2.95 (-2.94,2.94) <-2.50,0.50>
Total: 54184 W: 13464 L: 13377 D: 27343
Ptnml(0-2): 37, 5758, 15435, 5805, 57
https://tests.stockfishchess.org/tests/view/
616ef71f40f619782fd4f72d
closes https://github.com/official-stockfish/Stockfish/pull/3750
bench:
6201607
bmc4 [Tue, 19 Oct 2021 18:44:08 +0000 (15:44 -0300)]
Adjust TTdepth acceptance on early cutoff
STC:
LLR: 2.94 (-2.94,2.94) <-0.50,2.50>
Total: 63784 W: 16185 L: 15917 D: 31682
Ptnml(0-2): 231, 7309, 16531, 7603, 218
https://tests.stockfishchess.org/tests/view/
616ed03a942d40685e3237c0
LTC:
LLR: 2.93 (-2.94,2.94) <0.50,3.50>
Total: 12728 W: 3268 L: 3072 D: 6388
Ptnml(0-2): 8, 1298, 3563, 1480, 15
https://tests.stockfishchess.org/tests/view/
616ef156942d40685e32380a
closes https://github.com/official-stockfish/Stockfish/pull/3748
bench:
7050445
bmc4 [Tue, 19 Oct 2021 12:23:30 +0000 (09:23 -0300)]
Simplify evaluate condition on search
Remove condition for MOVE_NULL on search.
STC:
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 47544 W: 11968 L: 11864 D: 23712
Ptnml(0-2): 150, 5535, 12318, 5599, 170
https://tests.stockfishchess.org/tests/view/
616e37143799eb91f1f071ee
LTC:
LLR: 2.93 (-2.94,2.94) <-2.50,0.50>
Total: 67472 W: 16938 L: 16870 D: 33664
Ptnml(0-2): 49, 7119, 19331, 7189, 48
https://tests.stockfishchess.org/tests/view/
616e3fab3799eb91f1f071f1
closes https://github.com/official-stockfish/Stockfish/pull/3746
bench:
5255771
bmc4 [Mon, 18 Oct 2021 12:03:12 +0000 (09:03 -0300)]
Simplify probCutCount away
Simplify away the limitation in number of moves in probCut.
STC:
LLR: 2.96 (-2.94,2.94) <-2.50,0.50>
Total: 286768 W: 71888 L: 72133 D: 142747
Ptnml(0-2): 983, 33084, 75471, 32887, 959
https://tests.stockfishchess.org/tests/view/
616c9b9b90e1312a3cd0ef0a
LTC:
LLR: 2.95 (-2.94,2.94) <-2.50,0.50>
Total: 69312 W: 17243 L: 17176 D: 34893
Ptnml(0-2): 42, 7452, 19614, 7493, 55
https://tests.stockfishchess.org/tests/view/
616cebbf4f95b438f7a85f93
closes https://github.com/official-stockfish/Stockfish/pull/3745
bench:
5005810
Stefano Cardanobile [Sun, 17 Oct 2021 17:01:45 +0000 (19:01 +0200)]
Reformat Eval::evaluate()
Non functional simplification: the goal of this patch is to make
the style in the evaluate() function similar to the rest of the code.
passed STC:
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 95608 W: 24058 L: 24026 D: 47524
Ptnml(0-2): 292, 10379, 26396, 10479, 258
https://tests.stockfishchess.org/tests/view/
616c64fd99b580bf37797e4f
closes https://github.com/official-stockfish/Stockfish/pull/3744
Non-functional change
Stéphane Nicolet [Sun, 17 Oct 2021 11:06:33 +0000 (13:06 +0200)]
Remove noLMRExtension flag
This simplification patch removes the noLMRExtension flag. It was introduced in June
(see following link for that commit), but does not seem to be necessary anymore.
Link: https://github.com/official-stockfish/Stockfish/commit/e1f181ee643dcaa92c606b74b3abd23dede136cd
STC:
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 21200 W: 5369 L: 5228 D: 10603
Ptnml(0-2): 67, 2355, 5616, 2494, 68
https://tests.stockfishchess.org/tests/view/
616c03d299b580bf37797dcb
LTC:
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 37536 W: 9387 L: 9278 D: 18871
Ptnml(0-2): 23, 3988, 10643, 4085, 29
https://tests.stockfishchess.org/tests/view/
616c10f499b580bf37797ddd
closes https://github.com/official-stockfish/Stockfish/pull/3743
Bench:
4792969
Stéphane Nicolet [Sun, 17 Oct 2021 09:56:35 +0000 (11:56 +0200)]
Allow some LMR double extensions
Allow some LMR double extensions for the second and third sons of each node.
STC:
LLR: 2.94 (-2.94,2.94) <-0.50,2.50>
Total: 170320 W: 42608 L: 42187 D: 85525
Ptnml(0-2): 516, 19635, 44422, 20086, 501
https://tests.stockfishchess.org/tests/view/
616a9e3899b580bf37797cf4
LTC:
LLR: 2.93 (-2.94,2.94) <0.50,3.50>
Total: 74400 W: 18783 L: 18423 D: 37194
Ptnml(0-2): 46, 7812, 21129, 8162, 51
https://tests.stockfishchess.org/tests/view/
616b378499b580bf37797d61
closes https://github.com/official-stockfish/Stockfish/pull/3742
Bench:
4877152
Stefano Cardanobile [Thu, 14 Oct 2021 20:26:42 +0000 (22:26 +0200)]
Smooth improving
Smooth dependency on improvement margin in null move search.
STC
LLR: 2.93 (-2.94,2.94) <-0.50,2.50>
Total: 17384 W: 4468 L: 4272 D: 8644
Ptnml(0-2): 42, 1919, 4592, 2079, 60
https://tests.stockfishchess.org/tests/view/
61689b8a1e5f6627cc1c0fdc
LTC
LLR: 2.94 (-2.94,2.94) <0.50,3.50>
Total: 45648 W: 11525 L: 11243 D: 22880
Ptnml(0-2): 26, 4731, 13036, 4997, 34
https://tests.stockfishchess.org/tests/view/
6168a12c1e5f6627cc1c0fe3
It would be interesting to test if the other pruning/reduction heuristics
in master which are using the improving variable (ie the sign of improvement)
could benefit from a smooth function of the improvement value (or maybe a
Relu of the improvement value).
closes https://github.com/official-stockfish/Stockfish/pull/3740
Bench:
4916775
Joost VandeVondele [Wed, 6 Oct 2021 17:16:02 +0000 (19:16 +0200)]
Compute ttCapture earlier
Compute ttCapture earlier, and reuse.
passed STC:
LLR: 2.93 (-2.94,2.94) <-2.50,0.50>
Total: 74128 W: 18640 L: 18578 D: 36910
Ptnml(0-2): 224, 7970, 20649, 7962, 259
https://tests.stockfishchess.org/tests/view/
615dd9fa1a32f4036ac7fc4d
closes https://github.com/official-stockfish/Stockfish/pull/3734
No functional change
bmc4 [Thu, 14 Oct 2021 03:44:46 +0000 (00:44 -0300)]
Simplify ttHitAverage away
Simplify ttHitAverage away, which was introduced in the following commit:
[here](https://github.com/BM123499/Stockfish/commit/
fe124896b241b4791454fd151da10101ad48f6d7)
A few tweaks with Elo gaining bounds have been tried to keep the code,
but they all failed:
https://tests.stockfishchess.org/tests/view/
61656f7683dd501a05b0b292
https://tests.stockfishchess.org/tests/view/
6165c0ca83dd501a05b0b2ca
https://tests.stockfishchess.org/tests/view/
6165bf9683dd501a05b0b2c8
https://tests.stockfishchess.org/tests/view/
6165719483dd501a05b0b29b
https://tests.stockfishchess.org/tests/view/
6166c7fd83dd501a05b0b353
https://tests.stockfishchess.org/tests/view/
6166c63b83dd501a05b0b350
STC:
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 58504 W: 14781 L: 14694 D: 29029
Ptnml(0-2): 175, 6718, 15426, 6711, 222
https://tests.stockfishchess.org/tests/view/
6165112c83dd501a05b0b257
LTC:
LLR: 2.96 (-2.94,2.94) <-2.50,0.50>
Total: 33480 W: 8448 L: 8332 D: 16700
Ptnml(0-2): 21, 3569, 9447, 3679, 24
https://tests.stockfishchess.org/tests/view/
61656fcf83dd501a05b0b294
change https://github.com/official-stockfish/Stockfish/pull/3739
bench:
4540339
Joseph Ellis [Wed, 13 Oct 2021 16:10:50 +0000 (11:10 -0500)]
Simplify multi-cut condition
Now that the multi-cut condition is safer, we can avoid the cost of the sub-search.
STC:
https://tests.stockfishchess.org/tests/view/
6165fd9283dd501a05b0b2fe
LLR: 2.93 (-2.94,2.94) <-2.50,0.50>
Total: 18648 W: 4745 L: 4600 D: 9303
Ptnml(0-2): 47, 2111, 4887, 2208, 71
LTC:
https://tests.stockfishchess.org/tests/view/
616629ea83dd501a05b0b320
LLR: 2.96 (-2.94,2.94) <-2.50,0.50>
Total: 41704 W: 10407 L: 10302 D: 20995
Ptnml(0-2): 35, 4425, 11823, 4538, 31
closes https://github.com/official-stockfish/Stockfish/pull/3738
Bench:
5905086
Michael Chaly [Fri, 8 Oct 2021 23:15:43 +0000 (02:15 +0300)]
Reduce more if multiple moves exceed alpha
Idea of this patch is the following: in case we already have four moves that
exceeded alpha in the current node, the probability of finding fifth should
be reasonably low. Note that four is completely arbitrary - there could and
probably should be some tweaks, both in tweaking best move count threshold
for more reductions and tweaking how they work - for example making more
reductions with best move count linearly.
passed STC:
https://tests.stockfishchess.org/tests/view/
615f614783dd501a05b0aee2
LLR: 2.94 (-2.94,2.94) <-0.50,2.50>
Total: 141816 W: 36056 L: 35686 D: 70074
Ptnml(0-2): 499, 15131, 39273, 15511, 494
passed LTC:
https://tests.stockfishchess.org/tests/view/
615fdff683dd501a05b0af35
LLR: 2.94 (-2.94,2.94) <0.50,3.50>
Total: 68536 W: 17221 L: 16891 D: 34424
Ptnml(0-2): 38, 6573, 20725, 6885, 47
closes https://github.com/official-stockfish/Stockfish/pull/3736
Bench:
6131513
xoto10 [Thu, 27 May 2021 15:04:47 +0000 (16:04 +0100)]
Small clean-up, Sept 2021
Closes https://github.com/official-stockfish/Stockfish/pull/3485
No functional change
Stéphane Nicolet [Mon, 4 Oct 2021 18:37:26 +0000 (20:37 +0200)]
Capping stat bonus at 2000
This patch updates the stat_bonus() function (used in the history tables to
help move ordering), keeping the same quadratic for small depths but changing
the values for depth >= 9:
The old bonus formula was increasing from zero at depth 1 to 4100 at depth 14,
then used the strange, small value of 73 for all depths >= 15.
The new bonus formula increases from 0 at depth 1 to 2000 at depth 8, then
keeps 2000 for all depths >= 8.
passed STC:
LLR: 2.94 (-2.94,2.94) <-0.50,2.50>
Total: 169624 W: 42875 L: 42454 D: 84295
Ptnml(0-2): 585, 19340, 44557, 19729, 601
https://tests.stockfishchess.org/tests/view/
615bd69e9d256038a969b97c
passed LTC:
LLR: 3.07 (-2.94,2.94) <0.50,3.50>
Total: 37336 W: 9456 L: 9191 D: 18689
Ptnml(0-2): 20, 3810, 10747, 4067, 24
https://tests.stockfishchess.org/tests/view/
615c75d99d256038a969b9b2
closes https://github.com/official-stockfish/Stockfish/pull/3731
Bench:
6261865