Fabian Fichter [Sun, 13 Oct 2019 21:49:14 +0000]
Support Cambodian chess (Ouk Chatrang, Kar Ouk) (close #39)
https://en.wikipedia.org/wiki/Makruk#Cambodian_chess
- Captures by special move of queen/neang are allowed.
- King may only make its leap if the side to move is not in check,
and if the move does not capture a piece.
No functional change for existing variants.
Fabian Fichter [Mon, 14 Oct 2019 16:24:27 +0000]
Set castling rights only if enabled
Makes FEN parsing more robust and allows to support S-Chess without castling.
Fabian Fichter [Mon, 14 Oct 2019 13:58:46 +0000]
Fix compiler warnings for large-board version
No functional change.
Fabian Fichter [Fri, 11 Oct 2019 13:14:19 +0000]
Amendment for documentation update (#30)
Fabian Fichter [Fri, 11 Oct 2019 13:07:50 +0000]
Extend variant INI documentation (#30)
Fabian Fichter [Mon, 7 Oct 2019 19:36:47 +0000]
Fix pseudo-legal move validation (close #35)
sittuyin STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 126 W: 60 L: 2 D: 64
http://35.161.250.236:6543/tests/view/
5d9b94916e23db3768ec08f3
sittuyin LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 111 W: 58 L: 1 D: 52
http://35.161.250.236:6543/tests/view/
5d9b9f566e23db3768ec08fd
bench: 3686859
Fabian Fichter [Thu, 3 Oct 2019 14:58:20 +0000]
Support generation of SFEN (gbtami/pychess-variants#36)
Report SFEN next to FEN in the "d" command.
Fabian Fichter [Wed, 2 Oct 2019 21:56:51 +0000]
Support Makrukhouse (Makruk+Crazyhouse hybrid)
Fabian Fichter [Fri, 27 Sep 2019 07:31:08 +0000]
Speed up move picking for losing chess
giveaway STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 403 W: 203 L: 114 D: 86
http://35.161.250.236:6543/tests/view/
5d93a8726e23db3768ec087a
giveaway LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 369 W: 178 L: 93 D: 98
http://35.161.250.236:6543/tests/view/
5d93be896e23db3768ec088a
losers STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 539 W: 290 L: 190 D: 59
http://35.161.250.236:6543/tests/view/
5d93a8fd6e23db3768ec087d
losers LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 604 W: 314 L: 214 D: 76
http://35.161.250.236:6543/tests/view/
5d93be916e23db3768ec088c
codrus STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 857 W: 477 L: 364 D: 16
http://35.161.250.236:6543/tests/view/
5d93a9126e23db3768ec087f
Fabian Fichter [Tue, 1 Oct 2019 20:07:06 +0000]
Make drop region constraint more explicit
No functional change.
Fabian Fichter [Fri, 27 Sep 2019 07:01:31 +0000]
Support "coffeehouse" chess
Crazyhouse with mandatory captures.
Fabian Fichter [Thu, 26 Sep 2019 18:46:32 +0000]
Do not consider quiet moves as attacks
Fix attack bitboard calculation for hoppelpoppel-style pieces.
hoppelpoppel STC
LLR: 2.94 (-2.94,2.94) [0.00,10.00]
Total: 863 W: 335 L: 247 D: 281
http://35.161.250.236:6543/tests/view/
5d8d0ab36e23db3768ec085c
hoppelpoppel LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 717 W: 271 L: 187 D: 259
http://35.161.250.236:6543/tests/view/
5d8d0d8f6e23db3768ec085f
chess STC
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 1338 W: 317 L: 279 D: 742
http://35.161.250.236:6543/tests/view/
5d8d16766e23db3768ec0861
Fabian Fichter [Thu, 19 Sep 2019 18:48:16 +0000]
Use shuffle extension only with N-move rule
makruk STC
LLR: 4.58 (-2.94,2.94) [-10.00,5.00]
Total: 3656 W: 314 L: 264 D: 3078
http://35.161.250.236:6543/tests/view/
5d83cf5e6e23db3768ec083c
makruk LTC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 3645 W: 268 L: 238 D: 3139
http://35.161.250.236:6543/tests/view/
5d8a510d6e23db3768ec0854
Fabian Fichter [Wed, 18 Sep 2019 19:55:14 +0000]
Skip updating history of reverse move for drops
crazyhouse STC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 3523 W: 1731 L: 1690 D: 102
http://35.161.250.236:6543/tests/view/
5d83cf716e23db3768ec083e
Fabian Fichter [Fri, 20 Sep 2019 15:59:44 +0000]
Fix pos_is_ok for castling with non-king piece
No functional change.
Fabian Fichter [Fri, 20 Sep 2019 14:26:47 +0000]
Support peasant revolt
Fabian Fichter [Thu, 19 Sep 2019 19:58:13 +0000]
List variant configuration options in INI (#30)
Fabian Fichter [Sun, 1 Sep 2019 18:50:36 +0000]
Filter invalid moves early
No functional change.
Fabian Fichter [Thu, 19 Sep 2019 13:02:00 +0000]
Update readme
Fabian Fichter [Tue, 17 Sep 2019 19:09:21 +0000]
Revert "Fix #29: Increase stack limit for mingw"
This reverts commit
9085d6831bf9cabc8f1ff6edc15b9ba0b0c2f6b4.
No longer required due to fix merged from upstream.
Fabian Fichter [Mon, 16 Sep 2019 19:55:09 +0000]
Merge official-stockfish/master
bench: 3815926
noobpwnftw [Sat, 14 Sep 2019 16:18:10 +0000]
Raise stack size to 8MB for pthreads
It seems there is no other way to specify stack size on std::thread than linker
flags and the effective flags are named differently in many toolchains. On
toolchains where pthread is always available, this patch changes the stack
size change in our C++ code via pthread to ensure a minimum stack size of 8MB,
instead of relying on linker defaults which may be platform-specific.
Also raises default stack size on OSX to current Linux default (8MB) just to
be safe.
Closes https://github.com/official-stockfish/Stockfish/pull/2303
No functional change
Stéphane Nicolet [Sun, 15 Sep 2019 21:18:54 +0000]
Scale down endgame factor when shuffling
This patch decreases the endgame scale factor using the 50 moves counter.
Looking at some games with this patch, it seems to have two effects on
the playing style:
1) when no progress can be made in late endgames (for instance in fortresses
or opposite bishops endgames) the evaluation will be largely tamed down
towards a draw value.
2) more interestingly, there is also a small effect in the midgame play because
Stockfish will panic a little bit if there are more than four consecutive
shuffling moves with an advantage: the engine will try to move a pawn or to
exchange a piece to keep the advantage, so the follow-ups of the position
will be discovered earlier by the alpha-beta search.
passed STC:
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 23017 W: 5080 L: 4805 D: 13132
http://tests.stockfishchess.org/tests/view/
5d7e4aef0ebc59069c36fc74
passed LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 30746 W: 5171 L: 4911 D: 20664
http://tests.stockfishchess.org/tests/view/
5d7e513d0ebc59069c36ff26
Pull request: https://github.com/official-stockfish/Stockfish/pull/2304
Bench: 4272173
Vizvezdenec [Sat, 14 Sep 2019 22:32:39 +0000]
Introduce midgame initiative
This patch finally introduces something that was tried for years: midgame score
dependance on complexity of position. More precisely, if the position is very
simplified and the complexity measure calculated in the initiative() function
is inferior to -50 by an amount d, then we add this value d to the midgame score.
One example of play of this patch will be (again!) 4 vs 3 etc same flank endgames
where sides have a lot of non-pawn material: 4 vs 3 draw mostly remains the same
draw even if we add a lot of equal material to both sides.
STC run was stopped after 200k games (and not converging):
LLR: -1.75 (-2.94,2.94) [0.50,4.50]
Total: 200319 W: 44197 L: 43310 D: 112812
http://tests.stockfishchess.org/tests/view/
5d7cfdb10ebc5902d386572c
passed LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 41051 W: 6858 L: 6570 D: 27623
http://tests.stockfishchess.org/tests/view/
5d7d14680ebc5902d3866196
This is the first and not really precise version, a lot of other stuff can be
tried on top of it (separate complexity for middlegame, some more terms, even
simple retuning of values).
Bench: 4248476
Stéphane Nicolet [Sat, 14 Sep 2019 06:33:00 +0000]
Assorted trivial cleanups
No functional change
31m059 [Fri, 13 Sep 2019 19:46:05 +0000]
Use queens of either color in RookOnQueenFile
The recently-added RookOnQueenFile evaluation term (36e4a86) provided a bonus
for placing our rook on the same file as an enemy queen.
Here, we relax a condition in this bonus, broadening its effect to any queen.
It is also strategically desirable to place the rook on the same file as a friendly
queen, so the restriction on the queen's color is removed.
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 66856 W: 14847 L: 14815 D: 37194
http://tests.stockfishchess.org/tests/view/
5d7b3c6a0ebc5902d385bcf5
LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 86786 W: 14264 L: 14248 D: 58274
http://tests.stockfishchess.org/tests/view/
5d7b4e9b0ebc5902d385c178
Closes https://github.com/official-stockfish/Stockfish/pull/2302
Bench: 3703909
Stéphane Nicolet [Sat, 14 Sep 2019 05:33:48 +0000]
Update Makefile documentation
Follow-up to previous commit. Update the documentation for the user when using `make`,
to show the preferred bmi2 compile in the advanced examples section.
Note: I made a mistake in the previous commit comment, the documentation is shown when
using `make` or `make help`, not `make --help`.
No functional change
Joost VandeVondele [Thu, 12 Sep 2019 19:25:58 +0000]
Add sse4 if bmi2 is enabled
The only change done to the Makefile to get a somewhat faster binary as
discussed in #2291 is to add -msse4 to the compile options of the bmi2 build.
Since all processors supporting bmi2 also support sse4 this can be done easily.
It is a useful step to avoid sending around custom and poorly tested builds.
The speedup isn't enough to pass [0,4] but it is roughly 1.15Elo and a LOS of 90%:
LLR: -2.95 (-2.94,2.94) [0.00,4.00]
Total: 93009 W: 20519 L: 20316 D: 52174
Also rewrite the documentation for the user when using `make --help`, so that
the order of architectures for x86-64 has the more performant build one on top.
Closes https://github.com/official-stockfish/Stockfish/pull/2300
No functional change
Vizvezdenec [Thu, 12 Sep 2019 03:43:04 +0000]
Scale down complexity for almost unwinnable endgames
This patch greatly scales down complexity of endgames when the
following conditions are all true together:
- pawns are all on one flank
- stronger side king is not outflanking weaker side
- no passed pawns are present
This should improve stockfish evaluation of obvious draws 4 vs 3, 3 vs 2
and 2 vs 1 pawns in rook/queen/knight/bishop single flank endgames where
strong side can not make progress.
passed STC
LLR: 2.94 (-2.94,2.94) [0.50,4.50]
Total: 15843 W: 3601 L: 3359 D: 8883
passed LTC
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 121275 W: 20107 L: 19597 D: 81571
Closes https://github.com/official-stockfish/Stockfish/pull/2298
Bench: 3954190
==========================
How to continue from there?
a) This could be a powerful idea for refining some parts of the evaluation
function, a bit like when we try quadratics or other equations to emphasize
certain situations (xoto10).
b) Some other combinaison values for this bonus can be done further, or
overall retuning of weight and offset while keeping the formula simple.
xoto10 [Thu, 12 Sep 2019 03:29:23 +0000]
Bonus for rook on same file as their queen
This patch creates a simple bonus for a rook that is on the same file as the
opponent's queen.
STC 10+0.1 th 1 :
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 45609 W: 10120 L: 9733 D: 25756
http://tests.stockfishchess.org/tests/view/
5d79895a0ebc5902d385484a
LTC 60+0.6 th 1 :
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 51651 W: 8606 L: 8288 D: 34757
http://tests.stockfishchess.org/tests/view/
5d79a0850ebc5902d3854d27
Many thanks to @noobpwnftw for providing the extra cpu resources for fishtest,
which led to me doing these tests.
Closes https://github.com/official-stockfish/Stockfish/pull/2297
Bench: 4024461
protonspring [Wed, 11 Sep 2019 18:36:58 +0000]
Simplify Weak Lever
This is a simplification that integrated WeakLever into doubled pawns.
Since we already check for !support for Doubled pawns, it is trivial
to check for weak lever by just checking more_than_one(lever).
We also introduce the Score * bool operation overload to remove some
casts in the code.
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 26757 W: 5842 L: 5731 D: 15184
http://tests.stockfishchess.org/tests/view/
5d77ee220ebc5902d384e5a4
Closes https://github.com/official-stockfish/Stockfish/pull/2295
No functional change
Stefan Geschwentner [Wed, 11 Sep 2019 11:46:08 +0000]
Update reverse move stats
For a good quiet non-pawn move consider the reverse move as bad
and update the main history with a negative stat bonus.
STC:
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 19292 W: 4401 L: 4141 D: 10750
http://tests.stockfishchess.org/tests/view/
5d7751d50ebc594e7864973c
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 111952 W: 18762 L: 18275 D: 74915
http://tests.stockfishchess.org/tests/view/
5d7771cf0ebc594e786498fa
Closes https://github.com/official-stockfish/Stockfish/pull/2294
Bench: 3914238
Fabian Fichter [Sun, 1 Sep 2019 14:00:38 +0000]
Fix pseudo-legal move validation for microshogi
- Fix validation of dropped promoted piece.
- Fix validation of mandatory promotion and demotion.
Fabian Fichter [Fri, 30 Aug 2019 17:22:30 +0000]
Support reading variants from configuration file
Read variants from INI-style configuration file in order to
support user-defined variants without requiring recompilation.
Fabian Fichter [Wed, 28 Aug 2019 19:49:51 +0000]
Tweak piece values of silver and gold
minishogi
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1794 W: 958 L: 830 D: 6
makruk STC
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 844 W: 99 L: 63 D: 682
http://35.161.250.236:6543/tests/view/
5d66db396e23db3768ec07a8
makruk LTC
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 1269 W: 115 L: 80 D: 1074
http://35.161.250.236:6543/tests/view/
5d676dfd6e23db3768ec07ae
sittuyin STC
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 1150 W: 206 L: 169 D: 775
http://35.161.250.236:6543/tests/view/
5d66db566e23db3768ec07ac
Fabian Fichter [Tue, 27 Aug 2019 19:00:20 +0000]
Redefine passed pawns for sittuyin
sittuyin STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 500 W: 112 L: 48 D: 340
http://35.161.250.236:6543/tests/view/
5d657e296e23db3768ec0791
sittuyin LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 454 W: 101 L: 38 D: 315
http://35.161.250.236:6543/tests/view/
5d65a2566e23db3768ec079f
Fabian Fichter [Sat, 24 Aug 2019 10:57:44 +0000]
Fix #29: Increase stack limit for mingw
Stefan Geschwentner [Sun, 25 Aug 2019 19:45:58 +0000]
Tweak Late Move Reduction at root
Maintain best move counter at the root and allow there only moves which has a counter
of zero for Late Move Reduction. For compensation only the first three moves are excluded
from Late Move Reduction per default instead the first four moves.
What we can further do:
- here we use a simple counting scheme but perhaps some aging to fade out early iterations
could be helpful
- use the best move counter also at inner nodes for LMR and/or pruning
STC:
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 17414 W: 3984 L: 3733 D: 9697
http://tests.stockfishchess.org/tests/view/
5d6234bb0ebc5939d09f2aa2
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 38058 W: 6448 L: 6166 D: 25444
http://tests.stockfishchess.org/tests/view/
5d62681a0ebc5939d09f2f27
Closes https://github.com/official-stockfish/Stockfish/pull/2282
Bench: 3568210
VoyagerOne [Thu, 15 Aug 2019 00:46:09 +0000]
NMP Tweaks
Tweak again the null move pruning preconditions.
STC:
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 19675 W: 4430 L: 4169 D: 11076
http://tests.stockfishchess.org/tests/view/
5d52bc0e0ebc5925cf108300
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 73895 W: 12496 L: 12114 D: 49285
http://tests.stockfishchess.org/tests/view/
5d52dcbc0ebc5925cf108552
Closes https://github.com/official-stockfish/Stockfish/pull/2268
Bench: 3690065
protonspring [Sat, 24 Aug 2019 06:16:20 +0000]
Improve signature of evaluate_shelter()
Remove one parameter in function evaluate_shelter(), making all
comparisons for castled/uncastled shelter locally in do_king_safety().
Also introduce BlockedStorm penalty.
Passed non-regression test at STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 65864 W: 14630 L: 14596 D: 36638
http://tests.stockfishchess.org/tests/view/
5d5fc80c0ebc5939d09f0acc
No functional change
Fabian Fichter [Wed, 14 Aug 2019 20:04:36 +0000]
Support seirawan-crazyhouse
protonspring [Mon, 12 Aug 2019 14:42:28 +0000]
Consolidate CastlingSide and CastlingRights
This is a non-functional simplification that removes CastlingSide and
implements the functionality in CastlingRights (thanks to Jörg Oster
for a comment on the first version of this patch).
STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 53854 W: 12077 L: 12019 D: 29758
http://tests.stockfishchess.org/tests/view/
5d517b940ebc5925cf107474
Closes https://github.com/official-stockfish/Stockfish/pull/2265
No functional change
protonspring [Thu, 22 Aug 2019 14:27:26 +0000]
Simplify futility equation
This is a functional simplification. The 178 constant for the futility equation
in master can be removed.
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 42626 W: 9508 L: 9428 D: 23690
http://tests.stockfishchess.org/tests/view/
5d5d4e320ebc5925cf11254e
LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 26182 W: 4432 L: 4320 D: 17430
http://tests.stockfishchess.org/tests/view/
5d5df70d0ebc5925cf112fee
Closes https://github.com/official-stockfish/Stockfish/pull/2278
Bench: 3985701
Fabian Fichter [Wed, 21 Aug 2019 19:13:38 +0000]
Increase stack size for Windows and macOS (#29)
Account for recent increase of stack usage.
Vizvezdenec [Wed, 21 Aug 2019 05:30:48 +0000]
Late move reduction, captures and CUT nodes
Expand of Stefan Geschwentner's original idea: we always do LMR for captures at cutnodes.
Passed STC
http://tests.stockfishchess.org/tests/view/
5d5b2f8e0ebc5925cf1111b8
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 36026 W: 8122 L: 7779 D: 20125
Passed LTC
http://tests.stockfishchess.org/tests/view/
5d5b40c80ebc5925cf111353
LLR: 3.22 (-2.94,2.94) [0.00,3.50]
Total: 133502 W: 22508 L: 21943 D: 89051
Closes https://github.com/official-stockfish/Stockfish/pull/2273
Bench: 3494372
protonspring [Wed, 21 Aug 2019 01:52:18 +0000]
Tuned Futility Equation
@Vizvezdenec array suggested that alternate values may be better than current
master (see pull request #2270 ). I tuned some linear equations to more closely
represent his values and it passed. These futility values seem quite sensitive,
so perhaps additional Elo improvements can be found here.
STC
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 12257 W: 2820 L: 2595 D: 6842
http://tests.stockfishchess.org/tests/view/
5d5b2f360ebc5925cf1111ac
LTC
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 20273 W: 3497 L: 3264 D: 13512
http://tests.stockfishchess.org/tests/view/
5d5c0d250ebc5925cf111ac3
Closes https://github.com/official-stockfish/Stockfish/pull/2272
------------------------------------------
How to continue from there ?
a) we can try a simpler version for the futility margin, this would
be a simplification :
margin = 188 * (depth - improving)
b) on the other direction, we can try a complexification by trying
again to gain Elo with an complete array of futility values.
------------------------------------------
Bench: 4330402
Jean Gauthier [Wed, 14 Aug 2019 12:44:21 +0000]
Slight speep up fetching the endgame table
Replace calls to count(key) + operator[key] with a single call to find(key).
Replace the std::map with std::unordered_map which provide O(1) access,
although the map has a really small number of objects.
Test with [0..4] failed yellow:
TC 10+0.1
SPRT elo0: 0.00 alpha: 0.05 elo1: 4.00 beta: 0.05
LLR -2.96 [-2.94,2.94] (rejected)
Elo 1.01 [-0.87,3.08] (95%)
LOS 85.3%
Games 71860 [w:22.3%, l:22.2%, d:55.5%]
http://tests.stockfishchess.org/tests/view/
5d5432210ebc5925cf109d61
Closes https://github.com/official-stockfish/Stockfish/pull/2269
No functional change
Fabian Fichter [Tue, 20 Aug 2019 21:25:59 +0000]
Fix pawn double-step move validation
Fabian Fichter [Fri, 16 Aug 2019 18:49:46 +0000]
Support gardner's minichess
https://en.wikipedia.org/wiki/Minichess#5%C3%975_chess
Fabian Fichter [Fri, 16 Aug 2019 16:15:59 +0000]
Support grand chess
https://en.wikipedia.org/wiki/Grand_Chess
Fabian Fichter [Fri, 16 Aug 2019 17:09:19 +0000]
Prevent out-of-bound array accesses
Squares outside of board were used in following scenarios:
- Passed pawn evaluation of unpromoted pawns on last rank (e.g., in sittuyin)
- SEE pruning of check evading drops in qsearch
Fabian Fichter [Tue, 13 Aug 2019 18:17:41 +0000]
Bonus for safe CTF squares
kingofthehill STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 2289 W: 1043 L: 921 D: 325
http://35.161.250.236:6543/tests/view/
5d52ff166e23db34f4206d8e
kingofthehill STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 4480 W: 1967 L: 1815 D: 698
http://35.161.250.236:6543/tests/view/
5d5307c46e23db34f4206d91
Alain SAVARD [Wed, 14 Aug 2019 20:15:41 +0000]
Assorted trivial cleanups (July 2019)
No functional change
Stefan Geschwentner [Wed, 14 Aug 2019 08:02:21 +0000]
Tweak unsafe checks
Remove mobility area for unsafe checks. Also separate the evaluation terms
for unsafe checks and blockers for king with adjusted weights.
STC:
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 124526 W: 28292 L: 27504 D: 68730
http://tests.stockfishchess.org/tests/view/
5d5138290ebc5925cf1070c3
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 84968 W: 14499 L: 14083 D: 56386
http://tests.stockfishchess.org/tests/view/
5d527cfa0ebc5925cf107f93
Bench: 4139590
Fabian Fichter [Fri, 9 Aug 2019 16:46:17 +0000]
Increase king danger for drop variants
crazyhouse STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 2010 W: 1043 L: 914 D: 53
http://35.161.250.236:6543/tests/view/
5d4da3906e23db34f4206d69
crazyhouse LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 2902 W: 1473 L: 1332 D: 97
http://35.161.250.236:6543/tests/view/
5d4da5e16e23db34f4206d6c
Fabian Fichter [Mon, 12 Aug 2019 20:35:04 +0000]
Support capahouse
Fabian Fichter [Tue, 6 Aug 2019 21:10:40 +0000]
Consider all major pieces in king safety
seirawan STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 574 W: 247 L: 160 D: 167
http://35.161.250.236:6543/tests/view/
5d49ed306e23db34f4206d5b
seirawan LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 992 W: 396 L: 304 D: 292
http://35.161.250.236:6543/tests/view/
5d4a6ace6e23db34f4206d5e
capablanca STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 458 W: 220 L: 131 D: 107
http://35.161.250.236:6543/tests/view/
5d4d4a8c6e23db34f4206d62
capablanca LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 362 W: 191 L: 101 D: 70
http://35.161.250.236:6543/tests/view/
5d4d6faf6e23db34f4206d67
Fabian Fichter [Fri, 9 Aug 2019 16:16:55 +0000]
Increase nCheck bonus
3check STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 15730 W: 7481 L: 7160 D: 1089
http://35.161.250.236:6543/tests/view/
5d3d689e6e23db34f4206cfe
3check LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 2991 W: 1436 L: 1299 D: 256
http://35.161.250.236:6543/tests/view/
5d4af0f56e23db34f4206d60
Fabian Fichter [Wed, 7 Aug 2019 15:25:44 +0000]
Extend perft test for S-Chess (#25)
gbtami [Wed, 7 Aug 2019 11:58:05 +0000]
Fix updating gates on castling move
Fabian Fichter [Mon, 5 Aug 2019 21:01:27 +0000]
Fix FEN generation for S-Chess
Prevents generation of illegal castling moves.
Example: reb2rk1/ppppqppp/2nb1n2/4p3/4P3/N1P2N2/PB1PQPPP/RE2KBHR[h] w KQacgh - 3 7
Fabian Fichter [Mon, 5 Aug 2019 19:43:33 +0000]
Update variant list in readme
Fabian Fichter [Thu, 1 Aug 2019 22:35:19 +0000]
Re-enable endgame code for large-board version
chess STC
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 1221 W: 291 L: 253 D: 677
http://35.161.250.236:6543/tests/view/
5d43fddc6e23db34f4206d2f
chess LTC
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 924 W: 174 L: 136 D: 614
http://35.161.250.236:6543/tests/view/
5d44270a6e23db34f4206d36
capablanca STC
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 3460 W: 1367 L: 1334 D: 759
http://35.161.250.236:6543/tests/view/
5d43fdfc6e23db34f4206d32
capablanca LTC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 2306 W: 879 L: 840 D: 587
http://35.161.250.236:6543/tests/view/
5d4426ff6e23db34f4206d34
Fabian Fichter [Sun, 4 Aug 2019 10:26:47 +0000]
Increase king danger for nCheck variants
3check STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 2063 W: 1037 L: 910 D: 116
http://35.161.250.236:6543/tests/view/
5d46b32b6e23db34f4206d48
3check LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1029 W: 537 L: 426 D: 66
http://35.161.250.236:6543/tests/view/
5d46d0bb6e23db34f4206d4b
Fabian Fichter [Sun, 4 Aug 2019 16:35:47 +0000]
Support S-chess
https://en.wikipedia.org/wiki/Seirawan_chess
No functional change for other variants.
Fabian Fichter [Wed, 29 May 2019 14:02:04 +0000]
Support Shako
https://www.chessvariants.com/large.dir/shako.html
- Support cannon
- Generalize pawn double steps
- Generalize castling
bench: 3713921
Fabian Fichter [Sat, 3 Aug 2019 18:31:30 +0000]
Fix pseudo-legal move validation for horde chess
horde STC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 478 W: 268 L: 204 D: 6
http://35.161.250.236:6543/tests/view/
5d45d3aa6e23db34f4206d3d
Fabian Fichter [Thu, 1 Aug 2019 21:59:54 +0000]
Re-enable thread-sanitizing for travis
Fabian Fichter [Thu, 1 Aug 2019 21:32:14 +0000]
Improvements for tablebase code
- Speed up loading of tablebases.
- Disable loading for large-board version.
- Prevent invalid usage for variants.
joergoster [Thu, 4 Jul 2019 09:02:32 +0000]
Revert "Improve multiPV mode"
This reverts commit
a8de07cc26999e2fef7298a63bfe349aaa4650fa.
xoto10 [Tue, 30 Jul 2019 10:46:43 +0000]
Tune search constants
This is the result of a 200k tuning run at LTC:
http://tests.stockfishchess.org/tests/view/
5d3576b70ebc5925cf0e9e1e
which passed quickly at LTC:
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 12954 W: 2280 L: 2074 D: 8600
http://tests.stockfishchess.org/tests/view/
5d3ff3f70ebc5925cf0f87a2
STC failed, but second LTC at [0,4] passed easily:
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 8004 W: 1432 L: 1252 D: 5320
http://tests.stockfishchess.org/tests/view/
5d407cff0ebc5925cf0f9119
Further work?
No doubt some of these changes produce most of the gain and some are neutral
or even bad, so further testing on individual/groups of parameters changed
here might show more gains. It does look like these tests might need to be
at LTC though, so maybe not too practical to do. See the thread in the pull
request for an interesting discussion:
https://github.com/official-stockfish/Stockfish/pull/2260
Bench: 4024328
Fabian Fichter [Sun, 28 Jul 2019 15:11:27 +0000]
Increase king danger for nCheck endgames
3check STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 1085 W: 569 L: 456 D: 60
http://35.161.250.236:6543/tests/view/
5d3dcc106e23db34f4206d19
3check LTC
LLR: 2.94 (-2.94,2.94) [0.00,10.00]
Total: 1107 W: 587 L: 473 D: 47
http://35.161.250.236:6543/tests/view/
5d3de4a46e23db34f4206d1e
protonspring [Thu, 25 Jul 2019 22:27:46 +0000]
Simplify weak lever
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 14844 W: 3347 L: 3212 D: 8285
http://tests.stockfishchess.org/tests/view/
5d3a2d7b0ebc5925cf0f1632
LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 55261 W: 9374 L: 9309 D: 36578
http://tests.stockfishchess.org/tests/view/
5d3a3d9e0ebc5925cf0f1786
Closes https://github.com/official-stockfish/Stockfish/pull/2257
bench: 3484124
Fabian Fichter [Sun, 28 Jul 2019 12:05:07 +0000]
Simplify CTF bonus
racingkings STC
LLR: 2.99 (-2.94,2.94) [-10.00,5.00]
Total: 244 W: 124 L: 69 D: 51
http://35.161.250.236:6543/tests/view/
5d3d8fa46e23db34f4206d12
racingkings LTC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 148 W: 77 L: 27 D: 44
http://35.161.250.236:6543/tests/view/
5d3d95886e23db34f4206d15
Fabian Fichter [Sun, 5 May 2019 12:26:21 +0000]
Split rook magics into horizontal and vertical
Fabian Fichter [Sat, 13 Apr 2019 14:41:22 +0000]
Introduce rider types
No functional change.
Fabian Fichter [Sat, 27 Jul 2019 11:35:33 +0000]
Merge official-stockfish/master
bench: 3559377
mstembera [Mon, 8 Jul 2019 01:36:57 +0000]
Bug fix: always choose shortest mate in multithread mode
In current master, with the voting scheme the best thread selection may
pick a non mate or not the shortest mate thread. This patch fixes this bug.
Formatting suggestion by Jörg Oster.
Related past pull requests:
https://github.com/official-stockfish/Stockfish/pull/1074
https://github.com/official-stockfish/Stockfish/pull/1215
Passed a [-4..0] verification test with 3 threads:
LLR: 2.95 (-2.94,2.94) [-4.00,0.00]
Total: 57158 W: 11374 L: 11424 D: 34360
http://tests.stockfishchess.org/tests/view/
5d22deb30ebc5925cf0caefd
Closes https://github.com/official-stockfish/Stockfish/pull/2226
No functional change (in single threaded mode)
----------------------------------------------------
Comment by Jörg Oster
Just one sample output to demonstrate the effect of this patch.
5 Threads, 1 GB Hash
+---+---+---+---+---+---+---+---+
| r | | b | | | r | k | |
+---+---+---+---+---+---+---+---+
| | | | n | | p | b | |
+---+---+---+---+---+---+---+---+
| | | p | | p | | p | |
+---+---+---+---+---+---+---+---+
| p | | | | | | P | |
+---+---+---+---+---+---+---+---+
| P | p | | | B | | N | Q |
+---+---+---+---+---+---+---+---+
| | q | | | | | P | |
+---+---+---+---+---+---+---+---+
| | | R | | | P | | |
+---+---+---+---+---+---+---+---+
| | | | R | | | K | |
+---+---+---+---+---+---+---+---+
Fen: r1b2rk1/3n1pb1/2p1p1p1/p5P1/Pp2B1NQ/1q4P1/2R2P2/3R2K1 w - - 8 34
Key:
38B4CA1067D4F477
Checkers:
ucinewgame
isready
readyok
go mate 17 searchmoves d1d7
info depth 65 seldepth 36 multipv 1 score mate 18 nodes
785875935 nps 8650448 hashfull 1000 tbhits 0 time 90848 pv d1d7 c8d7 g4f6 g7f6 g5f6 b3a3 g1g2 a3a1 h4g5 a1f6 g5f6 e6e5 c2c1 d7h3 g2h3 a8a6 h3g2 c6c5 f6a6 g8g7 c1c5 f7f6 a6e6 f8f7 c5c8 f6f5 e4d5 g7h6 e6f7 f5f4 f7e7 f4f3 d5f3 b4b3 c8h8
info depth 63 seldepth 36 multipv 1 score mate 17 nodes
785875935 nps 8650448 hashfull 1000 tbhits 0 time 90848 pv d1d7 c8d7 g4f6 g7f6 g5f6 b3a3 g1g2 a3a1 h4g5 a1f6 g5f6 e6e5 c2c1 d7h3 g2h3 a8a6 c1d1 b4b3 h3g2 c6c5 f6a6 g8g7 d1d7 g7g8 a6f6 b3b2 e4g6 b2b1q g6f7 f8f7 f6f7 g8h8 f7g7
bestmove d1d7 ponder c8d7
protonspring [Tue, 16 Jul 2019 12:08:58 +0000]
Remove operators for color
This is a non-functional and untested simplification. The increment operator
for color isn't really necessary and seems a bit unnatural to me.
Passed STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 47027 W: 10589 L: 10518 D: 25920
http://tests.stockfishchess.org/tests/view/
5d3472d10ebc5925cf0e8d3e
Closes https://github.com/official-stockfish/Stockfish/pull/2247
No functional change
Vizvezdenec [Wed, 24 Jul 2019 14:30:59 +0000]
Tweak of SEE pruning condition
passed STC
http://tests.stockfishchess.org/tests/view/
5d386bda0ebc5925cf0ef49a
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 56874 W: 12820 L: 12373 D: 31681
passed LTC
http://tests.stockfishchess.org/tests/view/
5d38873a0ebc5925cf0ef86e
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 43512 W: 7547 L: 7247 D: 28718
Additional thanks to @locutus2 , @miguel-l and @xoto10 for fruitful discussion.
There may be some more elo there since this tweak was the first one and numbers
are more or less arbitrary.
Closes https://github.com/official-stockfish/Stockfish/pull/2256
Bench 3935523
Alain SAVARD [Thu, 25 Jul 2019 07:02:26 +0000]
Pawn clean up
Non functional simplification when we find the passed pawns in pawn.cpp
and some code clean up. It also better follows the pattern "flag the pawn"
and "score the pawn".
-------------------------
The idea behind the third condition for candidate passed pawn is a little
bit difficult to visualize. Just for the record, the idea is the following:
Consider White e5 d4 against black e6. d4 can (in some endgames) push
to d5 and lever e6. Thanks to this sacrifice, or after d5xe6, we consider
e5 as "passed".
However:
- if White e5/d4 against black e6/c6: d4 cannot safely push to d5 since d5 is double attacked;
- if White e5/d4 against black e6/d5: d4 cannot safely push to d5 since it is occupied.
This is exactly what the following expression does:
```
&& (shift<Up>(support) & ~(theirPawns | dblAttackThem)))
```
--------------------------
http://tests.stockfishchess.org/tests/view/
5d3325bb0ebc5925cf0e6e91
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 124666 W: 27586 L: 27669 D: 69411
Closes https://github.com/official-stockfish/Stockfish/pull/2255
No functional change
VoyagerOne [Sun, 21 Jul 2019 15:25:58 +0000]
LMR Tweak
Reset statScore to zero if negative and most stats shows >= 0
STC:
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 23097 W: 5242 L: 4963 D: 12892
http://tests.stockfishchess.org/tests/view/
5d31dd650ebc5925cf0e598f
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 227597 W: 39013 L: 38191 D: 150393
http://tests.stockfishchess.org/tests/view/
5d31fcdf0ebc5925cf0e5c13
Closes https://github.com/official-stockfish/Stockfish/pull/2252
Bench: 3242229
Alain SAVARD [Sat, 20 Jul 2019 15:38:45 +0000]
Passed file cleanup
Protonspring had a successful functional simplification that removes the
PassedFile array using a simple linear equation.
Merge the additive term S(5, 10) of protonspring passed file simplification
(pull request https://github.com/official-stockfish/Stockfish/pull/2250)
into the PassedRank array. This harmless change has a different bench because
the candidate passer evaluation will always get less compared to #2250,
as we apply bonus = bonus /2.
Tested as a non-regression against #2250
Passed STC
http://tests.stockfishchess.org/tests/view/
5d33427e0ebc5925cf0e6fa2
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 81459 W: 18174 L: 18171 D: 45114
Passed LTC
http://tests.stockfishchess.org/tests/view/
5d335c8d0ebc5925cf0e731e
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 18525 W: 3176 L: 3052 D: 12297
Closes https://github.com/official-stockfish/Stockfish/pull/2250
Closes https://github.com/official-stockfish/Stockfish/pull/2251
Bench: 3859856
Lolligerhans [Tue, 16 Jul 2019 08:14:09 +0000]
No influence on unsafeSquares of passers by pieces
Remove their pieces from influencing 'unsafeSquares' in passer
evaluation.
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 36421 W: 8170 L: 8078 D: 20173
http://tests.stockfishchess.org/tests/view/
5d22fc8e0ebc5925cf0cb26e
LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 18927 W: 3253 L: 3129 D: 12545
http://tests.stockfishchess.org/tests/view/
5d26e2b20ebc5925cf0d3218
Closes https://github.com/official-stockfish/Stockfish/pull/2248
Bench: 3285659
Vizvezdenec [Tue, 16 Jul 2019 11:56:52 +0000]
Tweak LMR and killers
Give extra stat bonus/malus in case of LMR for killers.
passed STC
http://tests.stockfishchess.org/tests/view/
5d2c8e760ebc5925cf0dcf23
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 67188 W: 15030 L: 14534 D: 37624
passed LTC
http://tests.stockfishchess.org/tests/view/
5d2d0ce40ebc5925cf0de115
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 144355 W: 24739 L: 24153 D: 95463
Closes https://github.com/official-stockfish/Stockfish/pull/2246
bench 3723147
Alain SAVARD [Sun, 14 Jul 2019 17:13:06 +0000]
Space Invaders
Try a more ambitius simplification of the space bonus
STC http://tests.stockfishchess.org/tests/view/
5d2b62c90ebc5925cf0da2a4
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 51299 W: 11320 L: 11257 D: 28722
LTC http://tests.stockfishchess.org/tests/view/
5d2bac270ebc5925cf0db215
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 49761 W: 8409 L: 8335 D: 33017
Closes https://github.com/official-stockfish/Stockfish/pull/2243
bench: 3395999
Fabian Fichter [Fri, 19 Jul 2019 13:22:13 +0000]
Double knight-pawn imbalance for antichess variants
giveaway STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 864 W: 391 L: 294 D: 179
http://35.161.250.236:6543/tests/view/
5d31c47b6e23db34f4206ca3
giveaway LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 568 W: 260 L: 170 D: 138
http://35.161.250.236:6543/tests/view/
5d31d03f6e23db34f4206cb1
losers STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1184 W: 591 L: 480 D: 113
http://35.161.250.236:6543/tests/view/
5d31c4976e23db34f4206ca6
losers LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 701 W: 372 L: 268 D: 61
http://35.161.250.236:6543/tests/view/
5d31d6d66e23db34f4206cb3
Marco Costalba [Sun, 14 Jul 2019 13:19:07 +0000]
Fix bench
Bench: 3357457
Joost VandeVondele [Sun, 14 Jul 2019 12:47:50 +0000]
UCI_Elo implementation (#2225)
This exploits the recent fractional Skill Level, and is a result from some discussion in #2221 and the older #758.
Basically, if UCI_LimitStrength is set, it will internally convert UCI_Elo to a matching fractional Skill Level.
The Elo estimate is based on games at TC 60+0.6, Hash 64Mb, 8moves_v3.pgn, rated with Ordo, anchored to goldfish1.13 (CCRL 40/4 ~2000).
Note that this is mostly about internal consistency, the anchoring to CCRL is a bit weak, e.g. within this tournament,
goldfish and sungorus only have a 200Elo difference, their rating difference on CCRL is 300Elo.
I propose that we continue to expose 'Skill Level' as an UCI option, for backwards compatibility.
The result of a tournament under those conditions are given by the following table, where the player name reflects the UCI_Elo.
# PLAYER : RATING ERROR POINTS PLAYED (%) CFS(%)
1 Elo2837 : 2792.2 50.8 536.5 711 75 100
2 Elo2745 : 2739.0 49.0 487.5 711 69 100
3 Elo2654 : 2666.4 49.2 418.0 711 59 100
4 Elo2562 : 2604.5 38.5 894.5 1383 65 100
5 Elo2471 : 2515.2 38.1 651.5 924 71 100
6 Elo2380 : 2365.9 35.4 478.5 924 52 100
7 Elo2289 : 2290.0 28.0 864.0 1596 54 100
8 sungorus1.4 : 2204.9 27.8 680.5 1596 43 60
9 Elo2197 : 2201.1 30.1 523.5 924 57 100
10 Elo2106 : 2103.8 24.5 730.5 1428 51 100
11 Elo2014 : 2030.5 30.3 377.5 756 50 98
12 goldfish1.13 : 2000.0 ---- 511.0 1428 36 100
13 Elo1923 : 1928.5 30.9 641.5 1260 51 100
14 Elo1831 : 1829.0 42.1 370.5 756 49 100
15 Elo1740 : 1738.3 42.9 277.5 756 37 100
16 Elo1649 : 1625.0 42.1 525.5 1260 42 100
17 Elo1558 : 1521.5 49.9 298.0 756 39 100
18 Elo1467 : 1471.3 51.3 246.5 756 33 100
19 Elo1375 : 1407.1 51.9 183.0 756 24 ---
It can be observed that all set Elos correspond within the error bars with the observed Ordo rating.
No functional change
protonspring [Sun, 14 Jul 2019 12:46:10 +0000]
Remove std::pow from reduction. (#2234)
This is a functional simplification that removes the std::pow from reduction. The resulting reduction values are within 1% of master.
This is a simplification because i believe an fp addition and multiplication is much faster than a call to std::pow() which is historically slow and performance varies widely on different architectures.
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 23471 W: 5245 L: 5127 D: 13099
http://tests.stockfishchess.org/tests/view/
5d27ac1b0ebc5925cf0d476b
LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 51533 W: 8736 L: 8665 D: 34132
http://tests.stockfishchess.org/tests/view/
5d27b74e0ebc5925cf0d493c
Bench 3765158
31m059 [Sun, 14 Jul 2019 12:42:30 +0000]
Just blockSq, not forward file. Bench: 3377831 (#2240)
This is another functional simplification to Stockfish passed pawn evaluation.
Stockfish evaluates some pawns which are not yet passed as "candidate" passed pawns, which are given half the bonus of fully passed ones. Prior to this commit, Stockfish considered a passed pawn to be a "candidate" if (a) it would not be a passed pawn if moved one square forward (the blocking square), or (b) there were other pawns (of either color) in front of it on the file. This latter condition used a fairly complicated method, forward_file_bb; here, rather than inspect the entire forward file, we simply re-use the blocking square. As a result, some pawns previously considered "candidates", but which are able to push forward, no longer have their bonus halved.
Simplification tests passed quickly at both STC and LTC. The results from both tests imply that this simplification is, most likely, additionally a small Elo gain, with a LTC likelihood of superiority of 87 percent.
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 12908 W: 2909 L: 2770 D: 7229
http://tests.stockfishchess.org/tests/view/
5d2a1c880ebc5925cf0d9006
LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 20723 W: 3591 L: 3470 D: 13662
http://tests.stockfishchess.org/tests/view/
5d2a21fd0ebc5925cf0d9118
Bench: 3377831
Michael Chaly [Sun, 14 Jul 2019 12:41:28 +0000]
tviigg. (#2238)
Current master code made sence when we had 2 types of bonuses for protected path to queen. But it was simplified so we have only one bonus now and code was never cleaned.
This non-functional simplification removes useless defendedsquares bitboard and removes one bitboard assignment (defendedSquares &= attackedBy[Us][ALL_PIECES] + defendedSquares & blockSq becomes just attackedBy[Us][ALL_PIECES] & blockSq also we never assign defendedSquares = squaresToQueen because we don't need it).
So should be small non-functional speedup.
Passed simplification SPRT.
http://tests.stockfishchess.org/tests/view/
5d2966ef0ebc5925cf0d7659
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 23319 W: 5152 L: 5034 D: 13133
bench 3361902
31m059 [Sun, 14 Jul 2019 12:40:45 +0000]
Linear formula for w. Bench: 3328507 (#2239)
In Stockfish, both the middlegame and endgame bonus for a passed pawn are calculated as a product of two factors. The first is k, chosen based on the presence of defended and unsafe squares. The second is w, a quadratic function of the pawn's rank. Both are only applied if the pawn's relative rank is at least RANK_4.
It does not appear that the complexity of a quadratic function is necessary for w. Here, we replace it with a simpler linear one, which performs equally at both STC and LTC.
STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 46814 W: 10386 L: 10314 D: 26114
http://tests.stockfishchess.org/tests/view/
5d29686e0ebc5925cf0d76a1
LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 82372 W: 13845 L: 13823 D: 54704
http://tests.stockfishchess.org/tests/view/
5d2980650ebc5925cf0d7bfd
Bench: 3328507
Stefan Geschwentner [Fri, 12 Jul 2019 08:17:24 +0000]
Full bonus for LMR stats update
Simplify previous commit by using the full bonus for LMR-triggered stats update.
STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 23684 W: 5255 L: 5137 D: 13292
http://tests.stockfishchess.org/tests/view/
5d2826660ebc5925cf0d5180
LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 16245 W: 2832 L: 2704 D: 10709
http://tests.stockfishchess.org/tests/view/
5d282e9c0ebc5925cf0d529b
Closes https://github.com/official-stockfish/Stockfish/pull/2236
Bench: 3361902
Stefan Geschwentner [Fri, 12 Jul 2019 05:22:46 +0000]
Late Move reduction and continuation history
Update continuation history after LMR-triggered full depth research.
Directly after a LMR-triggered full depth research, we update the
continuation history for quiet moves (but with only half stat bonus).
STC:
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 39657 W: 8966 L: 8604 D: 22087
http://tests.stockfishchess.org/tests/view/
5d279fa40ebc5925cf0d4566
LTC:
LLR: 2.96 (-2.94,2.94) [0.50,3.50]
Total: 32582 W: 5740 L: 5427 D: 21415
http://tests.stockfishchess.org/tests/view/
5d27dbf90ebc5925cf0d4b7e
Bench: 3239357
31m059 [Thu, 11 Jul 2019 13:14:57 +0000]
Exclude passed pawns from Attacked2Unsupported
We recently added a bonus for double pawn attacks on unsupported enemy pawns,
on June 27. However, it is possible that the unsupported pawn may become a passer
by simply pushing forward out of the double attack. By rewarding double attacks,
we may inadvertently reward the creation of enemy passers, by encouraging both of
our would-be stoppers to attack the enemy pawn even if there is no opposing
friendly pawn on the same file.
Here, we revise this term to exclude passed pawns. In order to simplify the code
with this change included, we non-functionally rewrite Attacked2Unsupported to
be a penalty for enemy attacks on friendly pawns, rather than a bonus for our
attacks on enemy pawns. This allows us to exclude passed pawns with a simple
& ~e->passedPawns[Us], while passedPawns[Them] is not yet defined in this part
of the code.
This dramatically reduces the proportion of positions in which Attacked2Unsupported
is applied, to about a third of the original. To compensate, maintaining the same
average effect across our bench positions, we nearly triple Attacked2Unsupported
from S(0, 20) to S(0, 56). Although this pawn formation is rare, it is worth more
than half a pawn in the endgame!
STC: (stopped automatically by fishtest after 250,000 games)
LLR: -0.87 (-2.94,2.94) [0.50,4.50]
Total: 250000 W: 56585 L: 55383 D: 138032
http://tests.stockfishchess.org/tests/view/
5d25795e0ebc5925cf0cfb51
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 81038 W: 13965 L: 13558 D: 53515
http://tests.stockfishchess.org/tests/view/
5d25f3920ebc5925cf0d10dd
Closes https://github.com/official-stockfish/Stockfish/pull/2233
Bench: 3765158
Marco Costalba [Sun, 9 Jun 2019 13:07:36 +0000]
Assorted trivial cleanups June 2019
No functional change.
VoyagerOne [Wed, 10 Jul 2019 23:59:33 +0000]
Tweak capture scoring formula
STC:
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 20556 W: 4685 L: 4438 D: 11433
http://tests.stockfishchess.org/tests/view/
5d25d26e0ebc5925cf0d0b4a
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 14856 W: 2649 L: 2446 D: 9761
http://tests.stockfishchess.org/tests/view/
5d25d8b20ebc5925cf0d0c6d
bench: 3206912
xoto10 [Sun, 7 Jul 2019 01:20:49 +0000]
Combo of statscore divisor and pawn psqt changes
Passed STC 10+0.1 th 1:
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 13282 W: 3100 L: 2881 D: 7301
http://tests.stockfishchess.org/tests/view/
5d21132e0ebc5925cf0c81f4
Passed LTC 60+0.6 th 1:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 44243 W: 7768 L: 7468 D: 29007
http://tests.stockfishchess.org/tests/view/
5d2119050ebc5925cf0c832b
Bench 3705891
protonspring [Tue, 9 Jul 2019 20:03:00 +0000]
Use score instead of array to evaluate shelter
This is a non-functional simplification. Instead of an array of values, just use a Score.
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 16309 W: 3673 L: 3541 D: 9095
http://tests.stockfishchess.org/tests/view/
5d24f3b80ebc5925cf0ceb5b
No functional change