Fabian Fichter [Fri, 22 Mar 2019 20:35:36 +0000]
Merge official-stockfish/master
bench: 3456069
Fabian Fichter [Fri, 22 Mar 2019 20:05:35 +0000]
Merge official-stockfish/master
bench: 3933394
Fabian Fichter [Fri, 22 Mar 2019 19:48:52 +0000]
Merge official-stockfish/master
bench: 3653948
Fabian Fichter [Fri, 22 Mar 2019 18:23:43 +0000]
Tweak nCheck bonus
3check STC
LLR: -2.97 (-2.94,2.94) [0.00,10.00]
Total: 14209 W: 6657 L: 6550 D: 1002
http://35.161.250.236:6543/tests/view/
5c8956106e23db76ed2525e2
3check LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 5693 W: 2683 L: 2507 D: 503
http://35.161.250.236:6543/tests/view/
5c92acec6e23db76ed252639
Fabian Fichter [Fri, 15 Mar 2019 13:55:05 +0000]
Re-enable appveyor debug builds
No functional change.
Fabian Fichter [Fri, 15 Mar 2019 13:07:56 +0000]
Tweak extinction bonus
kinglet STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 854 W: 438 L: 332 D: 84
http://35.161.250.236:6543/tests/view/
5c89565a6e23db76ed2525eb
kinglet LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 707 W: 360 L: 259 D: 88
http://35.161.250.236:6543/tests/view/
5c8a07376e23db76ed2525f0
extinction STC
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 5185 W: 2409 L: 2382 D: 394
http://35.161.250.236:6543/tests/view/
5c89566e6e23db76ed2525ee
Fabian Fichter [Fri, 15 Mar 2019 10:39:42 +0000]
Merge official-stockfish/master
bench: 3633478
Fabian Fichter [Fri, 15 Mar 2019 10:23:51 +0000]
Merge official-stockfish/master
bench: 3423031
Fabian Fichter [Thu, 14 Mar 2019 20:26:01 +0000]
Reenable unoptimized builds for OSX
Marco Costalba [Tue, 12 Mar 2019 07:35:10 +0000]
Increase thread stack for OS X (#2035)
On OS X threads other than the main thread are created with a reduced stack
size of 512KB by default, this is dangerously low for deep searches, so
adjust it to TH_STACK_SIZE. The implementation calls pthread_create() with
proper stack size parameter.
Verified for no regression at STC enabling the patch on all platforms where
pthread is supported.
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 50873 W: 9768 L: 9700 D: 31405
No functional change.
Fabian Fichter [Thu, 14 Mar 2019 21:05:47 +0000]
Merge official-stockfish/master
Fabian Fichter [Thu, 14 Mar 2019 18:55:42 +0000]
Adjust instrumented testing
Fix timeouts and skip thread-sanitizing for now to fix CI.
No functional change.
Fabian Fichter [Sun, 10 Mar 2019 15:25:37 +0000]
Bonus for extinction piece types
kinglet STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 117 W: 104 L: 9 D: 4
http://35.161.250.236:6543/tests/view/
5c84ed3d6e23db76ed2525af
giveaway STC
LLR: 2.94 (-2.94,2.94) [-10.00,5.00]
Total: 2220 W: 948 L: 905 D: 367
http://35.161.250.236:6543/tests/view/
5c85020e6e23db76ed2525b2
extinction STC (failed)
LLR: -2.98 (-2.94,2.94) [-10.00,5.00]
Total: 939 W: 400 L: 471 D: 68
http://35.161.250.236:6543/tests/view/
5c84ece66e23db76ed2525a8
Fabian Fichter [Sat, 9 Mar 2019 10:19:53 +0000]
Fix tablebase probing
Do not rely on assumption that PIECE_TYPE_NB = 8.
Fabian Fichter [Sat, 9 Mar 2019 22:29:05 +0000]
Fix FEN of nCheck variants
3check
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 515 W: 268 L: 208 D: 39
http://35.161.250.236:6543/tests/view/
5c843ee36e23db76ed252591
3check 2threads
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 527 W: 270 L: 211 D: 46
http://35.161.250.236:6543/tests/view/
5c84440f6e23db76ed252594
Fabian Fichter [Fri, 8 Mar 2019 21:43:44 +0000]
Merge official-stockfish/master
bench: 3428840
Fabian Fichter [Wed, 6 Mar 2019 20:47:20 +0000]
Tweak shatranj piece values
shatranj STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 980 W: 170 L: 104 D: 706
http://35.161.250.236:6543/tests/view/
5c7ec32b6e23db07348e8774
shatranj LTC
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 918 W: 134 L: 71 D: 713
http://35.161.250.236:6543/tests/view/
5c7ed6e76e23db07348e8777
Fabian Fichter [Mon, 4 Mar 2019 19:22:44 +0000]
Implement sittuyin stalemate rule (#14)
Taking a promotion to avoid stalemate is optional (rule 3.9 c.7).
Example:
setoption name multipv value 20
setoption name UCI_Variant value sittuyin
position fen k5PK/3r4/8/8/8/8/8/8 b - - 0 1
go depth 1
No functional change for other variants.
Fabian Fichter [Mon, 4 Mar 2019 19:54:56 +0000]
Fix detection of optional game end
No functional change for variants without counting rules.
Fabian Fichter [Sat, 2 Mar 2019 21:02:14 +0000]
Tweak shogi piece values
shogi
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 918 W: 504 L: 390 D: 24
Fabian Fichter [Sat, 2 Mar 2019 13:49:49 +0000]
Merge official-stockfish/master
bench: 3253645
Fabian Fichter [Sat, 2 Mar 2019 10:07:32 +0000]
Merge official-stockfish/master
bench: 3334755
Fabian Fichter [Fri, 1 Mar 2019 22:59:03 +0000]
Extend endgame evaluation for fairy pieces
Fabian Fichter [Fri, 1 Mar 2019 18:39:49 +0000]
Generalize passed pawn evaluation
losalamos
LLR: 2.99 (-2.94,2.94) [-10.00,5.00]
Total: 140 W: 56 L: 13 D: 71
ai-wok
LLR: 3.04 (-2.94,2.94) [-10.00,5.00]
Total: 194 W: 112 L: 53 D: 29
Fabian Fichter [Sat, 23 Feb 2019 13:50:16 +0000]
Merge official-stockfish/master
bench: 4439882
Fabian Fichter [Sat, 23 Feb 2019 09:32:43 +0000]
Fix PSQT color symmetry for non-standard board sizes
minishogi
LLR: 2.99 (-2.94,2.94) [-10.00,5.00]
Total: 584 W: 324 L: 259 D: 1
shogi
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 680 W: 363 L: 301 D: 16
Fabian Fichter [Sat, 23 Feb 2019 09:31:40 +0000]
Update readme
Fabian Fichter [Fri, 22 Feb 2019 20:05:59 +0000]
Tweak NMP depth for racing kings
racingkings STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 2269 W: 812 L: 706 D: 751
http://35.161.250.236:6543/tests/view/
5c6daf426e23db07348e86e3
racingkings LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 3534 W: 1201 L: 1081 D: 1252
http://35.161.250.236:6543/tests/view/
5c6dce286e23db07348e86ec
Fabian Fichter [Wed, 20 Feb 2019 21:50:33 +0000]
Fix placement chess in large-board version
Fabian Fichter [Sun, 17 Feb 2019 13:23:28 +0000]
Support microshogi
https://en.wikipedia.org/wiki/Micro_shogi
No functional change for other variants.
Fabian Fichter [Sun, 17 Feb 2019 12:34:56 +0000]
Tweak piece values for drop games
Decrease value of strong pieces for drop games and games where checks are prohibited.
crazyhouse STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1687 W: 883 L: 759 D: 45
http://35.161.250.236:6543/tests/view/
5c6723ee6e23db07348e86aa
crazyhouse LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 1096 W: 586 L: 471 D: 39
http://35.161.250.236:6543/tests/view/
5c6745716e23db07348e86af
racingkings STC
LLR: 7.35 (-2.94,2.94) [0.00,10.00]
Total: 17215 W: 6182 L: 5762 D: 5271
http://35.161.250.236:6543/tests/view/
5c6724056e23db07348e86ad
racingkings LTC
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 1634 W: 527 L: 487 D: 620
http://35.161.250.236:6543/tests/view/
5c67d4776e23db07348e86b5
shogi
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 1066 W: 548 L: 488 D: 30
minishogi
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 1126 W: 591 L: 531 D: 4
Fabian Fichter [Sun, 10 Feb 2019 20:03:06 +0000]
Simplify evaluation of passed shogi pawns
shogi
LLR: 1.60 (-2.94,2.94) [-10.00,5.00]
Total: 1000 W: 502 L: 473 D: 25
Fabian Fichter [Sun, 10 Feb 2019 19:48:24 +0000]
Tweak king danger for fairy pieces
minishogi
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 1390 W: 753 L: 630 D: 7
asean
LLR: 3.01 (-2.94,2.94) [-10.00,5.00]
Total: 684 W: 151 L: 111 D: 422
Fabian Fichter [Sun, 10 Feb 2019 10:11:49 +0000]
Fix threat evaluation for shogi pawns
Fabian Fichter [Sat, 9 Feb 2019 23:52:13 +0000]
Merge official-stockfish/master
bench: 4592402
Fabian Fichter [Sat, 9 Feb 2019 23:44:47 +0000]
Merge official-stockfish/master
bench: 4915605
Fabian Fichter [Sat, 9 Feb 2019 23:39:54 +0000]
Merge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 23:26:41 +0000]
Merge official-stockfish/master
bench: 4691733
Fabian Fichter [Sat, 9 Feb 2019 23:22:15 +0000]
Merge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 22:23:57 +0000]
Improve generalization of castling
No functional change.
Fabian Fichter [Sat, 9 Feb 2019 17:28:16 +0000]
Merge official-stockfish/master
bench: 5031310
Fabian Fichter [Sat, 9 Feb 2019 17:13:35 +0000]
Merge official-stockfish/master
bench: 4633927
Fabian Fichter [Sat, 9 Feb 2019 16:58:41 +0000]
Merge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 14:21:00 +0000]
Simplify connection bonus
connect4
LLR: 2.99 (-2.94,2.94) [-10.00,5.00]
Total: 204 W: 108 L: 53 D: 43
Fabian Fichter [Fri, 8 Feb 2019 22:53:36 +0000]
Decrease king evaluation divisor for shogi variants
euroshogi
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 250 W: 156 L: 90 D: 4
minishogi
LLR: 3.31 (-2.94,2.94) [-10.00,5.00]
Total: 500 W: 286 L: 213 D: 1
shogi
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 506 W: 281 L: 217 D: 8
Fabian Fichter [Fri, 8 Feb 2019 18:07:49 +0000]
Skip king protector bonus when there is no king
Marco Costalba [Fri, 8 Feb 2019 09:17:18 +0000]
Log message of: Less king danger...
The commit:
Less king danger if we have a knight near by to defend it
went in withouth proper commit message, here below we add it:
STC: LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 113106 W: 25087 L: 24367 D: 63652
http://tests.stockfishchess.org/tests/view/
5c5517540ebc592fc7bb0eb4
LTC: LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 96669 W: 16318 L: 15872 D: 64479
http://tests.stockfishchess.org/tests/view/
5c55352b0ebc592fc7bb11c8
bench: 3653942
protonspring [Fri, 8 Feb 2019 08:54:38 +0000]
Remove Some Bitboard Arrays (#1963)
This is non-functional. These 5 arrays are simple enough to calculate real-time and maintaining an array for them does not help. Decreases the memory footprint.
This seems a tiny bit slower on my machine, but passed STC well enough. Could someone verify speed?
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 44745 W: 9780 L: 9704 D: 25261
http://tests.stockfishchess.org/tests/view/
5c47aa2d0ebc5902bca13fc4
The slowdown is minimal even in 32 bit case (thanks to @mstembera for testing):
Compiled using make build ARCH=x86-32 CXX=i686-w64-mingw32-c++ and benched
This patch only:
```
Results for 40 tests for each version:
Base Test Diff
Mean 1455204 1450033 5171
StDev 49452 34533 59621
p-value: 0.465
speedup: -0.004
```
No functional change.
Fabian Fichter [Thu, 7 Feb 2019 23:24:50 +0000]
Rewrite evaluation of shogi pawns
Handle shogi pawns similar to pawns, different from other pieces.
Speeds up evaluation and allows improving evaluation of passed shogi pawns.
shogi
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 596 W: 322 L: 259 D: 15
euroshogi
LLR: 3.01 (-2.94,2.94) [-10.00,5.00]
Total: 530 W: 285 L: 222 D: 23
minishogi
LLR: -0.12 (-2.94,2.94) [-10.00,5.00]
Total: 1000 W: 493 L: 503 D: 4
No functional change for non-shogi variants.
Fabian Fichter [Thu, 7 Feb 2019 22:19:45 +0000]
Fix msb calculation for large-board version
A bug in the calculation of the most significant bit
caused undefined behavior in the king safety evaluation.
The fix significantly improves playing strength of the large-board version:
chess
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 100 W: 72 L: 15 D: 13
capablanca
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 82 W: 62 L: 8 D: 12
shogi
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 256 W: 157 L: 92 D: 7
No functional change for normal version.
Fabian Fichter [Wed, 6 Feb 2019 21:58:26 +0000]
Merge official-stockfish/master
bench: 4766195
Fabian Fichter [Wed, 6 Feb 2019 20:56:33 +0000]
Decrease king danger for drop variants
crazyhouse STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 3167 W: 1606 L: 1461 D: 100
http://35.161.250.236:6543/tests/view/
5c4c3cac6e23db07348e860b
crazyhouse LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 7620 W: 3785 L: 3576 D: 259
http://35.161.250.236:6543/tests/view/
5c4f6a756e23db07348e8615
shogi
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 828 W: 435 L: 374 D: 19
minishogi
LLR: 2.53 (-2.94,2.94) [-10.00,5.00]
Total: 2000 W: 1018 L: 974 D: 8
Fabian Fichter [Mon, 4 Feb 2019 21:40:57 +0000]
Endgame evaluation for fairy pieces
No functional change for standard chess.
Fabian Fichter [Mon, 4 Feb 2019 21:20:42 +0000]
Tweak mobility bonus for fairy pieces
ai-wok
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 550 W: 247 L: 193 D: 110
courier
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 1388 W: 349 L: 311 D: 728
minishogi
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 3490 W: 1761 L: 1718 D: 11
mstembera [Sun, 3 Feb 2019 13:16:34 +0000]
Less king danger if we have a knight near by to defend it. (#1987)
bench: 3653942
Fabian Fichter [Thu, 31 Jan 2019 20:14:47 +0000]
Speed-up pseudo-legal move validation of drops
Improves performance by ~10% for drop variants.
Miguel Lahoz [Tue, 29 Jan 2019 14:26:03 +0000]
Extend discovered checks regardless of SEE
A simple idea, but it makes sense: in current master the search is extended
for checks that are considered somewhat safe, and for for this we use the
static exchange evaluation which only considers the `to_sq` of a move.
This is not reliable for discovered checks, where another piece is giving
the check and is arguably a more dangerous type of check. Thus, if the check
is a discovered check, the result of SEE is not relevant and can be ignored.
STC:
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 29370 W: 6583 L: 6274 D: 16513
http://tests.stockfishchess.org/tests/view/
5c5062950ebc593af5d4d9b5
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 227341 W: 37972 L: 37165 D: 152204
http://tests.stockfishchess.org/tests/view/
5c5094fb0ebc593af5d4dc2c
Bench: 3611854
Stéphane Nicolet [Fri, 1 Feb 2019 12:09:17 +0000]
Tweak tropism weight in king danger
There was a simplification attempt last week for the tropism
term in king danger, which passed STC but failed LTC. This
was an indirect sign that maybe the tropism factor was sightly
untuned in current master, so we tried to change it from 1/4
to 5/16.
STC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 28098 W: 6264 L: 5990 D: 15844
http://tests.stockfishchess.org/tests/view/
5c518db60ebc593af5d4e306
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 103709 W: 17387 L: 16923 D: 69399
http://tests.stockfishchess.org/tests/view/
5c52a5510ebc592fc7baea8b
Bench: 4016000
Vizvezdenec [Fri, 1 Feb 2019 06:21:23 +0000]
More precise checks evaluation in king danger
Remove overlapping safe checks from kingdanger:
- rook and queen checks from the same square: rook check is preferred
- bishop and queen checks form the same square: queen check is preferred
Increase bishop and rook check values as a compensation.
STC
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 27480 W: 6111 L: 5813 D: 15556
http://tests.stockfishchess.org/tests/view/
5c521d050ebc593af5d4e66a
LTC
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 78500 W: 13145 L: 12752 D: 52603
http://tests.stockfishchess.org/tests/view/
5c52b9460ebc592fc7baecc5
Closes https://github.com/official-stockfish/Stockfish/pull/1983
------------------------------------------
I have quite a few ideas of how to improve this patch.
- actually rethinking it now it will maybe be useful to discount
queen/bishop checks if there is only one square that they can
give check from and it's "occupied" by more valuable check. Right
now count of this squares does not really matter.
- maybe some small extra bonus can be given for overlapping checks.
- some ideas about using popcount() on safechecks can be retried.
- tune this safecheck values since they were more or less randomly handcrafted in this patch.
Bench: 3216489
Fabian Fichter [Thu, 31 Jan 2019 22:15:54 +0000]
Speed up slider blockers calculation
Improves speed by >10%.
No functional change.
Fabian Fichter [Thu, 31 Jan 2019 22:13:20 +0000]
Small speed-up in check detection
Since pieces can not give check against own king.
No functional change.
protonspring [Thu, 31 Jan 2019 14:18:33 +0000]
Simplify Stat Score bonus
This is a functional simplification of this statScore bonus.
There seems to be little risk of regression with this one.
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 26829 W: 5892 L: 5781 D: 15156
http://tests.stockfishchess.org/tests/view/
5c5086bb0ebc593af5d4db75
LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 28232 W: 4684 L: 4575 D: 18973
http://tests.stockfishchess.org/tests/view/
5c50d7690ebc593af5d4dec9
Closes https://github.com/official-stockfish/Stockfish/pull/1979
Bench: 4001014
DU-jdto [Wed, 23 Jan 2019 04:19:10 +0000]
Don't update pvHit after IID
This patch removes line 875 of search.cpp, which was updating pvHit after IID.
Bench testing at depth 22 shows that line 875 of search.cpp never changes the
value of pvHit at NonPV nodes, while at PV nodes it often changes the value
from true to false (and never the reverse). This is because the definition of
pvHit at line 642 is :
```
pvHit = (ttHit && tte->pv_hit()) || (PvNode && depth > 4 * ONE_PLY);
```
while the assignment after IID omits the ` (PvNode && depth > 4 * ONE_PLY) `
condition. As such, unlike the other two post-IID tte reads, this line of code
does not make SF's state more consistent, but rather introduces an inconsistency
in the definition of pvHit. Indeed, changing line 875 read
```
pvHit = (ttHit && tte->pv_hit()) || (PvNode && depth > 4 * ONE_PLY);
```
to match line 642 is functionally equivalent to removing the line entirely, as
this patch does.
STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 62756 W: 13787 L: 13746 D: 35223
http://tests.stockfishchess.org/tests/view/
5c446c850ebc5902bb5d4b75
LTC
LLR: 3.19 (-2.94,2.94) [-3.00,1.00]
Total: 61900 W: 10179 L: 10111 D: 41610
http://tests.stockfishchess.org/tests/view/
5c45bf610ebc5902bb5d5d62
Bench: 3796134
Miguel Lahoz [Fri, 25 Jan 2019 06:37:03 +0000]
Change pinning logic in Static Exchange Evaluation (SEE)
This changes 2 parts with regards to static exchange evaluation.
Currently, we do not allow pinned pieces to recapture if *all* opponent
pinners are still in their starting squares. This changes that to having
a less strict requirement, checking if *any* pinners are still in their
starting square. This makes our SEE give more respect to the pinning
side with regards to exchanges, which makes sense because it helps our
search explore more tactical options.
Furthermore, we change the logic for saving pinners into our state
variable when computing slider_blockers. We will include double pinners,
where two sliders may be looking at the same blocker, a similar concept
to our mobility calculation for sliders in our evaluation section.
Interestingly, I think SEE is the only place where the pinners bitboard
is actually used, so as far as I know there are no other side effects
to this change.
An example and some insights:
White Bf2, Kg1
Black Qe3, Bc5
The move Qg3 will be given the correct value of 0. (Previously < 0)
The move Qd4 will be incorrectly given a value of 0. (Previously < 0)
It seems the tradeoff in search is worth it. Qd4 will likely be pruned
soon by something like probcut anyway, while Qg3 could help us spot
tactics at an earlier depth.
STC:
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 62162 W: 13879 L: 13408 D: 34875
http://tests.stockfishchess.org/tests/view/
5c4ba1a70ebc593af5d49c55
LTC: (Thanks to @alayant)
LLR: 3.40 (-2.94,2.94) [0.00,3.50]
Total: 140285 W: 23416 L: 22825 D: 94044
http://tests.stockfishchess.org/tests/view/
5c4bcfba0ebc593af5d49ea8
Bench: 3937213
Maciej Żenczykowski [Sat, 26 Jan 2019 17:16:17 +0000]
Use int8_t instead of int for SquareDistance[]
This patch saves (4-1) * 64 * 64 = 12KiB of cache.
STC
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 176120 W: 38944 L: 38087 D: 99089
http://tests.stockfishchess.org/tests/view/
5c4c9f840ebc593af5d4a7ce
LTC
As a pure speed up, I've been informed it should not require LTC.
No functional change
Fabian Fichter [Sun, 27 Jan 2019 16:46:48 +0000]
Support counting rules
Counting rules are used for south-east asian chess variants:
- Makruk
- ASEAN
- Sittuyin
Standard FENs and (cutechess-style) FENs including counting rules are both supported.
Fabian Fichter [Sat, 26 Jan 2019 09:54:25 +0000]
Disable futility pruning for racing kings
racingkings STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 350 W: 163 L: 81 D: 106
http://35.161.250.236:6543/tests/view/
5c4b86806e23db07348e8601
racingkings LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 391 W: 174 L: 92 D: 125
http://35.161.250.236:6543/tests/view/
5c4b97676e23db07348e8609
Fabian Fichter [Thu, 24 Jan 2019 19:59:16 +0000]
Tweak king danger for nCheck chess
3check STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 523 W: 295 L: 192 D: 36
http://35.161.250.236:6543/tests/view/
5c478ad56e23db07348e85f0
3check LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 795 W: 418 L: 312 D: 65
http://35.161.250.236:6543/tests/view/
5c487f756e23db07348e85f3
protonspring [Mon, 21 Jan 2019 18:55:51 +0000]
Simplify TrappedRook
Simplified TrappedRook to a single penalty removing the dependency on mobility.
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 106718 W: 23530 L: 23577 D: 59611
http://tests.stockfishchess.org/tests/view/
5c43f6bd0ebc5902bb5d4131
LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 54053 W: 8890 L: 8822 D: 36341
http://tests.stockfishchess.org/tests/view/
5c44932a0ebc5902bb5d4d59
bench 3665090
Joost VandeVondele [Sun, 20 Jan 2019 18:14:24 +0000]
Simplify pondering time management (#1899)
stopOnPonderhit is used to stop search quickly on a ponderhit. It is set by mainThread as part of its time management. However, master employs it as a signal between mainThread and the UCI thread. This is not necessary, it is sufficient for the UCI thread to signal that pondering finished, and mainThread should do its usual time-keeping job, and in this case stop immediately.
This patch implements this, removing stopOnPonderHit as an atomic variable from the ThreadPool,
and moving it as a normal variable to mainThread, reducing its scope. In MainThread::check_time() the search is stopped immediately if ponder switches to false, and the variable stopOnPonderHit is set.
Furthermore, ponder has been moved to mainThread, as the variable is only used to exchange signals between the UCI thread and mainThread.
The version has been tested locally (as fishtest doesn't support ponder):
Score of ponderSimp vs master: 2616 - 2528 - 8630 [0.503] 13774
Elo difference: 2.22 +/- 3.54
which indicates no regression.
No functional change.
marotear [Sun, 20 Jan 2019 11:24:03 +0000]
Simplify pvHit (#1953)
Removing unnecessary excludedMove condition (there is not excluded move for PvNodes) and re-ordering computation.
Non functional change.
protonspring [Sun, 20 Jan 2019 11:21:16 +0000]
Clean-up some shifting in space calculation (#1955)
No functional change.
Jonathan D [Sun, 20 Jan 2019 11:20:21 +0000]
Tweak initiative and Pawn PSQT (#1957)
Small changes in initiative(). For Pawn PSQT, endgame values for d6-e6 and d7-e7 are now symmetric. The MG value of d2 is now smaller than e2 (d2=13, e2=21 now compared to d2=19, e2=16 before). The MG values of h5-h6-h7 also increased so this might encourage stockfish for more h-pawn pushes.
STC
LLR: -2.96 (-2.94,2.94) [0.00,4.00]
Total: 81141 W: 17933 L: 17777 D: 45431
http://tests.stockfishchess.org/tests/view/
5c4017350ebc5902bb5cf237
LTC
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 83078 W: 13883 L: 13466 D: 55729
http://tests.stockfishchess.org/tests/view/
5c40763f0ebc5902bb5cff09
Bench: 3266398
Fabian Fichter [Fri, 18 Jan 2019 19:47:51 +0000]
Increase king danger without queen for nCheck
3check STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 5565 W: 2630 L: 2456 D: 479
http://35.161.250.236:6543/tests/view/
5c3d027e6e23db07348e85b8
3check LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 6185 W: 2922 L: 2739 D: 524
http://35.161.250.236:6543/tests/view/
5c3ed2d66e23db07348e85c2
Fabian Fichter [Fri, 18 Jan 2019 19:46:15 +0000]
Double safe check bonus for nCheck chess
3check STC
LLR: 2.94 (-2.94,2.94) [0.00,10.00]
Total: 1944 W: 961 L: 838 D: 145
http://35.161.250.236:6543/tests/view/
5c39dfb76e23db07348e85ac
3check LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1953 W: 951 L: 829 D: 173
http://35.161.250.236:6543/tests/view/
5c39fb726e23db07348e85ae
protonspring [Tue, 15 Jan 2019 05:53:43 +0000]
Remove AdjacentFiles
This is a non-functional simplification that removes the AdjacentFiles array.
This array is simple enough to calculate that the pre-calculated array provides
no benefit. Reduces the memory footprint.
STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 74839 W: 16390 L: 16373 D: 42076
http://tests.stockfishchess.org/tests/view/
5c3d75920ebc596a450cfb67
No functionnal change
protonspring [Mon, 14 Jan 2019 14:03:31 +0000]
Simplify pawn moves (#1900)
If we define dcCandidates with & pawnsNotOn7,
we don't have to & it both times.
This seems more clear to me as well.
Tested for no regression.
STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 44042 W: 9663 L: 9585 D: 24794
http://tests.stockfishchess.org/tests/view/
5c21d9120ebc5902ba12e84d
No functional change.
Joost VandeVondele [Wed, 2 Jan 2019 10:09:50 +0000]
Simplify time management a bit
The new form is likely to trigger a bit more at LTC. Given that LTC
appears to be an improvement, I think that is fine.
The change is not very invasive: it does the same as before, use
potentially less time for moves that are very stable. Most of the
time, the full bonus was given if the bonus was given, so the gradual
part {3, 4, 5} didn't matter much. Whereas previously 'stable' was
expressed as the last 80% of iterations are the same, now I use a
fixed depth (10 iterations). For TCEC style TC, it will presumably
imply some more moves that are played quicker (and thus more time
on the clock when it potentially matters). Note that 10 iterations
of stability means we've been proposing that move for 99.9% of search
time.
passed STC
http://tests.stockfishchess.org/tests/view/
5c30d2290ebc596a450c055b
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 70921 W: 15403 L: 15378 D: 40140
passed LTC
http://tests.stockfishchess.org/tests/view/
5c31ae240ebc596a450c1881
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 17422 W: 2968 L: 2842 D: 11612
No functional change.
Fabian Fichter [Sat, 12 Jan 2019 18:31:11 +0000]
Add synonym for minishogi
Fabian Fichter [Sat, 12 Jan 2019 18:18:45 +0000]
Support prohibition of perpetual check
Completes the rule implementation of shogi variants.
Fabian Fichter [Sat, 12 Jan 2019 17:48:31 +0000]
Refactor game end detection
Support customization of n-fold repetition and n-move rule.
- Fix fourfold rule for minishogi and other shogi variants.
- Adjust n-move rule to 70 for shatranj.
- Disable n-move rule for makruk and shogi variants.
Fabian Fichter [Sat, 12 Jan 2019 14:39:03 +0000]
Expliclity set pocket size for minishogi
For better compatility with XBoard/WinBoard.
No functional change.
Joost VandeVondele [Thu, 10 Jan 2019 06:43:17 +0000]
Remove pvExact
The variable pvExact now overlaps with the pvHit concept. So you simplify
the logic with small code tweaks to have pvHit trigger where pvExact
previously triggered.
passed STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 20558 W: 4497 L: 4373 D: 11688
http://tests.stockfishchess.org/tests/view/
5c36e9fd0ebc596a450c7885
passed LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 23482 W: 3888 L: 3772 D: 15822
http://tests.stockfishchess.org/tests/view/
5c37072d0ebc596a450c7a52
Bench: 3739723
mstembera [Wed, 9 Jan 2019 15:27:47 +0000]
Minor cleanup to recent 'Flag critical search tree in hash table' patch
No functional change
Joost VandeVondele [Wed, 9 Jan 2019 15:14:34 +0000]
Small improvements to the CI infrastructure
- avoid inlining for the debug testing so that suppressions work
- provide more output for triggered errors
No functional change.
MJZ1977 [Wed, 9 Jan 2019 14:05:28 +0000]
Flag critical search tree in hash table
Introducing new concept, saving principal lines into the transposition table
to generate a "critical search tree" which we can reuse later for intelligent
pruning/extension decisions.
For instance in this patch we just reduce reduction for these lines. But a lot
of other ideas are possible.
To go further : tune some parameters, how to add or remove lines from the
critical search tree, how to use these lines in search choices, etc.
STC :
LLR: 2.94 (-2.94,2.94) [0.50,4.50]
Total: 59761 W: 13321 L: 12863 D: 33577 +2.23 ELO
http://tests.stockfishchess.org/tests/view/
5c34da5d0ebc596a450c53d3
LTC :
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 26826 W: 4439 L: 4191 D: 18196 +2.9 ELO
http://tests.stockfishchess.org/tests/view/
5c35ceb00ebc596a450c65b2
Special thanks to Miguel Lahoz for his help in transposition table in/out.
Bench: 3399866
Miguel Lahoz [Sat, 5 Jan 2019 20:53:21 +0000]
Introduce Multi-Cut
This was inspired after reading about
[Multi-Cut](https://www.chessprogramming.org/Multi-Cut).
We now do non-singular cut node pruning. The idea is to prune when we
have a "backup plan" in case our expected fail high node does not fail
high on the ttMove.
For singular extensions, we do a search on all other moves but the
ttMove. If this fails high on our original beta, this means that both
the ttMove, as well as at least one other move was proven to fail high
on a lower depth search. We then assume that one of these moves will
work on a higher depth and prune.
STC:
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 72952 W: 16104 L: 15583 D: 41265
http://tests.stockfishchess.org/tests/view/
5c3119640ebc596a450c0be5
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 27103 W: 4564 L: 4314 D: 18225
http://tests.stockfishchess.org/tests/view/
5c3184c00ebc596a450c1662
Bench: 3145487
Joost VandeVondele [Thu, 3 Jan 2019 22:56:11 +0000]
Check tablebase files
This addresses partially issue #1911 in that it documents in our
Readme the command that users can use to verifying the md5sum of
their downloaded tablebase files.
Additionally, a quick check of the file size (the size of each
tablebase file modulo 64 is 16 as pointed out by @syzygy1) has been
implemented at launch time in Stockfish.
Closes https://github.com/official-stockfish/Stockfish/pull/1927
and https://github.com/official-stockfish/Stockfish/issues/1911
No functional change.
Marco Costalba [Wed, 2 Jan 2019 07:31:03 +0000]
Delay castling legality check
Delay legality check of castling moves at search time,
just before making the move, as is the standard with all
the other move types.
This should avoid an useless and not trivial legality check
when the castling is then not tried later. For instance due
to a previous cut-off.
The patch is also a big simplification and allows to entirely
remove generate_castling()
Bench changes due to a different move sequence out of MovePicker.
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 45073 W: 9918 L: 9843 D: 25312
http://tests.stockfishchess.org/tests/view/
5c2f176f0ebc596a450bdfb3
LTC:
LLR: 3.15 (-2.94,2.94) [-3.00,1.00]
Total: 10156 W: 1707 L: 1560 D: 6889
http://tests.stockfishchess.org/tests/view/
5c2e7dfd0ebc596a450bcdf4
Verified with perft both in standard and Chess960 cases.
Closes https://github.com/official-stockfish/Stockfish/pull/1929
Bench: 3559104
Fabian Fichter [Thu, 3 Jan 2019 22:22:45 +0000]
Simplify king danger for non-standard board sizes
Turns out to be a big improvement for small board sizes.
losalamos
LLR: 3.06 (-2.94,2.94) [-10.00,5.00]
Total: 56 W: 50 L: 1 D: 5
minishogi
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 104 W: 84 L: 18 D: 2
Fabian Fichter [Thu, 3 Jan 2019 21:45:50 +0000]
Improve generalization to non-standard board sizes
Remove assumptions about 8x8 board size from evaluation code.
losalamos
LLR: 3.02 (-2.94,2.94) [-10.00,5.00]
Total: 152 W: 83 L: 30 D: 39
capablanca
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 362 W: 180 L: 123 D: 59
minishogi
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 288 W: 163 L: 102 D: 23
Fabian Fichter [Thu, 3 Jan 2019 21:33:10 +0000]
Bonus for promoted pieces in drop variants
Since they demote when being captured, promoted pieces
are more valuable than the promotion piece type itself.
minishogi
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 666 W: 375 L: 266 D: 25
shogi
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 1020 W: 529 L: 469 D: 22
Fabian Fichter [Wed, 2 Jan 2019 13:55:23 +0000]
Revert regressive minishogi patch
Further testing indicates that the initial test results were flawed.
minishogi
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 806 W: 437 L: 327 D: 42
Fabian Fichter [Tue, 1 Jan 2019 17:13:56 +0000]
Stalemate is a win in shogi variants
Fix evaluation of stalemate positions.
Fabian Fichter [Tue, 1 Jan 2019 15:53:55 +0000]
Use a generic PSQT for fairy pieces
Give a bonus for squares closer to the center of the board.
shogi
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1068 W: 578 L: 462 D: 28
minishogi
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1098 W: 577 L: 464 D: 57
courier
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 396 W: 137 L: 65 D: 194
giveaway STC
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 2177 W: 863 L: 822 D: 492
http://35.161.250.236:6543/tests/view/
5c2a44ad6e23db2472895687
extinction STC (failed)
LLR: -2.96 (-2.94,2.94) [-10.00,5.00]
Total: 1002 W: 436 L: 508 D: 58
http://35.161.250.236:6543/tests/view/
5c2a44bf6e23db2472895689
shatranj STC (failed)
LLR: -3.00 (-2.94,2.94) [-10.00,5.00]
Total: 1891 W: 242 L: 289 D: 1360
Fabian Fichter [Tue, 1 Jan 2019 15:50:11 +0000]
Consider board size in time management
Also adjust for variants with mandatory captures.
courier 5+0
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 302 W: 161 L: 74 D: 67
shogi 5+0
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 1064 W: 570 L: 455 D: 39
minishogi 5+0
LLR: 2.99 (-2.94,2.94) [0.00,10.00]
Total: 1362 W: 702 L: 584 D: 76
giveaway 10+0
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1019 W: 437 L: 340 D: 242
http://35.161.250.236:6543/tests/view/
5c2a423f6e23db2472895682
giveaway 10+0.1
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1655 W: 691 L: 585 D: 379
http://35.161.250.236:6543/tests/view/
5c2a41a46e23db247289567b
losers 10+0
LLR: 2.94 (-2.94,2.94) [0.00,10.00]
Total: 1030 W: 520 L: 412 D: 98
http://35.161.250.236:6543/tests/view/
5c2a42356e23db2472895680
losers 10+0.1
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 1004 W: 496 L: 390 D: 118
http://35.161.250.236:6543/tests/view/
5c2a41cd6e23db247289567e
Fabian Fichter [Tue, 1 Jan 2019 15:43:30 +0000]
Further reduce king danger divisor for shogi variants
shogi
LLR: 2.99 (-2.94,2.94) [0.00,10.00]
Total: 1018 W: 544 L: 430 D: 44
minishogi
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 470 W: 281 L: 175 D: 14
Marco Costalba [Tue, 1 Jan 2019 13:10:26 +0000]
Assorted trivial cleanups (#1894)
To address https://github.com/official-stockfish/Stockfish/issues/1862
No functional change.
protonspring [Tue, 1 Jan 2019 12:38:09 +0000]
Remove openFiles in pawns. (#1917)
A single popcount in evaluate.cpp replaces all openFiles stuff in pawns. It doesn't seem to affect performance at all.
STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 28103 W: 6134 L: 6025 D: 15944
http://tests.stockfishchess.org/tests/view/
5b7d70a20ebc5902bdbb1999
No functional change.
protonspring [Tue, 1 Jan 2019 12:36:56 +0000]
Remove "Any" predicate filter (#1914)
This custom predicate filter creates an unnecessary abstraction layer, but doesn't make the code any more readable. The code is clear enough without it.
No functional change.