FauziAkram
07f6edf934
Refactor Position::pseudo_legal Pawn Move Check
...
use intermediate variables to make the statement easier to read
closes https://github.com/official-stockfish/Stockfish/pull/6045
No functional change
2025-05-19 07:12:11 +02:00
FauziAkram
c4e2479a75
Introducing a depth component to the penalty.
...
Passed STC:
LLR: 2.97 (-2.94,2.94) <0.00,2.00>
Total: 31648 W: 8358 L: 8050 D: 15240
Ptnml(0-2): 78, 3596, 8182, 3876, 92
https://tests.stockfishchess.org/tests/view/680fa73d3629b02d74b165a9
Passed LTC:
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 177720 W: 45524 L: 44920 D: 87276
Ptnml(0-2): 91, 19130, 49813, 19736, 90
https://tests.stockfishchess.org/tests/view/68109e2c3629b02d74b166ee
closes https://github.com/official-stockfish/Stockfish/pull/6060
Bench: 2251724
2025-05-13 20:47:50 +02:00
Shawn Xu
b5f11085dd
Do more extensions in nodes far from the root
...
Parameters found by @FauziAkram in the latest tune.
Passed VVLTC w/ LTC Bound:
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 243264 W: 63452 L: 62774 D: 117038
Ptnml(0-2): 18, 22494, 75934, 23164, 22
https://tests.stockfishchess.org/tests/view/680e82b23629b02d74b15e27
Passed VVLTC w/ STC Bound:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 37838 W: 9935 L: 9667 D: 18236
Ptnml(0-2): 6, 3383, 11873, 3651, 6
https://tests.stockfishchess.org/tests/view/681e707a3629b02d74b176e8
STC Elo Estimate:
Elo: -0.49 ± 2.4 (95%) LOS: 34.8%
Total: 20000 W: 5118 L: 5146 D: 9736
Ptnml(0-2): 55, 2365, 5182, 2349, 49
nElo: -0.96 ± 4.8 (95%) PairsRatio: 0.99
https://tests.stockfishchess.org/tests/view/6822af4b3629b02d74b17be6
closes https://github.com/official-stockfish/Stockfish/pull/6059
Bench: 2135382
2025-05-13 20:46:27 +02:00
Daniel Monroe
1f9af9966f
Simplify futility pruning term
...
Passed simplification STC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 49920 W: 12933 L: 12727 D: 24260
Ptnml(0-2): 141, 5865, 12752, 6051, 151
https://tests.stockfishchess.org/tests/view/681d01d33629b02d74b1756e
Passed simplification LTC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 68808 W: 17573 L: 17402 D: 33833
Ptnml(0-2): 23, 7343, 19511, 7494, 33
https://tests.stockfishchess.org/tests/view/681e33843629b02d74b176b1
closes https://github.com/official-stockfish/Stockfish/pull/6058
Bench: 2041086
2025-05-13 20:42:36 +02:00
FauziAkram
40ef7b1212
Simplify probcut
...
Passed STC:
LLR: 2.97 (-2.94,2.94) <-1.75,0.25>
Total: 80800 W: 20947 L: 20774 D: 39079
Ptnml(0-2): 217, 9446, 20906, 9609, 222
https://tests.stockfishchess.org/tests/view/680e83163629b02d74b15e2a
Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 359004 W: 91362 L: 91486 D: 176156
Ptnml(0-2): 177, 39133, 101007, 39007, 178
https://tests.stockfishchess.org/tests/view/680e95db3629b02d74b15e7a
closes https://github.com/official-stockfish/Stockfish/pull/6054
Bench: 2060860
2025-05-13 20:41:01 +02:00
gab8192
05e39527a8
Simplify low-ply history weight
...
Passed Non-regression STC:
LLR: 2.97 (-2.94,2.94) <-1.75,0.25>
Total: 116064 W: 30095 L: 29959 D: 56010
Ptnml(0-2): 333, 13753, 29731, 13875, 340
https://tests.stockfishchess.org/tests/view/681229f53629b02d74b168d3
Passed Non-regression LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 172824 W: 44096 L: 44031 D: 84697
Ptnml(0-2): 91, 18868, 48410, 18971, 72
https://tests.stockfishchess.org/tests/view/681474243629b02d74b16b44
closes https://github.com/official-stockfish/Stockfish/pull/6053
Bench: 2064179
2025-05-13 20:40:26 +02:00
FauziAkram
d4b405a5a6
Remove a cutNode condition
...
Allow some nodes to spawn even deeper lmr searches, also for cutNodes
Passed STC:
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 59072 W: 15387 L: 15190 D: 28495
Ptnml(0-2): 145, 6956, 15166, 7095, 174
https://tests.stockfishchess.org/tests/view/6810b4c13629b02d74b16714
Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 93294 W: 23737 L: 23591 D: 45966
Ptnml(0-2): 47, 10116, 26169, 10274, 41
https://tests.stockfishchess.org/tests/view/681170613629b02d74b167f3
closes https://github.com/official-stockfish/Stockfish/pull/6052
Bench: 1937565
2025-05-13 20:39:23 +02:00
mstembera
63a2ab1510
Simplify Captures scoring
...
STC https://tests.stockfishchess.org/tests/view/680ee3b43629b02d74b160f3
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 200896 W: 52089 L: 52048 D: 96759
Ptnml(0-2): 592, 23821, 51589, 23846, 600
LTC https://tests.stockfishchess.org/tests/view/68106adf3629b02d74b166b1
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 128856 W: 33026 L: 32917 D: 62913
Ptnml(0-2): 54, 13916, 36384, 14015, 59
Replaces discovered checks by direct checks which are simpler and more
common. It's also what's used for scoring quiets.
closes https://github.com/official-stockfish/Stockfish/pull/6047
Bench: 1886966
2025-05-13 20:39:02 +02:00
Shawn Xu
e9925b122f
Simplify ttCapture LMR
...
Passed Non-regression STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 51104 W: 13389 L: 13184 D: 24531
Ptnml(0-2): 182, 5940, 13068, 6215, 147
https://tests.stockfishchess.org/tests/view/680ef2503629b02d74b16498
Passed Non-regression LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 73350 W: 18804 L: 18638 D: 35908
Ptnml(0-2): 30, 7906, 20639, 8068, 32
https://tests.stockfishchess.org/tests/view/6810510e3629b02d74b1668a
closes https://github.com/official-stockfish/Stockfish/pull/6044
Bench: 1805151
2025-05-13 20:36:42 +02:00
mstembera
7afd9e859d
Simplify MovePicker::score() by using piece types for clarity
...
STC https://tests.stockfishchess.org/tests/view/680ed6cc3629b02d74b160bf
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 200128 W: 51838 L: 51802 D: 96488
Ptnml(0-2): 457, 19956, 59247, 19902, 502
closes https://github.com/official-stockfish/Stockfish/pull/6039
No functional change
2025-05-13 20:34:40 +02:00
Michael Chaly
b73c8982df
Another scaling revert
...
Revert recent passer because it seems to not scale for longer time
controls. Adjust comments accordingly.
Passed VVLTC SPRT with STC bounds:
https://tests.stockfishchess.org/tests/view/680ddff73629b02d74b15b3f
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 198316 W: 51317 L: 50846 D: 96153
Ptnml(0-2): 17, 18459, 61737, 18926, 19
Passed VVLTC SPRT with LTC bounds:
https://tests.stockfishchess.org/tests/view/680d5b7e3629b02d74b15a21
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 123274 W: 31738 L: 31283 D: 60253
Ptnml(0-2): 7, 11444, 38282, 11895, 9
closes https://github.com/official-stockfish/Stockfish/pull/6038
Bench: 2173845
2025-05-13 20:32:54 +02:00
Shawn Xu
81cc004060
Remove risk tolerance
...
Passed STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 379328 W: 97567 L: 97724 D: 184037
Ptnml(0-2): 909, 44861, 98314, 44638, 942
https://tests.stockfishchess.org/tests/view/680defc63629b02d74b15b62
Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 160752 W: 40762 L: 40685 D: 79305
Ptnml(0-2): 60, 17548, 45091, 17609, 68
https://tests.stockfishchess.org/tests/view/680e8ff43629b02d74b15e65
closes https://github.com/official-stockfish/Stockfish/pull/6037
Bench: 1897340
2025-05-13 20:31:37 +02:00
Carlos Esparza
63c6f22627
Simplify DirtyPiece
...
Simplifies the DirtyPiece struct.
passed STC: https://tests.stockfishchess.org/tests/view/68054c9798cd372e3aea05d7
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 36608 W: 9641 L: 9437 D: 17530
Ptnml(0-2): 89, 3630, 10668, 3822, 95
passed LTC: https://tests.stockfishchess.org/tests/view/6805514598cd372e3aea0783
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 127620 W: 31993 L: 31894 D: 63733
Ptnml(0-2): 42, 10983, 41665, 11074, 46
closes https://github.com/official-stockfish/Stockfish/pull/6016
No functional change
2025-05-13 20:30:22 +02:00
FauziAkram
ed6b8d179a
Refactor futility_margin
...
a small term to the futility calculation that depends on eval - beta.
Passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 203136 W: 52797 L: 52239 D: 98100
Ptnml(0-2): 549, 23827, 52255, 24391, 546
https://tests.stockfishchess.org/tests/view/680e84a43629b02d74b15e2e
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 100356 W: 25950 L: 25507 D: 48899
Ptnml(0-2): 35, 10683, 28302, 11120, 38
https://tests.stockfishchess.org/tests/view/680ebcb03629b02d74b16040
closes https://github.com/official-stockfish/Stockfish/pull/6009
closes https://github.com/official-stockfish/Stockfish/pull/6041
Bench: 1815939
Co-authored-by: Michael Chaly <Vizvezdenec@gmail.com >
Co-authored-by: xu-shawn <50402888+xu-shawn@users.noreply.github.com >
2025-05-13 20:26:28 +02:00
pb00067
0f905b4e88
Preserve all moves in movepicker
...
Simplifies method otherPieceTypesMobile quite a bit and makes it more
precise. More precise because capturesSearched list not always contains
all processed captures:
although extremely rare, it can happen that a 'good' capture get pruned
at step 14 and doesn't make it to capturesSearched. (functional change
at higher depths)
passed STC-simplification bounds
https://tests.stockfishchess.org/tests/view/68025974cd501869c6698153
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 273664 W: 15658 L: 15681 D: 242325
Ptnml(0-2): 166, 10368, 115802, 10315, 181
passed LTC-simplification bounds
https://tests.stockfishchess.org/tests/view/6804b86acd501869c6698673
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 96780 W: 24547 L: 24419 D: 47814
Ptnml(0-2): 30, 8466, 31286, 8562, 46
Applied changes requested by disservin & retested to be on the safe side
STC:
https://tests.stockfishchess.org/tests/view/6806110698cd372e3aea5919
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 107392 W: 27739 L: 27606 D: 52047
Ptnml(0-2): 266, 10867, 31306, 10982, 275
LTC:
https://tests.stockfishchess.org/tests/view/6806346198cd372e3aea5965
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 233484 W: 59106 L: 59103 D: 115275
Ptnml(0-2): 116, 22787, 70939, 22778, 122
closes https://github.com/official-stockfish/Stockfish/pull/6005
Bench: 1857323
2025-05-13 20:23:43 +02:00
FauziAkram
94e6c0498f
VVLTC Tune
...
Passed VVLTC with LTC bounds:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 12800 W: 3432 L: 3184 D: 6184
Ptnml(0-2): 1, 1098, 3954, 1346, 1
https://tests.stockfishchess.org/tests/view/680e255e3629b02d74b15d5e
Passed VVLTC with STC bounds:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 14402 W: 3865 L: 3625 D: 6912
Ptnml(0-2): 0, 1236, 4490, 1474, 1
https://tests.stockfishchess.org/tests/view/680e4dfb3629b02d74b15da6
Passed VVLTC third test (removing an unrelated change):
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 25584 W: 6670 L: 6398 D: 12516
Ptnml(0-2): 4, 2290, 7932, 2562, 4
https://tests.stockfishchess.org/tests/view/680e74223629b02d74b15def
closes https://github.com/official-stockfish/Stockfish/pull/6036
Bench: 1857323
2025-04-27 20:47:47 +02:00
Daniel Monroe
af3692b2d0
Simplify second probcut to linear function of depth
...
Passed non-regression STC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 57472 W: 14962 L: 14765 D: 27745
Ptnml(0-2): 140, 6715, 14817, 6936, 128
https://tests.stockfishchess.org/tests/view/680df1063629b02d74b15b69
Passed non-regression LTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 88416 W: 22499 L: 22348 D: 43569
Ptnml(0-2): 31, 9565, 24874, 9698, 40
https://tests.stockfishchess.org/tests/view/680df3a93629b02d74b15b7d
closes https://github.com/official-stockfish/Stockfish/pull/6035
Bench: 1792000
2025-04-27 20:31:40 +02:00
Michael Chaly
3e26d3acc7
Do more pruning in moves loop
...
Effectively reverts one commit from some months ago.
Passed VVLTC SPRT with STC bounds
https://tests.stockfishchess.org/tests/view/680d39373629b02d74b156d7
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 405058 W: 104843 L: 104111 D: 196104
Ptnml(0-2): 35, 38029, 125672, 38755, 38
Passed VVLTC SPRT with LTC bounds
https://tests.stockfishchess.org/tests/view/680d1a3b3629b02d74b1563d
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 57032 W: 14917 L: 14588 D: 27527
Ptnml(0-2): 6, 5202, 17768, 5537, 3
closes https://github.com/official-stockfish/Stockfish/pull/6031
Bench: 1643819
2025-04-27 20:28:22 +02:00
FauziAkram
267fd8a3d5
Tweak History Bonus
...
Inspired by @Ergodice , who came up first with the idea.
Passed STC:
LLR: 2.96 (-2.94,2.94) <0.00,2.00>
Total: 18400 W: 4867 L: 4576 D: 8957
Ptnml(0-2): 52, 2052, 4714, 2317, 65
https://tests.stockfishchess.org/tests/view/68062a3c98cd372e3aea5959
Passed LTC:
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 454338 W: 116461 L: 115294 D: 222583
Ptnml(0-2): 198, 49139, 127346, 50270, 216
https://tests.stockfishchess.org/tests/view/6806347c98cd372e3aea5967
Passed VLTC non-reg:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 385970 W: 98401 L: 98546 D: 189023
Ptnml(0-2): 51, 38958, 115105, 38827, 44
https://tests.stockfishchess.org/tests/view/680cfe873629b02d74b155cf
closes https://github.com/official-stockfish/Stockfish/pull/6030
Bench: 1715817
2025-04-27 20:14:38 +02:00
FauziAkram
e5aa4b48c6
Simplify Evasion Move Scoring
...
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 160256 W: 41432 L: 41348 D: 77476
Ptnml(0-2): 485, 19034, 41028, 19074, 507
https://tests.stockfishchess.org/tests/view/680d242c3629b02d74b15662
Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 103086 W: 26388 L: 26252 D: 50446
Ptnml(0-2): 41, 11174, 28982, 11300, 46
https://tests.stockfishchess.org/tests/view/680d47f83629b02d74b1571e
closes https://github.com/official-stockfish/Stockfish/pull/6029
Bench: 1937261
2025-04-27 19:47:08 +02:00
FauziAkram
f98c178960
Improve quiet moves bonus
...
Inspired by an old test by Peregrine.
Passed STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 453024 W: 117244 L: 116316 D: 219464
Ptnml(0-2): 1336, 53355, 116258, 54171, 1392
https://tests.stockfishchess.org/tests/view/680ccacc3629b02d74b15532
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 140550 W: 35990 L: 35462 D: 69098
Ptnml(0-2): 65, 15152, 39319, 15668, 71
https://tests.stockfishchess.org/tests/view/680d2ed73629b02d74b15691
closes https://github.com/official-stockfish/Stockfish/pull/6028
Bench: 1708152
2025-04-27 19:45:37 +02:00
Myself
37cc2293ef
Replace complex probcut function with a precomputed table.
...
Passed non-regression STC:
https://tests.stockfishchess.org/tests/view/680de2683629b02d74b15b46
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 116000 W: 29864 L: 29742 D: 56394
Ptnml(0-2): 215, 11811, 33854, 11877, 243
closes https://github.com/official-stockfish/Stockfish/pull/6026
No functional change
2025-04-27 19:45:00 +02:00
Shawn Xu
b0a7a34d3f
Simplify malus calculation
...
closes https://github.com/official-stockfish/Stockfish/pull/6024
No functional change
2025-04-27 19:43:47 +02:00
Carlos Esparza
f0de8dc034
Simplify move ordering bonuses for putting piece en prise and escaping capture
...
Now there is also a penalty for exposing knights and bishops to capture by a pawn.
Passed STC:
https://tests.stockfishchess.org/tests/view/68074379878abf56f9a0d5b1
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 96512 W: 24841 L: 24687 D: 46984
Ptnml(0-2): 294, 11336, 24835, 11504, 287
Passed LTC:
https://tests.stockfishchess.org/tests/view/6808954a878abf56f9a0d76d
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 221328 W: 56271 L: 56255 D: 108802
Ptnml(0-2): 131, 24149, 62071, 24199, 114
closes https://github.com/official-stockfish/Stockfish/pull/6023
Bench: 1778227
2025-04-27 19:42:06 +02:00
Carlos Esparza
fda269a299
Introduce double incremental accumulator updates
...
when we need to update an accumulator by two moves and the second move
captures the piece moved in the first move, we can skip computing the
middle accumulator and cancel a feature add with a feature remove to
save work.
Passed STC
https://tests.stockfishchess.org/tests/view/67f70b1c31d7cf8afdc45f51
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 72800 W: 18878 L: 18529 D: 35393
Ptnml(0-2): 160, 7711, 20374, 7930, 225
closes https://github.com/official-stockfish/Stockfish/pull/5988
No functional change
2025-04-27 19:27:18 +02:00
Shawn Xu
4e49f8dff9
Clean up search
...
* Correct IIR scaling comments
* Replace `(PvNode || cutNode)` with `!allNode`
* Consistent formatting for scaler tags
* Add comments to some recently-introduced LMR terms
* Add comments on PCM bonus tweaks
Passed Non-regression STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 389472 W: 102457 L: 102622 D: 184393
Ptnml(0-2): 1676, 41887, 107798, 41676, 1699
https://tests.stockfishchess.org/tests/view/67a0ea670774dfd78deb23cd
closes https://github.com/official-stockfish/Stockfish/pull/5854
Bench: 1585741
2025-04-27 19:26:02 +02:00
Michael Chaly
27428a61c2
Allow some nodes to spawn even deeper lmr searches
...
This includes nodes that were PvNode on a previous ply and only for non cutNodes and movecounts < 8.
Passed STC:
https://tests.stockfishchess.org/tests/view/680cdf2e3629b02d74b15576
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 123552 W: 31979 L: 31539 D: 60034
Ptnml(0-2): 322, 14449, 31803, 14871, 331
Passed LTC:
https://tests.stockfishchess.org/tests/view/680cf09a3629b02d74b15599
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 114306 W: 29310 L: 28837 D: 56159
Ptnml(0-2): 51, 12247, 32090, 12708, 57
closes https://github.com/official-stockfish/Stockfish/pull/6022
bench: 1585741
2025-04-26 22:40:41 +02:00
Michael Chaly
4b58079485
Simplify and cleanup futility pruning for child nodes
...
This patch removes (eval - beta) / 8 addition and adjusts constants
accordingly, also moves every calculation into futility_margin function.
Passed STC:
https://tests.stockfishchess.org/tests/view/6806d00f878abf56f9a0d524
LLR: 2.99 (-2.94,2.94) <-1.75,0.25>
Total: 483456 W: 124592 L: 124860 D: 234004
Ptnml(0-2): 1419, 57640, 123927, 57274, 1468
Passed LTC:
https://tests.stockfishchess.org/tests/view/680cceb33629b02d74b1554c
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 263868 W: 67076 L: 67104 D: 129688
Ptnml(0-2): 155, 28893, 73846, 28905, 135
closes https://github.com/official-stockfish/Stockfish/pull/6021
bench: 1618439
2025-04-26 22:38:14 +02:00
Myself
7e6a0c464b
Check only if good see.
...
Passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 106400 W: 27863 L: 27444 D: 51093
Ptnml(0-2): 320, 12431, 27275, 12858, 316
https://tests.stockfishchess.org/tests/view/6806239498cd372e3aea5949
Passed LTC:
LLR: 2.96 (-2.94,2.94) <0.50,2.50>
Total: 420534 W: 107594 L: 106494 D: 206446
Ptnml(0-2): 197, 45541, 117722, 46579, 228
https://tests.stockfishchess.org/tests/view/6806b4b3878abf56f9a0d4fc
closes https://github.com/official-stockfish/Stockfish/pull/6020
bench: 1675758
2025-04-26 22:33:49 +02:00
FauziAkram
5f32b3ed4b
Remove unneeded return statement
...
closes https://github.com/official-stockfish/Stockfish/pull/6013
No functional change
2025-04-26 22:26:39 +02:00
breatn
f590767b91
Adaptive beta cut
...
passed STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 197088 W: 51084 L: 50533 D: 95471
Ptnml(0-2): 547, 23201, 50577, 23592, 627
https://tests.stockfishchess.org/tests/view/680604d798cd372e3aea58fe
passed LTC
LLR: 2.96 (-2.94,2.94) <0.50,2.50>
Total: 127950 W: 32719 L: 32214 D: 63017
Ptnml(0-2): 69, 13825, 35673, 14348, 60
https://tests.stockfishchess.org/tests/view/6805eae498cd372e3aea588a
closes https://github.com/official-stockfish/Stockfish/pull/6012
bench 1579003
2025-04-26 22:23:26 +02:00
FauziAkram
8b85290313
Remove manual stack alignment workaround for GCC < 9.3
...
consequently using these old compilers will now error out.
closes https://github.com/official-stockfish/Stockfish/pull/6008
No functional change.
2025-04-26 22:15:08 +02:00
Nonlinear2
0dcfe096d6
Increase full depth search reduction when cutNode
...
In addition to the core patch, improve the use of `isTTMove`:
- this name was used to mean both `bestMove == ttData.move` and `move == ttData.move`, so i replaced the argument `isTTMove` of `update_all_stats` with `TTMove` directly.
- `ttData.move == move` was still used in some places instead of `ss->isTTMove`. I replaced these to be more consistent.
Passed STC:
https://tests.stockfishchess.org/tests/view/68057b8f98cd372e3aea3472
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 38400 W: 10048 L: 9734 D: 18618
Ptnml(0-2): 102, 4360, 9956, 4686, 96
Passed LTC:
https://tests.stockfishchess.org/tests/view/68057f7c98cd372e3aea3842
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 312666 W: 79494 L: 78616 D: 154556
Ptnml(0-2): 144, 33809, 87563, 34659, 158
closes https://github.com/official-stockfish/Stockfish/pull/6007
Bench: 1623376
2025-04-26 22:11:40 +02:00
Daniel Monroe
88a524c552
Tweak futility formula
...
Passed STC
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 248448 W: 64344 L: 63718 D: 120386
Ptnml(0-2): 750, 29172, 63783, 29740, 779
https://tests.stockfishchess.org/tests/view/68056f5598cd372e3aea2901
Passed LTC
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 118824 W: 30358 L: 29874 D: 58592
Ptnml(0-2): 59, 12797, 33228, 13257, 71
https://tests.stockfishchess.org/tests/view/6805675698cd372e3aea20d0
closes https://github.com/official-stockfish/Stockfish/pull/6004
bench 1839796
2025-04-26 22:06:18 +02:00
Stefan Geschwentner
7988de4aa3
Prefer discovered and double checks in capture ordering.
...
Increase weight for captured piece value if also a discovered or double check.
Passed STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 142144 W: 36632 L: 36164 D: 69348
Ptnml(0-2): 429, 16470, 36788, 16974, 411
https://tests.stockfishchess.org/tests/view/68052d7498cd372e3ae9faaa
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 668328 W: 170837 L: 169238 D: 328253
Ptnml(0-2): 308, 72010, 187990, 73487, 369
https://tests.stockfishchess.org/tests/view/68053c9398cd372e3aea043b
closes https://github.com/official-stockfish/Stockfish/pull/6003
Bench: 1636625
2025-04-26 22:01:34 +02:00
FauziAkram
f6b0d53a99
Re-adding the 5th continuation history
...
the two simplifications (#5992 and #5978 ) are strongly correlated.
Passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 98016 W: 25415 L: 25008 D: 47593
Ptnml(0-2): 291, 11509, 25005, 11908, 295
https://tests.stockfishchess.org/tests/view/6802774fcd501869c6698168
Passed LTC:
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 588588 W: 150073 L: 148633 D: 289882
Ptnml(0-2): 281, 63615, 165078, 65023, 297
https://tests.stockfishchess.org/tests/view/6804cbdacd501869c66987dc
closes https://github.com/official-stockfish/Stockfish/pull/6002
Bench: 1783315
2025-04-26 21:58:46 +02:00
Michael Chaly
449a8b017e
Do second step of shallower search
...
Specifically if lmr depth is not lower than new depth and value is really bad.
Passed STC:
https://tests.stockfishchess.org/tests/view/6805444898cd372e3aea0494
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 77664 W: 20136 L: 19762 D: 37766
Ptnml(0-2): 214, 9006, 20039, 9338, 235
Passed LTC:
https://tests.stockfishchess.org/tests/view/680549b298cd372e3aea05ac
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 115458 W: 29447 L: 28971 D: 57040
Ptnml(0-2): 62, 12357, 32421, 12821, 68
closes https://github.com/official-stockfish/Stockfish/pull/6001
bench: 1515501
2025-04-26 21:52:36 +02:00
Shawn Xu
4176ad7b0a
simplify risk tolerance
...
Passed Non-regression STC:
LLR: 2.98 (-2.94,2.94) <-1.75,0.25>
Total: 73408 W: 19028 L: 18844 D: 35536
Ptnml(0-2): 201, 8709, 18743, 8807, 244
https://tests.stockfishchess.org/tests/view/68051f3698cd372e3ae9f63a
Passed Non-regression LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 91236 W: 23193 L: 23045 D: 44998
Ptnml(0-2): 34, 9908, 25599, 10030, 47
https://tests.stockfishchess.org/tests/view/6805239498cd372e3ae9fa41
closes https://github.com/official-stockfish/Stockfish/pull/6000
bench 1864632
2025-04-26 21:49:38 +02:00
Shawn Xu
16cd38dba1
Tweak TT Move Reduction by TT Move History
...
Passed STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 62496 W: 16197 L: 15844 D: 30455
Ptnml(0-2): 200, 7234, 16011, 7619, 184
https://tests.stockfishchess.org/tests/view/67f7fa9b31d7cf8afdc4609c
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 400470 W: 102068 L: 101012 D: 197390
Ptnml(0-2): 201, 43207, 112347, 44295, 185
https://tests.stockfishchess.org/tests/view/67f927b0cd501869c66975e0
Passed VVLTC Non-regression:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 125394 W: 32408 L: 32304 D: 60682
Ptnml(0-2): 3, 11702, 39188, 11796, 8
https://tests.stockfishchess.org/tests/view/6804c215cd501869c66986b9
closes https://github.com/official-stockfish/Stockfish/pull/5998
bench 1760988
2025-04-26 21:43:11 +02:00
Shawn Xu
b915ed702a
remove StateInfo::next
...
unused.
closes https://github.com/official-stockfish/Stockfish/pull/5997
no functional change
2025-04-26 21:37:17 +02:00
Joost VandeVondele
f2507d0562
Add x86-64-avxvnni in CI
...
will result in the corresponding binaries being available for download
closes https://github.com/official-stockfish/Stockfish/pull/5990
No functional change
2025-04-26 21:34:26 +02:00
Shawn Xu
f273eea71f
Remove non-functional accumulator reset
...
Passed Non-regression STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 219360 W: 56600 L: 56583 D: 106177
Ptnml(0-2): 582, 23419, 61620, 23518, 541
https://tests.stockfishchess.org/tests/view/67fad20dcd501869c669780f
closes https://github.com/official-stockfish/Stockfish/pull/5986
no functional change
2025-04-26 21:30:01 +02:00
Joost VandeVondele
f9459e4c8e
Use matching llvm-profdata
...
when using multiple clang compilers in parallel, it is necessary to use
a matching llvm-profdata, as the profile data format may change between
versions. To use the proper llvm-profdata binary, the one in the same directory
as the compiler is used. This allows for code like:
```bash
echo "Compiling clang"
for comp in clang++-11 clang++-12 clang++-13 clang++-14 clang++-15 clang++-16 clang++-17 clang++-18 clang++-19 clang++-20
do
make -j profile-build CXX=$comp COMP=clang >& out.compile.$comp
mv stockfish stockfish.$comp
done
```
after installing the required versions with the automatic installation script (https://apt.llvm.org/ )
closes https://github.com/official-stockfish/Stockfish/pull/5958
No functional change
2025-04-26 21:25:18 +02:00
Daniel Monroe
3d18ad719b
Skip 5th continuation history
...
Passed simplification STC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 70208 W: 18098 L: 17914 D: 34196
Ptnml(0-2): 199, 8300, 17907, 8514, 184
https://tests.stockfishchess.org/tests/view/67ed889b31d7cf8afdc451cb
Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 485004 W: 122703 L: 122956 D: 239345
Ptnml(0-2): 288, 53162, 135805, 53009, 238
https://tests.stockfishchess.org/tests/view/67ee810231d7cf8afdc452ea
closes https://github.com/official-stockfish/Stockfish/pull/5992
Bench: 1715901
2025-04-18 14:32:26 +02:00
Guenther Demetz
698c069bba
Move node increment inside do_move function
...
Move node increment inside do_move function so that we can centralize
the increment into a single point.
closes https://github.com/official-stockfish/Stockfish/pull/5989
No functional change
2025-04-18 14:32:26 +02:00
Shawn Xu
2b4926e091
Simplify TT Move History
...
Part 1 passed Non-regression STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 195552 W: 50394 L: 50349 D: 94809
Ptnml(0-2): 581, 23222, 50122, 23273, 578
https://tests.stockfishchess.org/tests/view/67eb6ea831d7cf8afdc44c30
Part 2 passed Non-regression STC:
LLR: 2.92 (-2.94,2.94) <-1.75,0.25>
Total: 181664 W: 46786 L: 46727 D: 88151
Ptnml(0-2): 517, 21403, 46974, 21380, 558
https://tests.stockfishchess.org/tests/view/67eb6f3331d7cf8afdc44c33
Passed Non-regression LTC:
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 155454 W: 39496 L: 39412 D: 76546
Ptnml(0-2): 77, 16950, 43580, 17052, 68
https://tests.stockfishchess.org/tests/view/67eee76531d7cf8afdc45358
Passed Non-regression VLTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 118266 W: 30263 L: 30148 D: 57855
Ptnml(0-2): 11, 11844, 35309, 11957, 12
https://tests.stockfishchess.org/tests/view/67f2414a31d7cf8afdc45760
closes https://github.com/official-stockfish/Stockfish/pull/5987
Bench: 1792850
2025-04-18 14:32:26 +02:00
pb00067
d2d046c2a4
Improve stalemate detection during search
...
Currently SF’s quiescence search like most alpha-beta based engines
doesn’t verify for stalemate because doing it each leaf position is to
expensive and costs elo. However in certain positions this creates a
blindspot for SF, not recognizing soon enough that the opponent can
reach a stalemate by sacrifycing his last mobile heavy piece(s). This
tactical motif & it’s measure are similar to zugzwang & verification
search: the measure itself does not gain elo, but prevents SF from
loosing/drawing games in an awkward way.
The fix consists of 3 measures:
1. Make qsearch verify for stalemate on transitions to pure KP-material
for the side to move with our last Rook/Queen just been captured. In
fact this is the scenario where stalemate happens with highest
frequency. The stalemate-verification itself is optimized by merely
checking for pawn pushes & king mobility (captures were already
tried by qssearch)
2. Another culprit for the issue figured out to be SEE based pruning for
checks in step 14. Here often the move forcing the stalemate (or
forcing the opponent to not retake) get pruned away and it need to
much time to reach enough depth. To encounter this we verify
following conditions:
- a) side to move is happy with a draw (alpha < 0)
- b) we are about to sacrify our last heavy & unique mobile piece in
this position.
- c) this piece doesn’t move away from our kingring giving the king a
new square to move.
When all 3 conditions meet we don’t prune the move, because there
is a good chance that capturing the piece means stalemate.
3. Store terminal nodes (mates & stalemates) in TT with higher depth
than searched depth. This prevents SF from:
- reanalyzing the node (=trying to generate legal moves) in vain at
each iterative deepening step.
- overwriting an already correct draw-evaluation from a previous shallow
normal search by a qsearch which doesn’t recognize stalemate and might
store a verry erratic evaluation.
This is due to the 4 constant in the TT-overwrite condition: d -
DEPTH_ENTRY_OFFSET + 2 * pv > depth8 – 4 which allows qs to override
entries made by normal searches with depth <=4.
This 3hrd measure however is not essential for fixing the issue, but
tests (one of vdv & one of mine) seem to suggest that this measure
brings some small benefit.
Another other position where SF benefits from this fix is for instance
Position FEN 8/8/8/1B6/6p1/8/3K1Ppp/3N2kr w - - 0 1 bm f4 +M9
P.S.: Also this issue higly depends on the used net, how good the net is
at evaluate such mobility restricted positions. SF16 was pretty good in
solving 2rr4/5pBk/PqP3p1/1N3pPp/1PQ1bP1P/8/3R4/R4K2 b - - 0 40 bm Rxc6
(< 1 second) while SF16_1 with introduction of the dual net needs about
1,5 minutes and SF17.1 requires 3 minutes to find the drawing move Rxc6.
P.S.2: Using more threads produces indeterminism & using high hash
pressure makes SF reevaluate explored positions more often which makes
it more likely to solve the position. To have stable meaningful results
I tested therfore with one single thread and low hash pressure.
Preliminary LTC test at 30k games
https://tests.stockfishchess.org/tests/view/67ece7a931d7cf8afdc44e18 Elo: 0.04 ± 2.0 (95%) LOS: 51.7%
Total: 24416 W: 6226 L: 6223 D: 11967
Ptnml(0-2): 12, 2497, 7185, 2504, 10
nElo: 0.09 ± 4.4 (95%) PairsRatio: 1.00
Passed LTC no-regression sprt
https://tests.stockfishchess.org/tests/view/67ee8e4631d7cf8afdc452fb
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 401556 W: 101612 L: 101776 D: 198168
Ptnml(0-2): 152, 42241, 116170, 42049, 166
closes https://github.com/official-stockfish/Stockfish/pull/5983
fixes https://github.com/official-stockfish/Stockfish/issues/5899
Bench: 1721673
2025-04-18 14:32:26 +02:00
FauziAkram
44efbaddea
Simplify bonusScale calculation
...
Allowing this specific term to potentially become negative for low depth
values is ok, because the overall `bonusScale` is explicitly ensured to
be non-negative a few lines later: bonusScale = std::max(bonusScale, 0);
Passed STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 164928 W: 42446 L: 42368 D: 80114
Ptnml(0-2): 497, 19551, 42306, 19597, 513
https://tests.stockfishchess.org/tests/view/67debf0b8888403457d8736c
Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 234942 W: 59539 L: 59537 D: 115866
Ptnml(0-2): 113, 25639, 65964, 25643, 112
https://tests.stockfishchess.org/tests/view/67e2e1c48888403457d87768
closes https://github.com/official-stockfish/Stockfish/pull/5979
Bench: 1933843
2025-04-18 14:32:26 +02:00
Daniel Monroe
904a016396
Don't use 5th continuation history in move ordering
...
Passed simplification STC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 136960 W: 35374 L: 35262 D: 66324
Ptnml(0-2): 420, 16214, 35049, 16428, 369
https://tests.stockfishchess.org/tests/view/67e6d0ae6682f97da2178ee5
Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 233016 W: 59063 L: 59059 D: 114894
Ptnml(0-2): 113, 25430, 65421, 25428, 116
https://tests.stockfishchess.org/tests/view/67e9f7fb31d7cf8afdc44ad4
closes https://github.com/official-stockfish/Stockfish/pull/5978
Bench: 1842721
2025-04-18 14:32:26 +02:00
FauziAkram
5f8e67a544
Remove combineLast3 optimization
...
Passed non-reg STC 1st:
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 67328 W: 17296 L: 17118 D: 32914
Ptnml(0-2): 158, 7095, 19011, 7211, 189
https://tests.stockfishchess.org/tests/view/67e6c2796682f97da2178ebe
Passed non-reg STC 2nd:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 92288 W: 23885 L: 23734 D: 44669
Ptnml(0-2): 213, 10039, 25518, 10132, 242
https://tests.stockfishchess.org/tests/view/67ed6a2d31d7cf8afdc45190
closes https://github.com/official-stockfish/Stockfish/pull/5975
Bench: 1875196
2025-04-18 14:32:26 +02:00