FauziAkram
d712ed38d1
Simplify shuffling and optimism divisors to constants
...
Shuffling divisor and Optimism divisors passed STC & LTC separately:
shuf STC: https://tests.stockfishchess.org/tests/view/66356316b4e9bdbc7228b995
shuf LTC: https://tests.stockfishchess.org/tests/view/6635815a73559a8aa857c1dc
opt STC: https://tests.stockfishchess.org/tests/view/66356326b4e9bdbc7228b9a0
opt LTC: https://tests.stockfishchess.org/tests/view/663615c673559a8aa8589f8a
And then passed LTC together:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 178278 W: 45039 L: 44979 D: 88260
Ptnml(0-2): 43, 19776, 49460, 19798, 62
https://tests.stockfishchess.org/tests/view/66363f19cdb7cf5da64e22a3
closes https://github.com/official-stockfish/Stockfish/pull/5212
Bench: 2198243
2024-05-05 13:02:42 +02:00
Viren6
741aaf8a38
Introduce Quadruple Extensions
...
This patch introduces quadruple extensions, with the new condition of not ttPv. It also generalises all margins, so that extensions can still occur if conditions are only partially fulfilled, but with a stricter margin.
Failed STC:
LLR: -2.94 (-2.94,2.94) <0.00,2.00>
Total: 16096 W: 3984 L: 4228 D: 7884
Ptnml(0-2): 72, 2067, 4002, 1847, 60
https://tests.stockfishchess.org/tests/view/66316422d01fb9ac9bcdbdcd
Passed VVLTC 1:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 96660 W: 24550 L: 24210 D: 47900
Ptnml(0-2): 5, 8776, 30426, 9120, 3
https://tests.stockfishchess.org/tests/view/66361f2c74fa3f41ef2ee091
Passed VVLTC 2:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 80546 W: 20495 L: 20120 D: 39931
Ptnml(0-2): 6, 7477, 24929, 7858, 3
https://tests.stockfishchess.org/tests/view/66350cf739ba8e443112b3fa
closes https://github.com/official-stockfish/Stockfish/pull/5211
bench 2233743
2024-05-05 12:53:58 +02:00
Michael Chaly
351a2e22dd
Add extra bonuses to some moves that forced a fail low
...
The previous patch on this idea was giving bonuses to this moves if best value of search is far below current static evaluation.
This patch does similar thing but adds extra bonus when best value of search is far below static evaluation before previous move.
Passed STC:
https://tests.stockfishchess.org/tests/view/66355fc819566d64b481d6a4
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 454144 W: 116575 L: 115656 D: 221913
Ptnml(0-2): 1060, 53410, 117215, 54325, 1062
Passed LTC:
https://tests.stockfishchess.org/tests/view/6635c61a73559a8aa858012d
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 136578 W: 34858 L: 34335 D: 67385
closes https://github.com/official-stockfish/Stockfish/pull/5209
Bench: 1614825
2024-05-05 12:42:30 +02:00
cj5716
8ee9905d8b
Remove PSQT-only mode
...
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 94208 W: 24270 L: 24112 D: 45826
Ptnml(0-2): 286, 11186, 24009, 11330, 293
https://tests.stockfishchess.org/tests/view/6635ddd773559a8aa8582826
Passed LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 114960 W: 29107 L: 28982 D: 56871
Ptnml(0-2): 37, 12683, 31924, 12790, 46
https://tests.stockfishchess.org/tests/view/663604a973559a8aa85881ed
closes #5214
Bench 1653939
2024-05-05 12:36:20 +02:00
Disservin
be026bdcb2
Clear Workers after changing the network
...
ensures internal state (e.g. accumulator cache) is consistent with network
closes https://github.com/official-stockfish/Stockfish/pull/5204
No functional change
2024-05-05 12:30:28 +02:00
mstembera
be142337d8
Accumulator cache bugfix and cleanup
...
STC:
https://tests.stockfishchess.org/tests/view/663068913a05f1bf7a511dc2
LLR: 2.98 (-2.94,2.94) <-1.75,0.25>
Total: 70304 W: 18211 L: 18026 D: 34067
Ptnml(0-2): 232, 7966, 18582, 8129, 243
1) Fixes a bug introduced in
https://github.com/official-stockfish/Stockfish/pull/5194 . Only one
psqtOnly flag was used for two perspectives which was causing
wrong entries to be cleared and marked.
2) The finny caches should be cleared like histories and not at the
start of every search.
closes https://github.com/official-stockfish/Stockfish/pull/5203
No functional change
2024-05-01 14:17:32 +02:00
cj5716
6a9b8a0c7b
Optimise NNUE Accumulator updates
...
Passed STC:
https://tests.stockfishchess.org/tests/view/662e3c6a5e9274400985a741
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 86176 W: 22284 L: 21905 D: 41987
Ptnml(0-2): 254, 9572, 23051, 9963, 248
closes https://github.com/official-stockfish/Stockfish/pull/5202
No functional change
2024-05-01 14:10:57 +02:00
Ciekce
eb20de36c0
Avoid unnecessary creation of accumulator cache
...
Saves a (currently) 800 KB allocation and deallocation when running
`eval`, not particularly significant and zero impact on play but not
necessary either.
closes https://github.com/official-stockfish/Stockfish/pull/5201
No functional change
2024-05-01 14:10:57 +02:00
Dubslow
5d72032559
Use capture history to better judge which sacrifices to explore
...
This idea has been bouncing around a while. @Vizvezdenec tried it a
couple years ago in Stockfish without results, but its recent arrival in
Ethereal inspired him and thence me to try it afresh in Stockfish.
(Also factor out the now-common code with futpruning for captures.)
STC:
https://tests.stockfishchess.org/tests/view/662355bc3fe04ce4cefc18ac
LLR: 2.92 (-2.94,2.94) <0.00,2.00>
Total: 45760 W: 11970 L: 11640 D: 22150
Ptnml(0-2): 124, 5371, 11625, 5571, 189
LTC:
https://tests.stockfishchess.org/tests/view/662dda396115ff6764c817c9
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 243828 W: 62042 L: 61287 D: 120499
Ptnml(0-2): 211, 27202, 66329, 27965, 207
closes https://github.com/official-stockfish/Stockfish/pull/5200
Bench: 1480008
2024-05-01 14:10:50 +02:00
Stefan Geschwentner
0fe6428645
More reduction at cut nodes which are not a former PV node
...
But the tt move and first killer are excluded.
This idea is based on following LMR condition tuning
https://tests.stockfishchess.org/tests/view/66228bed3fe04ce4cefc0c71 by
using only the two largest terms P[0] and P[1].
Passed STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 173248 W: 45091 L: 44565 D: 83592
Ptnml(0-2): 693, 20534, 43673, 21002, 722
https://tests.stockfishchess.org/tests/view/6629603b3fe04ce4cefc7d37
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 722394 W: 183231 L: 181487 D: 357676
Ptnml(0-2): 462, 80650, 197252, 82348, 485
https://tests.stockfishchess.org/tests/view/662cbe45d46f72253dcff7bf
closes https://github.com/official-stockfish/Stockfish/pull/5199
Bench: 1619613
2024-04-28 21:46:45 +02:00
Stefan Geschwentner
48a3b7c0ee
Simplify non-pawn material divisor to a constant
...
Passed STC:
https://tests.stockfishchess.org/tests/view/662942603fe04ce4cefc7aba
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 272832 W: 70456 L: 70497 D: 131879
Ptnml(0-2): 1020, 32619, 69154, 32628, 995
Passed LTC:
https://tests.stockfishchess.org/tests/view/662dfe3b6115ff6764c829eb
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 100254 W: 25446 L: 25303 D: 49505
Ptnml(0-2): 121, 11292, 27166, 11419, 129
closes https://github.com/official-stockfish/Stockfish/pull/5198
Bench: 1544645
2024-04-28 21:43:46 +02:00
cj5716
834e8ff619
Penalise the TT move in multicut
...
Passed STC:
LLR: 2.99 (-2.94,2.94) <0.00,2.00>
Total: 185504 W: 48079 L: 47533 D: 89892
Ptnml(0-2): 716, 21866, 46988, 22520, 662
https://tests.stockfishchess.org/tests/view/662d9e1d6115ff6764c7f83d
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 75612 W: 19351 L: 18948 D: 37313
Ptnml(0-2): 46, 8363, 20592, 8752, 53
https://tests.stockfishchess.org/tests/view/662dc9dc6115ff6764c80fea
closes https://github.com/official-stockfish/Stockfish/pull/5195
Bench: 1415435
2024-04-28 21:36:34 +02:00
mstembera
a129c0695b
Combine remove and add in update_accumulator_refresh_cache()
...
Combine remove and add in update_accumulator_refresh_cache().
Move remove before add to match other parts of the code.
STC:
https://tests.stockfishchess.org/tests/view/662d96dc6115ff6764c7f4ca
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 364032 W: 94421 L: 93624 D: 175987
Ptnml(0-2): 1261, 41983, 94811, 42620, 1341
closes https://github.com/official-stockfish/Stockfish/pull/5194
Bench: 1836777
2024-04-28 21:35:48 +02:00
mstembera
940a3a7383
Cache small net w/ psqtOnly support
...
Caching the small net in the same way as the big net allows them to
share the same code path and completely removes
update_accumulator_refresh().
STC:
https://tests.stockfishchess.org/tests/view/662bfb5ed46f72253dcfed85
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 151712 W: 39252 L: 39158 D: 73302
Ptnml(0-2): 565, 17474, 39683, 17570, 564
closes https://github.com/official-stockfish/Stockfish/pull/5194
Bench: 1836777
2024-04-28 21:30:19 +02:00
Joost VandeVondele
bc45cbc820
Output some basic info about the used networks
...
Adds size in memory as well as layer sizes as in
info string NNUE evaluation using nn-ae6a388e4a1a.nnue (132MiB, (22528, 3072, 15, 32, 1))
info string NNUE evaluation using nn-baff1ede1f90.nnue (6MiB, (22528, 128, 15, 32, 1))
For example, the size in MiB is useful to keep the fishtest memory sizes up-to-date,
the L1-L3 sizes give a useful hint about the architecture used.
closes https://github.com/official-stockfish/Stockfish/pull/5193
No functional change
2024-04-28 21:27:28 +02:00
Disservin
3502c8ae42
Fix missing initialization of AccumulatorCaches in Eval::trace
...
Add a constructor to `AccumulatorCaches` instead of just calling
`clear(networks)` to prevent similar issues from appearing in the
future.
fixes https://github.com/official-stockfish/Stockfish/issues/5190
closes https://github.com/official-stockfish/Stockfish/pull/5191
No functional change
2024-04-28 21:26:36 +02:00
xoto10
886ed90ec3
Use less time on recaptures
...
Credit for the idea goes to peregrine on discord.
Passed STC 10+0.1:
https://tests.stockfishchess.org/tests/view/662652623fe04ce4cefc48cf
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 75712 W: 19793 L: 19423 D: 36496
Ptnml(0-2): 258, 8487, 20023, 8803, 285
Passed LTC 60+0.6:
https://tests.stockfishchess.org/tests/view/6627495e3fe04ce4cefc59b6
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 49788 W: 12743 L: 12404 D: 24641
Ptnml(0-2): 29, 5141, 14215, 5480, 29
The code was updated slightly and tested for non-regression against the
original code at STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 41952 W: 10912 L: 10698 D: 20342
Ptnml(0-2): 133, 4825, 10835, 5061, 122
https://tests.stockfishchess.org/tests/view/662d84f56115ff6764c7e438
closes https://github.com/official-stockfish/Stockfish/pull/5189
Bench: 1836777
2024-04-28 21:26:25 +02:00
gab8192
49ef4c935a
Implement accumulator refresh table
...
For each thread persist an accumulator cache for the network, where each
cache contains multiple entries for each of the possible king squares.
When the accumulator needs to be refreshed, the cached entry is used to more
efficiently update the accumulator, instead of rebuilding it from scratch.
This idea, was first described by Luecx (author of Koivisto) and
is commonly referred to as "Finny Tables".
When the accumulator needs to be refreshed, instead of filling it with
biases and adding every piece from scratch, we...
1. Take the `AccumulatorRefreshEntry` associated with the new king bucket
2. Calculate the features to activate and deactivate (from differences
between bitboards in the entry and bitboards of the actual position)
3. Apply the updates on the refresh entry
4. Copy the content of the refresh entry accumulator to the accumulator
we were refreshing
5. Copy the bitboards from the position to the refresh entry, to match
the newly updated accumulator
Results at STC:
https://tests.stockfishchess.org/tests/view/662301573fe04ce4cefc1386
(first version)
https://tests.stockfishchess.org/tests/view/6627fa063fe04ce4cefc6560
(final)
Non-Regression between first and final:
https://tests.stockfishchess.org/tests/view/662801e33fe04ce4cefc660a
STC SMP:
https://tests.stockfishchess.org/tests/view/662808133fe04ce4cefc667c
closes https://github.com/official-stockfish/Stockfish/pull/5183
No functional change
2024-04-24 18:38:20 +02:00
FauziAkram
fcba524793
Tune Search Parameters
...
Parameters Tune, adding also another tunable parameter (npmDiv) to be
variable for different nets (bignet, smallnet, psqtOnly smallnet). P.s:
The changed values are only the parameters where there is agreement
among the different time controls, so in other words, the tunings are
telling us that changing these specific values to this specific
direction is good in all time controls, so there shouldn't be a high
risk of regressing at longer time controls.
Passed STC:
LLR: 2.97 (-2.94,2.94) <0.00,2.00>
Total: 39552 W: 10329 L: 9999 D: 19224
Ptnml(0-2): 156, 4592, 9989, 4844, 195
https://tests.stockfishchess.org/tests/view/661be9a0bd68065432a088c0
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 56394 W: 14439 L: 14078 D: 27877
Ptnml(0-2): 30, 6152, 15480, 6497, 38
https://tests.stockfishchess.org/tests/view/661c746296961e72eb565406
closes https://github.com/official-stockfish/Stockfish/pull/5187
Bench: 1836777
2024-04-24 18:24:01 +02:00
Disservin
ddd250b9d6
Restore NPS output for Perft
...
Previously it was possible to also get the node counter after running a bench with perft, i.e.
`./stockfish bench 1 1 5 current perft`, caused by a small regression from the uci refactoring.
```
Nodes searched: 4865609
===========================
Total time (ms) : 18
Nodes searched : 4865609
Nodes/second : 270311611
````
closes https://github.com/official-stockfish/Stockfish/pull/5188
No functional change
2024-04-24 18:20:55 +02:00
cj5716
d47aa639bd
Tweak TT aging and replacement strategies
...
We change the definition of "age" from "age of this position" to "age of this TT entry".
In this way, despite being on the same position, when we save into TT, we always prefer the new entry as compared to the old one.
Passed STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 152256 W: 39597 L: 39110 D: 73549
Ptnml(0-2): 556, 17562, 39398, 18063, 549
https://tests.stockfishchess.org/tests/view/6620faee3fe04ce4cefbf215
Passed LTC:
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 51564 W: 13242 L: 12895 D: 25427
Ptnml(0-2): 24, 5464, 14463, 5803, 28
https://tests.stockfishchess.org/tests/view/66231ab53fe04ce4cefc153e
closes #5184
Bench 1479416
2024-04-21 14:50:04 +02:00
Disservin
56a9cc512e
Move ALSR change to CI Workflow file
...
It makes more sense to not (potentially) change the developers alsr entropy setting to make the test run through. This should be an active choice even if the test then might fail locally for them.
closes https://github.com/official-stockfish/Stockfish/pull/5182
No functional change
2024-04-21 14:49:11 +02:00
Joost VandeVondele
1a8de45b8c
Improve CI
...
the recent refactoring has shown some limitations of our testing, hence we add a couple of more tests including:
* expected mate score
* expected mated score
* expected in TB win score
* expected in TB loss score
* expected info line output
* expected info line output (wdl)
closes https://github.com/official-stockfish/Stockfish/pull/5181
No functional change
2024-04-21 14:46:01 +02:00
Robert Nurnberg @ elitebook
6fc7da44ad
update the WDL model
...
The patch only changes the displayed cp and wdl values.
closes https://github.com/official-stockfish/Stockfish/pull/5178
No functional change
2024-04-21 14:40:02 +02:00
Gahtan Nahdi
d0e72c19fa
fix clang compiler warning for avx512 build
...
Initialize variable in constexpr function to get rid of clang compiler warning for avx512 build.
closes https://github.com/official-stockfish/Stockfish/pull/5176
Non-functional change
2024-04-21 14:38:16 +02:00
Michael Chaly
9021a61807
Trivial cleanup
...
Make naming and declaration of futilityValue in search consistent between different places.
closes https://github.com/official-stockfish/Stockfish/pull/5165
No functional change.
2024-04-21 14:35:54 +02:00
Disservin
d3fc1d835e
Refactor elapsed time checks in search
...
Small improvement of the elapsed time usage in search, makes the code easier to read overall.
Also Search::Worker::iterative_deepening() now only checks the elapsed time once, instead of 3 times in a row.
Non Regression STC:
https://tests.stockfishchess.org/tests/view/6617005d5a4693796d965c3c
LLR: 2.97 (-2.94,2.94) <-1.75,0.25>
Total: 61024 W: 16002 L: 15806 D: 29216
Ptnml(0-2): 243, 6874, 16102, 7030, 263
closes https://github.com/official-stockfish/Stockfish/pull/5163
No functional change
2024-04-21 14:35:01 +02:00
Disservin
432995ad82
Update outdated comments
...
closes https://github.com/official-stockfish/Stockfish/pull/5158
No functional change
2024-04-21 14:32:26 +02:00
Disservin
c55ae376f6
Fix wrong sign for 200 TB score
...
Fix another case of 9032c6cbe7
* TB values can have a distance of 0, mainly when we are in a tb position but haven't found mate.
* Add a missing whitespace to UCIEngine::on_update_no_moves()
Closes https://github.com/official-stockfish/Stockfish/pull/5172
No functional change
2024-04-13 22:05:19 +02:00
Disservin
4912f5b0b5
Remove duplicated Position object in UCIEngine
...
Also fixes searchmoves.
Drop the need of a Position object in uci.cpp.
A side note, it is still required for the static functions,
but these should be moved to a different namespace/class
later on, since sf kinda relies on them.
closes https://github.com/official-stockfish/Stockfish/pull/5169
No functional change
2024-04-12 19:37:39 +02:00
Shahin M. Shahin
14f6eab07d
Fix some more UCI output
...
further fall-out of the refactoring, fixes:
* the position object in UCI is not never getting updated if position token is used
* duplicate string of " wdl "
See also:
https://discord.com/channels/435943710472011776/1032922913499783169/1228227522945351690
https://discord.com/channels/435943710472011776/813919248455827515/1228288106449338398
closes https://github.com/official-stockfish/Stockfish/pull/5168
No functional change
Co-Authored-By: disservin <45608332+disservin@users.noreply.github.com>
2024-04-12 18:11:54 +02:00
Robert Nurnberg @ elitebook
e58b3b4665
Fix wrong mate sign
...
introduced yesterday by the UCI refactoring 9032c6cbe
fixes #5166
closes https://github.com/official-stockfish/Stockfish/pull/5167
No functional change
2024-04-12 09:30:34 +02:00
FauziAkram
249eec6715
Simplify the depth-dependent part of the best value adjustment formula in main search
...
Passed STC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 139648 W: 36171 L: 36061 D: 67416
Ptnml(0-2): 545, 16685, 35282, 16739, 573
https://tests.stockfishchess.org/tests/view/660d953b8ff4a059828d625d
Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 222894 W: 56519 L: 56505 D: 109870
Ptnml(0-2): 112, 25145, 60971, 25055, 164
https://tests.stockfishchess.org/tests/view/660fd4afbfeb43334bf7d558
closes https://github.com/official-stockfish/Stockfish/pull/5164
bench: 1479416
2024-04-11 22:47:40 +02:00
gab8192
d6bdcec52c
Remove an useless assignment
...
The assignment (ss + 1)->excludedMove = Move::none() can be simplified away because when that line is reached, (ss + 1)->excludedMove is always already none. The only moment stack[x]->excludedMove is modified, is during singular search, but it is reset to none right after the singular search is finished.
closes https://github.com/official-stockfish/Stockfish/pull/5153
No functional change
2024-04-11 22:43:00 +02:00
Disservin
de2244284b
Remove COMPILER from Makefile
...
The same functionality is available by using COMPCXX and having another variable which does the same is just confusing.
There was only one mention on Stockfish Wiki about this which has been changed to COMPCXX.
closes https://github.com/official-stockfish/Stockfish/pull/5154
No functional change
2024-04-11 22:41:35 +02:00
mstembera
94484db6e8
Avoid permuting inputs during transform()
...
Avoid permuting inputs during transform() and instead do it once at load time.
Affects AVX2 and newer Intel architectures only.
https://tests.stockfishchess.org/tests/view/661306613eb00c8ccc0033c7
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 108480 W: 28319 L: 27898 D: 52263
Ptnml(0-2): 436, 12259, 28438, 12662, 445
speedups measured such as e.g.
```
Result of 100 runs
==================
base (./stockfish.master ) = 1241128 +/- 3757
test (./stockfish.patch ) = 1247713 +/- 3689
diff = +6585 +/- 2583
speedup = +0.0053
P(speedup > 0) = 1.0000
```
closes https://github.com/official-stockfish/Stockfish/pull/5160
No functional change
2024-04-11 22:38:38 +02:00
Muzhen Gaming
1adf8e1ae6
VVLTC search tune
...
Parameters were tuned in 3 stages:
* Using an earlier L1-3072 net, and with triple extension margin manually set to 0: https://tests.stockfishchess.org/tests/view/65ffdf5d0ec64f0526c544f2 (~30k games)
* Continue tuning, but with the previous master net (L1-2560). https://tests.stockfishchess.org/tests/view/660663f00ec64f0526c59c41 (~27k games)
* Starting with the parameters from step 2, use the current L1-3072 net, and allow the triple extension margin to be tuned starting from 0: https://tests.stockfishchess.org/tests/view/660c16b8216a13d9498e7536 (40k games)
Passed VVLTC 1st sprt: https://tests.stockfishchess.org/tests/view/66115eacbfeb43334bf7eddd
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 27138 W: 7045 L: 6789 D: 13304
Ptnml(0-2): 1, 2421, 8471, 2673, 3
Passed VVLTC 2nd sprt: https://tests.stockfishchess.org/tests/view/661483623eb00c8ccc0049c1
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 26242 W: 6807 L: 6535 D: 12900
Ptnml(0-2): 0, 2353, 8143, 2625, 0
STC Elo estimate: https://tests.stockfishchess.org/tests/view/66175ca55a4693796d96608c
Elo: -10.53 ± 2.4 (95%) LOS: 0.0%
Total: 21584 W: 5294 L: 5948 D: 10342
Ptnml(0-2): 102, 2937, 5363, 2293, 97
nElo: -19.99 ± 4.7 (95%) PairsRatio: 0.79
closes https://github.com/official-stockfish/Stockfish/pull/5162
Bench: 1381387
2024-04-11 22:23:52 +02:00
Disservin
9032c6cbe7
Transform search output to engine callbacks
...
Part 2 of the Split UCI into UCIEngine and Engine refactor.
This creates function callbacks for search to use when an update should occur.
The benching in uci.cpp for example does this to extract the total nodes
searched.
No functional change
2024-04-05 21:03:58 +02:00
Disservin
299707d2c2
Split UCI into UCIEngine and Engine
...
This is another refactor which aims to decouple uci from stockfish. A new engine
class manages all engine related logic and uci is a "small" wrapper around it.
In the future we should also try to remove the need for the Position object in
the uci and replace the options with an actual options struct instead of using a
map. Also convert the std::string's in the Info structs a string_view.
closes #5147
No functional change
2024-04-04 00:15:17 +02:00
Viren6
0716b845fd
Update NNUE architecture to SFNNv9 and net nn-ae6a388e4a1a.nnue
...
Part 1: PyTorch Training, linrock
Trained with a 10-stage sequence from scratch, starting in May 2023:
https://github.com/linrock/nnue-tools/blob/master/exp-sequences/3072-10stage-SFNNv9.yml
While the training methods were similar to the L1-2560 training sequence,
the last two stages introduced min-v2 binpacks,
where bestmove capture and in-check position scores were not zeroed during minimization,
for compatibility with skipping SEE >= 0 positions and future research.
Training data can be found at:
https://robotmoon.com/nnue-training-data
This net was tested at epoch 679 of the 10th training stage:
https://tests.stockfishchess.org/tests/view/65f32e460ec64f0526c48dbc
Part 2: SPSA Training, Viren6
The net was then SPSA tuned.
This consisted of the output weights (32 * 8) and biases (8)
as well as the L3 biases (32 * 8) and L2 biases (16 * 8), totalling 648 params in total.
The SPSA tune can be found here:
https://tests.stockfishchess.org/tests/view/65fc33ba0ec64f0526c512e3
With the help of Disservin , the initial weights were extracted with:
https://github.com/Viren6/Stockfish/tree/new228
The net was saved with the tuned weights using:
https://github.com/Viren6/Stockfish/tree/new241
Earlier nets of the SPSA failed STC compared to the base 3072 net of part 1:
https://tests.stockfishchess.org/tests/view/65ff356e0ec64f0526c53c98
Therefore it is suspected that the SPSA at VVLTC has
added extra scaling on top of the scaling of increasing the L1 size.
Passed VVLTC 1:
https://tests.stockfishchess.org/tests/view/6604a9020ec64f0526c583da
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 53042 W: 13554 L: 13256 D: 26232
Ptnml(0-2): 12, 5147, 15903, 5449, 10
Passed VVLTC 2:
https://tests.stockfishchess.org/tests/view/660ad1b60ec64f0526c5dd23
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 17506 W: 4574 L: 4315 D: 8617
Ptnml(0-2): 1, 1567, 5362, 1818, 5
STC Elo estimate:
https://tests.stockfishchess.org/tests/view/660b834d01aaec5069f87cb0
Elo: -7.66 ± 3.8 (95%) LOS: 0.0%
Total: 9618 W: 2440 L: 2652 D: 4526
Ptnml(0-2): 80, 1281, 2261, 1145, 42
nElo: -13.94 ± 6.9 (95%) PairsRatio: 0.87
closes https://tests.stockfishchess.org/tests/view/660b834d01aaec5069f87cb0
bench 1823302
Co-Authored-By: Linmiao Xu <lin@robotmoon.com>
2024-04-02 08:49:48 +02:00
Joost VandeVondele
c964942da2
Avoid a note related to an ABI change
...
current master triggers a gcc note:
parameter passing for argument of type 'std::pair<double, double>' when C++17 is enabled changed to match C++14 in GCC 10.1
while this is inconsequential, and just informative https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111516 we can easily avoid it.
closes https://github.com/official-stockfish/Stockfish/pull/5145
No functional change
2024-03-30 12:38:02 +01:00
Disservin
ec598b380d
Improve prerelease creation workflow
...
In the last couple of months we sometimes saw duplicated prereleases uploaded to GitHub, possibly due to some racy behavior when concurrent jobs create a prerelease. This now creates an empty prerelease at the beginning of the CI and the binaries are later just attached to this one.
closes https://github.com/official-stockfish/Stockfish/pull/5144
No functional change
2024-03-29 13:13:07 +01:00
Joost VandeVondele
68d58d94da
Fix usage of abs vs std::abs
...
close https://github.com/official-stockfish/Stockfish/pull/5143
No functional change
2024-03-29 13:12:20 +01:00
Shawn Xu
e13e4cfb83
Simplify NMP Condition
...
Remove eval >= ss->staticEval condition for Null Move Pruning.
Passed non-regression STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 44000 W: 11420 L: 11202 D: 21378
Ptnml(0-2): 174, 5243, 10978, 5401, 204
https://tests.stockfishchess.org/tests/live_elo/6603ee490ec64f0526c57984
Passed non-regression LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 82956 W: 20978 L: 20818 D: 41160
Ptnml(0-2): 54, 9353, 22499, 9523, 49
https://tests.stockfishchess.org/tests/live_elo/660464b50ec64f0526c5804d
closes https://github.com/official-stockfish/Stockfish/pull/5142
Bench 1759189
2024-03-29 10:18:40 +01:00
Michael Chaly
0ef5d05102
Adjust best value after a pruned quiet move
...
Logic somewhat similar to how we adjust best value after pruned captures
in qsearch, but in search this patch does it after pruned quiet moves
and also to not full scale of futility value but to smth in between
best value and futility value.
Passed STC:
https://tests.stockfishchess.org/tests/view/6601cf900ec64f0526c55c30
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 59936 W: 15722 L: 15369 D: 28845
Ptnml(0-2): 182, 7097, 15112, 7340, 237
Passed LTC:
https://tests.stockfishchess.org/tests/view/66029b2d0ec64f0526c566f1
LLR: 2.96 (-2.94,2.94) <0.50,2.50>
Total: 118362 W: 29953 L: 29460 D: 58949
Ptnml(0-2): 68, 13159, 32249, 13622, 83
closes https://github.com/official-stockfish/Stockfish/pull/5141
bench 1772608
2024-03-29 10:15:17 +01:00
xoto10
e636f73ab8
Vary time use with eval
...
Adjust time use depending on the current eval.
Passed STC :
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 101696 W: 26651 L: 26238 D: 48807
Ptnml(0-2): 400, 11602, 26459, 11959, 428
https://tests.stockfishchess.org/tests/live_elo/660187a50ec64f0526c557f6
Passed LTC :
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 60648 W: 15550 L: 15187 D: 29911
Ptnml(0-2): 40, 6356, 17171, 6715, 42
https://tests.stockfishchess.org/tests/live_elo/660298ed0ec64f0526c566d0
Values were found using two tunes with the final values taken from the ltc tune after 62k games :
stc - https://tests.stockfishchess.org/tests/view/65fb526b0ec64f0526c50694
ltc - https://tests.stockfishchess.org/tests/view/65fd36e60ec64f0526c5214b
Ideas for future work;
* tune these values with the other TM adjustments
* try narrower bands
* calculate adjustment for exact eval by interpolation
closes https://github.com/official-stockfish/Stockfish/pull/5138
No functional change
2024-03-29 10:09:42 +01:00
Gahtan Nahdi
ed24e3a0a6
Remove material imbalance from nnue eval
...
Passed non-reg STC:
https://tests.stockfishchess.org/tests/view/65fdf11f0ec64f0526c52b57
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 76480 W: 19893 L: 19712 D: 36875
Ptnml(0-2): 339, 9107, 19157, 9308, 329
Passed non-reg LTC:
https://tests.stockfishchess.org/tests/view/65fee22e0ec64f0526c53885
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 150948 W: 38078 L: 37988 D: 74882
Ptnml(0-2): 111, 16997, 41148, 17127, 91
closes https://github.com/official-stockfish/Stockfish/pull/5135
Bench: 2103324
2024-03-26 18:17:00 +01:00
FauziAkram
d49b3738bc
Tweak the stats bonus and malus
...
For depth 1 we don't have a negative score anymore.
Passed STC:
https://tests.stockfishchess.org/tests/view/65fb055c0ec64f0526c5024f
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 117120 W: 30468 L: 30023 D: 56629
Ptnml(0-2): 526, 13759, 29539, 14216, 520
Passed LTC:
https://tests.stockfishchess.org/tests/view/65fdca4b0ec64f0526c5293f
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 54816 W: 13955 L: 13595 D: 27266
Ptnml(0-2): 30, 6046, 14897, 6404, 31
closes https://github.com/official-stockfish/Stockfish/pull/5134
Bench: 1876428
2024-03-26 18:17:00 +01:00
Disservin
7998570414
Add functionality to export small net
...
Usage
```
export_net <filenameBigNet> <filenameSmallNet>
```
closes https://github.com/official-stockfish/Stockfish/pull/5133
No functional change
2024-03-26 18:17:00 +01:00
mstembera
5001d49f42
Update nnue_feature_transformer.h
...
Unroll update_accumulator_refresh to process two
active indices simultaneously.
The compiler might not unroll effectively because
the number of active indices isn't known at
compile time.
STC https://tests.stockfishchess.org/tests/view/65faa8850ec64f0526c4fca9
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 130464 W: 33882 L: 33431 D: 63151
Ptnml(0-2): 539, 14591, 34501, 15082, 519
closes https://github.com/official-stockfish/Stockfish/pull/5125
No functional change
2024-03-26 18:06:49 +01:00