Shawn Xu
985b9fd7b0
Remove Killer Heuristic In Move Ordering
...
Passed Non-regression STC:
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 80480 W: 20979 L: 20802 D: 38699
Ptnml(0-2): 279, 9610, 20337, 9683, 331
https://tests.stockfishchess.org/tests/view/669c12c14ff211be9d4ec69b
Passed Non-regression LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 77988 W: 19788 L: 19624 D: 38576
Ptnml(0-2): 66, 8605, 21481, 8783, 59
https://tests.stockfishchess.org/tests/view/669d628a4ff211be9d4ec7a8
closes https://github.com/official-stockfish/Stockfish/pull/5511
bench 1367740
2024-07-23 19:24:00 +02:00
Linmiao Xu
1e2f051103
Replace simple eval with psqt in re-eval condition
...
As a result, re-eval depends only on smallnet outputs
so an extra call to simple eval can be removed.
Passed non-regression STC:
https://tests.stockfishchess.org/tests/view/669743054ff211be9d4ec232
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 214912 W: 55801 L: 55777 D: 103334
Ptnml(0-2): 746, 24597, 56760, 24593, 760
https://github.com/official-stockfish/Stockfish/pull/5501
Bench: 1440277
2024-07-23 19:24:00 +02:00
Shahin M. Shahin
bb4b01e306
Fix TB guard
...
even if beta is below TB range, once we return probcutBeta with beta + 390 we
can return wrong TB value, and guard against ttData.value being `VALUE_NONE`
closes https://github.com/official-stockfish/Stockfish/pull/5499
bench: 1440277
2024-07-23 19:24:00 +02:00
FauziAkram
986173264f
Adding LowestElo and HighestElo constants
...
These values represent the lowest Elo rating in the skill level calculation,
and the highest one, but it's not clear from the code where these values come
from other than the comment. This should improve code readability and
maintainability. It makes the purpose of the values clear and allows for easy
modification if the Elo range for skill level calculation changes in the
future. Moved the Skill struct definition from search.cpp to search.h header
file to define the Search::Skill struct, making it accessible from other files.
closes https://github.com/official-stockfish/Stockfish/pull/5508
No functional change
2024-07-23 19:23:57 +02:00
FauziAkram
a2ba3e3362
Bonus Simplification
...
This tune removes completely a recently added term.
Passed STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 61376 W: 16046 L: 15693 D: 29637
Ptnml(0-2): 207, 7132, 15665, 7469, 215
https://tests.stockfishchess.org/tests/view/669512b94ff211be9d4ebffb
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 100662 W: 25474 L: 25020 D: 50168
Ptnml(0-2): 64, 11092, 27581, 11514, 80
https://tests.stockfishchess.org/tests/view/66955f194ff211be9d4ec06a
Passed LTC#2:
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 28056 W: 7128 L: 6909 D: 14019
Ptnml(0-2): 18, 3084, 7620, 3273, 33
https://tests.stockfishchess.org/tests/view/669a541a4ff211be9d4ec52b
closes https://github.com/official-stockfish/Stockfish/pull/5502
bench: 1619438
2024-07-23 18:01:14 +02:00
Dubslow
703f17975b
Remove QS_CHECKS movepick stage
...
Passed STC: https://tests.stockfishchess.org/tests/view/669597cf4ff211be9d4ec147
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 199072 W: 52100 L: 52058 D: 94914
Ptnml(0-2): 829, 23679, 50406, 23865, 757
Passed LTC: https://tests.stockfishchess.org/tests/view/66988f5f4ff211be9d4ec33e
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 119778 W: 30420 L: 30299 D: 59059
Ptnml(0-2): 106, 13293, 32957, 13440, 93
closes https://github.com/official-stockfish/Stockfish/pull/5498
Bench 1499842
2024-07-23 17:56:52 +02:00
Joost VandeVondele
e57fba7fc9
Fix TB PV extension and MultiPV
...
in the case of MultiPV, the first move of the Nth multiPV could actually turn a
winning position in a losing one, so don't attempt to correct it. Instead,
always perform the first move without correction.
Fixes #5505
Closes https://github.com/official-stockfish/Stockfish/pull/5506
No functional change
2024-07-23 17:51:30 +02:00
Joost VandeVondele
1fb4dc2e0f
Enable syzygy in the matetrack action
...
now checks correctness of PV lines with TB score.
uses 3-4-5 man table bases, downloaded from lichess,
which are cached with the appropriate action.
closes https://github.com/official-stockfish/Stockfish/pull/5500
No functional change
2024-07-23 17:49:07 +02:00
Michael Chaly
a8401e803d
Adjust bonus to move that caused a fail low
...
This is an elo gainer and simultaneously a minor logical fix to bonuses that caused a fail low.
It increases maximum of statscore based subtraction - but disallows negative bonuses.
Passed STC:
https://tests.stockfishchess.org/tests/view/66955e6f4ff211be9d4ec063
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 44640 W: 11805 L: 11472 D: 21363
Ptnml(0-2): 166, 5178, 11335, 5439, 202
Passed LTC:
https://tests.stockfishchess.org/tests/view/66963fde4ff211be9d4ec190
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 72288 W: 18478 L: 18082 D: 35728
Ptnml(0-2): 50, 7919, 19825, 8285, 65
closes https://github.com/official-stockfish/Stockfish/pull/5494
Bench: 1477054
2024-07-19 08:41:38 +02:00
Linmiao Xu
c2837769e0
Avoid calculating nnue complexity twice
...
Passed non-regression STC:
https://tests.stockfishchess.org/tests/view/6697459d4ff211be9d4ec236
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 146848 W: 38289 L: 38189 D: 70370
Ptnml(0-2): 503, 16665, 39046, 16649, 561
closes https://github.com/official-stockfish/Stockfish/pull/5493
No functional change
2024-07-19 08:40:23 +02:00
Shahin M. Shahin
c8d8e362fc
Try nullmoves only on cutnodes
...
since master only tries nullmoves on cutNodes already with 99.0224% of the
cases running bench, We can try null moves at 100% of cutNodes and achieve such
simplification, by making passing false already equivalent to passing !cutNode
This is a more correct form of PR #5482
Passed non-regression STC:
https://tests.stockfishchess.org/tests/view/66941c044ff211be9d4ebf5f
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 153216 W: 39856 L: 39764 D: 73596
Ptnml(0-2): 590, 18174, 38979, 18284, 581
Passed non-regression LTC:
https://tests.stockfishchess.org/tests/view/6694e5cd4ff211be9d4ebfdf
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 67842 W: 17178 L: 17004 D: 33660
Ptnml(0-2): 52, 7437, 18759, 7631, 42
closes https://github.com/official-stockfish/Stockfish/pull/5490
bench: 1345400
Co-Authored-By: FauziAkram <11150271+fauziakram@users.noreply.github.com>
2024-07-19 08:38:13 +02:00
Dubslow
27042fe949
Linearize corrHist
...
Passed STC: https://tests.stockfishchess.org/tests/view/66919cdec6827afcdcee146f
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 130656 W: 33579 L: 33461 D: 63616
Ptnml(0-2): 394, 15548, 33318, 15682, 386
Passed VVLTC: https://tests.stockfishchess.org/tests/view/6691acb2c6827afcdcee1645
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 160314 W: 40925 L: 40854 D: 78535
Ptnml(0-2): 12, 14754, 50551, 14831, 9
closes https://github.com/official-stockfish/Stockfish/pull/5489
bench 1380295
2024-07-19 08:36:25 +02:00
yl25946
7bb45d05fa
Replace ternary with std::min
...
equivalent and more readable.
closes https://github.com/official-stockfish/Stockfish/pull/5488
No functional change
2024-07-19 08:34:02 +02:00
Guenther Demetz
c755bc1a73
Simplify improving condition
...
if we were in check at our previous move we look back until we weren't
in check and take the staticEval of that position as reference.
Passed STC:
https://tests.stockfishchess.org/tests/view/668ba7b65034141ae5996665
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 74784 W: 19454 L: 19274 D: 36056
Ptnml(0-2): 260, 8874, 18952, 9038, 268
Passted LTC:
https://tests.stockfishchess.org/tests/view/668cb2db5034141ae599678b
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 241488 W: 61166 L: 61171 D: 119151
Ptnml(0-2): 190, 27154, 66062, 27147, 191
closes https://github.com/official-stockfish/Stockfish/pull/5492
bench: 1368313
2024-07-19 08:32:16 +02:00
Linmiao Xu
e443b2459e
Separate eval params for smallnet and main net
...
Values found with spsa around 80% of 120k games at 60+0.6:
https://tests.stockfishchess.org/tests/view/669205dac6827afcdcee3ea4
Passed STC:
https://tests.stockfishchess.org/tests/view/6692928b4ff211be9d4e98a9
LLR: 2.96 (-2.94,2.94) <0.00,2.00>
Total: 313696 W: 81107 L: 80382 D: 152207
Ptnml(0-2): 934, 36942, 80363, 37683, 926
Passed LTC:
https://tests.stockfishchess.org/tests/view/6692aab54ff211be9d4e9915
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 228420 W: 57903 L: 57190 D: 113327
Ptnml(0-2): 131, 25003, 63243, 25688, 145
closes https://github.com/official-stockfish/Stockfish/pull/5486
bench 1319322
2024-07-15 13:38:14 +02:00
Michael Chaly
de2bf1a186
Remove quiet history pruning depth limit
...
This patch removes lmrDepth limit for quiet moves history based pruning.
Previously removal of this type of depth limits was considered bad because it
was performing bad for matetrack - but with this pruning heuristic this
shouldn't be that bad because it's "naturally" depth limited by history
threshold and should be completely disabled at depth >= 15 or so. Also this
heuristic in previous years was known to scale non-linearly - bigger lmrDepth
thresholds were better at longer time controls and removing it completely
probably should scale pretty well.
Passed STC:
https://tests.stockfishchess.org/tests/view/6692b89b4ff211be9d4eab21
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 114464 W: 29675 L: 29545 D: 55244
Ptnml(0-2): 372, 12516, 31329, 12640, 375
Passed LTC:
https://tests.stockfishchess.org/tests/view/6692c4554ff211be9d4eab3d
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 67746 W: 17182 L: 17014 D: 33550
Ptnml(0-2): 28, 6993, 19652, 7183, 17
closes https://github.com/official-stockfish/Stockfish/pull/5485
Bench: 1250388
2024-07-15 13:35:06 +02:00
MinetaS
2b37b151dd
Use ValueList to represent searched moves array
...
This PR replaces a pair of array and size with existing ValueList class.
Removes two local variables in search and two parameters of
update_all_stats.
Passed non-regression STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 227040 W: 58472 L: 58463 D: 110105
Ptnml(0-2): 495, 23572, 65427, 23481, 545
https://tests.stockfishchess.org/tests/view/669299204ff211be9d4e98dc
closes https://github.com/official-stockfish/Stockfish/pull/5484
No functional change
2024-07-15 13:30:47 +02:00
FauziAkram
7395d56832
bonus calculation for prior countermoves
...
Introduce a new term to the bonus calculation for prior countermoves
Passed STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 140896 W: 36545 L: 36079 D: 68272
Ptnml(0-2): 383, 16505, 36217, 16949, 394
https://tests.stockfishchess.org/tests/view/6691c73cc6827afcdcee1816
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 126660 W: 32089 L: 31587 D: 62984
Ptnml(0-2): 63, 13774, 35154, 14276, 63
https://tests.stockfishchess.org/tests/view/6691cdc4c6827afcdcee1930
closes https://github.com/official-stockfish/Stockfish/pull/5483
bench: 1250388
2024-07-15 13:27:42 +02:00
Linmiao Xu
558abdbe8a
Set best value to futility value after pruned quiet move
...
Passed non-regression STC:
https://tests.stockfishchess.org/tests/view/6691592f5034141ae599c68d
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 278496 W: 71818 L: 71865 D: 134813
Ptnml(0-2): 865, 33311, 70978, 33194, 900
Passed non-regression LTC:
https://tests.stockfishchess.org/tests/view/66918fca5034141ae599e761
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 202986 W: 51048 L: 51013 D: 100925
Ptnml(0-2): 107, 22552, 56133, 22601, 100
closes https://github.com/official-stockfish/Stockfish/pull/5480
bench 1715206
2024-07-15 13:24:14 +02:00
Michael Chaly
930915de90
Decrease delta
...
Decrease delta in aspiration windows - both initial value and quadratic
function of previous best value.
Passed STC:
https://tests.stockfishchess.org/tests/view/6691a52ec6827afcdcee1569
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 55456 W: 14449 L: 14107 D: 26900
Ptnml(0-2): 174, 6416, 14193, 6784, 161
Passed LTC:
https://tests.stockfishchess.org/tests/view/6691aac1c6827afcdcee1625
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 107940 W: 27530 L: 27065 D: 53345
Ptnml(0-2): 52, 11787, 29840, 12226, 65
closes https://github.com/official-stockfish/Stockfish/pull/5479
bench 1547707
2024-07-15 13:22:31 +02:00
MinetaS
563d268519
Simplify futility_move_count
...
This patch reverts changes from #4032 which was introduced as a speedup.
Modern compilers no longer use DIV/IDIV instructions, potentially making
the explicit branch perform worse. Since evaluations spend significantly
more time now, the impact of the speedup in search diminishes with old
compilers as well.
GCC 14.1.0 profile-build, x86-64-vnni512
```
.text:000000014010FEA9 mov ecx, [rsp+3FB8h+var_3F5C]
...
.text:000000014010FEBD mov r10d, ecx
.text:000000014010FEC0 imul r10d, ecx
.text:000000014010FEC4 mov ecx, dword ptr [rsp+3FB8h+var_3F44+4]
.text:000000014010FEC8 add r10d, 3
.text:000000014010FECC mov r11d, r10d
.text:000000014010FECF sar r11d, 1
.text:000000014010FED2 cmp [rsp+3FB8h+var_3EE7], 0
.text:000000014010FEDA cmovnz r11d, r10d
```
LLVM 18.1.18 profile-build, x86-64-vnni512
```
.text:0000000140001EDC mov [rsp+40h+arg_E0], r13
.text:0000000140001EE4 movsxd rcx, r13d
.text:0000000140001EE7 mov rax, rcx
.text:0000000140001EEA mov [rsp+40h+arg_B8], rcx
.text:0000000140001EF2 imul eax, eax
.text:0000000140001EF5 add eax, 3
.text:0000000140001EF8 mov ecx, [rsp+40h+arg_8C]
.text:0000000140001EFF shrx eax, eax, ecx
.text:0000000140001F04 mov [rsp+40h+arg_190], rax
```
Passed non-regression STC:
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 109504 W: 28420 L: 28280 D: 52804
Ptnml(0-2): 355, 12326, 29273, 12420, 378
https://tests.stockfishchess.org/tests/view/6690dc095034141ae599c5fe
closes https://github.com/official-stockfish/Stockfish/pull/5478
No functional change
2024-07-15 13:19:46 +02:00
Shawn Xu
024eb6f453
Unify Movepick Initializer
...
Passed Non-regression STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 168704 W: 43524 L: 43455 D: 81725
Ptnml(0-2): 414, 17173, 49076, 17308, 381
https://tests.stockfishchess.org/tests/view/66904b7b5034141ae599a197
Passed Non-regression LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 120294 W: 30473 L: 30364 D: 59457
Ptnml(0-2): 40, 10974, 38032, 11039, 62
https://tests.stockfishchess.org/tests/view/66905b235034141ae599a223
closes https://github.com/official-stockfish/Stockfish/pull/5477
bench 1459677
2024-07-15 13:18:37 +02:00
Shawn Xu
3df09c04d7
Simplify Away Refutation Stage
...
Simplify away killer stage to a constant bonus given to the killer move during
quiet move scoring.
Passed Non-regression STC (Against then-pending PR #5472 ):
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 106176 W: 27685 L: 27539 D: 50952
Ptnml(0-2): 410, 12765, 26637, 12821, 455
https://tests.stockfishchess.org/tests/view/668dd0835034141ae5999e8f
Passed Non-regression LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 92472 W: 23426 L: 23276 D: 45770
Ptnml(0-2): 55, 10376, 25215, 10544, 46
https://tests.stockfishchess.org/tests/view/669019e45034141ae5999fd2
closes https://github.com/official-stockfish/Stockfish/pull/5476
Bench 1459677
2024-07-15 13:15:35 +02:00
Andyson007
42aae5fe8b
Fixed non UCI compliance
...
print `<empty>` and accept `<empty>` for UCI string options,
accepting empty strings as well. Internally use empty strings (`""`).
closes https://github.com/official-stockfish/Stockfish/pull/5474
No functional change
2024-07-15 13:14:57 +02:00
yl25946
8d1e41458e
removed second killer move
...
STC with movepicker rewrite:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 46656 W: 12208 L: 11995 D: 22453
Ptnml(0-2): 203, 5461, 11777, 5694, 193
https://tests.stockfishchess.org/tests/view/668d98a15034141ae5999e68
Earlier version passed STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 468896 W: 120999 L: 120054 D: 227843
Ptnml(0-2): 1207, 55209, 120639, 56218, 1175
https://tests.stockfishchess.org/tests/view/668b17d2cf91c430fca58630
Earlier version passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 550524 W: 139553 L: 139877 D: 271094
Ptnml(0-2): 333, 61646, 151616, 61346, 321
https://tests.stockfishchess.org/tests/view/668b2e04cf91c430fca586b1
closes https://github.com/official-stockfish/Stockfish/pull/5472
bench 1234309
Co-authored-by: rn5f107s2 <clemens.lerchl@gmail.com>
2024-07-11 07:29:49 +02:00
Joost VandeVondele
6135a0e2f8
Provide more info on found TB files
...
now uses the following format:
`info string Found 510 WDL and 510 DTZ tablebase files (up to 6-man).`
this clarifies exactly what has been found, as the difference matters,
e.g. for the PV extension of TB scores.
closes https://github.com/official-stockfish/Stockfish/pull/5471
No functional change
2024-07-11 07:29:44 +02:00
Stéphane Nicolet
7e72b37e4c
Clean up comments in code
...
- Capitalize comments
- Reformat multi-lines comments to equalize the widths of the lines
- Try to keep the width of comments around 85 characters
- Remove periods at the end of single-line comments
closes https://github.com/official-stockfish/Stockfish/pull/5469
No functional change
2024-07-11 07:29:33 +02:00
Disservin
98a7bb4436
CI give correct permissions for the clang-format action
...
closes https://github.com/official-stockfish/Stockfish/pull/5470
No functional change
2024-07-11 07:21:04 +02:00
yl25946
362a77a345
Move Loop Consistency in Probcut
...
In probcut move loop, everything is enclosed within a large if statement. I've
changed it to guard clauses to stay consistent with other move loops.
closes https://github.com/official-stockfish/Stockfish/pull/5463
No functional change
2024-07-09 18:54:12 +02:00
Linmiao Xu
b209f14b1e
Update default main net to nn-e8bac1c07a5a.nnue
...
Created by modifying L2 weights from the previous main net (nn-74f1d263ae9a.nnue)
with params found by spsa around 9k / 120k games at 120+1.2.
370 spsa params - L2 weights in nn-74f1d263ae9a.nnue where |val| >= 50
A: 6000, alpha: 0.602, gamma: 0.101
weights: [-127, 127], c_end = 6
To print the spsa params with nnue-pytorch:
```
import features
from serialize import NNUEReader
feature_set = features.get_feature_set_from_name("HalfKAv2_hm")
with open("nn-74f1d263ae9a.nnue", "rb") as f:
model = NNUEReader(f, feature_set).model
c_end = 6
for i in range(8):
for j in range(32):
for k in range(30):
value = int(model.layer_stacks.l2.weight[32 * i + j, k] * 64)
if abs(value) >= 50:
print(f"twoW[{i}][{j}][{k}],{value},-127,127,{c_end},0.0020")
```
Among the 370 params, 229 weights were changed.
avg change: 0.0961 ± 1.67
range: [-4, 3]
The number of weights changed, grouped by layer stack index,
shows more weights were modified in the lower piece count buckets:
[54, 52, 29, 23, 22, 18, 14, 17]
Found with the same method described in:
https://github.com/official-stockfish/Stockfish/pull/5459
Passed STC:
https://tests.stockfishchess.org/tests/view/668aec9a58083e5fd88239e7
LLR: 3.00 (-2.94,2.94) <0.00,2.00>
Total: 52384 W: 13569 L: 13226 D: 25589
Ptnml(0-2): 127, 6141, 13335, 6440, 149
Passed LTC:
https://tests.stockfishchess.org/tests/view/668af50658083e5fd8823a0b
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 46974 W: 12006 L: 11668 D: 23300
Ptnml(0-2): 25, 4992, 13121, 5318, 31
closes https://github.com/official-stockfish/Stockfish/pull/5466
bench 1300471
2024-07-09 18:49:28 +02:00
Shawn Xu
4880ed4ad1
Simplify Probcut Malus
...
Passed Non-regression STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 74880 W: 19261 L: 19083 D: 36536
Ptnml(0-2): 202, 8861, 19120, 9071, 186
https://tests.stockfishchess.org/tests/view/668a0966eca84f4d25864cba
Passed Non-regression LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 263916 W: 66690 L: 66718 D: 130508
Ptnml(0-2): 125, 29348, 73040, 29320, 125
https://tests.stockfishchess.org/tests/view/668a17e3eca84f4d25864e91
closes https://github.com/official-stockfish/Stockfish/pull/5464
bench 1331408
2024-07-09 18:44:39 +02:00
Stéphane Nicolet
acd0a933ad
Fix compilation on Apple
...
Always use the posix function posix_memalign() as aligned memory
allocator on Apple computers. This should allow to compile Stockfish
out of the box on all versions of Mac OS X.
Patch tested on the following systems (apart from the CI) :
• Mac OS 10.9.6 (arch x86-64-sse41-popcnt) with gcc-10
• Mac OS 10.13.6 (arch x86-64-bmi2) with gcc-10, gcc-14 and clang-11
• Mac OS 14.1.1 (arch apple-silicon) with clang-15
closes https://github.com/official-stockfish/Stockfish/pull/5462
No functional change
2024-07-09 18:42:21 +02:00
Michael Chaly
eac2d080a3
Further simplify stat bonuses
...
Based on recent simplification by linrock Since it completely removed any
special bonuses based on values difference and made it flat stat_bonus(depth +
1) I got an idea that we might as well remove all (depth + 1) bonuses and make
them usual depth bonuses. Also removes weird negative bonus for depth 1 as a
side effect.
Passed STC:
https://tests.stockfishchess.org/tests/view/6689d817eca84f4d25863746
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 18080 W: 4789 L: 4552 D: 8739
Ptnml(0-2): 46, 1987, 4727, 2244, 36
Passed LTC:
https://tests.stockfishchess.org/tests/view/6689daa4eca84f4d258639d7
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 109062 W: 27548 L: 27417 D: 54097
Ptnml(0-2): 58, 11983, 30293, 12164, 33
Passed direct LTC vs linrock patch:
https://tests.stockfishchess.org/tests/view/668a46f8eca84f4d25866fe9
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 100002 W: 25351 L: 25209 D: 49442
Ptnml(0-2): 54, 11119, 27529, 11229, 70
closes https://github.com/official-stockfish/Stockfish/pull/5461
Bench 1175744
2024-07-09 18:41:36 +02:00
Joost VandeVondele
5d3517c601
Fix output for GUI
...
Fritz 19 can hang with the current way to provide output,
i.e. too much output in a short time for a mate / depth 245 found quickly.
fallout from 25361e514b
closes https://github.com/official-stockfish/Stockfish/pull/5460
No functional change
2024-07-09 18:36:46 +02:00
Linmiao Xu
5752529cab
Update default main net to nn-74f1d263ae9a.nnue
...
Created by setting output weights (256) and biases (8) of the previous main net
nn-ddcfb9224cdb.nnue to values found around 12k / 120k spsa games at 120+1.2
This used modified fishtest dev workers to construct .nnue files from
spsa params, then load them with EvalFile when running tests:
https://github.com/linrock/fishtest/tree/spsa-file-modified-nnue/worker
Inspired by researching loading spsa params from files:
https://github.com/official-stockfish/fishtest/pull/1926
Scripts for modifying nnue files and preparing params:
https://github.com/linrock/nnue-pytorch/tree/no-gpu-modify-nnue
spsa params:
weights: [-127, 127], c_end = 6
biases: [-8192, 8192], c_end = 64
Example of reading output weights and biases from the previous main net using
nnue-pytorch and printing spsa params in a format compatible with fishtest:
```
import features
from serialize import NNUEReader
feature_set = features.get_feature_set_from_name("HalfKAv2_hm")
with open("nn-ddcfb9224cdb.nnue", "rb") as f:
model = NNUEReader(f, feature_set).model
c_end_weights = 6
c_end_biases = 64
for i in range(8):
for j in range(32):
value = round(int(model.layer_stacks.output.weight[i, j] * 600 * 16) / 127)
print(f"oW[{i}][{j}],{value},-127,127,{c_end_weights},0.0020")
for i in range(8):
value = int(model.layer_stacks.output.bias[i] * 600 * 16)
print(f"oB[{i}],{value},-8192,8192,{c_end_biases},0.0020")
```
For more info on spsa tuning params in nets:
https://github.com/official-stockfish/Stockfish/pull/5149
https://github.com/official-stockfish/Stockfish/pull/5254
Passed STC:
https://tests.stockfishchess.org/tests/view/66894d64e59d990b103f8a37
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 32000 W: 8443 L: 8137 D: 15420
Ptnml(0-2): 80, 3627, 8309, 3875, 109
Passed LTC:
https://tests.stockfishchess.org/tests/view/6689668ce59d990b103f8b8b
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 172176 W: 43822 L: 43225 D: 85129
Ptnml(0-2): 97, 18821, 47633, 19462, 75
closes https://github.com/official-stockfish/Stockfish/pull/5459
bench 1120091
2024-07-09 18:35:23 +02:00
MinetaS
cdb0b96e07
Clean up refutations array in MovePicker
...
This is a follow-up cleanup to a45c2bc34a
.
closes https://github.com/official-stockfish/Stockfish/pull/5458
No functional change
2024-07-09 18:34:00 +02:00
Linmiao Xu
4e9fded5a6
Larger bonus when updating quiet stats
...
Also removes unused arguments to update_all_stats to
fix compiler warnings about unused parameters.
Passed non-regression STC:
https://tests.stockfishchess.org/tests/view/6689a79a0fdd852d63cf52e9
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 26496 W: 6901 L: 6669 D: 12926
Ptnml(0-2): 62, 3094, 6715, 3304, 73
Passed non-regression LTC:
https://tests.stockfishchess.org/tests/view/6689a9960fdd852d63cf532d
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 41214 W: 10373 L: 10173 D: 20668
Ptnml(0-2): 11, 4491, 11412, 4673, 20
closes https://github.com/official-stockfish/Stockfish/pull/5456
bench 1169958
2024-07-09 18:31:02 +02:00
Michael Chaly
75c8cb2c2f
Adjust usage of previous statscore in bonus assignments
...
This patch adjusts usage of previous statscore for bonus assginments - allowing
it for any statscores and clamping it to wider range.
Passed STC:
https://tests.stockfishchess.org/tests/view/66892e76e59d990b103f6a91
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 431520 W: 111767 L: 110872 D: 208881
Ptnml(0-2): 1180, 51165, 110133, 52144, 1138
Passed LTC:
https://tests.stockfishchess.org/tests/view/66897176e59d990b103f9605
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 143184 W: 36463 L: 35929 D: 70792
Ptnml(0-2): 55, 15540, 39863, 16084, 50
closes https://github.com/official-stockfish/Stockfish/pull/5455
bench 1330556
2024-07-09 18:29:09 +02:00
Linmiao Xu
bb9b65408f
Simplify improving deduction in futility margin
...
Passed non-regression STC:
https://tests.stockfishchess.org/tests/view/668981d4df142e108ffc9bb4
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 312672 W: 80280 L: 80363 D: 152029
Ptnml(0-2): 729, 37198, 80529, 37187, 693
Passed non-regression LTC:
https://tests.stockfishchess.org/tests/view/668988c6df142e108ffca042
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 126042 W: 31971 L: 31857 D: 62214
Ptnml(0-2): 50, 13988, 34832, 14100, 51
closes https://github.com/official-stockfish/Stockfish/pull/5454
bench 1100483
2024-07-09 18:28:06 +02:00
Shawn Xu
2d3ef434b4
Tweak LMR at Root
...
Passed STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 328192 W: 84751 L: 84014 D: 159427
Ptnml(0-2): 758, 38802, 84253, 39511, 772
https://tests.stockfishchess.org/tests/view/6689203959cb3228a4759a49
Passed LTC:
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 56748 W: 14494 L: 14136 D: 28118
Ptnml(0-2): 19, 6089, 15803, 6441, 22
https://tests.stockfishchess.org/tests/view/66892d76e59d990b103f6626
closes https://github.com/official-stockfish/Stockfish/pull/5452
Bench 1253593
2024-07-09 18:26:35 +02:00
Shawn Xu
b79ac764ff
Simplify in-check condition for Probcut-in-check
...
dont let your memes be dreams !?
Passed Non-regression STC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 512000 W: 132193 L: 132497 D: 247310
Ptnml(0-2): 1600, 61170, 130704, 60986, 1540
https://tests.stockfishchess.org/tests/view/66838911c4f539faa03268a2
Passed Non-regression LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 380268 W: 95894 L: 96042 D: 188332
Ptnml(0-2): 193, 42861, 104180, 42701, 199
https://tests.stockfishchess.org/tests/view/6688d0550c9d7c1ab33ed5a8
closes https://github.com/official-stockfish/Stockfish/pull/5443
Bench: 1130282
2024-07-09 18:24:40 +02:00
Shawn Xu
b1f522930d
Simplify Away Move Count Pruning Adjustment
...
Using Singular Search Result
Passed Non-regression STC:
LLR: 3.01 (-2.94,2.94) <-1.75,0.25>
Total: 62688 W: 16319 L: 16121 D: 30248
Ptnml(0-2): 196, 7317, 16104, 7547, 180
https://tests.stockfishchess.org/tests/view/66879bf51b527f04dd477ff9
Passed Non-regression LTC:
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 116502 W: 29504 L: 29379 D: 57619
Ptnml(0-2): 66, 12881, 32226, 13018, 60
https://tests.stockfishchess.org/tests/view/6688629e0c9d7c1ab33ed030
closes https://github.com/official-stockfish/Stockfish/pull/5442
bench 1207930
2024-07-09 18:20:26 +02:00
Muzhen Gaming
4d6e1225bd
Simplify ttPv reduction formula
...
This is a revert of 2046c92
.
This patch is based on the fact that the ttPv reduction has proven non-linear scaling (as documented in the code, along with testing guidelines); however, the original patch had (erroneously) not been tested at VLTC or longer.
Simplification STC: https://tests.stockfishchess.org/tests/view/6689266e59cb3228a4759b28
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 100320 W: 25913 L: 25763 D: 48644
Ptnml(0-2): 270, 11842, 25750, 12064, 234
Simplification LTC: https://tests.stockfishchess.org/tests/view/66893103e59d990b103f6ab3
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 57078 W: 14466 L: 14282 D: 28330
Ptnml(0-2): 34, 6214, 15851, 6414, 26
closes https://github.com/official-stockfish/Stockfish/pull/5448
Bench: 1124658
2024-07-06 18:00:09 +02:00
Muzhen Gaming
55cb235d47
Simplify internal iterative reductions
...
This is a revert of cc992e5
.
This patch is based on consistent observations that decreasing depth more in IIR generally has a bad scaling behaviour (good at STC, bad at longer time controls).
Simplification STC: https://tests.stockfishchess.org/tests/view/6689266659cb3228a4759b26
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 96992 W: 24977 L: 24824 D: 47191
Ptnml(0-2): 251, 11497, 24851, 11642, 255
Simplification LTC: https://tests.stockfishchess.org/tests/view/668930ffe59d990b103f6ab1
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 35808 W: 9185 L: 8980 D: 17643
Ptnml(0-2): 25, 3776, 10101, 3973, 29
closes https://github.com/official-stockfish/Stockfish/pull/5447
Bench: 1097766
2024-07-06 17:58:23 +02:00
Shawn Xu
24ab46c511
Non-functional Fixes & Updates
...
Fixes a missing default slot for dbg_extremes of, removes a extra newline, and
updates SE elo estimate from
https://tests.stockfishchess.org/tests/view/664ebd1e928b1fb18de4e4b7 while we
are at it.
closes https://github.com/official-stockfish/Stockfish/pull/5446
No functional change
2024-07-06 17:56:31 +02:00
FauziAkram
ec8288fe0d
Simplify away eval in TM
...
Passed STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 40160 W: 10523 L: 10309 D: 19328
Ptnml(0-2): 129, 4543, 10524, 4753, 131
https://tests.stockfishchess.org/tests/view/6685ab8b99271ae49479dbe9
Passed LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 195672 W: 49681 L: 49639 D: 96352
Ptnml(0-2): 112, 20976, 55597, 21060, 91
https://tests.stockfishchess.org/tests/view/6686f27a7092ade1206f7889
closes https://github.com/official-stockfish/Stockfish/pull/5445
No functional change
2024-07-06 17:54:22 +02:00
Shawn Xu
a45c2bc34a
Simplify Away Countermove Heuristic
...
Passed Non-regression STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 977824 W: 252072 L: 252888 D: 472864
Ptnml(0-2): 2518, 117120, 250560, 116088, 2626
https://tests.stockfishchess.org/tests/view/6683452d95b0d1e881e81541
Passed Non-regression LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 81048 W: 20630 L: 20470 D: 39948
Ptnml(0-2): 36, 8915, 22464, 9071, 38
https://tests.stockfishchess.org/tests/view/66886b7b0c9d7c1ab33ed281
closes https://github.com/official-stockfish/Stockfish/pull/5441
bench 1276784
2024-07-06 17:48:11 +02:00
Muzhen Gaming
daa9e217ab
VVLTC search tune
...
Passed VVLTC 1st sprt: https://tests.stockfishchess.org/tests/view/6688af640c9d7c1ab33ed327
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 16050 W: 4200 L: 3959 D: 7891
Ptnml(0-2): 0, 1383, 5018, 1624, 0
Passed VVLTC 2nd sprt: https://tests.stockfishchess.org/tests/view/6688e8900c9d7c1ab33efd60
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 44044 W: 11303 L: 10999 D: 21742
Ptnml(0-2): 1, 3973, 13772, 4273, 3
closes https://github.com/official-stockfish/Stockfish/pull/5444
Bench: 992058
2024-07-06 17:45:58 +02:00
Stéphane Nicolet
d212e663bb
Introduction evaluation grain of 16 (and randomize)
...
This patch uses an evaluation grain of 16 in order to get more cutoffs in
the alpha-beta algorithm. For a discussion of the efficiency of alpha-beta
related to changes in the number of discrete values of terminal nodes, see
for instance section 9.1.2 of Judea Pearl's classical book "Heuristics" :
https://mat.uab.cat/~alseda/MasterOpt/Judea_Pearl-Heuristics_Intelligent_Search_Strategies_for_Computer_Problem_Solving.pdf
Moreover, we add a small (-1, +1) random component after the quantification
to help the search exploration a little bit. This is similar in spirit to
the (-1, +1) random component already present in the function draw_value()
to make Stockfish more robust in draw evaluations.
passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 220960 W: 57249 L: 56668 D: 107043
Ptnml(0-2): 499, 26017, 56882, 26568, 514
https://tests.stockfishchess.org/tests/view/668907fb7edfb6f233f999f8
passed LTC :
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 48966 W: 12574 L: 12233 D: 24159
Ptnml(0-2): 14, 5233, 13654, 5562, 20
https://tests.stockfishchess.org/tests/view/6689105659cb3228a47598bf
closes https://github.com/official-stockfish/Stockfish/pull/5449
bench: 1336007
2024-07-06 17:43:39 +02:00
Joost VandeVondele
c40dd26cbc
CI give creditials for the clang-format action
...
following up from earlier changes
closes https://github.com/official-stockfish/Stockfish/pull/5450
No functional change
2024-07-06 17:42:23 +02:00